Учитывая пример SAT, я хотел бы иметь возможность оценить, насколько сложно будет решить этот случай.
Одним из способов является запуск существующих решателей, но такой вид поражает цель оценки сложности. Вторым способом может быть поиск соотношения предложений и переменных, как это делается для фазовых переходов в random-SAT, но я уверен, что существуют лучшие методы.
Учитывая случай SAT, есть ли быстрая эвристика для измерения сложности? Единственным условием является то, что эта эвристика будет быстрее, чем фактическая работа существующих решателей SAT в экземпляре.
Связанный вопрос
Какие проблемы SAT легко? на cstheory.SE. Этот вопрос задает вопросы об управляемых наборах экземпляров. Это похожий вопрос, но не совсем тот же. Я действительно заинтересован в эвристике, которая, учитывая один экземпляр, делает своего рода полуинтеллектуальное предположение о том, будет ли этот экземпляр трудным для решения.
источник
Ответы:
В общем, это очень актуальный и интересный вопрос исследования. «Один из способов - запустить существующие решатели ...», и что бы это нам точно подсказало? Эмпирически можно увидеть, что экземпляр кажется трудным для конкретного решателя или конкретного алгоритма / эвристики, но что он действительно говорит о твердости экземпляра?
Один из способов, который был достигнут, - это идентификация различных структурных свойств экземпляров, которые приводят к эффективным алгоритмам. Эти свойства действительно предпочтительнее, чтобы их можно было легко идентифицировать. Примером является топология базового графа ограничений, измеренная с использованием различных параметров ширины графа. Например, известно, что экземпляр может быть разрешен за полиномиальное время, если ширина дерева основного графа ограничений ограничена константой.
Другой подход был сосредоточен на роли скрытой структуры экземпляров. Одним из примеров является набор бэкдоров , то есть набор переменных, такой, что при их создании оставшаяся проблема упрощается до доступного для изучения класса. Например, Williams et al., 2003 [1] показывают, что даже если принять во внимание стоимость поиска обратных переменных, можно все же получить общее вычислительное преимущество, сфокусировавшись на заднем наборе, при условии, что набор достаточно мал. Кроме того, Dilkina et al., 2007 [2] отмечают, что решатель под названием Satz-Rand замечательно хорош в поиске небольших сильных бэкдоров в ряде экспериментальных областей.
Совсем недавно Ansotegui et al., 2008 [3] предложили использовать древовидную пространственную сложность в качестве меры для решателей на основе DPLL. Они доказывают, что также постоянное ограниченное пространство подразумевает существование алгоритма принятия решения о полиномиальном времени, причем пространство является степенью полинома (теорема 6 в статье). Более того, они показывают, что пространство меньше, чем размер циклических наборов. На самом деле, при определенных предположениях, пространство также меньше, чем размер бэкдоров.
Они также формализуют то, что я думаю, что вы после, то есть:
[1] Уильямс, Райан, Карла П. Гомес и Барт Сельман. «Бэкдор к типичной сложности дела». Международная совместная конференция по искусственному интеллекту. Том 18, 2003.
[2] Дилкина, Бистра, Карла Гомес и Ашиш Сабхарвал. «Компромиссы в сложности обнаружения бэкдора». Принципы и практика программирования ограничений (CP 2007), с. 256-270, 2007.
[3] Ансотеги, Карлос, Мария Луиза Бонет, Джорди Леви и Фелип Маня. «Измерение твердости SAT экземпляров». В материалах 23-й Национальной конференции по искусственному интеллекту (AAAI'08), с. 222-228, 2008.
источник
Поскольку вы знаете о фазовом переходе, позвольте мне упомянуть несколько других простых проверок, которые мне известны (которые, вероятно, включены в анализ графа ограничений):
[1] https://arxiv.org/pdf/1903.03592.pdf
источник
Помимо превосходного ответа Юхо, вот еще один подход:
Ercsey-Ravasz & Toroczkai, Твердость оптимизации как переходный хаос в аналоговом подходе к удовлетворению ограничений , Nature Physics том 7, страницы 966–970 (2011).
Этот подход состоит в том, чтобы переписать проблему SAT в динамическую систему, где любой аттрактор системы является решением проблемы SAT. Бассейны притяжения системы становятся более фрактальными, так как проблема усложняется, и поэтому «сложность» экземпляра SAT можно измерить, изучив, насколько хаотичны переходные процессы до того, как система сходится.
На практике это означает запуск группы решателей с разных начальных позиций и изучение скорости, с которой решатели избегают хаотических переходных процессов, прежде чем они достигнут аттрактора.
Нетрудно придумать динамическую систему, для которой «решения» являются решениями данной проблемы SAT, но немного сложнее убедиться, что все решения являются аттракторами, а не отталкивателями. Их решение состоит в том, чтобы ввести переменные энергии (сродни множителям Лагранжа), чтобы представить, насколько сильно нарушается ограничение, и попытаться заставить систему минимизировать энергию системы.
Интересно, что используя их динамическую систему, вы можете решать задачи SAT за полиномиальное время на аналоговом компьютере, что само по себе является замечательным результатом. Есть подвох; для представления энергетических переменных может потребоваться экспоненциально большое напряжение, поэтому, к сожалению, вы не сможете реализовать это на физическом оборудовании.
источник