Apakah semua algoritma yang dikenal untuk menyelesaikan masalah NP-selesai konstruktif?

11

Apakah ada algoritma yang dikenal yang secara benar menampilkan "ya" ke masalah NP-complete tanpa secara implisit menghasilkan sertifikat?

Saya mengerti bahwa sangat mudah untuk mengubah oracle kepuasan menjadi pencari penugasan memuaskan: hanya beralih pada variabel, setiap kali meminta oracle kepuasan untuk memecahkan hubungannya dengan variabel itu dengan masalah asli.

Tapi apakah bungkus seperti itu akan berguna? Apakah semua pemecah sat mencari ruang kemungkinan penugasan?

Atau apakah ada beberapa jenis masalah NP-complete (salesman keliling, jumlah subset, dll) di mana pemecah dapat, katakanlah, mengeksploitasi teorema matematika untuk membuktikan bahwa solusi harus ada? Suka melakukan pembuktian dengan kontradiksi?

pengguna82928
sumber

Jawaban:

11

Seperti yang saya pahami, Anda mengajukan dua pertanyaan: (1) apakah ada misalnya algoritma SAT yang lebih pintar daripada brute force naif, dan (2) apakah ada algoritma yang hanya memberikan jawaban YA / TIDAK ketika menyelesaikan masalah NP-complete tanpa benar-benar menemukan solusinya. Saya akan menjawab kedua pertanyaan dalam urutan ini.

(1) Sangat mungkin untuk menyelesaikan masalah tanpa kekerasan, yaitu tanpa mencoba semua kemungkinan secara naif. Untuk mengambil contoh Anda, pemecah SAT lengkap modern dapat menerapkan algoritma pintar yang menyimpulkan atau membuktikan tugas (parsial) tertentu tidak dapat mengarah ke solusi, sehingga mereka bahkan tidak memeriksa bagian itu.

n!nnO(2nn2)

k

kGkGk

O(2k)k


kO(2k)

Juho
sumber
Sempurna. Makalah k-path adalah persis hal yang saya cari. Terima kasih!
user82928