Зробити SAT-вирішувачі конкурентоспроможними спеціалізованими алгоритмами


11

Які перешкоди для того, щоб зробити SAT-вирішувачі конкурентоспроможними спеціалізованими алгоритмами графіків? Іншими словами, чи можливо очікувати вирішення SAT, які можуть замінити роль конструктора алгоритмів, тобто мати можливість автоматично розпізнавати структуру проблеми, а потім вирішувати її так само швидко, як спеціалізований алгоритм?

Ось кілька прикладів, які, на мою думку, є складними для сьогоднішніх вирішувачів SAT:

  • Підрахунок незалежних наборів розміром . Кодування "х - незалежна сукупність розміру k" дає велику формулу, яку важко вирішити. Ідеальний вирішувач SAT визнає, що ця проблема проста на обмеженому діаграмі ширини дерева з додаванням додаткової змінної "count" для мішків.k

  • Пошук мінімального дерева Штейнера. Знову ж таки, «дерево Штейнера» має глобальне обмеження, однак спеціалізований алгоритм (як тут ) полегшує завдання додаванням додаткової змінної

  • Будь-яка проблема, яка зводиться до планарних ідеальних відповідностей.


це вже не відбувається? Це популярний трюк, щоб зменшити проблему до SAT, а потім запустити розв’язувач.
Суреш Венкат

Так, але вони конкурентоспроможні? Мені цікаво, чи є який-небудь вирішувач SAT, який міг би взяти простий набір обмежень, що описують ейлеровий підграф планарного графіка, і роблять #SAT в поліноміальний час
Ярослав Булатов,

Відповіді:


7

Є приємний документ, який допомагає візуалізувати внутрішню структуру примірників SAT. Див. Візуалізація екземплярів SAT та виконання алгоритму DPLL Карстена Сіенца (з'явився в SAT 2004). В основному він малює графік, який автор називає "графіком змінної взаємодії" (за деякими правилами) для візуалізації співвідношення між задоволеними пунктами. Автор показує це декількома частковими прогонами DPLL.

Основне твердження полягає в тому, що ці методи візуалізації можуть бути використані для виявлення структури та проектування відповідного алгоритму для неї. Однак досі не зрозуміло, як ми можемо виявити такі структури, як представлені у статті. Добре відомо, що алгоритми SAT для однієї конкретної проблеми погано поводяться в інших проблемах. Таким чином, існує "обід без вільного обіду", хоча, як я знаю, ця претензія формально не може бути заявлена.


Я думаю, що відповідною теоремою "без вільного обіду" є "без вільного обіду для пошуку" no-free-lunch.org . В основному ми не можемо дозволити собі пошук всіх можливих проблемних структур, і нам доведеться упереджувати пошук конкретних структур. Я думаю, що це нормально, оскільки дизайнери людських алгоритмів роблять це вже
Ярослав Булатов,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.