Pemecah NP yang optimal

12

Perbaiki masalah pencarian NP-complete misalnya bentuk pencarian SAT. Pencarian Levin menyediakan algoritma L untuk menyelesaikan X yang dalam beberapa hal optimal. Secara khusus, algoritma ini adalah "Jalankan semua program yang mungkin P dalam menyesuaikan pada input x , setelah beberapa P mengembalikan jawaban y menguji apakah itu benar". Ini optimal dalam arti bahwa diberikan program P yang memecahkan X dengan kompleksitas waktu t PX{0,1}×{0,1}LXPxPyPX , waktu kompleksitas t L ( n ) dari L memenuhitP(n)tL(n)L

tL(n)<2|P|p(tP(n))

di mana adalah polinomial tetap yang tergantung pada model perhitungan yang tepatp

Optimalitas L dapat dirumuskan dengan cara yang agak lebih kuat. Yaitu, untuk setiap M { 0 , 1 } * dan Q program pemecahan X dengan janji M dalam waktu t M Q ( n ) , kompleksitas waktu t M L ( n ) dari L terbatas masukan dalam M memenuhiLM{0,1}QXMtQM(n)tLM(n)LM

tLM(n)<2|Q|q(n,tQM(n))

di mana adalah polinom tetap. Perbedaan penting adalah bahwa t M Q ( n ) dapat misalnya jumlahnya banyak bahkan jika P N PqtQM(n)PNP

"Kelemahan" yang jelas dari adalah faktor besar 2 | Q | dalam ikatan ini. Sangat mudah untuk melihat bahwa jika ada algoritma yang memenuhi batas dari bentuk yang sama dengan 2 | Q | digantikan oleh polinomial dalam | Q | maka P = N P . Ini karena kita dapat menganggap Q sebagai program yang memecahkan beberapa contoh X dengan mengkodekan jawabannya. Begitu pula jika 2 | Q | dapat diganti dengan fungsi sub-eksponensial | Q |L2|Q|2|Q||Q|P=NPQX2|Q||Q|maka hipotesis waktu eksponensial dilanggar. Namun, jawaban untuk pertanyaan berikut kurang jelas (bagi saya):

Dengan asumsi hipotesis waktu eksponensial dan dugaan terkenal lainnya (misalnya non-degenerasi hierarki polinomial, keberadaan fungsi satu arah) jika perlu, apakah ada algoritma penyelesaian X st untuk setiap M { 0 , 1 } dan Q program pemecahan X dengan janji M dalam waktu t M Q ( n ) , kompleksitas waktu t M A ( n ) dari A dibatasi untuk masukan dalam M memenuhiAXM{0,1}QXMtQM(n)tAM(n)AM

tAM(n)<f(|Q|)q(n,tQM(n))+g(|Q|)

di mana adalah polinomial, f adalah sub-eksponensial dan g adalah arbitrerqfg

Jika jawabannya positif, bisakah polinomial? Berapa tingkat pertumbuhan g (jelas setidaknya eksponensial di bawah ETH)? Jika jawabannya negatif, bisakah polinom f ada jika ETH salah tetapi P N P ?fgfPNP

Vanessa
sumber

Jawaban:

12

Pertimbangkan algoritma berikut (varian dari algoritma Levin):

n

Berhenti ketika salah satu algoritma menemukan solusi.

xn

  • QnO(ntQM(n))poly(n)

  • Qnn<2|Q|2nO(1)=22O(|Q|)

tAM(n)poly(n)tQM(n)+22O(|Q|).

f(n)g(n)ng(n)nf(n)n

Yury
sumber
2|Q|tQM(2|Q|)