Pengesah masa polinomial boleh dibina daripada mesin Turing bukan penentu masa polinomial (NTM) dengan mengikuti proses yang sistematik. Untuk memahami proses ini, adalah penting untuk mempunyai pemahaman yang jelas tentang konsep teori kerumitan, terutamanya kelas P dan NP, dan tanggapan pengesahan polinomial.
Dalam teori kerumitan pengiraan, P merujuk kepada kelas masalah keputusan yang boleh diselesaikan oleh mesin Turing yang menentukan dalam masa polinomial. Sebaliknya, NP merujuk kepada kelas masalah keputusan yang mana penyelesaian boleh disahkan dalam masa polinomial oleh mesin Turing yang menentukan. Perbezaan utama antara kedua-dua kelas ini ialah P mewakili masalah yang boleh diselesaikan dengan cekap, manakala NP mewakili masalah yang boleh disahkan dengan cekap.
Pengesah masa polinomial ialah mesin Turing deterministik yang boleh mengesahkan ketepatan penyelesaian kepada masalah NP dalam masa polinomial. Proses membina pengesah sedemikian daripada masa polinomial NTM melibatkan langkah-langkah berikut:
1. Memandangkan masalah NP, katakan masalah X, kita andaikan kewujudan masa polinomial NTM M yang boleh menyelesaikan X. NTM M ini mempunyai beberapa cabang pengiraan, setiap satu mewakili laluan pelaksanaan yang berbeza.
2. Kami membina pengesah masa polinomial V untuk masalah X dengan mensimulasikan kelakuan NTM M. Pengesah V mengambil dua input: penyelesaian kepada masalah X dan sijil. Sijil adalah bukti bahawa penyelesaian itu betul.
3. Pengesah V terlebih dahulu menyemak sama ada sijil mempunyai format yang sah. Langkah ini boleh dilakukan dalam masa polinomial kerana pengesah mengetahui struktur jangkaan sijil.
4. Seterusnya, pengesah V mensimulasikan tingkah laku NTM M pada penyelesaian dan sijil yang diberikan. Ia melaksanakan semua kemungkinan cabang pengiraan M, menyemak sama ada mana-mana cawangan menerima input. Simulasi ini boleh dilakukan dalam masa polinomial kerana NTM M berjalan dalam masa polinomial.
5. Jika pengesah V mendapati sekurang-kurangnya satu cabang pengiraan yang menerima, ia menerima input. Ini bermakna bahawa penyelesaian itu disahkan betul untuk masalah X. Jika tidak, jika tiada cawangan menerima, pengesah menolak input.
Idea utama di sebalik membina pengesah masa polinomial ialah NTM M boleh meneka sijil yang betul dalam masa polinomial. Dengan mensimulasikan tingkah laku M dan menyemak semua cawangan yang mungkin, pengesah V boleh mengesahkan ketepatan penyelesaian dengan cekap.
Mari kita ambil contoh untuk menggambarkan proses ini. Pertimbangkan masalah untuk menentukan sama ada graf tertentu mempunyai kitaran Hamiltonian, yang merupakan masalah NP-lengkap. Kami menganggap kewujudan masa polinomial NTM M yang boleh menyelesaikan masalah ini.
Untuk membina pengesah masa polinomial V untuk masalah ini, kami mensimulasikan kelakuan M pada graf dan sijil yang diberikan. Pengesah menyemak sama ada sijil mewakili kitaran Hamiltonian yang sah dengan mengesahkan bahawa ia melawati setiap bucu tepat sekali dan membentuk kitaran.
Dengan mensimulasikan secara menyeluruh semua kemungkinan cabang pengiraan M, pengesah boleh menentukan dengan cekap sama ada graf yang diberikan mempunyai kitaran Hamiltonian. Jika sekurang-kurangnya satu cabang M menerima input, pengesah menerima input sebagai kitaran Hamiltonian yang sah. Jika tidak, ia menolak input.
Membina pengesah masa polinomial daripada masa polinomial NTM melibatkan simulasi kelakuan NTM dan menyemak semua kemungkinan cabang pengiraan. Proses ini membolehkan pengesahan penyelesaian yang cekap kepada masalah NP. Dengan membina pengesah sedemikian, kita boleh mengklasifikasikan masalah berdasarkan kebolehtentusahannya dalam masa polinomial.
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?
- Bolehkah masalah berada dalam kelas kerumitan NP jika terdapat mesin turing bukan deterministik yang akan menyelesaikannya dalam masa polinomial
- 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?
Lihat lebih banyak soalan dan jawapan dalam Kerumitan