Jawaban:
Untuk menunjukkan bahwa masalah NP selesai, Anda perlu:
Dengan kata lain, diberikan beberapa informasi C, Anda dapat membuat algoritma waktu polinomial Vyang akan memverifikasi untuk setiap masukan yang mungkin Xapakah Xada di domain Anda atau tidak.
Buktikan bahwa masalah penutup simpul (yaitu, untuk beberapa graf G, apakah ia memiliki satu set ukuran penutup simpul ksedemikian rupa sehingga setiap tepi di Gmemiliki setidaknya satu simpul dalam set penutup ?) Ada di NP:
masukan kami Xadalah beberapa grafik Gdan beberapa angka k(ini dari definisi masalah)
Jadikan informasi kami Csebagai "setiap subset yang mungkin dari simpul dalam Gukuran grafik k"
Kemudian kita dapat menulis algoritma Vyang, diberikan G, kdan C, akan mengembalikan apakah kumpulan simpul itu adalah penutup simpul Gatau tidak, dalam waktu polinomial .
Kemudian untuk setiap graf G, jika ada beberapa "kemungkinan subset dari simpul dalam Gukuran k" yang merupakan penutup simpul, maka Gmasuk NP.
Perhatikan bahwa kita tidak perlu mencari Cdalam waktu polinomial. Jika kita bisa, masalahnya ada di `P.
Perhatikan bahwa algoritme Vharus berfungsi untuk setiap G , untuk beberapa C. Untuk setiap masukan harus ada informasi yang dapat membantu kami memverifikasi apakah masukan tersebut ada di domain bermasalah atau tidak. Artinya, tidak boleh ada masukan yang informasinya tidak ada.
Ini melibatkan mendapatkan masalah NP-complete yang diketahui seperti SAT , kumpulan ekspresi boolean dalam bentuk:
(A atau B atau C) dan (D atau E atau F) dan ...
di mana ekspresi itu memuaskan , apakah ada beberapa pengaturan untuk boolean ini, yang membuat ekspresi itu benar .
Kemudian kurangi masalah NP-complete menjadi masalah Anda dalam waktu polinomial .
Artinya, dengan beberapa masukan Xuntuk SAT(atau masalah NP-complete apa pun yang Anda gunakan), buat beberapa masukan Yuntuk masalah Anda, seperti Xdalam SAT jika dan hanya jika Yada dalam masalah Anda. Fungsi tersebut f : X -> Yharus berjalan dalam waktu polinomial .
Dalam contoh di atas, inputnya Yadalah grafik Gdan ukuran tutup puncak k.
Untuk bukti lengkap , Anda harus membuktikan keduanya:
yang Xada di SAT=> Ydalam masalah Anda
dan Ydalam masalah Anda => Xdalam SAT.
Jawaban marcog memiliki kaitan dengan beberapa masalah NP-complete lainnya yang dapat Anda kurangi menjadi masalah Anda.
Catatan kaki: Pada langkah 2 ( Buktikan bahwa ini NP-hard ), mengurangi masalah NP-hard (belum tentu NP-complete) ke masalah saat ini akan dilakukan, karena masalah NP-complete adalah bagian dari masalah NP-hard (yaitu juga di NP).
Anda perlu mengurangi masalah NP-Complete menjadi masalah yang Anda miliki. Jika reduksi bisa dilakukan dalam waktu polinomial maka Anda sudah membuktikan bahwa soal Anda NP-complete, jika soal sudah ada di NP, karena:
Ini tidak lebih mudah daripada masalah NP-complete, karena dapat direduksi menjadi masalah dalam waktu polinomial yang membuat masalah menjadi NP-Hard.
Lihat akhir dari http://www.ics.uci.edu/~eppstein/161/960312.html untuk lebih lanjut.
Untuk membuktikan bahwa masalah L adalah NP-complete, kita perlu melakukan langkah-langkah berikut:
Pertama, Anda menunjukkan bahwa itu terletak di NP.
Kemudian Anda menemukan masalah lain yang sudah Anda ketahui adalah NP lengkap dan menunjukkan bagaimana Anda mengurangi masalah NP Hard secara polinomial ke masalah Anda.