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).
- SAT non è regolare (perché anche la sintassi della logica proposizionale non è regolare, a causa delle parentesi corrispondenti)
- SAT è sensibile al contesto (non è difficile dare un LBA per esso)
- SAT è NP-completo (Cook / Levin), e in particolare deciso da TM non deterministiche in tempo polinomiale.
- 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 )
- La parola problema per i linguaggi senza contesto ha una propria classe di complessità (vedi https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )
- , dove LOGCFL è la classe di problemi dello spazio di registro riducibile a CFL (vederehttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). È noto che NL ⊆ LOGCFL .
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.
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 è:
- È 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).
- 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).
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 ).