Étoile d’un langage régulier
Soit un langage régulier L. Nous allons démontrer que l’étoile du langage L est encore un langage régulier.
Qu’est-ce que l’étoile d’un langage
L’étoile (ou étoile de Kleene) d’un langage L se note L∗. Elle contient tous les mots que l’on peut former en concaténant un nombre fini de mots du langage L. On peut la définir ainsi :
où ∘ désigne l’opération de concaténation. L’étoile contient aussi le mot vide, c’est-à-dire ϵ.
Méthode formelle
Nous procédons de façon très semblable à la concaténation de langages. Seulement, au lieu de relier deux automates différents, nous relions un automate à lui-même : depuis les états finals de l’automate, nous menons des ε-transitions vers son état initial. Cependant, l’étoile doit contenir aussi le mot vide. Comment faire ? On pourrait transformer l’état initial en état final. Un tel automate accepterait alors le mot vide, mais il pourrait aussi accepter d’autres mots qu’il ne devrait pas. C’est pourquoi nous créons plutôt un nouvel état initial, et depuis ce nouvel état initial nous menons une ε-transition vers l’ancien état initial.
Soit un langage régulier L1 et un automate qui accepte ce langage :
Nous construisons un automate non déterministe A = (Q ; Σ ; δ ; qs ; F) tel que :
- Q = Q1 ∪ {qs}
- Σ= Σ1
- F = F1 ∪ {qs}
Nous définissons la fonction de transition δ ainsi :
Exemple
Soit l’automate A1 suivant, qui accepte les mots 00 ou 11 :
L’étoile du langage L(A1) est donc le langage de tous les mots composés de blocs 00 et 11, par exemple 0000, 110011, 11110000, etc. Pour construire un automate qui accepterait cette étoile, on créerait un nouvel état initial qs avec une ε-transition vers l’ancien état initial q0, et l’on ajouterait des ε-transitions des états q3 et q4 vers l’état q0 :
On peut vérifier que cet automate accepte bien les mots 0000, 110011, 11110000, mais qu’il n’accepte pas, par exemple, le mot 1010.
Sources
Chapitres: Propriétés de clôture des langages réguliers, Réunion de langages réguliers, Intersection de langages réguliers, Différence de langages réguliers, Complémentaire d’un langage régulier, Concaténation de langages réguliers, Étoile d’un langage régulier