SAT алгоритмы, не основанные на DPLL

Ответы:

21

Поиск разрешения (просто применение правила разрешения с некоторой хорошей эвристикой) - еще одна возможная стратегия для решателей SAT. Теоретически он экспоненциально более мощный (т. Е. Существуют проблемы, для которых он имеет экспоненциально более короткие доказательства), чем DPLL (который просто разрешает дерево, хотя вы можете дополнить его хорошим обучением, чтобы увеличить его мощность - независимо от того, делает ли он его таким же мощным, как и общее разрешение - все еще откройте, насколько я знаю), но я не знаю фактической реализации, которая работает лучше.

Если вы не ограничиваете себя в поиске, тогда WalkSat - это локальный решатель поиска, который можно использовать для поиска удовлетворительных решений и во многих случаях превосходит поиск на основе DPLL. Нельзя использовать его, чтобы доказать неудовлетворенность, если только вы не кэшируете все неудачные назначения, которые означают экспоненциальные требования к памяти.

Изменить: Забыл добавить - также можно использовать плоскости резания (сокращая SAT до целочисленной программы). В частности, сокращения Гомори достаточны для оптимального решения любой целочисленной программы. Опять же в худшем случае может понадобиться экспоненциальное число. Я думаю, что в книге «Вычислительная сложность» Ароры и Барака есть еще несколько примеров систем доказательств, которые теоретически можно использовать для чего-то вроде SAT-решения. Опять же, я не видел быстрой реализации чего-либо, кроме методов на основе DPLL или локального поиска.

выбирать
источник
9
DPLL с обучением по пунктам (или хорошим обучением, как вы его называете) и перезапусками, как было показано, эквивалентны общему решению.
Ян Йоханнсен
1
@JanJohannsen, это бумага, на которую вы ссылаетесь? arxiv.org/abs/1107.0044
Раду ГРИГоре
5
Да, есть также улучшение в следующей статье: Knot Pipatsrisawat и Adnan Darwiche. О возможностях SAT-обучающих программ SAT в качестве механизмов разрешения. Искусственный интеллект 175 (2), 2011, с. 512-525. dx.doi.org/10.1016/j.artint.2010.10.002
Ян Йоханнсен
3
В то время как статья Beame et al. Связанный Раду Григоре показывает, что общее разрешение p-моделируется алгоритмом DPLL с конкретной, искусственной стратегией обучения, вышеупомянутая статья показывает его для стратегий естественного обучения, которые фактически используются.
Ян Йоханнсен
12

Распространение опроса - это еще один алгоритм, который с успехом использовался для некоторых видов проблем SAT, особенно случайных экземпляров SAT. Как и WalkSAT, его нельзя использовать для доказательства неудовлетворенности, но он основан на совершенно разных идеях (алгоритмах передачи сообщений) из WalkSAT.

Тимоти Чоу
источник
10

Есть SAT решатели на основе локального поиска. Смотрите, например, эту статью для экспозиции.

ilyaraz
источник
7

Можно также сказать, что все решатели CSP также являются решателями SAT. И, насколько мне известно, в CSP используются два метода:

  • Исчерпывающая DFS с сокращением пространства поиска и проверкой согласованности дуг, возможно, с использованием процесса бритья, чтобы обеспечить согласованность как можно скорее.
  • Локальные методы (поиск табу, имитация отжига)
malejpavouk
источник
4

Поиск по дереву Монте-Карло (MCTS) недавно достиг некоторых впечатляющих результатов в таких играх, как Go. Грубая основная идея - чередование случайного моделирования с поиском по дереву. Он легок и прост в реализации, на странице исследовательского центра, на которую я ссылаюсь, содержится много примеров, статей и некоторого кода.

Превити и соавт. [1] провели предварительное расследование MCTS, примененной к SAT. Они называют алгоритм поиска на основе MCTS UCTSAT («верхние доверительные границы применяются к деревьям SAT», если хотите). Они сравнили производительность DPLL и UCTSAT на экземплярах из репозитория SATLIB с целью выяснить, будет ли UCTSAT создавать значительно меньшие деревья поиска, чем DPLL.

Для единообразных случайных раскрасок 3-SAT и плоского графа разных размеров существенных различий не было. Тем не менее, UCTSAT работает лучше для реальных случаев. Средние размеры дерева (с точки зрения количества узлов) для четырех разных экземпляров анализа сбоев цепи SSA составляли несколько тысяч для DPLL, но всегда меньше 200 для UCTSAT.


[1] Превити, Алессандро, Рагурам Рамануджан, Марко Шаерф и Барт Сельман. «UCT ищет в стиле Монте-Карло логическую удовлетворенность». В AI * IA 2011: Искусственный интеллект вокруг человека и за его пределами, стр. 177-188. Springer Berlin Heidelberg, 2011.

Юхо
источник
-4

DPLL строго не определяет порядок переменных посещений, и существует множество интересных исследований, посвященных оптимальным стратегиям атак с переменным порядком. часть этого включена в логику выбора переменных в алгоритмах SAT. в некотором смысле некоторые из этих исследований являются предварительными в том смысле, что они показывают, что различные переменные порядки атаки приводят к различной последовательной ограниченности (которая тесно связана с жесткостью экземпляра), и, по-видимому, разрабатывается наиболее эффективная эвристика или стратегии для использования этого, по-видимому, ключевого понимания. на ранних этапах исследований.

ВЗН
источник
4
Вы понимаете, что я просил алгоритмы, не основанные на DPLL ?
Аноним
2
Ты понимаешь, что значит «на основе» ? Сказал вам : не используйте мои вопросы, чтобы комментировать то, что вы хотите комментировать!
Аноним
7
Вы сами говорите, что они основаны на DPLL. мне кажется, это все равно, что сказать, что различные правила сводки для симплекса дают вам алгоритм, который не является симплексным алгоритмом
Сашо Николов
7
Я согласен с Сашо. Кроме того, исследование эвристики с переменным порядком определенно не находится на ранних стадиях. Важность была осознана давным-давно (представьте себе последствия идеального оракула), и на их анализ было потрачено много времени. Эвристика упорядочения значений становится все более интересной в решателях CSP, и по некоторым причинам, я не думаю, что их исследования были столь же бурными, как и для переменного упорядочения.
Юхо
4
Точнее говоря, первоначальное исследование эвристики с переменным порядком восходит к 70-м годам. Если вы заинтересованы, я могу выкопать соответствующие ссылки для вас.
Юхо