Apakah ada algoritma waktu subeksponensial untuk masalah NP-complete?


51

Apakah ada masalah NP-lengkap yang telah membuktikan algoritma waktu subeksponensial?

Saya meminta input kasus umum, saya tidak berbicara tentang kasus khusus yang dapat ditelusuri di sini.

Dengan sub-eksponensial, maksud saya urutan pertumbuhan di atas polinomial, tetapi kurang dari eksponensial, misalnya .nlog⁡n


10
Apa yang Anda maksud dengan "sub-eksponensial"? Jika yang Anda maksud , jawabannya pasti ya. Jika maksud Anda 2 n o ( 1 ) , saya yakin jawabannya tidak. 2o(n)2no(1)
— JeffE

Jawaban:


57

Tergantung pada apa yang Anda maksudkan dengan subeksponensial. Di bawah ini saya jelaskan beberapa arti "subeksponensial" dan apa yang terjadi dalam setiap kasus. Setiap kelas ini terkandung dalam kelas-kelas di bawahnya.


I. 2no(1)

Jika dengan subexpoential yang Anda maksud adalah , maka dugaan dalam teori kompleksitas yang disebut ETH (Exponential Time Hypothesis) menyiratkan bahwa tidak ada masalah N P -hard yang dapat memiliki algoritma dengan running-time 2 n o ( 1 ) .2no(1)NP2no(1)

Perhatikan bahwa kelas ini ditutup dalam komposisi dengan polinomial. Jika kami memiliki algoritme waktu subeksponensial untuk masalah -apa pun , kami dapat menggabungkannya dengan pengurangan waktu polinomial dari SAT untuk mendapatkan algoritma subeksponensial untuk 3SAT yang akan melanggar ETH.NP

II , yaitu 2 O ( n ϵ ) untuk semua 0 < ϵ⋂0<ϵ2O(nϵ)2O(nϵ) 0<ϵ

Situasinya mirip dengan yang sebelumnya.

Hal ini tertutup di bawah polinomial sehingga tidak ada masalah -Hard dapat diselesaikan dalam waktu ini tanpa melanggar ETH.NP


AKU AKU AKU. , yaitu 2 O ( n ϵ ) untuk beberapa ϵ < 1⋃ϵ<12O(nϵ)2O(nϵ) ϵ<1

Jika dengan subeksponensial yang Anda maksud adalah untuk beberapa ϵ < 1 maka jawabannya adalah ya, ada masalah yang terbukti.2O(nϵ)ϵ<1

Ambil - masalah lengkap seperti SAT. Ini memiliki algoritma brute-force yang berjalan dalam waktu 2 O ( n ) . Sekarang mempertimbangkan versi empuk dari SAT dengan menambahkan string ukuran n k ke input:NP2O(n)nk

SAT′={⟨φ,w⟩∣φ∈SAT and |w|=|φ|k}

Sekarang masalah ini adalah -hard dan dapat diselesaikan dalam waktu 2 O ( n 1NP.2O(n1k)

IV. 2o(n)

Ini berisi kelas sebelumnya, jawabannya mirip.

V. , yaitu 2 ϵ n untuk semua ϵ > 0⋂0<ϵ2ϵn2ϵn ϵ>0

Ini berisi kelas sebelumnya, jawabannya mirip.

VI. , yaitu 2 ϵ n untuk beberapa ϵ < 1⋃ϵ<12ϵn2ϵn ϵ<1

Ini berisi kelas sebelumnya, jawabannya mirip.


Apa artinya subeksponensial?

"Di atas polinomial" bukan batas atas tetapi batas bawah dan disebut sebagai superpolinomial .

Fungsi seperti disebut quasipolynomial , dan seperti yang ditunjukkan namanya hampir polinomial dan jauh dari eksponensial, subeksponensial biasanya digunakan untuk merujuk kelas fungsi yang jauh lebih besar dengan tingkat pertumbuhan yang jauh lebih cepat.nlg⁡n

Seperti namanya, "subeksponensial" berarti lebih lambat daripada eksponensial . Dengan eksponensial kita fungsi biasanya berarti di kelas , atau di kelas yang lebih bagus 2 n Θ ( 1 ) (yang ditutup di bawah komposisi dengan polinomial).2Θ(n)2nΘ(1)

Subeksponetial harus dekat dengan ini tetapi lebih kecil. Ada berbagai cara untuk melakukan ini dan tidak ada makna standar. Kita dapat mengganti dengan o dalam dua definisi eksponensial dan memperoleh I dan IV. Hal yang baik tentang mereka adalah bahwa mereka didefinisikan secara seragam (tidak ada penjumlah lebih dari ϵ ). Kita dapat mengganti Θ dengan koefisien multiplikasi ϵ untuk semua ϵ > 0 , kita mendapatkan II dan V. Mereka dekat dengan I dan IV tetapi tidak terdefinisikan secara seragam. Opsi terakhir adalah mengganti Θ dengan konstanta multiplikasi ϵ untuk beberapa ϵ < 1 . Ini memberi II dan VI.ΘoϵΘϵϵ>0Θϵϵ<1

Yang mana harus disebut subeksponensial diperdebatkan. Biasanya orang menggunakan yang mereka butuhkan dalam pekerjaan mereka dan menyebutnya sebagai subeksponensial.

Saya adalah preferensi pribadi saya, ini kelas yang bagus: ditutup dengan komposisi dengan polinomial dan didefinisikan secara seragam. Hal ini mirip dengan yang menggunakan 2 n O ( 1 ) .Exhal2nHAI(1)

II sepertinya digunakan dalam definisi kelas kompleksitas .SkamubExhal

III digunakan untuk batas atas algoritmik, seperti yang disebutkan dalam jawaban Pal.

IV juga umum.

V digunakan untuk menyatakan dugaan ETH.

L.PNPPShalSebuahceExhal

Musim panas

NP


7
Jawaban ini harus masuk ke Wikipedia.
— Erel Segal-Halevi

32

2HAI(ncatatan⁡n)nHAI(1)2HAI(n)nHAI(1)


1
2HAI(nϵ)ϵ<12nHai(1)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.