Перевірка формул з двома кванторами (


15

Розв'язувачі SAT дають потужний спосіб перевірити обґрунтованість булевої формули за допомогою одного кількісного показника.

Наприклад, для перевірки дійсностіx.φ(x) , ми можемо використовувати розв'язувач SAT, щоб визначити, чи задовольняє . Для перевірки достовірності x . φ ( x ) , ми можемо використовувати розв’язувач SAT, щоб визначити, чи задовольняє ¬ φ ( x ) . (Тут x = ( x 1 , ... , x n ) - n -вектор булевих змінних, а φ - булева формула.)φ(x)x.φ(x)¬φ(x)x=(x1,,xn)nφ

Розв'язувачі QBF призначені для перевірки обґрунтованості булевої формули з довільною кількістю кванторів.

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

Далі спеціалізуюсь: У моєму конкретному випадку я маю формулу форми , обгрунтованість якого я хочу перевірити, де f , g - функції, що виробляють k- бітний вихід. Чи існують якісь алгоритми перевірки обґрунтованості цієї конкретної формули, більш ефективні, ніж загальні алгоритми для QBF?x.y.f(x)=g(y)f,gk

PS Я не запитую про найгіршу твердість в теорії складності. Я запитую про практично корисні алгоритми (так само, як сучасні розв'язувачі SAT практично корисні для багатьох проблем, навіть якщо SAT не відповідає повному рівню).


4
не є по суті еквівалентнимx y ψ ( x , y ) . xy ψ(x,y)xy ψ(x,y)
Гек Беннетт

2
Я думаю, що ОФ означає це неофіційно, оскільки вони обидва важкі для вирішення SAT, і що рішення будь-якого було б цікавим
Суреш Венкат

1
@HuckBennett, я думаю, що у них однакова твердість. (Доказ: справедливо тоді і тільки тоді ¬ х . у . ¬ ψ ( х , у ) є Тому, якщо у нас є спосіб перевірити обгрунтованість формул виду. x . y . ψ ( x , y ) , ми також можемо перевірити правильність формул x . yx.y.ψ(x,y)¬x.y.¬ψ(x,y)x.y.ψ(x,y) , дозволяючи ψ ( x , y ) = ¬ ψ ( x , y ) і перевіряючи дійсністьx . у . ψ ( x , y ) .) Але в будь-якому випадку мене цікавлять алгоритми для будь-якого випадку. x.y.ψ(x,y)ψ(x,y)=¬ψ(x,y)x.y.ψ(x,y)
DW

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

4
@chazisop: Я думаю , що ОП прошу -SAT алгоритмів / решателей, а не загальні QBF решателей. Однак існує багато вирішувачів QBF. Дивіться вкладку "solvers" на qbflib.orgΠ2/Σ2
Гек Беннетт

Відповіді:


22

Якщо я, можливо, досить відверто себе рекламую, ми написали статтю про цей минулорічний алгоритм на основі абстракції для 2QBF . У мене є реалізація для qdimacs, яку я можу надати, якщо хочете, але, з мого досвіду, можна отримати велику користь від спеціалізації алгоритму для певної проблеми. Існує також старіша стаття Порівняльне дослідження алгоритмів 2QBF , де також представлені досить легко реалізовані алгоритми.


Дивовижно! Дякую, Міколасе, це якраз та річ, на яку я сподівався.
DW

2
Привіт @DW рада, що можу допомогти. Сподіваємось, ви знайдете щось із цього корисного. QBF - це зовсім інший звір, що до SAT треба бути трохи обережним, бо все може підірватися дуже легко :-). Не соромтеся написати мені електронний лист, якщо у вас є детальніші запитання щодо нашої роботи.
Міколас

7

Я прочитав два документи, пов’язані з цим, один, що стосується 2QBF. Документи такі:

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

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

Другий - поступове вирішення QBF , Флоріан Лонсинг та Уве Еґлі.

Реалізовано в інструменті під назвою DepQBF . Це не обмежує кількість чергування кількісних показників. Це починається з припущення, що у нас є тісно пов'язані формули qbf. Він заснований на поступовому вирішенні та не кидає зауваження, отримані під час останнього рішення. Він додає пункти та кубики до поточної формули і зупиняється, якщо пункти або кубики порожні, що представляють невстановлені або збережені.

Редагувати : Просто з точки зору, наскільки добре ці підходи працюють для орієнтирів 2QBF. Погляньте на результати QBFEVal-2018 щодо результатів щорічного змагання QBF QBFEVAL . У 2019 році не було доріжки 2QBF.

У 2QBF Track QBFEVAL-2018 DepQBF став переможцем , CADET був другим у гонці.

Тож ці два підходи насправді дуже добре працюють на практиці (принаймні, на показниках QBFEVAL).


4

xyϕDaD¬ϕ[a/x]bBaϕ[b/y]ϕ


2
ϕϕ

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