Измерение сложности экземпляров SAT

28

Учитывая пример SAT, я хотел бы иметь возможность оценить, насколько сложно будет решить этот случай.

Одним из способов является запуск существующих решателей, но такой вид поражает цель оценки сложности. Вторым способом может быть поиск соотношения предложений и переменных, как это делается для фазовых переходов в random-SAT, но я уверен, что существуют лучшие методы.

Учитывая случай SAT, есть ли быстрая эвристика для измерения сложности? Единственным условием является то, что эта эвристика будет быстрее, чем фактическая работа существующих решателей SAT в экземпляре.


Связанный вопрос

Какие проблемы SAT легко? на cstheory.SE. Этот вопрос задает вопросы об управляемых наборах экземпляров. Это похожий вопрос, но не совсем тот же. Я действительно заинтересован в эвристике, которая, учитывая один экземпляр, делает своего рода полуинтеллектуальное предположение о том, будет ли этот экземпляр трудным для решения.

Артем Казнатчеев
источник
Можете ли вы уточнить, почему фазовый переход по отношению к «плотности» не то, что вам нужно?
Рафаэль
@ Рафаэль, это довольно хороший метод, и я упоминаю об этом в своем вопросе. Но у меня сложилось впечатление, что существует еще лучшая эвристика. Фазовый переход один беспокоит меня, потому что кажется, что его так легко обмануть (просто добавьте легко выполнимые предложения или пример к тому, который вы пытаетесь замаскировать)
Артем Казнатчеев
Извините, пропустил ту часть вашего вопроса. Правильно, как отмечают комментаторы, фазовый переход кажется чувствительным к неслучайным формулам.
Рафаэль
2
Вы можете представить формулу SAT (в CNF) в виде двудольного графа с вершинами для каждой формулы и предложения и ребрами, представляющими вхождения. Если этот граф легко разбить, то задачу можно разложить на разбитые подграфы. Может быть, это может послужить полезной мерой? Понятия не имею (вот почему это комментарий, а не ответ).
Алекс тен Бринк
Вы можете найти это полезным: ece.uwaterloo.ca/~vganesh/QPaper/paper.pdf
пользователь

Ответы:

22

В общем, это очень актуальный и интересный вопрос исследования. «Один из способов - запустить существующие решатели ...», и что бы это нам точно подсказало? Эмпирически можно увидеть, что экземпляр кажется трудным для конкретного решателя или конкретного алгоритма / эвристики, но что он действительно говорит о твердости экземпляра?

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

Другой подход был сосредоточен на роли скрытой структуры экземпляров. Одним из примеров является набор бэкдоров , то есть набор переменных, такой, что при их создании оставшаяся проблема упрощается до доступного для изучения класса. Например, Williams et al., 2003 [1] показывают, что даже если принять во внимание стоимость поиска обратных переменных, можно все же получить общее вычислительное преимущество, сфокусировавшись на заднем наборе, при условии, что набор достаточно мал. Кроме того, Dilkina et al., 2007 [2] отмечают, что решатель под названием Satz-Rand замечательно хорош в поиске небольших сильных бэкдоров в ряде экспериментальных областей.

Совсем недавно Ansotegui et al., 2008 [3] предложили использовать древовидную пространственную сложность в качестве меры для решателей на основе DPLL. Они доказывают, что также постоянное ограниченное пространство подразумевает существование алгоритма принятия решения о полиномиальном времени, причем пространство является степенью полинома (теорема 6 в статье). Более того, они показывают, что пространство меньше, чем размер циклических наборов. На самом деле, при определенных предположениях, пространство также меньше, чем размер бэкдоров.

Они также формализуют то, что я думаю, что вы после, то есть:

Найдите меру и алгоритм, который задает формулу решает выполнимость за время . Чем меньше мера, тем лучше она характеризует твердость формулы .ψΓО(Nψ(Γ))


[1] Уильямс, Райан, Карла П. Гомес и Барт Сельман. «Бэкдор к типичной сложности дела». Международная совместная конференция по искусственному интеллекту. Том 18, 2003.

[2] Дилкина, Бистра, Карла Гомес и Ашиш Сабхарвал. «Компромиссы в сложности обнаружения бэкдора». Принципы и практика программирования ограничений (CP 2007), с. 256-270, 2007.

[3] Ансотеги, Карлос, Мария Луиза Бонет, Джорди Леви и Фелип Маня. «Измерение твердости SAT экземпляров». В материалах 23-й Национальной конференции по искусственному интеллекту (AAAI'08), с. 222-228, 2008.

Юхо
источник
Мне нравится формализация, которую вы цитируете. Также было бы неплохо улучшить его, чтобы явно указать, что эффективно вычислимо. Спасибо за ответ! Знаете ли вы какие-нибудь менее формальные меры, которые люди могут использовать «на практике»? ψ(Γ)
Артем Казнатчеев
@ArtemKaznatcheev Я думаю, что черный ход, вероятно, единственный, который действительно используется. Когда мы запускаем решатель, нас не волнует сложность формулы; экземпляр должен быть решен, тем не менее. Измерение должно дать нам вычислительное преимущество, или, может быть, мы можем использовать его для выбора подходящей эвристики. Кроме этого, я думаю, что показатели твердости все еще довольно экспериментальны.
Юхо
1

Поскольку вы знаете о фазовом переходе, позвольте мне упомянуть несколько других простых проверок, которые мне известны (которые, вероятно, включены в анализ графа ограничений):

  • Некоторые ранние случайные генераторы SAT непреднамеренно создавали в основном простые формулы, потому что они использовали «постоянную плотность», что означает примерно равную пропорцию всех длин предложений. В основном это было легко, потому что 2-предложения и модули значительно упрощают проблему, как и следовало ожидать, и действительно длинные предложения либо не добавляют большого количества ветвлений, либо даже улучшают гиперразрешение. Поэтому лучше придерживаться предложений фиксированной длины и изменять другие параметры.
  • Точно так же, мощным правилом упрощения является Исключение буквальных букв. Очевидно, что формула действительно так же сложна, как и число нечистых литералов. Поскольку Resolution создает новые пункты нумерации(имеется в виду произведение вхождений и его отрицания), число резольвенты максимизируется, когда для каждой переменной имеется равное количество положительных и отрицательных литералов. Следовательно, сбалансированные генераторы SAT.|Икс|*|¬Икс|Икс
  • Существует также методика под названием «No Triangle SAT», которая выглядит довольно свежо [1], которая является своего рода генератором жесткого экземпляра, который запрещает «треугольники». Треугольник - это набор предложений, содержащий 3 переменные которые встречаются попарно во всех комбинациях в некотором наборе предложений (т. ). По-видимому, треугольники, как правило, упрощают формулу для известных решателей.v1,v2,v3{v1,v2,,,,},{v2,v3,,,,},{v1,v3,,,,}

[1] https://arxiv.org/pdf/1903.03592.pdf

Газонокосилка человек
источник
0

Помимо превосходного ответа Юхо, вот еще один подход:

Ercsey-Ravasz & Toroczkai, Твердость оптимизации как переходный хаос в аналоговом подходе к удовлетворению ограничений , Nature Physics том 7, страницы 966–970 (2011).

Этот подход состоит в том, чтобы переписать проблему SAT в динамическую систему, где любой аттрактор системы является решением проблемы SAT. Бассейны притяжения системы становятся более фрактальными, так как проблема усложняется, и поэтому «сложность» экземпляра SAT можно измерить, изучив, насколько хаотичны переходные процессы до того, как система сходится.

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

Нетрудно придумать динамическую систему, для которой «решения» являются решениями данной проблемы SAT, но немного сложнее убедиться, что все решения являются аттракторами, а не отталкивателями. Их решение состоит в том, чтобы ввести переменные энергии (сродни множителям Лагранжа), чтобы представить, насколько сильно нарушается ограничение, и попытаться заставить систему минимизировать энергию системы.

Интересно, что используя их динамическую систему, вы можете решать задачи SAT за полиномиальное время на аналоговом компьютере, что само по себе является замечательным результатом. Есть подвох; для представления энергетических переменных может потребоваться экспоненциально большое напряжение, поэтому, к сожалению, вы не сможете реализовать это на физическом оборудовании.

Псевдоним
источник
1
«Используя их динамическую систему, вы можете решать задачи SAT за полиномиальное время на аналоговом компьютере, что само по себе является замечательным результатом». Я бы не согласился, что это замечательно. Как вы заметили: это требует экспоненциальной точности. На самом деле это стандартный трюк, который напрямую связан с определением NP. Если бы вы могли измерить экспоненциально точные значения, вы могли бы просто попытаться оценить число принимающих путей (или рассматривать как систему случайного блуждания) и посмотреть, равно ли оно нулю или мало (конечно, это потребует экспоненциально точного измерения, как с динамической системой).
Артем Казнатчеев
Спасибо за это. Я не знаю много теоретических результатов об аналоговых вычислениях.
псевдоним