Pertanyaan ini mungkin berada di garis batas antara on-topic dan off-topic, namun saya telah melihat pertanyaan serupa di sini, oleh karena itu saya akan menanyakannya.
Saya menerapkan pemecah unik -SAT, yang inputnya adalah rumus -CNF memiliki paling banyak tugas yang memuaskan. Untuk menguji perilakunya yang praktis, saya memerlukan seperangkat formula seperti itu. Saya telah mencari mereka di web, dan tidak menemukan apa-apa (sementara, di sisi lain, sangat mudah untuk menemukan suite formula -CNF biasa ).
Di mana saya dapat menemukan contoh Unik -SAT?
Atau, saya akan puas juga untuk mengetahui prosedur apa pun untuk menghasilkan contoh unik yang memuaskan. Satu-satunya pendekatan yang saya tahu berjalan di bawah nama generasi instance SAT yang ditanam : Anda secara acak menghasilkan tugas dari variabel , maka Anda hanya menghasilkan klausa yang setuju dengan tugas tersebut. Pendekatan ini tidak memuaskan untuk tujuan saya, karena alasan berikut:
- Formula yang diperoleh mungkin memiliki tugas-tugas memuaskan yang tidak diinginkan lebih lanjut.
- Untuk memastikan bahwa formula dipenuhi secara unik oleh tugas yang diinginkan, Anda harus memperkenalkan semua klausa yang mungkin setuju dengan itu. Ini akan menghasilkan formula dengan terlalu banyak klausa, yang mungkin akan mudah dipecahkan dan karenanya tidak mewakili perilaku kasus terburuk dari pemecah. Tidak jelas bagi saya bagaimana kita dapat secara efisien memaksakan keunikan sambil menjaga agar jumlah klausa tetap masuk akal.
Bagaimana kita bisa menghasilkan formula yang memuaskan secara unik dengan sejumlah klausa yang masuk akal? Dengan wajar Maksudku jauh dari maksimal .