Czy SAT jest językiem bezkontekstowym?

12

Rozważam język wszystkich zadowalających formuł logicznych zdań, SAT (aby upewnić się, że ma to skończony alfabet, będziemy kodować litery zdań w odpowiedni sposób [edytuj: odpowiedzi wskazały, że odpowiedź na pytanie może nie być solidna pod różne kodowania, więc trzeba być bardziej szczegółowym - patrz moje wnioski poniżej] ). Moje proste pytanie brzmi:

Czy SAT jest językiem bezkontekstowym?

Po raz pierwszy zgadłem, że dzisiejsza (na początku 2017 r.) Odpowiedź powinna brzmieć: „Nikt nie wie, ponieważ dotyczy to nierozwiązanych pytań w teorii złożoności”. Nie jest to jednak do końca prawdą (patrz odpowiedź poniżej), choć nie do końca fałszywe. Oto krótkie podsumowanie rzeczy, które wiemy (zaczynając od oczywistych rzeczy).

  1. SAT nie jest regularny (ponieważ nawet składnia logiki zdań nie jest regularna z powodu pasujących nawiasów)
  2. SAT jest kontekstowy (nie jest trudno podać dla niego LBA)
  3. SAT jest NP-kompletny (Cook / Levin), a w szczególności decydują niedeterministyczne TM w czasie wielomianowym.
  4. SAT może być również rozpoznawany przez jednokierunkowe niedeterministyczne automaty stosu (1-NSA) (patrz Rundy WC, Złożoność rozpoznawania w językach pośrednich , Teoria przełączania i automatu, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
  5. Problem słowny dla języków bezkontekstowych ma swoją własną klasę złożoności (patrz https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )CFL
  6. LOGCFL CFL NLLOGCFLCFLLOGCFLAC1 , gdzie to klasa problemów w obszarze logów, które można sprowadzić do (patrz https : //complexityzoo.uwaterloo.ca/Complexity_Zoo: L # logcfl ). Wiadomo, że .LOGCFLCFLNLLOGCFL
  7. Nie wiadomo, czy czy (w rzeczywistości nawet jest otwarty; myślę, że dostałem to od S. Arory, B. Baraka: Złożoność obliczeniowa: nowoczesne podejście ; Cambridge University Press 2009). W związku z tym nie może istnieć żaden problem związany z którym wiadomo, że nie występuje w . Dlatego musi być nieznane, czy SAT znajduje się w .NLNPNC 1PH NP LOGCFL LOGCFLNL=NPNC1PHNPLOGCFLLOGCFL

Jednak ten ostatni punkt wciąż pozostawia możliwość, że wiadomo, że SAT nie znajduje się w . Ogólnie rzecz biorąc, nie mogłem znaleźć wiele na temat związku z hierarchią który mógłby pomóc wyjaśnić epistemiczny status mojego pytania.CFLNCCFLNC

Uwaga (po zapoznaniu się z kilkoma wstępnymi odpowiedziami): Nie oczekuję, że formuła będzie miała normalną spójną postać (nie zmieni to istoty odpowiedzi i zwykle nadal mają zastosowanie argumenty, ponieważ CNF jest również formułą. twierdzą, że wersja problemu o stałej liczbie zmiennych jest normalna, ponieważ nie trzeba składać nawiasów).

Wniosek: W przeciwieństwie do moich domysłów inspirowanych teorią złożoności, można bezpośrednio pokazać, że SAT nie jest pozbawiony kontekstu. Sytuacja jest zatem następująca:

  1. Wiadomo, że SAT nie jest pozbawiony kontekstu (innymi słowy: SAT nie jest w ), przy założeniu, że stosuje się „bezpośrednie” kodowanie formuł, w których zmienne zdań są identyfikowane przez liczby binarne (i niektóre dalsze symbole są używane dla operatorów i separatorów).CFL
  2. Nie wiadomo, czy SAT znajduje się w , ale „większość ekspertów myśli”, że tak nie jest, ponieważ oznaczałoby to . Oznacza to również, że nie wiadomo, czy inne „rozsądne” kodowania SAT są pozbawione kontekstu (zakładając, że uznalibyśmy przestrzeń logiczną za akceptowalną próbę kodowania w przypadku problemu trudnego dla NP).P = NPLOGCFLP=NP

Zauważ, że te dwa punkty nie oznaczają . Można to pokazać bezpośrednio, pokazując, że w (a więc w ) istnieją języki, które nie są pozbawione kontekstu (np. ).L LOGCFL a n b n c nCFLLOGCFLLLOGCFLanbncn

mak
źródło
Jeśli tak, to P = NP.
Ryan
1
Gdyby SAT były pozbawione kontekstu, wówczas programowanie dynamiczne (algorytm CYK) dałoby wielomianowy algorytm czasowy do testowania członkostwa w SAT, dając P = NP. Nawet P = NP nie oznaczałoby, że SAT nie zawiera kontekstu. Wydaje się, że to kodowanie zmiennych może być ważniejsze, niż można to przypisać. Nie opracowałem szczegółów, ale jeśli dodałeś do zmiennych jednoargumentowe lub binarne „indeksy”, myślę, że miałbyś problemy z rozróżnieniem (x i y) od (x i nie x) dla wystarczająco dużych indeksów.
AdamF
Musisz dokładnie określić reprezentację, zanim zaczniesz wysuwać wnioski P = NP. Na przykład faktoring liczby N jest czasem wielomianowym w N (interesujące pytanie dotyczy liczby bitów potrzebnych do zapisania N binarnie lub o log N).
Aryeh
Byłem świadomy wniosku P = NP i dlatego nie spodziewano się, że odpowiedź brzmi „tak” (przepraszam, że jestem trochę prowokujący w tym, jak to sformułowałem ;-). Nadal zastanawiałem się, czy jest to naprawdę znane, czy tylko coś, w co „większość ekspertów wierzy” (odpowiedzi jasno wskazują teraz, że to pierwsze jest prawdziwe; wybiorę jeden we właściwym czasie).
mak

Odpowiedzi:

7

Tylko alternatywny dowód z wykorzystaniem kombinacji dobrze znanych wyników.

Przypuszczam, że:

  • zmienne są wyrażane wyrażeniem regularnymd=(+|)1(0|1)
  • i że ( zwykły ) język (ponad używany do reprezentowania formuł CNF to: ; pamiętaj tylko, że pobiera wszystkie prawidłowe formuły CNF aż do zmiany nazwy.S = { d + ( d + ) ( ( d + ( d + ) ) ) } SΣ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

Na przykład jest zapisany jako: ( operator ma pierwszeństwo przed ) .s φ = + 1 + 10 - 11 S φ=(x1x2)x3sφ=+1+1011S

Załóżmy, że odpowiednia formuła jest zadowalająca to CF.φ }L={sφSφ}

Jeśli przecinamy go zwykłym językiem: nadal otrzymujemy język CF. Możemy również zastosować homomorfizm: , a językiem pozostaje CF.h ( + ) = ϵ h ( - ) = ϵR={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

Ale język, który otrzymujemy to: , ponieważ jeśli to formuła „source” jest co jest niezadowalające (podobnie jeśli ). Ale jest dobrze znanym językiem innym niż CF Sprzeczność z .a = b + x a-L={1a1b1cab,ac}a=b a = c L +xaxaxba=cL

Marzio De Biasi
źródło
Przyjąłem tę odpowiedź teraz, ponieważ nadal istnieje otwarty problem z drugim podejściem (patrz komentarze) i podoba mi się nieco bardziej podstawowy argument. Warto podkreślić, że argument jest specyficzny dla wybranego kodowania i rzeczywiście nie wiadomo, czy można znaleźć inne proste kodowanie (logspace), które prowadzi do języka bezkontekstowego.
mak
1
@mak: Podejrzewam, że każde inne „rozsądne” kodowanie SAT może być niezgodne z CF przy użyciu podobnej techniki. Być może innym interesującym kierunkiem byłoby zbadanie, czy możemy zastosować jakąś diagonalizację w celu uzyskania bardziej ogólnego dowodu: formuła SAT koduje obliczenia symulujące automaty wypychające na danym wejściu i jest zadowalające tylko wtedy, gdy nie jest akceptuję to. Ale to tylko niewyraźny pomysł ...
Marzio De Biasi
Sprawdzanie, czy łańcuch jest w zwykłym języku, znajduje się w P. Załóżmy, że SAT było w Reg. Wtedy NP = coNP. Niech L będzie w Reg. Rozważmy formułę, która jest prawdziwa, jeśli nie ma jej w L. Jest w NP, więc można ją wyrazić jako formułę SAT. Jest w języku, jeśli nie jest.
Kaveh
5

Jeśli liczba zmiennych jest skończona, to również liczba zadowalających koniunkcji, więc twój język SAT jest skończony (a zatem regularny). [Edytuj: roszczenie to przyjmuje formę CNFSAT.]

W przeciwnym razie zgódźmy się na kodowanie formuł takich jak przez . Użyjemy lematu Ogdena, aby udowodnić, że język wszystkich zadowalających spójników nie jest pozbawiony kontekstu.( 17 + ~(x17¬x21)(x1x2x3)(17+~21)(1+2+3)

Niech będzie stałą „zaznaczania” w lemacie Ogdena i rozważmy wzór sat którego pierwsza klauzula składa się z - to znaczy kodowania , gdzie jest liczbą dziesiętną składającą się z te. Zaznaczamy jednymi z , a następnie wymagać, aby wszyscy pumpings z odpowiedniego rozkładu (patrz zawarcia lematu Ogdena jest) być również spełnialna. Ale możemy to łatwo zablokować, wymagając, aby żadna klauzula zawierająca , gdzie jest ciągiem krótszym niżw ( 1 p ) ( x N ) N p p 1 p w x q q 1 ppw(1p)(xN)Npp1pwxqq1p, bądź zadowalający - na przykład upewniając się, że każda inna klauzula ma negację każdego takiego . Oznacza to, że zawiedzie właściwość „negatywnego pompowania” i dochodzimy do wniosku, że język nie jest pozbawiony kontekstu. [Uwaga: zignorowałem trywialne przypadki, w których podczas pompowania powstają źle uformowane łańcuchy.]x q wwxqw

Aryeh
źródło
Uwaga: W moim twierdzeniu, że dla skończonej liczby zmiennych język jest skończony, domyślnie nie pozwalam na powtarzanie zmiennej w ramach klauzuli lub klauzuli bez ograniczeń wiele razy
Aryeh
... Ale myślę, że język jest nadal regularny, ponieważ bierze się skończony zbiór formuł „zasadniczo odrębnych” (tj. Bez trywialnych powtórzeń), a następnie pozwala na różne powtórzenia.
Aryeh
Roszczenie z regularnością działa tylko w przypadku CNFSAT (dodałem wyjaśnienie do mojego pytania).
mak
4
Nawet przy dowolnych formułach innych niż CNF w skończonej liczbie zmiennych, satysfakcja (i każdy język, który nie może rozróżnić dwóch logicznie równoważnych formuł pod tym względem) jest łatwo postrzegana jako pozbawiona kontekstu. Nie dostrzegam jednak tego znaczenia. Zadowolenie formuł w skończonej liczbie zmiennych jest banalnym problemem, który nie ma nic wspólnego ze złożonością SAT.
Emil Jeřábek
1
OK, widzę problem - domyślnie zakładałem, żemoże być ograniczona długością (jak w klasycznym lemacie pompującym), jednocześnie będąc w stanie określić coś o jego lokalizacji w ciągu. Myślę, że ten argument można naprawić, wykonując od nowa lemat pompowania. Sprawimy, że ta pierwsza zmienna będzie naprawdę długą sekwencją jedynek - wystarczająco długich, aby niektóre poddrzewa generujące ciągły ciąg tych jedności musiały być wystarczająco głębokie, aby zastosować zasadę pidgeonhole. |xyz|
Aryeh