Diketahui bahwa jika maka hierarki polinomial runtuh dan .
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 )?
Saya mencari jawaban yang intuitif.
Jawaban:
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)) =PH P=NP k P=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 k ≪ i d di mana f k ( n ) = kid(n)=n f≪g n f(n)≤g(n) k k≪n fk≪id fk(n)=k ), tetapi kami tidak memiliki ini untuk fungsi yang tidak konstan seperti , n 2 ≪ ̸ n .n2 n2≪̸n
sumber
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 .
sumber
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:
Jumlah iterasi linier, dan output eksponensial. Tetapi jika Anda memperbaiki n, itu jumlahnya banyak pada ukuran nilai awal.
sumber
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 memperkuatP=NP untuk lebih dari jumlah kali konstan.
Asumsikan bahwaP=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 polytimeA dengan polinomial running time p(n)∈poly(n) st
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 algoritmaCook st
Mari kita coba gunakan ini untuk memperluas argumen untukP=PH untuk mendapatkan algoritma penyelesaian TQBF (sebenarnya TQBCircuit, yaitu masalah Sirkuit Boolean Totally Quantified).
Ide dari algoritma ini adalah sebagai berikut: kita berulang kali menggunakanCook 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).
Untuki dari k ke 1 lakukan
JikaQ="∃" ,
JikaQ="∀" ,
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 algoritmaCook 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:
Setiap kali kita mengeksekusiy=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 dengank(n) alternatif kuantifikasi (di mana n adalah ukuran total dari rumus terkuantifikasi).
Asumsikan bahwaA 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 (l∘p)O(k)(n)=l(p(l(p(…(l(p(n)))))))O(k) compositions . Bahkan dalam kasus yang kedual danp adalah linier (tapi dengan jumlah koefisiena≥2 ) 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).
sumber
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).
sumber