Une condition suffisante et nécessaire sur la régularité d'une langue

11

laquelle des déclarations suivantes est correcte?

  1. des conditions suffisantes et nécessaires de régularité d'une langue existent mais ne sont pas encore découvertes.
  2. Il n'y a pas de condition suffisante et nécessaire sur la régularité d'une langue.

  3. Le pompage du lemme est une condition nécessaire à la non-régularité d'une langue.

  4. Le pompage du lemme est une condition suffisante pour la non-régularité d'une langue.

Je sais que # (4) est correct et # (3) est faux parce que "l'inverse de cette affirmation n'est pas vrai: un langage qui remplit ces conditions peut encore être non régulier", mais que peut-on dire à propos de (1) et (2)?

Gigili
la source
2
Je dirais plutôt que (4) est correct: le lemme de pompage est conçu pour montrer que certains langages ne sont pas réguliers (il indique si L est régulier alors ..). De plus, (3) est faux: en.wikipedia.org/wiki/…
jmad
D'accord avec @jmad: le lemme de pompage est suffisant, pas nécessaire.
Patrick87
@jmad: L'article du WP auquel je me suis référé dans ma question dit que "la version originale et la version générale du lemme de pompage donnent une condition nécessaire mais pas suffisante pour qu'une langue soit régulière."
Gigili
@Gigli: oui. Ordinaire. Pas "non régulier".
jmad
@jmad: Oups, vous avez raison. Je vais modifier la question, merci.
Gigili

Réponses:

18

Voici quelques conditions nécessaires et suffisantes pour qu'une langue soit régulière.

Théorème. Soit . Les conditions suivantes sont les mêmes:LΣ

  • L est généré par une expression régulière (c'est-à-dire la définition du langage régulier).
  • L est reconnu par un automate fini non déterministe ( Kleene ).
  • L est reconnu par un automate fini non déterministe sans transitions .ε
  • L est reconnu par un automate fini déterministe ( Scott et Rabin ).
  • L est généré par une grammaire , où est un sous-ensemble fini de ( Frazier et Page ).(N,Σ,P,S)NΣ
  • L est généré par une grammaire sans contexte régulière gauche (resp. Droite).
  • L'indice de la relation est fini (Anil Nerode, Linear automon transformations , 1958). Ceci est largement (et à tort) connu sous le nom de théorème de Myhill-Nerode. est la relation utilisée pour construire le DFA minimal d'un langage régulier.LL
  • L'indice de la relation Myhill est fini (John Myhill, Finite Automata and the Representation of Events , 1957). est la relation utilisée pour construire le monoïde syntaxique d'un langage arbitraire.LLL
  • Le monoïde syntaxique de est fini (conséquence du résultat de Myhill). Nous notons ici que le monoïde syntaxique, en plus d'être défini en utilisant la relation L , peut être défini comme un monoïde minimal (en taille) qui reconnaît L comme une image préalable d'un homomorphisme.LLL
  • peut être reconnu par une machine de Turing en lecture seule (trivial).L
  • peut être défini par une formule en logique monadique de second ordre sur des chaînes (Büchi).L

Si une langue ne satisfait pas aux conditions du lemme de pompage pour les langues régulières , elle n'est pas régulière. Cela signifie que le pompage du lemme est une condition suffisante pour la non-régularité d'une langue.

En résumé, les déclarations 1, 2 et 3 sont fausses, tandis que la déclaration 4 est vraie, comme vous l'avez mentionné.

Janoma
la source
Notez que pour la dernière déclaration, nous devons nous limiter à WMSO ou, de manière équivalente, aux mots finis. MSO en général peut aussi exprimer langues réguliers réguliers. ω
Raphael
1
Vous voudrez peut-être ajouter « est reconnu par une grammaire sans contexte régulière gauche / droite», par souci de complétion. L
Alex ten Brink
@AlextenBrink J'ai oublié celui-là! Merci de l'avoir mentionné. Avez-vous une référence à inclure?
Janoma
@Janoma: désolé, je n'en trouve pas. La preuve est cependant extrêmement simple (aller à un NFA et inversement).
Alex ten Brink
9

Il suffit (et nécessaire) de démontrer l'existence d'un DFA, d'un NFA ou d'une expression régulière pour prouver qu'un langage est régulier, ce qui réfute (1) et (2). Pour montrer qu'une langue n'est pas régulière, il est nécessaire de montrer qu'il n'existe pas de DFA, NFA ou d'expression régulière.

Le lemme de pompage est un outil utile pour montrer (éventuellement par contradiction) qu'une langue n'est pas régulière, en montrant qu'il n'existe pas de DFA.

Victor Stafusa
la source
1
Le lemme de pompage, techniquement parlant, montre qu'il n'existe pas de DFA pour la langue.
Patrick87
@ Patrick87: Merci. J'ai édité la réponse pour ajouter ce détail.
Victor Stafusa
1
Juste pour être pédant: les preuves utilisant le lemme de pompage ne sont pas des preuves par contradiction. Puisque vous prouvez une affirmation négative (P -> Faux), il est parfaitement correct du point de vue d'un intuitionniste de supposer que P est vrai.
gallais
2
Vous pouvez l'écrire comme preuve par contradiction: "Supposons que L est régulier. Ensuite, il y a constante de pompage . Choisissez w ... Le mot pompé n'est pas dans L. Contradiction. $pwL
Raphael
1
Vous pouvez l'écrire, mais vous n'avez pas besoin de la contradiction. C'est le but.
Janoma
6

La condition «il existe une expression régulière qui génère exactement » est une condition nécessaire et suffisante pour la régularité d'un langage L , par grâce d'être sa définition.LL

Cette condition ne permet cependant pas de prouver facilement la non-régularité d'une langue. Je ne connais aucune condition facile à vérifier qui prouve toujours la non-régularité d'une langue non régulière.

Il existe deux autres `` tests '' qui peuvent prouver la non-régularité d'une langue (bien qu'ils ne fonctionnent pas): vous pouvez essayer de donner une langue régulière de telle sorte que leur union / intersection / différence / concaténation / quotient soit non régulière ( il y a plus d'opérations comme celle-ci), et vous pouvez essayer de compter le nombre de mots qu'il génère et vérifier s'il contredit l'expression du nombre de mots dans une langue régulière (comme on peut le trouver sur la page Wikipedia que vous avez liée).

Alex ten Brink
la source
6

Il y a cette merveilleuse connexion entre la théorie formelle du langage et les séries de pouvoirs formels prouvées par Chomsky et Schützenberger [CS63] . Sous la forme trouvée dans [SS78] Chap. II, Théorème 5.1

LKchar(L)K

char(L)

[SS78] Arto Salomaa et Matti Soittola. Aspects théoriques des automates de la série Power formelle. Springer-Verlag, New York, 1978.

[CS63] Noam Chomsky et Marcel P. Schützenberger. La théorie algébrique des langages sans contexte. Dans P. Braffort et D. Hirschberg, éditeurs, Programmation informatique et langages formels, pages 118-161. Hollande du Nord, 1963.

uli
la source
4

ILxyxILy

  1. zxxzxLyzxL
  2. zyyzyLxzyL

ILL

IL

Patrick87
la source