Langage sans étoile
En informatique théorique, et notamment en théorie des langages formels, un langage rationnel est sans étoile (star-free language en anglais) s'il peut être obtenu à partir des lettres d'un alphabet et de l'ensemble vide par un ensemble fini d'opérations ensemblistes d'union, intersection, de complémentaire et de concaténations, mais sans utiliser l'opération étoile.
Par exemple, l'ensemble de tous les mots est le complémentaire de l'ensemble vide : c'est donc un langage sans étoile. Le langage des mots sur l'alphabet qui ne contiennent pas deux lettres consécutives est aussi un langage sans étoile. En effet, c'est l'ensemble défini par , où dénote le complément d'une partie de .
Définition
La famille des langages sans étoiles est[1] la plus petite famille de langages formels :
- qui contient l'ensemble vide et tous les singletons composés d'une lettre.
- et qui est stable par union, complémentaire et concaténation.
De manière équivalente, les langages sans étoile sont ceux qui admettent une expression rationnelle pouvant contenir des constructions pour le complémentaire mais pas d'étoile.
Comme les langages rationnels généraux sont fermés par complémentation, on voit que les langages sans étoile sont un sous-ensemble des langages rationnels.
Autres exemples et contre-exemples
Les langages suivants sont sans étoile.
- Le langage contenant tous les mots sur un alphabet , parce qu'il est le complémentaire de l'ensemble vide : ;
- L'ensemble {ε} réduit au mot vide est sans étoile : c'est le complément de ;
- tous les langages finis sont également des langages sans étoile.
- Sur , le langage est sans étoile[1]
- Tout langage local est sans étoile.
- Le langage sur une seule lettre n'est pas un langage sans étoile, comme montré plus bas.
Caractérisations
Théorème de Schützenberger
Un théorème dû à Marcel-Paul Schützenberger caractérise les langages sans étoile de manière algébrique, à travers leur monoïde syntaxique. Cette caractérisation est intéressante par le lien qu'elle établit entre une définition combinatoire et une propriété algébrique ; elle est de plus utile pour montrer qu'un langage n’est pas sans étoile. Il est en effet difficile de montrer, sans elle, qu'un langage donné n'est pas un langage sans étoile car la définition par expression rationnelle demande de passer en revue toutes les expressions rationnelles sans étoile pour affirmer que le langage est sans étoile.
Marcel-Paul Schützenberger a donné la caractérisation[2] suivante des langages sans étoile :
Théorème — Les langages sans étoile sont les langages dont le monoïde syntaxique est fini et apériodique.
On trouvera une démonstration de ce théorème dans les ouvrages francophones[3],[4],[1]. Ce résultat est le point de départ de la théorie des variétés des langages formels.
Un exemple d'application de cette caractérisation est une preuve que le langage n'est pas un langage sans étoile. Le monoïde syntaxique de ce langage est isomorphe à ; ce groupe n'étant pas trivial, le monoïde syntaxique de n'est pas apériodique, donc n'est pas, d'après le théorème de Schützenberger, un langage sans étoile.
Automates sans compteurs
Les langages sans étoile sont également les langages acceptés par certains automates finis, appelés les automates sans compteurs. Un automate fini déterministe complet est sans compteur si, pour tout mot , pour tout état , et pour tout entier naturel ,
- implique .
Le théorème énoncé par Robert McNaughton et Seymour Papert en 1971[5] formule cette caractérisation[6] :
McNaughton et Papert — Un langage est sans étoile si et seulement si son automate minimal est fini et sans compteur.
Autres caractérisations
Les langages sans étoile possèdent d'autres caractérisations[7] :
- Ce sont les langages définissables dans la logique du premier ordre sur des ensembles linéairement ordonnés, notée FO[<][8] ;
- Ce sont les langages reconnus par les automates « très faiblement alternants », une forme affaiblie des automates finis alternants ;
- Ce sont enfin les langages définissables en logique temporelle linéaire[9].
Les langages sans étoile appartiennent tous à la classe de complexité AC⁰ qui est une des premières classes considérées en complexité descriptive.
Ces équivalences restent valables, mutatis mutandis, pour des ensembles de mots infinis.
Exemple
Reprenons l'exemple présenté en introduction : le langage des mots ne comportant pas deux a consécutifs sur l'alphabet :
- Une expression rationnelle de hauteur d'étoile 2 qui le dénote est par exemple .
- Une expression rationnelle sans étoile qui le dénote est .
- Son monoïde syntaxique est .
est bien un monoïde apériodique car il ne contient aucun groupe non trivial. Donc d'après la caractérisation de Schützenberger, il s'agit bien d'un langage sans étoile.
Références
- Carton 2008, Section 1.12 : Langages sans étoile.
- Schützenberger 1965.
- Jean-Eric Pin, Variétés de langages formels, Paris, Masson,
- Jacques Sakarovitch, Éléments de théorie des automates, Vuibert,
- McNaughton et Papert 1971.
- « Langage formels - Langages08.pdf »
- Une présentation de ces équivalences, et de la preuve de ces équivalences, est donnée dans Diekert et Gastin (2008).
- Diekert et Gastin 2008.
- Kamp (1968).
Bibliographie
- (en) Volker Diekert et Paul Gastin, « First-order definable languages », dans Jörg Flum, Erich Grädel et Thomas Wilke (éditeurs), Logic and automata: history and perspectives, Amsterdam University Press, (ISBN 9789053565766, lire en ligne), p. 261-306
- Johan A. W. Kamp, Tense Logic and the Theory of Linear Order, University of California at Los Angeles (UCLA),
- (en) Robert McNaughton et Seymour Papert, Counter-free Automata, Cambridge, MIT Press, , 163 p. (ISBN 978-0-262-13076-9, LCCN 71153294)
- (en) Marcel-Paul Schützenberger, « On finite monoids having only trivial subgroups », Information and Control, vol. 8, no 2, , p. 190–194 (lire en ligne)
- Olivier Carton, Langages formels, calculabilité et complexité, [détail de l’édition] (lire en ligne)
- Jean-Eric Pin, Variétés de langages formels, Éditions Masson, 1984 (version anglophone: Varieties of formal languages, Plenum Press, 1986).
- Jacques Sakarovitch, Éléments de théorie des automates, Vuibert, 2003 (version anglophone: Elements of automata theory, Cambridge University Press, 2009)
Articles connexes
- Hauteur d'étoile
- Monoïde syntaxique
- Relations de Green
- Langage local
- Théorème des variétés d'Eilenberg
- Portail de la logique
- Portail de l'informatique théorique