Проверка формул с двумя квантификаторами ( ) - 2QBF


15

SAT решатели дают мощный способ проверить правильность логической формулы с одним квантификатором.

Например, чтобы проверить правильность , мы можем использовать SAT-решатель, чтобы определить, выполнимо ли . Чтобы проверить правильность , мы можем использовать SAT-решатель, чтобы определить, выполнимо ли . (Здесь - -вектор булевых переменных, а - булева формула.)φ ( x ) x . φ ( x ) ¬ φ ( x ) x = ( x 1 , , x n ) n φx.φ(x)φ(x)x.φ(x)¬φ(x)x=(x1,,xn)nφ

Решатели QBF предназначены для проверки правильности логической формулы с произвольным числом квантификаторов.

Что если у нас есть формула с двумя квантификаторами? Являются ли они эффективными алгоритмами проверки достоверности: лучше, чем обычные алгоритмы для QBF? Чтобы быть более конкретным, у меня есть формула вида (или ), и хотите проверить его правильность. Есть ли хорошие алгоритмы для этого? Редактировать 4/8: я узнал, что этот класс формул иногда называют 2QBF, поэтому я ищу хорошие алгоритмы для 2QBF.х . у . ψ ( х , у )x.y.ψ(x,y)x.y.ψ(x,y)

Специализируясь далее: в моем конкретном случае у меня есть формула вида , правильность которого я хочу проверить, где - функции, которые производят битный вывод. Существуют ли алгоритмы проверки правильности этой конкретной формулы, более эффективные, чем универсальные алгоритмы для QBF?f , g kx.y.f(x)=g(y)f,gk

PS Я не спрашиваю о жесткости в худшем случае, в теории сложности. Я спрашиваю о практически полезных алгоритмах (так же, как современные решатели SAT практически полезны для многих задач, даже если SAT является NP-полной).


4
x y ψ ( x , y )xy ψ(x,y) существу не эквивалентно . xy ψ(x,y)
Гек Беннетт

2
Я думаю, что OP подразумевает это неформально, потому что они оба трудны для решателей SAT и что решение любого из них было бы интересно
Suresh Venkat

1
@HuckBennett, я думаю, что оба имеют одинаковую твердость. (Доказательство: допустимо тогда и только тогда, когда есть. Поэтому, если у нас есть способ проверить правильность формул вида , мы также можем проверить правильность формул , указав и проверяем правильность .) Но в любом случае меня бы заинтересовали алгоритмы в любом случае , x.y.ψ(x,y)¬x.y.¬ψ(x,y)x.y.ψ(x,y)x.y.ψ(x,y)ψ(x,y)=¬ψ(x,y)x.y.ψ(x,y)
DW

6
@DW, не обязательно, например, SAT и TAUT, как полагают, не имеют одинаковую сложность.
Каве

4
@chazisop: Я думаю, что OP просит алгоритмы / решатели -SAT, а не общие решатели QBF. Однако существует множество решателей QBF. Смотрите вкладку «решатели» на qbflib.orgΠ2/Σ2
Гек Беннетт

Ответы:


22

Если я могу, довольно откровенно, рекламировать себя, мы написали статью об этом прошлом алгоритме на основе абстракций для 2QBF . У меня есть реализация для qdimacs, которую я могу предоставить, если хотите, но из моего опыта можно извлечь большую пользу из специализации алгоритма для конкретной проблемы. Существует также более старая статья «Сравнительное исследование алгоритмов 2QBF» , в которой также представлены довольно легко реализуемые алгоритмы.


Потрясающие! Спасибо, Миколас, это именно то, на что я надеялся.
DW

2
Привет @DW рад, что мог помочь. Надеюсь, вы найдете это полезным. QBF - это совсем другой зверь, чем SAT, поэтому нужно быть немного осторожнее, потому что все может взорваться очень легко :-). Не стесняйтесь написать мне по электронной почте, если у вас есть более подробные вопросы о нашей работе.
Миколас

7

Я прочитал две статьи, связанные с этим, одна специально связана с 2QBF. Документы следующие:

Инкрементная детерминация , Маркус Н. Рабе и Санджит Сешиа, Теория и приложения тестирования удовлетворенности (SAT 2016).

Они реализовали свой алгоритм в инструменте CADET . Основная идея заключается в постепенном добавлении новых ограничений в формулу до тех пор, пока ограничения не описывают уникальную функцию Сколема или пока ее отсутствие не будет подтверждено.

Второй - это пошаговое решение QBF , Флориан Лонсинг и Уве Эгли.

Реализовано в инструменте с именем DepQBF . Он не накладывает никаких ограничений на количество чередования кванторов. Он начинается с предположения, что мы имеем тесно связанные формулы qbf. Он основан на пошаговом решении и не выбрасывает пункты, изученные во время последнего решения. Он добавляет предложения и кубы в текущую формулу и останавливается, если предложения или кубы пусты, представляя unsat или sat.

Изменить : просто для того, чтобы посмотреть, насколько хорошо эти подходы работают для 2QBF-тестов. Пожалуйста, посмотрите на результаты QBFEVal-2018 для результатов ежегодного конкурса QBF QBFEVAL . В 2019 году не было трека 2QBF.

В 2QBF Трек QBFEVAL-2018 DepQBF был победителем , КУРСАНТ был вторым в гонке.

Таким образом, эти два подхода на самом деле очень хорошо работают на практике (по крайней мере, в тестах QBFEVAL).


4

Чтобы показать удовлетворенность , мы можем сыграть в игру с двумя игроками A и B, каждый из которых имеет доступ к решателю SAT. Если мы работаем в области D , то на каждой итерации (включая первую) A выбирает элемент, который удовлетворяет установленному на нем ограничению (начинается с нуля), a D , в качестве нашего кандидата для выполнения формулы. Затем, B пытается удовлетворить ¬ ф [ а / х ] с некоторым б B . Если B не может сделать это, это означает , что работа и мы сделали, в противном случае мы возвращаемся к A , и мы добавим его ограничение множество фxyϕDaD¬ϕ[a/x]bBa , который гарантирует, что такого рода ошибки больше не будут повторяться. У меня есть ощущение, что можно подумать о форме ϕ и сделать такую ​​процедуру более стратегическим способом, полагаясь на некоторые достаточные подмножества, чтобы исключить любого данного кандидата, или некоторые известные симметрии, чтобы на ранних этапах исключить части этого поиска. Возможно, можно даже добавить свои собственные ограничения к начальному набору ограничений A.ϕ[b/y]ϕ


2
Это алгоритм, описанный в статье, которую цитирует Миколас ; см. алгоритм 1 этой статьи. Если в качестве отрицания формулы CNF указано , то они показывают некоторые способы дальнейшего улучшения алгоритма, принимая во внимание форму ϕ (как можно предположить из вашего ответа); см. раздел 5 этого документа. Хорошее объяснение элегантного и мощного подхода! ϕϕ
DW

Это довольно хорошо, есть аналогия с противоборствующим машинным обучением, если вы щурились, и это действительно работает для любой дополненной решетки, где у вас есть своего рода решатель
Сэмюэль Шлезингер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.