Grammaire contextuelle pour SAT?

16

Par un résultat classique de Kuroda, la classe de complexité NSPACE [ ]n (également connue sous le nom de NLIN-SPACE) est précisément la classe CSL des langages contextuels . Le problème de satisfiabilité SAT est dans NSPACE [ ], car une estimation de taille linéaire pour une solution peut être vérifiée avec au plus une quantité linéaire de frais généraux pour la comptabilité. Cela signifie que SAT doit avoir une grammaire contextuelle (CSG).n

Quelqu'un a-t-il tenté de fournir un CSG pour SAT?

Je me rends compte que de nombreuses questions liées aux CSL sont indécidables (par exemple, décider si un CSG donné génère le langage vide). Même étant donné un CSG pour SAT, il faudrait encore surmonter l'obstacle que la décision d'appartenir à la langue donnée par un CSG soit en général PSPACE-complete. Mais il se peut que le problème d'appartenance au CSG qui définit SAT soit dans NP, en raison d'une structure particulière du langage. Reformulation, pour répondre au commentaire de MCH: Mais il se pourrait que le problème d'appartenance au CSG qui définit SAT puisse être démontré comme NP en raison d'une structure particulière de la grammaire, et non parce que nous savons déjà qu'il doit être en NP.


Clarification:

L'objectif visé ici est la particularité de la grammaire de SAT qui lui permet d'être reconnue par une machine NTIME [poly ( )], plutôt que par la borne NSPACE [ n ] DTIME [ 2 O ( n ) ].nn2O(n)

La preuve du théorème 3 dans l'article de Landweber de 1963 construit un CSG à partir d'un automate borné linéaire. (Kuroda a fourni l'inverse, construisant un automate borné linéaire pour n'importe quel CSG.) Cependant, la procédure de Landweber ne semble pas produire une grammaire pour SAT qui soit de forme spéciale: tous les reconnaisseurs NSPACE [ ] sont traités de la même manière générique. En d'autres termes, il n'est pas clair pourquoi le SAT CSG devrait avoir un problème d'adhésion NP, plutôt que d'être PSPACE-complete. J'espérais une construction plus explicite qui utilise le NP-ness de SAT d'une manière essentielle.n

Peut-être une meilleure question, plus précise, est de savoir si:

  1. il existe un automate borné linéaire qui reconnaît SAT,
  2. dont on peut extraire un CSG,
  3. de sorte que le langage défini par le CSG est en NP en raison d'une caractéristique de la grammaire (et non parce que nous savons déjà qu'il est en NP)?

Au cours des cinq décennies qui ont suivi, quelqu'un a sûrement essayé de le faire! Comme je ne trouve rien de publié dans ce sens, je serais intéressé à comprendre pourquoi cette approche n'a pas fonctionné, ou un pointeur vers un travail que j'ai manqué.

  • Peter S. Landweber, Trois théorèmes sur les grammaires de structure de phrases de type 1 , Information et contrôle 6 (2) 131–136, 1963. doi: 10.1016 / S0019-9958 (63) 90169-4
András Salamon
la source
5
Je ne comprends pas. Ne pouvez-vous pas simplement suivre la preuve et produire le CSG pour SAT? Est-ce non constructif? Aussi à propos de la dernière phrase, « il pourrait être le cas que le problème de l' adhésion de la CSG qui définit SAT est NP », il est dans NP puisque le problème de l' adhésion est juste SAT, qui est dans NP.
MCH
1
@MCH: Merci pour votre commentaire, j'espère que le montage clarifie la question.
András Salamon
cela ressemble à une autre façon de formuler cela pourrait ressembler à ceci: il existe des CSL / CSG qui sont reconnaissables en temps NP (contrairement à PSPACE dans le cas général) basé sur la conversion de SAT. quelle est la particularité de leur "structure" qui permet cela? la conversion de SAT en CSL / CSG peut donner un "indice" mais n'est pas nécessaire. donner un critère plus général. en d'autres termes, étant donné un CSL / CSG arbitraire, y a-t-il des critères qui indiquent que sa reconnaissance est en fait dans NP?
vzn

Réponses:

9

Bien qu'il ne construise pas directement une grammaire contextuelle pour SAT, l'article suivant pourrait apporter un éclairage.

WC Rounds, Complexity of Recognition in Intermediate Languages , Switching and Automata Theory, 1973, 145-158 http://dx.doi.org/10.1109/SWAT.1973.5

L'article de Rounds donne un automate de pile non déterministe unidirectionnel (1-NSA) reconnaissant SAT, puis montre le problème d'appartenance de 1-NSA (et son sur-ensemble approprié, la grammaire indexée d'Aho) est en général dans NP. En d'autres termes, SAT en tant qu'automate CSL / linéaire limité est spécial dans le sens où il utilise sa mémoire uniquement comme une pile.

kinaba
la source
4
Merci, exactement ce que je cherchais! Rounds montre que SAT est un langage de pile à sens unique, un langage indexé et un langage de transducteur d'arbre, donnant trois raisons théoriques différentes du langage pour lesquelles il est spécial.
András Salamon
donc peut-être "suffisant" mais il n'est pas immédiatement clair si ces conditions sont nécessaires (pour que la reconnaissance CSL / CSG soit en NP). il me semble donc que votre question générale ne sera pas beaucoup étudiée. Les CSL / CSG ne semblent pas avoir beaucoup de recherche derrière eux.
vzn
approfondi cette question. c'est un problème généralement sous la forme "est la reconnaissance d'une langue dans une classe plus grande Y en fait dans une classe plus petite X". pour Y = CFG et X = RL (langage régulier) le problème est indécidable voir par exemple ce cfg définit-il un langage régulier . par conséquent, Y = CSL et X = NP semblent également indécidables en général.
vzn