SAT è una lingua senza contesto?


12

Sto prendendo in considerazione il linguaggio di tutte le formule logiche proposizionali soddisfacenti, SAT (per garantire che questo abbia un alfabeto finito, codificheremmo le lettere proposizionali in un modo adeguato [modifica: le risposte hanno sottolineato che la risposta alla domanda potrebbe non essere solida sotto codifiche variabili, quindi bisogna essere più specifici - vedere le mie conclusioni di seguito] ). La mia semplice domanda è

SAT è una lingua senza contesto?

La mia prima ipotesi è stata che la risposta di oggi (inizio 2017) dovrebbe essere "Nessuno lo sa, dal momento che si riferisce a domande irrisolte nella teoria della complessità". Tuttavia, questo non è proprio vero (vedi risposta sotto), anche se non completamente falso. Ecco un breve riassunto delle cose che conosciamo (a partire da alcune cose ovvie).

  1. SAT non è regolare (perché anche la sintassi della logica proposizionale non è regolare, a causa delle parentesi corrispondenti)
  2. SAT è sensibile al contesto (non è difficile dare un LBA per esso)
  3. SAT è NP-completo (Cook / Levin), e in particolare deciso da TM non deterministiche in tempo polinomiale.
  4. SAT può anche essere riconosciuto da automi stack non deterministici unidirezionali (1-NSA) (vedi Round Round WC, Complessità di riconoscimento nelle lingue di livello intermedio , Switching and Automata Theory, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
  5. La parola problema per i linguaggi senza contesto ha una propria classe di complessità CFL (vedi https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )
  6. , dove LOGCFL è la classe di problemi dello spazio di registro riducibile a CFL (vederehttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). È noto che NLLOGCFL .CFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. NLNPNL=NPNC1PHNPLOGCFLLOGCFL

Tuttavia, quest'ultimo punto lascia ancora la possibilità che SAT non sia in . In generale, non ho trovato molto sulla relazione tra e la gerarchia che potrebbe aiutare a chiarire lo stato epistemico della mia domanda.CFLCFLNC

Nota (dopo aver visto alcune risposte iniziali): non mi aspetto che la formula sia in forma congiuntiva normale (questo non farà differenza per l'essenza della risposta, e di solito gli argomenti si applicano ancora poiché un CNF è anche una formula. affermare che la versione del numero costante di variabili del problema ha esito negativo, poiché per la sintassi sono necessarie parentesi).

Conclusione: contrariamente alla mia ipotesi ispirata alla teoria della complessità, si può dimostrare direttamente che SAT non è privo di contesto. La situazione quindi è:

  1. È noto che SAT non è privo di contesto (in altre parole: SAT non è in ), supponendo che si usi una codifica "diretta" di formule in cui le variabili proposizionali sono identificate da numeri binari (e alcuni ulteriori simboli sono usati per operatori e separatori).CFL
  2. Non si sa se SAT sia in , ma "la maggior parte degli esperti pensa" che non lo sia, poiché ciò implicherebbe . Ciò significa anche che non è noto se altre codifiche "ragionevoli" di SAT siano prive di contesto (supponendo che considereremo lo spazio di log uno sforzo di codifica accettabile per un problema NP-difficile).LOGCFLP=NP

Si noti che questi due punti non implicano . Questo può essere mostrato direttamente mostrando che ci sono lingue in (quindi in ) che non sono prive di contesto (es. A ).CFLLOGCFLLLOGCFLanbncn


Se lo fosse, allora P = NP.
Ryan,

1
Se SAT fosse privo di contesto, la programmazione dinamica (l'algoritmo CYK) darebbe un algoritmo temporale polinomiale per testare l'appartenenza a SAT, dando P = NP. Persino P = NP non significherebbe che SAT fosse privo di contesto. Questa codifica delle variabili sembra che potrebbe essere più importante di quanto tu gli stia dando credito. Non ho elaborato i dettagli, ma se aggiungessi "pedici" unari o binari alle variabili, penso che avresti problemi a distinguere (xey) da (x e non x) per indici abbastanza grandi.
AdamF,

Devi essere preciso sulla rappresentazione prima di rivendicare conclusioni P = NP. Ad esempio, il factoring di un numero N è un tempo polinomiale in N (la domanda interessante riguarda il numero di bit necessari per scrivere N in binario o sul registro N).
Aryeh,

Ero a conoscenza della conclusione P = NP e che quindi non mi aspettavo che la risposta fosse "sì" (mi dispiace di essere un po 'provocatorio nel modo in cui ho espresso questo ;-). Mi chiedevo ancora se questo è veramente noto o semplicemente qualcosa che "la maggior parte degli esperti crede" (le risposte indicano chiaramente che il primo è vero; ne selezionerò uno a tempo debito).
mak

Risposte:


7

Solo una prova alternativa che utilizza un mix di risultati noti.

Supporre che:

  • le variabili sono espresse con l'espressione regolared=(+|)1(0|1)
  • e che la lingua ( normale ) (over utilizzata per rappresentare le formule CNF è: ; basta notare che prende tutte le formule CNF valide fino alla ridenominazione variabile.Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

Ad esempio è scritto come: (l' operatore ha la precedenza su ) .φ=(x1x2)x3sφ=+1+1011S

Supponiamo che st la formula corrispondente sia soddisfacente sia CF.L={sφSφ}

Se lo interseciamo con il linguaggio normale: otteniamo ancora un linguaggio CF. Possiamo anche applicare l'omomorfismo: , e il linguaggio rimane CF.R={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

Ma la lingua che otteniamo è: , perché se formula "source" è che non è soddisfacente (analogamente se ). Ma è una ben nota contraddizione del linguaggio non CF .L={1a1b1cab,ac}a=b+xaxaxba=cL


Ho accettato questa risposta ora poiché esiste ancora un problema aperto con l'altro approccio (vedi commenti) e mi piace l'argomento un po 'più basilare. Potrebbe essere utile sottolineare che l'argomento è specifico della codifica scelta ed è in effetti sconosciuto se si possa trovare un'altra codifica semplice (spazio di registro) che porta a un linguaggio privo di contesto.
procedi il

1
@mak: sospetto che qualsiasi altra codifica "ragionevole" di SAT possa essere dimostrata non CF con una tecnica simile. Forse un'altra direzione interessante sarebbe studiare se possiamo applicare una sorta di diagonalizzazione per ottenere una prova più generale: la formula SAT codifica un calcolo che simula un automa push down su un dato input ed è soddisfacente se e solo se non lo fa non accettarlo. Ma è solo un'idea confusa ...
Marzio De Biasi,

Controllare se una stringa è in una lingua normale è in P. Supponiamo che SAT fosse in Reg. Quindi NP = coNP. Sia L in Reg. Considera la formula vera se non è in L. È in NP, quindi può essere espressa come formula SAT. È nella lingua se non lo è.
Kaveh,

5

Se il numero di variabili è finito, lo è anche il numero di congiunzioni soddisfacenti, quindi il tuo linguaggio SAT è finito (e quindi regolare). [Modifica: questa affermazione assume il modulo CNFSAT.]

Altrimenti, accettiamo di codificare formule come di . Useremo il lemma di Ogden per dimostrare che il linguaggio di tutte le congiunzioni soddisfacenti non è privo di contesto.(x17¬x21)(x1x2x3)(17+~21)(1+2+3)

Sia la costante "marcatrice" nel lemma di Ogden e considera una formula sat cui prima clausola è costituita da - ovvero la codifica di , dove è il numero decimale costituito da quelli. Segniamo le di e quindi richiediamo che anche tutti i pompaggi della decomposizione appropriata di (vedi la conclusione del lemma di Ogden) siano soddisfacenti. Ma possiamo facilmente bloccarlo richiedendo che nessuna clausola contenga , dove è una sequenza di più corta dipw(1p)(xN)Npp1pwxqq1p, sii soddisfacente, ad esempio assicurando che ogni altra clausola di abbia una negazione di ogni tale . Ciò significa che fallisce la proprietà "pumping negativo" e concludiamo che il linguaggio non è privo di contesto. [Nota: ho ignorato i casi banali in cui il pompaggio produce stringhe mal formate.]wxqw


Nota: nella mia affermazione che per un numero finito di variabili il linguaggio è finito, sto implicitamente vietando di ripetere una variabile all'interno di una clausola o una clausola senza limiti molte volte
Aryeh,

... Ma penso che il linguaggio sia ancora regolare, perché si prende la raccolta finita di formule "essenzialmente distinte" (cioè senza banali ripetizioni) e quindi si permettono le varie ripetizioni.
Aryeh,

L'affermazione con regolarità funziona solo per CNFSAT (ho aggiunto un chiarimento alla mia domanda).
mak

4
Anche con formule arbitrarie non CNF in molte variabili finite, la soddisfacibilità (e qualsiasi linguaggio che non è in grado di distinguere due formule logicamente equivalenti per quella materia) è facilmente considerata priva di contesto. Tuttavia, non riesco a vedere la rilevanza di questo. La soddisfacibilità delle formule in molte finanze è un problema banale che non ha nulla a che fare con la complessità della SAT.
Emil Jeřábek, il 3

1
OK, vedo il problema - supponevo implicitamente chepuò essere limitato in lunghezza (come nel classico lemma di pompaggio), pur essendo in grado di specificare qualcosa sulla sua posizione nella stringa. Penso che l'argomento possa essere risolto rifacendo il lemma del pompaggio da zero. Trasformeremo quella prima variabile in una sequenza davvero lunga di 1 - abbastanza a lungo che alcuni sotto-alberi che generano una sottostringa contigua di questi 1 devono essere sufficientemente profondi per applicare il principio pidgeonhole. |xyz|
Aryeh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.