Masalah optimisasi "NP-complete"

24

Saya sedikit bingung dengan beberapa terminologi yang saya temui mengenai kompleksitas masalah optimasi. Dalam kelas algoritma, saya memiliki masalah kekikiran besar yang dijelaskan sebagai NP-lengkap. Namun, saya tidak yakin apa arti istilah NP-complete dalam konteks masalah optimisasi. Apakah ini hanya berarti bahwa masalah keputusan terkait adalah NP-complete? Dan apakah itu berarti bahwa masalah optimasi sebenarnya mungkin lebih sulit (mungkin di luar NP)?

Secara khusus, saya khawatir tentang fakta bahwa sementara masalah keputusan NP-lengkap dapat diverifikasi waktu polinomialnya, solusi untuk masalah optimisasi yang sesuai tampaknya tidak dapat diverifikasi waktu polinomialnya. Apakah itu berarti bahwa masalahnya tidak benar-benar dalam NP, atau apakah waktu polinom dapat diverifikasi hanya merupakan karakteristik dari masalah keputusan NP?

Aniket Schneider
sumber
3
periksa pertanyaan ini
Ran G.
1
Juga pertanyaan ini: Versi optimisasi masalah keputusan .
Kaveh
1
@RanG., Saya tidak yakin apakah ini duplikat yang tepat .
Kaveh
@ Kaveh Anda benar, tetapi jawaban uli yang bagus sepenuhnya menjawab pertanyaan ini.
Ran G.
@RanG., Mungkin ada lebih dari satu jawaban yang bagus. :)
Kaveh

Jawaban:

13

Upaya jawaban parsial:

Masalah keputusan sudah diselidiki untuk beberapa waktu sebelum masalah optimasi muncul, dalam arti karena mereka diperlakukan dari perspektif algoritma perkiraan.

Anda harus berhati-hati ketika membawa konsep dari masalah keputusan. Hal ini dapat dilakukan dan gagasan yang tepat tentang kelengkapan NP untuk masalah optimisasi dapat diberikan. Lihat jawaban ini . Ini tentu saja berbeda dari NP-kelengkapan untuk masalah keputusan, tetapi didasarkan pada ide yang sama (reduksi).

Jika Anda dihadapkan dengan masalah optimasi yang tidak memungkinkan verifikasi dengan solusi yang layak, maka tidak banyak yang dapat Anda lakukan. Itu sebabnya orang biasanya menganggap bahwa:

  • Kami dapat memverifikasi secara efisien jika input tersebut adalah contoh yang valid dari masalah optimasi kami.
  • Ukuran solusi yang layak dibatasi secara polinomi oleh ukuran input.
  • Kami dapat memverifikasi secara efisien jika solusi merupakan solusi input yang layak.
  • Nilai suatu solusi dapat ditentukan secara efisien.

Kalau tidak, tidak banyak yang bisa kita harapkan untuk dicapai.

NPNPNP

Jika Anda ingin memverifikasi bahwa suatu solusi tidak hanya layak, tetapi juga optimal, saya akan mengatakan bahwa ini sama sulitnya dengan menyelesaikan masalah optimisasi awal karena, untuk menyangkal solusi yang layak dan mungkin optimal karena tidak optimal, Anda harus memberikan solusi yang lebih baik, yang mungkin mengharuskan Anda untuk menemukan solusi optimal yang sebenarnya.

Tetapi itu tidak berarti bahwa masalah optimasi lebih sulit. Lihat jawaban ini , yang tentu saja tergantung pada definisi yang tepat.

uli
sumber
Bisakah Anda memberikan artikel atau referensi buku, di mana saya dapat menemukan informasi lebih lanjut tentang definisi yang tepat, pengurangan, dll, untuk kekerasan NP untuk masalah optimasi? Sejauh ini, saya tidak tahu. Itu akan sangat menarik bagi saya. Terima kasih.
John Threepwood
-1

Alasan sebagian besar masalah pengoptimalan dapat digolongkan sebagai P, NP, NP-complete, dll., Adalah kondisi Kuhn-Tucker. Saya akan berbicara dalam hal masalah pemrograman linier, tetapi KTC berlaku dalam banyak masalah optimasi lainnya. Untuk setiap masalah optimasi ada dua. Jika tujuan dalam masalah asli adalah untuk memaksimalkan beberapa fungsi, maka dual (biasanya) memiliki fungsi yang harus diminimalkan. * Layak, tetapi solusi yang tidak optimal untuk masalah asli akan tidak layak / tidak valid untuk masalah ganda, dan sebaliknya -versa. Jika, dan hanya jika, solusi layak untuk primer dan ganda, itu adalah solusi optimal untuk keduanya. (Secara teknis, mungkin salah satu dari sejumlah besar solusi optimal yang memberikan hasil yang sama.)

Jadi menemukan solusi optimal dari masalah optimisasi sama dengan menemukan solusi yang valid untuk primer dan ganda. Anda dapat menggunakan algoritma pengoptimalan untuk menemukan solusi itu, tetapi proses keseluruhan adalah bukti keberadaan.

  • Jika Anda ingin beralih dari minimalisasi ke maksimalisasi, kalikan fungsi objektif dengan -1.
Robert I. Eachus
sumber
3
Saya tidak melihat bagaimana kondisi KKT terkait dengan kekerasan-NP, dapatkah Anda menjelaskannya?
Kadal diskrit
2
Saya tidak benar-benar melihat bagaimana ini menjawab pertanyaan. P , NP , dll., Adalah kelas masalah keputusan. Masalah optimisasi bukanlah masalah keputusan, jadi mereka tidak termasuk dalam kelas tersebut menurut definisi .
David Richerby
2
Saya juga tidak melihat bagaimana ini menjawab pertanyaan - ini adalah komentar yang menarik, tetapi tampaknya menjawab pertanyaan yang berbeda dari yang diajukan. Pertanyaannya menanyakan apa artinya mengatakan bahwa masalah pengoptimalan adalah NP-lengkap dan apakah masalah pengoptimalan dapat dikatakan dalam NP, mengingat bahwa itu bukan masalah keputusan. Ini menjelaskan bagaimana, mengingat masalah pengoptimalan (di mana solusi tidak dapat diverifikasi), kita sering dapat membuat masalah terkait di mana solusi dapat diverifikasi. Hal yang sangat menarik, tapi saya tidak yakin itu menjawab pertanyaan yang diajukan.
DW
1
@ DW Alasan utama mengapa saya pikir ini tidak benar-benar menjawab pertanyaan adalah bahwa, selain dari apa yang telah disebutkan, KKT membatasi pengaturan untuk optimasi matematika dari fungsi 'biasa' (misalnya kontinu, dapat dibedakan, cembung). Pengaturan ini tidak berlaku untuk sebagian besar masalah NP-hard.
Kadal diskrit