Dengan asumsi P NP, masalah NP-complete adalah "sulit untuk dipecahkan, tetapi memiliki jawaban yang mudah untuk diperiksa." Apakah masuk akal untuk mempertimbangkan yang sebaliknya, yaitu, masalah yang mudah untuk menghitung jawaban yang benar, tetapi sulit untuk memverifikasi solusi yang diakui sewenang-wenang?
Saya pikir masalah seperti itu akan menyiratkan:
Secara eksponensial banyak jawaban "benar" untuk setiap masukan yang diberikan, karena jika tidak verifikasi dapat dilakukan hanya dengan menghitung semua jawaban yang benar.
Beberapa jawaban "benar" mudah untuk dihitung, tetapi yang lain sulit ditemukan.
complexity-theory
rphv
sumber
sumber
Jawaban:
Jika Anda baik-baik saja dengan masalah buatan, Anda dapat membuatnya banyak. Berikut ini beberapa di antaranya:
Memberikan satu formula 3CNF yang memuaskan itu mudah, tetapi memutuskan apakah formula 3CNF yang diberikan memuaskan atau tidak adalah 3SAT, masalah NP-complete yang terkenal.
Memberikan satu mesin Turing seperti itu mudah, tetapi apakah mesin Turing yang diberikan berhenti atau tidak, tidak dapat dipastikan.
Ditambahkan : Omong-omong, saya tidak berpikir bahwa apa yang Anda tulis dalam paragraf terakhir berlaku:
Jika masalah memiliki satu solusi, maka memang memeriksa sebuah jawaban tidak lebih sulit daripada menghitung solusi yang benar. Namun, jika masalahnya memiliki satu solusi mudah dan satu solusi sulit, maka Anda tidak dapat menghitung semua solusi secara efisien. Berikut adalah salah satu masalah (yang sangat buatan):
Memberikan satu solusi itu mudah : Anda selalu dapat memilih " M adalah mesin Turing." Namun, apakah jawaban yang diberikan benar atau tidak tidak dapat diputuskan. Perhatikan bahwa dalam masalah ini, hanya ada dua solusi untuk setiap instance.
sumber
Meskipun jawaban Tsuyoshi Ito mencakup jawaban "utama", ada dua catatan yang lebih halus yang ingin saya tambahkan.
Bahkan ketika solusinya sulit untuk diverifikasi, memeriksa solusinya masih mudah diperiksa dengan string bukti pendek. Yaitu, dengan memperluas solusi sedikit dengan informasi tambahan, itu menjadi mudah diperiksa; verifikasi selalu dalam NP. Salah satu cara untuk melihat ini adalah bahwa agen yang menghitung suatu solusi dapat merekam semua bit acak yang mereka gunakan, dan kemudian verifier dapat menggunakan string acak yang sama untuk menjalankan perhitungan yang sama. (Pepatah harus menggunakan bit acak, jika tidak mereka selalu menampilkan jawaban yang sama, dan pemverifikasi selalu dapat dengan mudah memeriksa dengan menghitung jawaban dengan metode yang sama.)
Untuk komputer kuantum, ini adalah pertanyaan yang sangat terbuka. Untuk komputer klasik, verifier selalu dapat melakukan sesuatu seperti mensimulasikan prover dan memeriksa apakah mereka mendapatkan jawaban yang sama. Sangat mungkin bahwa untuk beberapa masalah rumit, ada algoritma kuantum yang menghasilkan distribusi yang seragam di semua (secara eksponensial banyak) solusi, yang sulit untuk diverifikasi. Anda tidak dapat menjalankan ulang prover, karena kemungkinan besar Anda akan mendapatkan jawaban yang berbeda setiap kali.
Sebagai contoh dari jenis masalah yang serupa, masalah Deutsch-Jozsa sedikit menderita dari ini. Jika oracle bukan fungsi yang seimbang, maka komputer kuantum dapat dengan cepat menentukan bahwa ini yang terjadi, tetapi tidak ada bukti singkat yang memungkinkan komputer klasik untuk memverifikasi ini. (Ini hanya masalah "mirip" karena masih bisa diperiksa oleh komputer kuantum lain, dan pengecekan juga dalam BPP klasik bahkan jika tidak dalam P.)
sumber