SAT решатели дают мощный способ проверить правильность логической формулы с одним квантификатором.
Например, чтобы проверить правильность , мы можем использовать SAT-решатель, чтобы определить, выполнимо ли . Чтобы проверить правильность , мы можем использовать SAT-решатель, чтобы определить, выполнимо ли . (Здесь - -вектор булевых переменных, а - булева формула.)φ ( x ) ∀ x . φ ( x ) ¬ φ ( x ) x = ( x 1 , … , x n ) n φ
Решатели QBF предназначены для проверки правильности логической формулы с произвольным числом квантификаторов.
Что если у нас есть формула с двумя квантификаторами? Являются ли они эффективными алгоритмами проверки достоверности: лучше, чем обычные алгоритмы для QBF? Чтобы быть более конкретным, у меня есть формула вида (или ), и хотите проверить его правильность. Есть ли хорошие алгоритмы для этого? Редактировать 4/8: я узнал, что этот класс формул иногда называют 2QBF, поэтому я ищу хорошие алгоритмы для 2QBF.∃ х . ∀ у . ψ ( х , у )
Специализируясь далее: в моем конкретном случае у меня есть формула вида , правильность которого я хочу проверить, где - функции, которые производят битный вывод. Существуют ли алгоритмы проверки правильности этой конкретной формулы, более эффективные, чем универсальные алгоритмы для QBF?f , g k
PS Я не спрашиваю о жесткости в худшем случае, в теории сложности. Я спрашиваю о практически полезных алгоритмах (так же, как современные решатели SAT практически полезны для многих задач, даже если SAT является NP-полной).