Preuve du lemme de pompage pour les langages sans contexte à l'aide d'automates pushdown


21

Le lemme de pompage pour les langues régulières peut être prouvé en considérant un automate à états finis qui reconnaît la langue étudiée, en choisissant une chaîne avec une longueur supérieure à son nombre d'états et en appliquant le principe du pigeonhole. Le lemme de pompage pour les langues sans contexte (ainsi que le lemme d'Ogden qui est légèrement plus général), cependant, est prouvé en considérant une grammaire hors contexte de la langue étudiée, en choisissant une chaîne suffisamment longue et en regardant l'arbre d'analyse.

Compte tenu de la similitude des deux lemmes de pompage, vous vous attendriez à ce que celui sans contexte puisse également être prouvé de manière similaire à celui normal en considérant un automate de refoulement qui reconnaît la langue, plutôt qu'une grammaire. Cependant, je n'ai pas réussi à trouver de référence à une telle preuve.

D'où ma question: existe-t-il une preuve du lemme de pompage pour les langages sans contexte qui n'implique que des automates de refoulement et non des grammaires?

Réponses:


16

J'ai repensé à ce problème et je pense en avoir une preuve complète. C'est un peu plus délicat que ce à quoi je m'attendais. Les commentaires sont les bienvenus! Mise à jour: j'ai soumis cette preuve sur arXiv, au cas où cela serait utile à quelqu'un: http://arxiv.org/abs/1207.2819

Soit une langue sans contexte sur un alphabet . Soit un automate déroulant qui reconnaît , avec l'alphabet de pile . Nous désignons parle nombre d'états de . Sans perte de généralité, nous pouvons supposer que les transitions de apparaissent comme le symbole le plus haut de la pile et ne poussent aucun symbole sur la pile ou ne poussent sur la pile le symbole le plus haut précédent et un autre symbole.L LΣ ΣA AL LΓ Γ| A | |A|A AAA

On définitet la longueur de pompage, et montrera que tout tel que ont une décomposition de la forme telle que , et .p = | A | 2 | Γ | p = | A | ( | Γ | + 1 ) p w L | w | > p w = u v x y z | v x y | p | v y | 1 n 0 , u v n xp=|A|2|Γ|p=|A|(|Γ|+1)pwL|w|>pw=uvxyz|vxy|p|vy|1y n z Ln0,uvnxynzL

Soit tel que . Soit un chemin accepteur de longueur minimale pour (représenté comme une séquence de transitions de ), nous notons sa longueur par. On peut définir, pour, la taille de la pile à la position du chemin d'acceptation. Pour tout , nous définissons un niveau sur comme un ensemble de trois indices avec tels que:w L | w | > p π w A | π | 0 i < | π | s i i N > 0 N π i , j , k 0 i < j < k pwL|w|>pπwA|π|0i<|π|siiN>0Nπi,j,k0i<j<kp

  1. s i = s k , s j = s i + Nsi=sk,sj=si+N
  2. pour tout tel que ,n i n j s is ns jninjsisnsj
  3. pour tout tel que , .n j n k s ks ns knjnksksnsk

(Pour un exemple de cela, voir l'image du cas 2 ci-dessous qui illustre un niveau.)NN

Nous définissons le niveau de comme le maximal tel que a un niveau. Cette définition est motivée par la propriété suivante: si la taille de la pile sur un chemin devient supérieure à son niveau , alors les symboles de pile supérieurs à niveaux ne seront jamais sautés. Nous allons maintenant distinguer deux cas: soit , auquel cas nous savons que la même configuration pour l'état de l'automate et les symboles les plus de la pile est rencontrée deux fois dans les étapes de , oul π N π N π l l l < p l p + 1 π l p v ylπNπNπlll<plp+1πlp, et il doit y avoir une position d'empilement et de dépilage qui peut être répétée un nombre arbitraire de fois, à partir de laquelle nous construisons et .vy

Cas 1. . Nous définissons les configurations de comme les couples d'un état de et d'une séquence de symboles de pile (où les piles de taille inférieure à avec être représentées en les remplissant à avec un symbole vide spécial, c'est pourquoi nous utilisons lors de la définition de ). Par définition, il existe telles configurations, ce qui est inférieur à . Ainsi, dans les premières étapes de , la même configuration est rencontrée deux fois à deux positions différentes, disons . Désigner parl < p A A l l l | Γ | + 1 p | A | ( | R | + 1 ) l p p + 1 π i < j i j w i j π ij w = u v x y z y z = ε u = wl<pAAlll|Γ|+1p|A|(|Γ|+1)lpp+1πi<jiˆ (resp. ) la position de la dernière lettre de lue à l'étape (resp. ) de . Nous avons . Par conséquent, nous pouvons factoriser avec , , , . (Par nous désignons les lettres de de inclus à exclusif.) Par construction, .jˆwijπiˆjˆw=uvxyzyz=ϵ0ˆiu=w0iˆv=wˆiˆjv=wiˆjˆx=wˆj|w|x=wjˆ|w|wxywxywwxxyy|vxy|p|vxy|p

Nous devons également montrer que , mais cela découle de notre observation ci-dessus: les symboles de pile plus profonds que ne sont jamais sautés, il n'y a donc aucun moyen de distinguer configurations qui sont égales selon notre définition, et un chemin d'acceptation pour est construit à partir de celui de en répétant les étapes entre et , fois.n0,uvnxynz=uvnxLn0,uvnxynz=uvnxLlluvnxuvnxwwiijjnn

Enfin, nous avons aussi , car si , alors, parce que nous avons la même configuration aux étapes et dans , serait un chemin acceptant pour , contredisant la minimalité de .|v|>0|v|>0v=ϵv=ϵiijjπππ=π0iπj|π|π=π0iπj|π|wwππ

(Notez que ce cas revient à appliquer le lemme de pompage pour les langues régulières en codant en dur les symboles de pile les plus élevés dans l'état de l'automate, ce qui est suffisant car est suffisamment petit pour garantir que est plus grand que le nombre d'états de cet automate L'astuce principale est que nous devons ajuster pour -transitions.)llll|w||w|ϵϵ

Cas 2. . Soit un niveau . A toute taille de pile , , nous associons le dernier push et le premier pop . Par définition, et . Voici une illustration de cette construction. Pour simplifier le dessin, j'omet la distinction entre les positions des chemins et les positions des mots que nous devrons faire plus tard.lplpi,j,ki,j,kpphhsihsjsihsj lp(h)=max({yj|sy=h})lp(h)=max({yj|sy=h}) fp(h)=min({yj|sy=h})fp(h)=min({yj|sy=h})ilp(h)jilp(h)jjfp(h)kjfp(h)k

Illustration of the construction for case 2. To simplify the drawing, the distinction between the path positions and word positions are ommitted.

On dit que l' état complet d'une taille de pile est le triple formé par:hh

  1. l'état de l'automate à la positionlp(h)lp(h)
  2. le symbole de pile le plus haut à la positionlp(h)lp(h)
  3. l'état de l'automate à la positionfp(h)fp(h)

Il y a états complets possibles, et tailles de pile entre et , donc, selon le principe du pidgeonhole, il existe deux tailles de pile avec telles que les états complets en et sont les mêmes. Comme dans le cas 1, nous définissons par , , et les positions des dernières lettres de lues aux positions correspondantes dans . On factorise oùppp+1p+1sisjg,hsig<hsjgh^lp(g)^lp(h)^fp(h)^fp(g)wπw=uvxyzu=w0^lp(g), , , et .v=w^lp(g)^lp(h)x=w^lp(h)^fp(h)y=w^fp(h)^fp(g)z=w^fp(g)|w|

Cette factorisation garantit que (car par notre définition des niveaux).|vxy|pkp

Nous devons aussi montrer que . Pour ce faire, observez que chaque fois que nous répétons , nous partons du même état et du même sommet de pile et nous ne passons pas en dessous de notre position actuelle dans la pile (sinon nous aurions à repousser à la position actuelle, violant la maximalité de ), nous pouvons donc suivre le même chemin dans et pousser la même séquence de symboles sur la pile. Par la maximalité de et la minimalité de , lors de la lecture de , nous ne sautons pas en dessous de notre position actuelle dans la pile, donc le chemin suivi dans l'automate est le même quel que soit le nombre de fois nous avons répétén0,uvnxynzLvlp(g)Alp(h)fp(h)xv. Maintenant, si nous répétons autant de fois que nous répétons , puisque nous partons du même état, puisque nous avons poussé la même séquence de symboles sur la pile avec nos répétitions de , et puisque nous ne sautons pas plus que ce que a empilés par un minimum de , nous pouvons suivre le même chemin dans et faire apparaître la même séquence de symboles dans la pile. Par conséquent, un chemin acceptant de peut être construit à partir du chemin acceptant pour .wvvvfp(g)Auvnxynzw

Enfin, nous avons également , car comme dans le cas 1, si et , nous pouvons construire un chemin d'acceptation plus court pour en supprimant et .|vy|>1v=ϵy=ϵwπlp(g)lp(h)πfp(h)fp(g)

Par conséquent, nous avons une factorisation adéquate dans les deux cas, et le résultat est prouvé.

(Nous remercions Marc Jeanmougin de m'avoir aidé avec cette preuve.)


7

Oui c'est possible. Nous pourrions utiliser la notion de configurations de surface; ils ont été introduits par Cook il y a longtemps. Avec cela, il devrait être assez facile de sortir une version de pompage du lemme.

En ce qui concerne les configurations de surface, presque tous les papiers sur LogCFL devraient porter sa définition. Voici un article récent et voici une thèse

Peut-être que quelqu'un de plus énergique peut expliquer les détails!


Merci de répondre! Oui, il est assez naturel de regarder la combinaison de l'état de l'automate et du symbole de pile le plus haut. Je pense toujours à ce problème, et je n'arrive pas à comprendre les détails ... L'aide est appréciée. :-)
a3nm

3

Pour être complet, référence à une preuve dans ce sens.

A.Ehrenfeucht, HJHoogeboom, G.Rozenberg: Systèmes de paires coordonnées. I: Mots Dyck et pompage classique RAIRO, Inf. Théor. Appl. 20, 405-424 (1986)

Abstrait. La notion de système de paires coordonnées [...] correspond très étroitement à (est une autre formulation de) la notion d'automate push-down. Dans cet article, nous étudions [...] la possibilité d'obtenir des propriétés de pompage de langages sans contexte via l'analyse des calculs dans les systèmes cp. Pour ce faire, nous analysons la structure combinatoire des mots Dyck. Les propriétés des mots Dyck que nous étudions proviennent de l'analyse combinatoire des calculs dans les systèmes cp. Nous montrons comment cette correspondance peut être utilisée pour prouver le lemme de pompage classique.


1

En discutant de ce problème avec Géraud Sénizergues, il m'a signalé cet article de Sakarovitch qui prouve déjà ce résultat. La preuve semble remonter à cet article d'Ogden.

Les références:

  • Sakarovitch, Jacques. Sur une propriété d'itération des langages algébriques déterministes. (Français. Résumé en anglais). Math. Systems Theory 14 (1981), no. 3, 247–288.
  • William F. Ogden. 1969. Théorèmes d'intercalation pour les langages de pile. Dans Actes du premier symposium annuel de l'ACM sur la théorie de l'informatique (STOC '69).
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.