Mengapa P = NP tidak menyiratkan P = AP (yaitu P = PSPACE)?

18

Diketahui bahwa jika maka hierarki polinomial runtuh dan .P=NPP=PH

Ini dapat dengan mudah dipahami secara induktif menggunakan mesin oracle. Pertanyaannya adalah - mengapa kita tidak dapat melanjutkan proses induktif di luar tingkat pergantian yang konstan dan membuktikan (alias )?P=AltTime(nO(1))AP=PSPACE

Saya mencari jawaban yang intuitif.

Yusuf
sumber
4
Diketahui bahwa tetapi diduga bahwa (yaitu ) tidak sama dengan . A L P N LNL=coNLALPNL
sdcvvc

Jawaban:

32

Dalilnya ( = P H ) adalah induksi menggunakan P = N P . Induksi menunjukkan bahwa untuk bilangan asli k , P = A l t T i m e ( k ) (dan A l t T i m e ( O ( 1 ) )P=AltTime(O(1))=PHP=NP kP=AltTime(k)AltTime(O(1)) hanya persatuan mereka).

Induksi tidak bekerja ketika jumlah pergantian dapat berubah dengan ukuran input (yaitu ketika jumlah pergantian yang mungkin dari mesin bukan angka tetapi fungsi dari ukuran input, yaitu kita tidak menunjukkan bahwa eksekusi mesin pada satu input dapat dikurangi menjadi tidak ada alternatif, kami menunjukkan bahwa eksekusi mesin pada semua input dapat "seragam" dikurangi menjadi tidak ada alternatif).

Mari kita lihat pernyataan yang serupa tetapi lebih sederhana. Kami ingin menunjukkan bahwa fungsi identitas akhirnya mendominasi semua fungsi konstan ( f g iff untuk semua kecuali banyak n f ( n ) g ( n ) ). Itu bisa dibuktikan dengan induksi. Untuk semua k , k n (yaitu f ki d di mana f k ( n ) = kid(n)=nfgn f(n)g(n)kknfkidfk(n)=k), tetapi kami tidak memiliki ini untuk fungsi yang tidak konstan seperti , n 2̸ n .n2n2≪̸n

Kaveh
sumber
22

Bandingkan hierarki polinomial dengan hierarki untuk bukti interaktif. Jika untuk beberapa k tetap , Anda memiliki k alternatif dalam bukti interaktif - IP ( k ) - kelas kompleksitas yang dihasilkan tidak memiliki kekuatan lebih dari apa yang Anda dapatkan dengan dua alternatif - yaitu, IP ( k ) = IP (2 ) = AM (dengan asumsi k ≥2). Namun, jika Anda mengizinkan jumlah polinomial dari pergantian, Anda mendapatkan kelas kompleksitas IP = PSPACE, yang diyakini jauh lebih besar dari AM, kelas terkandung dalam Π 2 P, pada tingkat kedua hirarki polinomial. Jadi fenomena ini benar-benar terjadi (walaupun, tidak sejauh yang kita tahu, dengan hierarki polinomial).

Ini terjadi karena pengurangan yang mengambil masalah ukuran n di IP ( k ) dan mengubahnya menjadi masalah di IP (2) meledakkan ukuran masalah, sehingga sementara untuk setiap IP tertentu ( k ) masalahnya tetap polinomial-size , jika Anda membiarkan k bervariasi, reduksi yang dihasilkan tidak memberikan masalah yang polinomial dalam k .

Peter Shor
sumber
11

Berikut adalah sedikit intuisi mengenai kesenjangan antara pergantian konstan dan tidak terikat: operasi polinomial yang diulang beberapa kali adalah polinomial, tetapi diulang beberapa kali polinomial bisa eksponensial. Misalnya, lakukan penggandaan berulang pada dirinya sendiri:

v = 2
for(i=1 to n)
  v = v*v

Jumlah iterasi linier, dan output eksponensial. Tetapi jika Anda memperbaiki n, itu jumlahnya banyak pada ukuran nilai awal.

Ludovic Patey
sumber
4

Di bawah ini saya memperluas sedikit pada titik dalam jawaban Peter dengan mencoba melakukan penghapusan kuantifikasi untuk lebih dari jumlah langkah yang konstan untuk melihat di mana ia gagal dan jika ada yang bisa diselamatkan dari upaya seperti itu.

Mari kita coba untuk memperkuat P=NP untuk lebih dari jumlah kali konstan.

Asumsikan bahwa P=NP . Oleh karena itu ada mesin waktu polinomial yang memecahkan Ext-Circuit-SAT (adakah ekstensi yang memuaskan untuk rangkaian yang diberikan dan penugasan sebagian untuk inputnya?).

Lebih formal, kami memiliki algoritma polytime A dengan polinomial running time p(n)poly(n) st

Diberikan sirkuit Boolean φ , dan penugasan sebagian τ ke input,
A mengembalikan "ya" jika ada ekstensi τ yang memenuhi φ , dan mengembalikan "tidak" sebaliknya.

Untuk melewati waktu yang konstan, kita perlu melakukan penghapusan quantifier secara efektif. Kita bisa melakukan ini karena Masak-Levin Teorema adalah teorema yang konstruktif, sebenarnya itu memberikan waktu polinomial algoritma Cook st

Mengingat DTM M menerima dua input, dan tiga angka unary n , m , dan t ,
Cook(M,n,m,t) mengembalikan sirkuit Boolean ukuran O(t2) yang mensimulasikan M masukan panjang (n,m) untuk t langkah.

Mari kita coba gunakan ini untuk memperluas argumen untuk P=PH untuk mendapatkan algoritma penyelesaian TQBF (sebenarnya TQBCircuit, yaitu masalah Sirkuit Boolean Totally Quantified).

Ide dari algoritma ini adalah sebagai berikut: kita berulang kali menggunakan Cook pada A untuk menghapus bilangan dari rangkaian diukur diberikan. Ada sejumlah linear dari bilangan jadi kami berharap untuk mendapatkan algoritma waktu polinomial (kami memiliki algoritma dengan polynomially banyak langkah menggunakan polinomial waktu subroutine Cook ). Pada akhir proses ini pembilang eliminasi kita akan memiliki sirkuit quantifier bebas yang dapat dievaluasi dalam waktu polinomial (Circuit Nilai masalah adalah di P , biarkan CV menjadi algoritma waktu polinomial untuk menghitung nilai rangkaian sirkuit yang diberikan) .

Namun kita akan melihat bahwa gagasan ini tidak berhasil (karena alasan yang sama ditunjukkan oleh Peter).

  • Misalkan φ menjadi sirkuit terkuantifikasi, (diinisialisasi ke rumus terkuantifikasi yang diberikan).
  • Biarkan k jumlah pengukur dalam φ .
  • Untuk i dari k ke 1 lakukan

    • Mari ψ = Qxkσ(x1,...,xk) menjadi quantifier terakhir dan bagian quantifier bebas.
    • Jika Q="" ,

      1. Hitung C=Cook(A,|σ|,|x1|+...+|xk1|,p) ,
      2. Mengganti bit input dengan σ di sirkuit C ,
      3. Ganti ψ dengan C dalam φ .
    • Jika Q="" ,

      1. Pertimbangkan ψ sebagai ¬xk¬σ ,
      2. Hitung C=Cook(A,|¬σ|,|x1|+...+|xk1|,p) ,
      3. Mengganti bit input dengan ¬σ di sirkuit C ,
      4. Ganti ψ dengan ¬C di φ .
  • Hitung dan kembalikan CV(φ) .

Algoritma yang dihasilkan terlihat waktu polinomial: kami memiliki banyak langkah polinomial, setiap langkah dihitung waktu polinomialnya. Namun ini tidak benar, algoritma ini bukan waktu polinomial.

Menggunakan waktu polinomial subrutin dalam algoritma waktu polinomial adalah waktu polinomial. Masalahnya adalah bahwa secara umum ini tidak perlu benar jika nilai-nilai yang dikembalikan oleh subrutin tidak dari ukuran polinomial dalam input asli dan kami menganggap bahwa kami melakukan penugasan tentang nilai-nilai yang kembali dari subrutin. (Dalam model TM kita harus membaca output dari setiap polinomial sedikit waktu subrutin demi sedikit.) Berikut ukuran nilai kembali dari algoritma Cook yaitu meningkatkan (dapat menjadi kekuatan dari ukuran masukan yang diberikan untuk itu , daya yang tepat tergantung pada waktu menjalankan A dan sekitar p2(|input|), jadi karena kita tahu bahwa A tidak boleh kurang dari waktu linier, |output|setidaknya |input|2 ).

Masalahnya mirip dengan kode sederhana di bawah ini:

  • Diberikan x ,
  • Biarkan n=|x|,
  • Biarkan y=x ,
  • Untuk i dari 1 sampai n lakukan
    • Biarkan y=y|y|, (yaitu gabungan dari |y| salinan y )
  • Kembali y

Setiap kali kita mengeksekusi y=y|y|kami menguadratkan ukuran y . Setelah eksekusi n kita akan memiliki y yang x2n dan memiliki ukuran n2n , jelas bukan polinomial dalam ukuran input.

Mari kita asumsikan bahwa kita hanya mempertimbangkan rumus terkuantisasi dengan k(n) alternatif kuantifikasi (di mana n adalah ukuran total dari rumus terkuantifikasi).

Asumsikan bahwa A berjalan dalam waktu p (misalnya linear waktu yang tidak dikesampingkan begitu jauh), dan memiliki mungkin lebih efisien Cook algoritma keluaran sirkuit yang lebih kecil dari ukuran l(t) di tempat t2 , maka kita mendapatkan sebuah algoritma untuk ExtCircuitSat yang berjalan dalam waktu (lp)O(k)(n)=l(p(l(p((l(p(n)))))))O(k) compositions . Bahkan dalam kasus yang kedualdanpadalah linier (tapi dengan jumlah koefisiena2) kita akan mendapatkan sebuah algoritma yang berjalan dalam waktuΩ(n2k(n))dan jikak(n)=Θ(n)itu akan menjadiΩ(n2n) mirip dengan algoritma brute-force (dan bahkan ini didasarkan pada asumsi Cook-Levin dapat dilakukan pada algoritma yang menghasilkan sirkuit ukuran linier dalam waktu berjalan dari algoritma).

Kaveh
sumber
Saya sangat suka jawaban ini !!
Tayfun Bayar
@kaveh Bagaimana jika sementara l ( t ) = O ( t ) maka apakah kita memerlukan setidaknya dua kali waktu eksponensial untuk N P N P N P ? Argumen Anda sepertinya menyarankan kemungkinan itu sementara kita tahu P S P A C E ada di E X P dan jadi bagaimana cara mendapatkan kembali eksponensial tunggal? p(n)=2Ω(n)l(t)=O(t)NPNPNPPSPACEEXP
T ....
3

Saya pikir ini karena pada setiap level PH, jumlah pergantian adalah konstan (yaitu independen dari ukuran input), sementara di AP, jumlah pergantian dapat tidak terikat (namun jumlahnya banyak dalam ukuran input).

MS Dousti
sumber