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 .nlogn

ksb
sumber
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 ϵ > 00<ϵ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.nlgn

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

Kaveh
sumber
7
Jawaban ini harus masuk ke Wikipedia.
Erel Segal-Halevi
32

2HAI(ncatatann)nHAI(1)2HAI(n)nHAI(1)

Pål GD
sumber
1
2HAI(nϵ)ϵ<12nHai(1)