IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift313 Lemme de létoile
IFT313© Froduald Kabanza2 Sujets Propriétés des langages réguliers, dont le lemme de létoile (ou pumping theorem en anglais), parfois appelé aussi théorème du gonflement.
IFT313© Froduald Kabanza3 Objectifs Connaître les propriétés des langages réguliers, dont le lemme de létoile Pouvoir appliquer le lemme de létoile pour prouver que certains langages sont non réguliers
IFT313© Froduald Kabanza4 Au-delà des langages réguliers Les langages réguliers forme une classe très intéressante, mais tous les langages ne sont certainement pas réguliers. Pour établir que certains langages ne sont pas réguliers, nous allons caractériser les langages réguliers en observant certaines propriétés de base, pour aboutir finalement à une propriété dite le lemme de létoile.
IFT313© Froduald Kabanza5 Observations de base 1.Tous les langages finis (comportant un nombre fini de mots) sont réguliers. –En effet, si un langage contient les mots {w 1, …, w k }, il est décrit par lexpression régulière w 1 |…| w k.. Lexpression décrit une union finie des mots du langage. 2.Un langage non régulier doit donc forcément comporter un nombre infini de mots. –Par contre, linverse nest pas vrai. Par exemple, le langage décrit par lexpression a* est régulier, mais contient un nombre infini de mots.
IFT313© Froduald Kabanza6 Observations de base
IFT313© Froduald Kabanza7 Observations de base 4.Tout langage régulier est accepté par un automate fini comportant un nombre fixé détats, soit n. –En effet, nous avons vu la construction dun automate fini correspondant à une expression régulière. La preuve a été laissée comme exercice. Voir [Wolper, Pierre. Introduction à la calculabilité, 3è édition. Dunod, 2006]
IFT313© Froduald Kabanza8 Observations de base 5.Considérons un langage régulier infini et un automate à n états acceptant ce langage. Pour tout mot de longueur supérieure à n accepté par lautomate, lexécution de lautomate sur ce mot doit passer par un même état s k au moins deux fois avec une partie non vide du mots séparant les deux passages. 6.Par conséquent, si x, u, et y sont les mots représentés par la figure précédente, tous les mots de la forme xu*y sont accepté par lautomate et font partie du langage ssksk sksk sfsf xu y
IFT313© Froduald Kabanza9 Observations de base 6.Par conséquent, si x, u, et y sont les mots représentés par la figure précédente, tous les mots de la forme xu*y sont accepté par lautomate et font partie du langage Autrement dit, pour tout mot suffisamment long d'un langage régulier, il y a une partie du mot qui peut répétée un nombre arbitraire de fois, et que chacun des mots produits est encore dans le langage. C-à.-d., tout mot suffisamment long du langage peut être gonflé (pompé) par la répétition dune de ses parties pour obtenir un autre mot du langage. Cest ce que lon appelle le théorème du gonflement (pumping theorem) ou encore le lemme de létoile. ssksk sksk sfsf xu y
IFT313© Froduald Kabanza10 Lemme de létoile
IFT313© Froduald Kabanza11 Application du lemme de létoile
IFT313© Froduald Kabanza12 Résumé Les langages réguliers forme une classe très intéressante, mais tous les langages ne sont certainement pas réguliers. Le lemme de létoile dit que il stipule que tout mot suffisamment long d'un langage rationnel peut être pompé, au sens qu'une partie centrale du mot peut être répétée un nombre arbitraire de fois, et que chacun des mots produits est encore dans le langage En appliquant ce lemme, vous pouvez démontrer que certains langages ne sont pas réguliers.
IFT313© Froduald Kabanza13 Prochaine leçon Grammaires.