J'examine le langage de toutes les formules logiques propositionnelles satisfaisantes, SAT (pour garantir qu'il ait un alphabet fini, nous encoderions les lettres propositionnelles d'une manière appropriée [modifier: les réponses ont souligné que la réponse à la question peut ne pas être robuste sous différents encodages, il faut donc être plus précis - voir mes conclusions ci-dessous] ). Ma simple question est
SAT est -il un langage sans contexte?
Ma première supposition était que la réponse d'aujourd'hui (début 2017) devrait être "Personne ne sait, car cela concerne des questions non résolues dans la théorie de la complexité." Cependant, ce n'est pas vraiment vrai (voir la réponse ci-dessous), mais pas complètement faux non plus. Voici un bref résumé des choses que nous savons (en commençant par des choses évidentes).
- SAT n'est pas régulier (car même la syntaxe de la logique propositionnelle n'est pas régulière, en raison des parenthèses correspondantes)
- SAT est contextuel (il n'est pas difficile de lui donner un LBA)
- SAT est NP-complet (Cook / Levin), et en particulier décidé par des MT non déterministes en temps polynomial.
- SAT peut également être reconnu par des automates de pile non déterministes unidirectionnels (1-NSA) (voir WC Rounds, Complexity of Recognition in Intermediate Level Languages , Switching and Automata Theory, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
- Le problème de mot pour les langues sans contexte a sa propre classe de complexité (voir https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )
- , où LOGCFL est la classe d'espace de journalisation des problèmes réductible à CFL (voirhttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). Il est connu que NL ⊆ LOGCFL .
- NL = NP NC 1 ⊊ PH NP LOGCFL LOGCFL
Cependant, ce dernier point laisse toujours la possibilité que SAT ne soit pas dans . En général, je n'ai pas pu trouver grand-chose sur la relation de avec la hiérarchie qui pourrait aider à clarifier le statut épistémique de ma question.CFL NC
Remarque (après avoir vu quelques réponses initiales): Je ne m'attends pas à ce que la formule soit sous une forme normale conjonctive (cela ne changera rien à l'essence de la réponse, et généralement les arguments s'appliquent toujours car un CNF est aussi une formule. Mais le prétendre que la version à nombre de variables constant du problème est régulière échoue, car il faut des parenthèses pour la syntaxe.).
Conclusion: Contrairement à ma supposition inspirée de la théorie de la complexité, on peut montrer directement que SAT n'est pas sans contexte. La situation est donc:
- On sait que SAT n'est pas sans contexte (en d'autres termes: SAT n'est pas dans ), en supposant que l'on utilise un codage "direct" de formules où les variables propositionnelles sont identifiées par des nombres binaires (et certains d'autres symboles sont utilisés pour les opérateurs et les séparateurs).
- On ne sait pas si SAT est dans , mais "la plupart des experts pensent" que ce n'est pas le cas, car cela impliquerait . Cela signifie également qu'il est inconnu si d'autres codages "raisonnables" de SAT sont hors contexte (en supposant que nous considérions l'espace de journalisation comme un effort de codage acceptable pour un problème NP-difficile).P = NP
Notez que ces deux points n'impliquent pas . Cela peut être montré directement en montrant qu'il y a des langues dans (donc dans ) qui ne sont pas sans contexte (par exemple, ).L LOGCFL a n b n c n