Огляд перетворень, пов'язаних із застосуванням розв'язувачів SAT


13

Я починаю досліджувати можливість покладатися на вирішувач SAT, щоб вирішити проблему оптимізації, яка мене цікавить, і зараз шукаю опитування, яке б містило приклади "розумних" перетворень на варіанти SAT (тобто перетворень, які призводять до цього в проблемі розумного розміру, оскільки я не зацікавлений у доведенні результатів твердості, а в реальному вирішенні проблеми), приблизно в дусі того, що можна знайти в опитуванні на кубічних графах Грінлау і Петрескі , якщо можна порівняти зроблені між двома.

Чи таке обстеження ухилилось від мене через те, що його не існує, або тому, що я його просто пропустив?


Що ви точно означаєте під "варіантами SAT"?
Джорджіо Камерані

@Walter: Вибачте, якщо це не правильне слово, я мав на увазі такі речі, як -SAT, Planar-SAT, NAE-SAT і так далі ... але я, мабуть, повинен укласти ці два слова між дужками, оскільки я не знати, чи це має значення при використанні SAT-вирішувачів. k
Ентоні Лабарре

4
Не хвилюйтесь, це правильне слово, я мав би це зрозуміти. Однак, з чисто практичної точки зору, я не думаю, що це має значення (найважливіше - наскільки парсимонічне ваше кодування). Не могли б ви надати кілька додаткових подробиць щодо проблеми оптимізації, яку ви намагаєтеся вирішити? Мені дуже цікаво практичне застосування SAT та інженерні аспекти вирішення SAT.
Джорджіо Камерані

Звучить трохи заплутано, що ви говорите про проблему оптимізації, але в той же час про SAT. Зазвичай для оптимальності вам потрібно щось сильніше, наприклад MAX-SAT. Можливо, ви могли б це уточнити.
Міколас

може бути кілька пов'язаних з цим питання: cstheory.stackexchange.com/q/4314/4506
Mikoláš

Відповіді:


9

Не впевнений, що це те, що ви шукаєте, але ось одне: JM Silva, Практичні програми булевої задоволеності .


2
Я не міг отримати доступ до нього через ваше посилання, ось ще один . На перший погляд, папір здається досить цікавою, але більш орієнтованою на додатки, ніж те, що я шукаю.
Ентоні Лабарре

@Anthony добре, ви сказали, що вас цікавить практичний аспект :-) Як би там не було, різниці між різними типами SAT не існують. У минулому, наприклад, проводилася робота над використанням бінарних пропозицій. Але існуючі вирішувачі просто використовують DPLL + блок опор + навчання клаузу. Однак деякі препроцесори експлуатують структуру. Але знову ж таки, не дуже з точки зору складності. класифікація.
Міколас

8

Розділ 2 Посібника із задоволеності описує аспекти, які слід пам’ятати при розробці цих перетворень, а також перелік посилань, які відповідають на моє запитання. Це допомогло мені знайти кілька прикладів, на які можна ознайомитись, щоб ознайомитись із цими перетвореннями:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.