J'ai deux questions:
Je considère la langue suivante
En d'autres termes n'est pas palindrome de même longueur. J'ai prouvé que ce langage n'est PAS régulier en prouvant que son complément n'est pas régulier. Ma question est de savoir comment le prouver en utilisant le lemme de pompage sans passer par le complément.Laisser
J'ai prouvé que ce langage n'est pas régulier en utilisant des classes d'équivalence. Comment puis-je le prouver en utilisant le lemme de pompage?
Merci beaucoup pour l'édition :)
Réponses:
Toutes les langues non régulières ne réussissent pas le test du lemme de pompage. Wikipédia a un exemple extrêmement complexe d'une langue non régulière qui peut être pompée. Donc, même si une langue n'est pas régulière, nous ne pourrons peut-être pas prouver ce fait en utilisant le lemme de pompage.
Mais il s'avère que nous pouvons utiliser le lemme de pompage pour prouver que votre langue maternelle n'est pas régulière. Je ne suis pas sûr de la seconde.
Prétendre:L1 n'est pas régulier.
Preuve: par le lemme de pompage. Laisserp être la longueur de pompage. (Je vais utiliser l'alphabet{ a , b } plutôt que { 0 , 1 } .) Si p = 1 , puis prenez la chaîne a b b a a , lequel est dedans L1 et le pomper a a b b a a qui n'est pas en L1 , donc L1 ne serait pas régulier.
Sip > 1 , puis prenez la chaîne unepb buneN . (Nous trouverons ce que nous voulonsN être plus tard.) Considérez ensuite toute division de la chaîne en x yz où x =unep - k , y=ak , et z=bbaN .
Maintenant, pompons cette chaînei fois. (Nous trouverons ce que nous voulonsi être plus tard.) Nous obtenons la chaîne xyiz , qui donne ap−kaikbbaN=ap−k+ikbbaN .
Maintenant, revenons en arrière. Tout d'abord, nous avons choisiN . Ensuite, un choix dek a été faite. Ensuite, nous avons choisii . Nous voulons comprendre ce queN choisir de telle sorte que, pour tout choix de k∈[1,p] , nous pouvons choisir un i qui fait de cette chaîne un palindrome en faisant le nombre de a s à gauche est égal au nombre à droite. (Il aura toujours une longueur égale.)
Nous voulons donc toujours obtenir celap−k+ik=N . Si nous jouons avec les mathématiques, nous constatons que nous devons choisirN=p+p! et choisissez i=p!/k+1 .
Donc, pour récapituler, nous avons choisiN=p+p! et a choisi la chaîne apbbaN . Ensuite, un choix dek a été fait pour que la chaîne soit composée de ap−kybbaN où y=ak . Ensuite, nous avons choisii=p!/k+1 . Nous avons pompé la chaîne pour obtenirap−kyibbaN=ap−kaikbbaN=ap−k+ikbbaN .
Mais nous savons quep−k+ik=p−k+(p!k+1)k=p−k+p!+k=p+p! . EtN=p+p! . Donc, le nombre dea s aux deux extrémités est le même, donc la chaîne est un palindrome de longueur égale, donc ce n'est pas dans L1 , donc L1 n'est pas régulier. □
la source
Pour la première question, la chaîne0p12p0p+p! est un contre-exemple approprié. Quelle que soit la durée dey est, il doit être un facteur de p! donc on pompe assez et on obtient p+p! zéros au début.
la source
Après une longue réflexion, je pense avoir répondu 2.
nous choisissons la chaîne (010) ^ N (101) ^ N, où N est la longueur de pompage. Peu importe ce que nous choisirons, xy ^ 0z aura plus de 101 que de 010. L'idée est que nous ne pouvons ajouter que 101 sous-chaînes supplémentaires dans la première partie de la chaîne ou supprimer quelques sous-chaînes de 010.
la source