Огляд перетворень, пов'язаних із застосуванням розв'язувачів 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.