Saya tertarik pada contoh individual "sulit" masalah NP-lengkap.
Ryan Williams membahas masalah SAT0 di blog Richard Lipton . SAT0 bertanya apakah instance SAT memiliki solusi spesifik yang terdiri dari semua 0. Ini membuat saya berpikir tentang membangun instance SAT yang cenderung "sulit".
Pertimbangkan instance SAT dengan klausa dan variabel , di mana "cukup besar", dalam arti bahwa ia jatuh ke wilayah di luar transisi fase, di mana hampir semua instance tidak memuaskan. Biarkan x menjadi penugasan acak ke nilai ϕ .
Apakah mungkin untuk memodifikasi untuk mendapatkan contoh baru ϕ | x , jadi ϕ | x adalah "sangat mirip" dengan ϕ , tetapi agar x adalah tugas yang memuaskan untuk ϕ | x ?
Misalnya, seseorang dapat mencoba menambahkan ke setiap klausa literal yang dipilih secara acak dari solusi, yang belum terjadi dalam klausa. Ini akan menjamin bahwa adalah solusi.
Atau apakah ini sia-sia, yang mengarah ke algoritma cepat untuk menemukan solusi "tersembunyi", di sepanjang baris makalah baru-baru ini?
- Uriel Feige dan Dorit Ron, Menemukan klik-klik tersembunyi dalam waktu linier , proc DMTCS. AM, 2010, 189–204.
Saya mengetahui diskusi oleh Cook dan Mitchell dan pekerjaan yang mereka rujuk. Namun, saya tidak dapat menemukan apa pun tentang apa yang terjadi pada struktur formula ketika seseorang mencoba untuk secara eksplisit menanamkan tugas yang memuaskan ke dalamnya. Jika ini adalah cerita rakyat, petunjuk akan sangat disambut!
- Stephen A. Cook dan David G. Mitchell, Menemukan Contoh Sulit dari Kepuasan Masalah: Sebuah Survei , Seri DIMACS dalam Matematika Diskrit dan Ilmu Komputer Teoretis 35 1–17, AMS, ISBN 0-8218-0479-0, 1997. ( PS )
sumber
Jika saya benar memahami inti dari pertanyaan Anda, Anda ingin mengambil contoh relatif mudah (karena Anda menempatkan diri di daerah di mana ), dan mengubahnya menjadi yang sulit dengan menanamkan solusi. Saya ragu ini akan berhasil.mn>4.3
Data eksperimental menunjukkan bahwa, ketika membangun instance acak "sekitar" solusi telah ditentukan , instance tersebut akan lebih mudah dari biasanya (dibandingkan dengan instance serupa yang memiliki n dan m yang sama ). Ini seperti jika solusi tersembunyi membantu pemecah SAT, memandu melalui ruang pencarian. Biasanya, untuk membangun contoh seperti itu, kami menghasilkan klausa acak seperti biasa (misalnya memilih k literal secara acak dan meniadakan masing-masing dengan probabilitas p = 1x n m k ) tetapi kami membuang klausa yang tidak puas dengan solusi tersembunyi kamix. Untuk apa yang menyangkut pendekatan Anda dalam membangunϕ| xdari dan contoh kerasϕ: Saya belum pernah mencobanya, tapi saya "merasa" ituϕ| xakan menjadi lebih mudah, jika tidak sepele. Saya percaya bahwa melakukan itu akan menambah jumlah hit dariliteralx(jumlah hit dari literalladalah jumlah kemunculanldalam formula yang diberikan), dan bahwa ini akan mendorong pemecah SAT ke target. Mungkin ruang solusiϕdanϕ| xp=12 x ϕ|x ϕ ϕ|x x l l ϕ ϕ|x akan serupa (jika tidak hampir identik), seperti yang terjadi dalam contoh Ryan Williams tentang SAT0 (ruang solusi yang hampir identik, tetapi kekerasan yang sama sekali berbeda). Apakah Anda mencoba pendekatan Anda dalam praktik? Akan menarik untuk melihat bagaimana solver SAT yang sama berperilaku pada dan pada ϕ | x .ϕ ϕ|x
EDIT 1 (23 September 2010): Setelah berpikir sedikit lagi, saya merasa itu benar-benar ruang solusi x akan sangat berbeda dari ϕ . Anda menambahkan literal ke setiap klausa, sehingga Anda memberikan lebih banyak kebebasan untuk klausa tersebut (yaitu setiap klausa memiliki lebih banyak kesempatan untuk dipenuhi): mungkin ruang solusi yang dihasilkan akan diubah secara besar-besaran.ϕ|x ϕ
Saya tidak tahu apakah ini akan berhasil atau tidak. Saya belum mencobanya. Lebih tepatnya, saya tidak yakin apakah Langkah 1 selalu berhasil menanamkan di ruang solusi (mungkin x dikesampingkan oleh beberapa kombinasi klausa, bahkan jika masing-masing tidak puas dengan x ?).x x x
sumber
Cara terbaik untuk menghasilkan instance keras dari masalah NP-lengkap yang saya ketahui adalah menggunakan pemetaan Cook untuk mengurangi contoh yang dipilih dengan cermat dari masalah NP keras tertentu lainnya (seperti masalah logaritma diskrit atau faktorisasi bilangan bulat) ke SAT. Ini adalah "masalah sulit" yang sama yang digunakan oleh ahli matematika untuk memastikan keamanan kriptografi dalam protokol seperti RSA dan Diffie-Hellman.
sumber