Apakah ada contoh bahasa yang ada dalam , tetapi di mana kita tidak dapat membuktikan fakta ini secara langsung dengan menunjukkan bahwa ada saksi polinomial untuk keanggotaan dalam bahasa ini?
Sebaliknya, fakta bahwa bahasa dalam akan dibuktikan dengan mereduksinya ke bahasa lain di , di mana hubungan antara keduanya tidak sepele dan perlu analisis yang cermat.N P
Secara umum, apakah ada beberapa contoh masalah yang menarik di sehingga sulit untuk melihat bahwa mereka ada di ?N P
Sebuah semi-jawaban akan menjadi masalah dalam menentukan pemenang dalam permainan paritas: untuk menunjukkan bahwa itu ada di (bahkan ), kita membutuhkan teorema determinasi posisi yang dalam dan non-sepele. Namun jawaban ini tidak ideal, karena masih bermuara pada keberadaan saksi polinomial untuk masalah yang tepat ini (strategi posisi), dan tidak mengurangi masalah berbeda .N P ∩ c o N P N P
Satu lagi adalah algoritma primitif AKS: memutuskan apakah suatu bilangan prima adalah polinomial, sementara ada apriori tidak ada saksi kecil untuk fakta ini. Katakanlah kita mengesampingkan "algoritma polinomial mengejutkan", karena banyak dari mereka akan cocok dengan deskripsi di atas. Saya lebih tertarik pada algoritma mengejutkan yang tidak deterministik.
sumber
Jawaban:
Pemrograman Integer .
Menunjukkan bahwa jika ada solusi integer maka ada solusi integer ukuran polinomial yang cukup terlibat. Lihat
sumber
Sementara masalahnya "adalah jumlah persimpangan grafik paling banyak ?" secara sepele dalam NP, keanggotaan-NP dari masalah terkait untuk bilangan lintas bujursangkar dan pasangan pasangan silang sangat tidak jelas; lih. Bienstock, Beberapa mungkin masalah nomor crossing yang sulit, Discrete Comput. Geometri 6 (1991) 443-459, dan Schaefer et al., Mengenali grafik string dalam NP, J. Comput. Sistem Sci. 67 (2003) 365-380.k
sumber
Contoh favorit saya adalah hasil klasik 1977 dari Ashok Chandra dan Philip Merlin. Mereka menunjukkan bahwa masalah penahanan kueri dapat ditentukan untuk kueri konjungtif. Masalah kontainmen permintaan konjungtif ternyata setara dengan memutuskan apakah ada homomorfisme antara dua kueri input. Ini mengulangi masalah semantik, yang melibatkan kuantifikasi atas set yang tak terbatas, menjadi satu sintaksis, hanya memerlukan memeriksa sejumlah terbatas kemungkinan homomorfisme. Sertifikat homomorfisme hanya berukuran linier dan masalahnya ada di NP.
Teorema ini memberikan salah satu dasar dari teori optimasi kueri basis data. Idenya adalah untuk mengubah permintaan menjadi yang lain, lebih cepat. Namun, orang menginginkan jaminan bahwa proses optimasi tidak membuat kueri baru yang gagal memberikan jawaban pada beberapa basis data di mana kueri asli memang menghasilkan hasil.
Secara formal, permintaan basis data adalah ekspresi dari formulir , di mana x adalah daftar variabel bebas, y adalah daftar variabel terikat, dan Q ( x , y ) adalah rumus orde pertama dengan variabel x dan y dari bahasa dengan simbol relasi. Kueri Q dapat berisi penjumlahan eksistensial dan universal, rumus ini mungkin berisi konjungsi dan disjungsi atom relasional, dan negasi juga dapat muncul. Kueri diterapkan ke instance database Ix . Q( x , y ) x y Q ( x , y ) x y Q saya , yang merupakan seperangkat hubungan. Hasilnya adalah satu set tupel; ketika tuple dalam hasil digantikan x maka rumus Q ( t , y ) dapat dipenuhi. Satu kemudian dapat membandingkan dua pertanyaan: Q 1 terkandung dalam Q 2 jika setiap kali Q 1 diterapkan ke database contoh sewenang-wenang saya menghasilkan beberapa hasil, maka Q 2 diterapkan pada contoh yang sama saya juga menghasilkan beberapa hasil. (Tidak apa-apa jika Q 1 tidak menghasilkan hasil tetapi Q 2t x Q ( t , y ) Q1 Q2 Q1 saya Q2 saya Q1 Q2 tidak, tetapi untuk kontainmen implikasinya harus berlaku untuk setiap instance yang mungkin.) Masalah kontainmen kueri bertanya: diberikan dua permintaan basis data dan Q 2 , apakah Q 1 terkandung dalam Q 2 ?Q1 Q2 Q1 Q2
Sama sekali tidak jelas di hadapan Chandra-Merlin bahwa masalahnya dapat diputuskan. Hanya dengan menggunakan definisi, kita harus mengukur set yang tak terbatas dari semua database yang mungkin. Jika query tidak dibatasi, maka masalahnya adalah, pada kenyataannya, diputuskan: biarkan menjadi formula yang selalu benar, maka Q 1 terkandung di Q 2 IFF Q 2 adalah valid. (Ini Entscheidungsproblem dari Hilbert , ditunjukkan tidak dapat dipastikan oleh Gereja dan Turing pada tahun 1936.)Q1 Q1 Q2 Q2
Untuk menghindari ketidakpastian, kueri konjungtif memiliki bentuk yang agak terbatas: hanya berisi penjumlahan eksistensial, dan negasi dan disjungsi tidak diperbolehkan. Jadi Q adalah rumus eksistensial positif dengan hanya hubungan atom relasional. Ini adalah bagian kecil dari logika, tetapi cukup untuk mengekspresikan sebagian besar permintaan basis data yang berguna. Pernyataan klasik dalam SQL mengungkapkan kueri konjungtif; sebagian besar kueri mesin pencari adalah kueri konjungtif.Q Q
SELECT ... FROM
Seseorang dapat mendefinisikan homomorfisme antara permintaan dengan cara yang mudah (mirip dengan homomorfisme grafik, dengan sedikit pembukuan tambahan). The Chandra-Merlin teorema mengatakan: diberikan dua pertanyaan penghubung dan Q 2 , Q 1 terkandung dalam Q 2 IFF ada permintaan homomorfisma dari Q 2 ke Q 1 . Ini menetapkan keanggotaan dalam NP, dan langsung untuk menunjukkan bahwa ini juga NP-hard.Q1 Q2 Q1 Q2 Q2 Q1
Decidability of Containment Containment kemudian diperluas ke persatuan query konjungtif (queri positif eksistensial di mana disjungsi diperbolehkan), meskipun disjungsi meningkatkan kompleksitas hingga -complete. Hasil desidabilitas dan ketidakpastian juga telah ditetapkan untuk bentuk yang lebih umum dari penahanan kueri , yang melibatkan penilaian semiring yang terjadi ketika menghitung jumlah jawaban, ketika menggabungkan anotasi dalam sumber, atau ketika menggabungkan hasil kueri dalam database probabilistik.ΠP2
sumber
Saya menemukan kandidat yang baik ketika membaca beberapa makalah tentang persamaan diophantine kuadratik:
JC Lagarias, sertifikat ringkas untuk solusi untuk persamaan Diophantine kuadratik biner (2006)
... tapi - sejujurnya - satu-satunya bukti yang saya miliki bahwa itu tidak trivial adalah jumlah halaman kertas ... 62! :-)
sumber
Ketika pengakuan pengenalan grafik toleransi terbuka, makalah berikut menunjukkan bahwa itu ada di NP:
http://www.sciencedirect.com/science/article/pii/S0166218X04000940
(Kemudian, pengakuan grafik toleransi ditunjukkan sebagai NP lengkap: http://arxiv.org/abs/1001.3251 )
sumber
Memutuskan keterjangkauan untuk berbagai jenis sistem keadaan tak terbatas kadang-kadang bisa dianggap baik, sering kali tidak. Untuk beberapa kasus khusus yang menarik, sertifikat yang cukup kecil dan dapat diperiksa selalu ada, dengan memasukkan masalah tersebut ke NP. Berikut ini adalah perawatan rapi untuk parametrik automata satu-counter:
sumber
sumber