Soalan "Bolehkah masalah berada dalam kelas kerumitan NP jika terdapat mesin Turing bukan deterministik yang akan menyelesaikannya dalam masa polinomial?" menyentuh konsep asas dalam teori kerumitan pengiraan. Untuk menangani persoalan ini secara menyeluruh, kita mesti mempertimbangkan definisi dan ciri kelas kerumitan NP dan peranan mesin Turing bukan deterministik (NDTM).
Definisi NP
Kelas NP (masa polinomial tidak tentu) terdiri daripada masalah keputusan yang penyelesaian yang diberikan boleh disahkan sebagai betul atau salah dalam masa polinomial oleh mesin Turing deterministik (DTM). Secara rasmi, masalah keputusan adalah dalam NP jika terdapat algoritma pengesahan masa polinomial yang boleh mengesahkan ketepatan sijil (atau saksi) yang diberikan untuk contoh masalah.
Mesin Turing Bukan Deterministik
Mesin Turing bukan deterministik ialah model pengiraan teori yang memanjangkan keupayaan mesin Turing yang menentukan. Tidak seperti DTM, yang mengikut laluan pengiraan tunggal yang ditakrifkan oleh fungsi peralihannya, NDTM boleh meneruskan berbilang laluan pengiraan secara serentak. Pada setiap langkah, NDTM boleh "memilih" daripada satu set peralihan yang mungkin, dengan berkesan meneroka banyak kemungkinan pengiraan secara selari.
Kebolehlarutan Polinomial-Masa oleh NDTM
Sesuatu masalah dikatakan boleh diselesaikan oleh NDTM dalam masa polinomial jika wujud algoritma bukan penentu yang boleh mencari penyelesaian kepada masalah dalam beberapa langkah yang polinomial dalam saiz input. Ini bermakna untuk sebarang contoh masalah, NDTM boleh meneroka laluan pengiraan yang membawa kepada penyelesaian dalam masa polinomial.
Hubungan Antara NP dan NDTM
NP kelas boleh ditakrifkan secara sama dari segi NDTM. Secara khusus, masalah keputusan adalah dalam NP jika dan hanya jika wujud NDTM yang boleh menyelesaikan masalah dalam masa polinomial. Persamaan ini timbul daripada fakta bahawa NDTM boleh meneka sijil secara bukan deterministik dan kemudian mengesahkannya secara deterministik dalam masa polinomial.
Untuk menggambarkan ini dengan contoh, pertimbangkan masalah lengkap NP yang terkenal, masalah kepuasan Boolean (SAT). Memandangkan formula Boolean dalam bentuk normal bersambung (CNF), tugasnya adalah untuk menentukan sama ada wujud penetapan nilai kebenaran kepada pembolehubah yang menjadikan formula itu benar. NDTM boleh menyelesaikan SAT dalam masa polinomial dengan meneka secara tidak pasti penetapan nilai kebenaran dan kemudian menyemak secara deterministik sama ada tugasan itu memenuhi formula. Langkah pengesahan, yang melibatkan penilaian formula di bawah tugasan yang diteka, boleh dilakukan dalam masa polinomial.
Implikasi Kebolehlarutan Polinomial-Masa oleh NDTM
Memandangkan takrifan di atas dan kesetaraan antara NP dan kebolehlarutan masa polinomial oleh NDTM, kita boleh membuat kesimpulan bahawa jika wujud NDTM yang menyelesaikan masalah dalam masa polinomial, maka masalahnya sememangnya dalam NP. Ini kerana kewujudan NDTM sedemikian membayangkan bahawa terdapat algoritma pengesahan masa polinomial untuk masalah tersebut. Fasa meneka bukan deterministik NDTM sepadan dengan penjanaan sijil, dan fasa pengesahan deterministik sepadan dengan algoritma pengesahan masa polinomial.
Pertimbangan dan Contoh Selanjutnya
Untuk menjelaskan lagi konsep ini, mari kita pertimbangkan contoh tambahan masalah dalam NP dan hubungannya dengan NDTM:
1. Masalah Laluan Hamilton: Memandangkan graf, masalah Laluan Hamilton bertanya sama ada wujud laluan yang melawati setiap bucu tepat sekali. NDTM boleh menyelesaikan masalah ini dalam masa polinomial dengan meneka secara tidak pasti jujukan bucu dan kemudian mengesahkan jika jujukan itu membentuk laluan Hamiltonian yang sah. Langkah pengesahan melibatkan penyemakan kedekatan bucu berturut-turut dan memastikan setiap bucu dilawati tepat sekali, kedua-duanya boleh dilakukan dalam masa polinomial.
2. Masalah Jumlah Subset: Memandangkan set integer dan jumlah sasaran, masalah Jumlah Subset bertanya sama ada wujud subset integer yang menjumlahkan kepada sasaran. NDTM boleh menyelesaikan masalah ini dalam masa polinomial dengan meneka secara tidak pasti subset integer dan kemudian mengesahkan jika jumlah subset sama dengan sasaran. Langkah pengesahan melibatkan menjumlahkan elemen subset yang diteka, yang boleh dilakukan dalam masa polinomial.
3. Masalah Mewarna Graf: Memandangkan graf dan beberapa warna, masalah Mewarna Graf bertanya sama ada boleh mewarnakan bucu graf supaya tiada dua bucu bersebelahan berkongsi warna yang sama. NDTM boleh menyelesaikan masalah ini dalam masa polinomial dengan memberikan warna secara bukan deterministik pada bucu dan kemudian mengesahkan sama ada pewarna itu sah. Langkah pengesahan melibatkan menyemak warna bucu bersebelahan, yang boleh dilakukan dalam masa polinomial.
Kesimpulan
Berdasarkan definisi dan contoh yang diberikan, adalah jelas bahawa masalah memang boleh berada dalam kelas kerumitan NP jika wujud mesin Turing bukan deterministik yang akan menyelesaikannya dalam masa polinomial. Hubungan ini merupakan asas kepada teori kerumitan pengiraan dan menggariskan kesetaraan antara kebolehlarutan masa polinomial oleh NDTM dan keahlian dalam kelas NP.
Soalan dan jawapan terbaru lain mengenai kerumitan:
- Adakah kelas PSPACE tidak sama dengan kelas EXPSPACE?
- Adakah kelas kerumitan P subset kelas PSPACE?
- Bolehkah kita membuktikan bahawa kelas Np dan P adalah sama dengan mencari penyelesaian polinomial yang cekap untuk sebarang masalah lengkap NP pada TM yang menentukan?
- Bolehkah kelas NP sama dengan kelas EXPTIME?
- Adakah terdapat masalah dalam PSPACE yang tiada algoritma NP yang diketahui?
- Bolehkah masalah SAT menjadi masalah lengkap NP?
- NP ialah kelas bahasa yang mempunyai pengesah masa polinomial
- Adakah P dan NP sebenarnya adalah kelas kerumitan yang sama?
- Adakah setiap bahasa bebas konteks dalam kelas kerumitan P?
- Adakah terdapat percanggahan antara takrifan NP sebagai kelas masalah keputusan dengan pengesah masa polinomial dan fakta bahawa masalah dalam kelas P juga mempunyai pengesah masa polinomial?
Lihat lebih banyak soalan dan jawapan dalam Kerumitan