Meskipun untuk beberapa masalah populer, memang benar, saya pikir kedua asumsi - tergantung pada apa yang Anda definisikan sebagai masalah optimasi - tidak benar.
Pertama, beberapa definisi: kebanyakan masalah optimisasi bukan bagian dari NP . Misalnya untuk masalah Knapsack : seseorang tidak dapat mengeksploitasi non-determinisme untuk membangun tas yang paling berharga, sederhana karena cabang-cabang non-deterministik yang berbeda tidak memiliki memori bersama. NP juga didefinisikan sebagai "dapat diverifikasi secara polinomi" (memverifikasi sertifikat) [1, p. 34]
. Dalam hal ini sertifikat misalnya tas : bitstring di mana jika bit ke- i diatur, itu menyiratkan item ke- i adalah bagian dari tas. Anda memang dapat memeriksa dalam waktu polinomial jika tas seperti itu lebih berharga daripada ambang yang diberikan (ini adalah varian keputusan), tetapi Anda tidak dapat - sejauh yang kami ketahui - berdasarkan pada satu tas, (jumlah polinomial tas), memutuskan apakah tas tersebut adalah yang paling berharga dari semua tas yang mungkin. Itu perbedaan penting antara NP dan EXP misalnya : di EXP , Anda dapat menghitung semua tas yang mungkin dan melakukan pembukuan tentang tas mana yang terbaik.
The varian keputusan dari masalah optimasi dalam beberapa kasus bagian dari NP , salah satu kebutuhan untuk membuat perbedaan yang jelas antara rasa maksimalisasi dan rasa keputusan . Dalam pilihan rasa, pertanyaannya adalah: " Mengingat masalah optimisasi, dan batas utilitas, apakah ada solusi dengan utilitas lebih besar atau sama dengan batas itu " (atau sedikit dimodifikasi untuk masalah minimisasi).
Saya juga menganggap bahwa dengan NP Anda berarti (hipotetis) bagian dari NP yang bukan merupakan bagian dari P . Jika P = NP , tentu saja NP-complete masih ada, tetapi itu akan sama dengan P (hanya bertepatan dengan P untuk beberapa pengertian reduksi, seperti pengurangan banyak-waktu polinomial-kali oleh @ AndrásSalamon), yang tidak terlalu mengesankan ( dan akan mengurangi " celah " yang Anda sebutkan dalam pertanyaan Anda).
Saya semakin memperhatikan bahwa sebagian besar masalah diskrit adalah NP-lengkap.
Sekarang kami telah menyortirnya: ada banyak masalah optimasi yang ada di P : masalah jalur terpendek , masalah aliran maksimum (untuk kapasitas integral), pohon rentang minimum dan pencocokan maksimum . Meskipun masalah ini mungkin terlihat "sepele untuk dipecahkan" bagi Anda, ini masih merupakan masalah pengoptimalan, dan dalam banyak kasus konstruksi (dan membuktikan kebenaran) tidak semudah itu. Jadi klaim tidak memiliki semua masalah diskrit lengkap NP. Mengingat P tidak sama dengan NP , masalah-masalah ini karenanya tidak bisa NP-lengkap .
ΣPi
Sedangkan mengoptimalkan masalah yang berkelanjutan hampir selalu mudah dicapai.
Masalah berkelanjutan populer yang NP-hard adalah pemrograman kuadratik .
x⃗
x⃗ T⋅Q⋅x⃗ 2+c⃗ T⋅x⃗
A⋅x⃗ ≤b⃗
Sebenarnya pemrograman Linear telah lama dianggap NP-keras juga, tetapi dengan heuristik yang berkinerja sangat baik ( metode Simplex ). Algoritma Karmarkar ini adalah namun di P .
Dari saat masalah optimasi berkaitan dengan objek non-cembung, secara umum akan sulit - jika bukan tidak mungkin - untuk menemukan algoritma yang efisien.
Bibliografi
[1]
Kompleksitas Komputasi, pendekatan modern , Sanjeev Arora dan Boaz Barak