Sprawdzenie wzorów dwa kwantyfikatorów (


15

Solwery SAT dają potężny sposób na sprawdzenie poprawności formuły logicznej za pomocą jednego kwantyfikatora.

Na przykład, aby sprawdzić poprawność , możemy użyć solwera SAT, aby ustalić, czy φ ( x ) jest zadowalające. Aby sprawdzić ważność ∀ x . φ ( x ) , możemy użyć solwera SAT do ustalenia, czy ¬ φ ( x ) jest zadowalające. (Tutaj x = ( x 1 , … , x n ) jest n -ektorem zmiennych boolowskich i φ∃x.φ(x)φ(x)∀x.φ(x)¬φ(x)x=(x1,…,xn)nφ to formuła boolowska).

Solwery QBF są zaprojektowane do sprawdzania poprawności formuły boolowskiej z dowolną liczbą kwantyfikatorów.

Co jeśli mamy wzór z dwoma kwantyfikatorami? Czy są jakieś wydajne algorytmy do sprawdzania poprawności: takie, które są lepsze niż zwykłe algorytmy dla QBF? Mówiąc dokładniej, mam wzór w postaci (lub ∃ x . ∀ y . ψ ( x , y ) ) i chcesz sprawdzić jego ważność. Czy są na to jakieś dobre algorytmy? Edytuj 4/8: Nauczyłem się, że ta klasa formuł jest czasami znana jako 2QBF, dlatego szukam dobrych algorytmów dla 2QBF.∀x.∃y.ψ(x,y)∃x.∀y.ψ(x,y)

Specjalizuję się dalej: w moim konkretnym przypadku mam wzór w postaci którego ważność chcę sprawdzić, gdzie f , g są funkcjami, które wytwarzają wyjście k- bitowe. Czy istnieją jakieś algorytmy do sprawdzania poprawności tego rodzaju formuły, bardziej wydajnie niż ogólne algorytmy dla QBF?∀x.∃y.f(x)=g(y)f,gk

PS Nie pytam o najgorszą twardość w teorii złożoności. Pytam o praktycznie przydatne algorytmy (podobnie jak współczesne solwery SAT są praktycznie przydatne w wielu problemach, mimo że SAT jest NP-kompletny).


4
nie jest zasadniczo równoważne ∃ x ∀ y ψ ( x , y ) . ∀x∃y ψ(x,y)∃x∀y ψ(x,y)
— Huck Bennett

2
Myślę, że OP oznacza to nieformalnie, ponieważ oba są trudne dla solverów SAT i że rozwiązanie któregokolwiek z nich byłoby interesujące
— Suresh Venkat

1
@HuckBennett, myślę, że oba mają równoważną twardość. (Dowód: jest poprawny iff ¬ ∀ x . ∃ y . ¬ ψ ( x , y ) jest. Dlatego jeśli mamy sposób na sprawdzenie poprawności formuł formularza ∀ x . ∃ y . ψ ( x , y ) , możemy również przetestować poprawność formuł ∃ x . ∀ y∃x.∀y.ψ(x,y)¬∀x.∃y.¬ψ(x,y)∀x.∃y.ψ(x,y) , pozwalając ψ ′ ( x , y ) = ¬ ψ ( x , y ) i testując poprawność ∀ x . ∃ y . ψ ′ ( x , y ) .) Ale tak czy inaczej, byłbym zainteresowany algorytmami dla obu przypadków. ∃x.∀y.ψ(x,y)ψ′(x,y)=¬ψ(x,y)∀x.∃y.ψ′(x,y)
— DW

6
@DW niekoniecznie, np. SAT i TAUT, nie mają podobnej złożoności.
— Kaveh

4
@chazisop: Myślę, że OP prosi o algorytmy / solwery -SAT, a nie ogólne solvery QBF. Istnieje jednak wiele solverów QBF. Zobacz zakładkę „solvers” na qbflib.orgΠ2/Σ2
— Huck Bennett

Odpowiedzi:


22

Jeśli mogę, bezczelnie, zareklamować się, napisaliśmy artykuł o tym w zeszłym roku Algorytm oparty na abstrakcji dla 2QBF . Mam implementację qdimacs, którą mogę dostarczyć, jeśli chcesz, ale z mojego doświadczenia wynika, że ​​specjalizacja algorytmu dla konkretnego problemu może być bardzo korzystna. Istnieje również starszy artykuł Analiza porównawcza algorytmów 2QBF , który przedstawia również dość łatwe do wyobrażenia algorytmy.


Niesamowite! Dzięki, Mikolas, właśnie tego się spodziewałem.
— DW 9'12

2
Cześć @DW Cieszę się, że mogłem pomóc. Mam nadzieję, że okaże się to przydatne. QBF to zupełnie inna bestia niż SAT, więc trzeba być ostrożnym, ponieważ rzeczy mogą wybuchnąć bardzo łatwo :-). Napisz do mnie e-mail, jeśli masz więcej szczegółowych pytań na temat naszej pracy.
— Mikolas

7

Przeczytałem dwa związane z tym artykuły, jeden związany konkretnie z 2QBF. Dokumenty są następujące:

Oznaczanie przyrostowe , Markus N. Rabe i Sanjit Seshia, Teoria i zastosowania testów satysfakcji (SAT 2016).

Zaimplementowali swój algorytm w narzędziu o nazwie CADET . Podstawową ideą jest stopniowe dodawanie nowych wiązań do formuły, dopóki wiązania nie opisują unikalnej funkcji Skolem lub do momentu potwierdzenia braku.

Drugim jest Incremental QBF Solving , Florian Lonsing i Uwe Egly.

Zaimplementowane w narzędziu o nazwie DepQBF . Nie nakłada żadnych ograniczeń na liczbę naprzemienności kwantyfikatora. Zaczyna się od założenia, że ​​mamy ściśle powiązane formuły qbf. Opiera się na rozwiązywaniu przyrostowym i nie wyrzuca klauzul wyuczonych podczas ostatniego rozwiązywania. Dodaje klauzule i kostki do bieżącej formuły i zatrzymuje się, jeśli klauzule lub kostki są puste, reprezentując polecenia nienasycone lub sat.

Edycja : Dla pewnej perspektywy, jak dobrze te podejścia działają w testach porównawczych 2QBF. Proszę spojrzeć na Wyniki QBFEVal-2018 dla wyników corocznych zawodów QBF QBFEVAL . W 2019 roku nie było utworu 2QBF.

W 2QBF Tor QBFEVAL-2018 DepQBF był zwycięzcą , CADET był drugi w wyścigu.

Te dwa podejścia faktycznie działają bardzo dobrze w praktyce (przynajmniej w testach porównawczych QBFEVAL).


4

∃x∀yϕDa∈D¬ϕ[a/x]b∈Baϕ[b/y]ϕ


2
ϕϕ

Jest to całkiem miłe, istnieje analogia do przeciwnego uczenia maszynowego, jeśli mrużysz oczy i rzeczywiście działa ona dla każdej uzupełnionej sieci, w której masz swego rodzaju solver
— Samuel Schlesinger
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.