Jak wykazać, że pewna właściwość nie może być wyrażona w 2-CNF (2-SAT)? Czy są jakieś gry, takie jak gry z kamieniami? Wygląda na to, że klasyczna gra w czarne kamyki i gra w czarno-białe kamyki są do tego nieodpowiednie (są one kompletne w PSPACE, według Hertela i Pitassi, SIAM J z Computing, 2010).
Lub jakieś techniki inne niż gry?
Edycja : Myślałem o właściwościach, które obejmują zliczanie (lub liczność) nieznanego predykatu ( predykat SO , jak powiedzieliby teoretycy modeli skończonych). Na przykład, jak w przypadku Kliki lub nieważonego dopasowywania. (a) Klika : Czy na danym wykresie występuje klika taka, że podany jest numer ? (b) Dopasowanie : Czy istnieje pasujące w takie jak ?G | C | ≥ K M G | M | ≥ K
Czy 2-SAT może się liczyć? Czy ma mechanizm zliczania? Wydaje się wątpliwe.
źródło
Odpowiedzi:
Rodzina bitwektorów to klasa rozwiązań problemu 2-SAT wtedy i tylko wtedy, gdy ma właściwość mediany: jeśli zastosujesz funkcję większości bitowej do trzech dowolnych rozwiązań, otrzymasz inne rozwiązanie. Patrz np. Https://en.wikipedia.org/wiki/Median_graph#2-satisfiable i jego odniesienia. Jeśli więc znajdziesz trzy rozwiązania, dla których nie jest to prawdą, to wiesz, że nie można tego wyrazić w 2-CNF.
źródło
Niech będzie właściwością n zmiennych. Załóżmy, że istnieje wzór 2CNF φ ( x 1 , … , x n , y 1 , … , y m ) taki, że P ( x 1 , … , x n ) ⇔ ∃ y 1 ⋯ ∃ y m φ ( x 1P.( x1, … , Xn) n φ ( x1, … , Xn, y1, … , Ym)
Twierdzimy, że φ jest równoważne formule 2CNF ψ obejmującej tylko x 1 , … , x n . Aby to udowodnić, wystarczy pokazać, jak wyeliminować y m . Napisz
φ = χ ∧ s ⋀ k = 1 ( y m ∨ U k ) ∧ t ⋀ ℓ =
źródło
(Tak, znam te funkcje obliczeniowe dodawania, mnożenia i liczenia, ale łatwo przekonwertować je na wersje decyzyjne ich problemów).
(c) Tak więc do zliczania , nawet jeśli możesz nie być w stanie uzyskać równoważnego wyrażenia w 2-CNF, stosując metodę opisaną w (b), możesz uzyskać równoważne wyrażenie 2-CNF.
Więc tak, 2-SAT może liczyć.
źródło