AccueilđŸ‡«đŸ‡·Chercher

Automate fini inambigu

En thĂ©orie des automates, un automate fini inambigu (on dit aussi non ambigu, en anglais « unambiguous finite automaton », abrĂ©gĂ© en UFA) est un automate fini non dĂ©terministe d'un type particulier. C'est un automate qui, pour chaque mot acceptĂ©, ne possĂšde qu'un seul calcul rĂ©ussi. Tout automate fini dĂ©terministe est inambigu, mais la rĂ©ciproque est fausse. Les trois types d'automates : non dĂ©terministe, inambigu, dĂ©terministe, reconnaissent les mĂȘmes langages formels, Ă  savoir les langages rĂ©guliers.

Un automate fini inambigu à n+1 états reconnaissant les mots qui ont un a en position n depuis la fin. Un automate déterministe équivalent a au moins états

Le nombre d'Ă©tats d'un automate inambigu peut ĂȘtre exponentiellement plus petit qu'un automate dĂ©terministe Ă©quivalent. En contre-partie, certains problĂšmes sont plus difficiles Ă  rĂ©soudre pour les automates inambigus que pour les automates dĂ©terministes. Par exemple, partant d'un automate A, un automate A' reconnaissant le complĂ©ment du langage acceptĂ© par A se construit en temps linĂ©aire si A est dĂ©terministe, mais il a Ă©tĂ© dĂ©montrĂ© qu'il ne peut ĂȘtre calculĂ© en temps polynomial si A est inambigu[1].

La notion d'automate inambigu se généralise à d'autres modÚles de machines ou de calcul. Un présentation générale a été donnée par Thomas Colcombet[2].

DĂ©finition

Un automate fini non dĂ©terministe , oĂč est l'ensemble des transitions, l’ensemble des Ă©tats initiaux et l'ensemble des Ă©tats terminaux, est dit inambigu si, pour tout mot reconnu par l'automate, il existe un seul chemin rĂ©ussi d'Ă©tiquette , donc un seul chemin

, avec et .

Exemple

Soit l'ensemble des mots sur l'alphabet binaire dont la lettre en position depuis la fin est un . Les figures ci-contre montrent un automate inambigu reconnaissant ce langage pour n=2, et un automate dĂ©terministe pour ce mĂȘme langage.

Automate inambigu pour le langage .
Automate déterministe pour le langage .

L'automate dĂ©terministe minimal acceptant a Ă©tats, alors que l’automate inambigu pour le mĂȘme langage n'a que Ă©tats.

Propriétés

Test d'ambiguïté

On peut tester si un automate fini non dĂ©terministe Ă  m transitions est inambigu en temps . On peut mĂȘme calculer le degrĂ© d’ambiguĂŻtĂ©, et savoir si l'ambiguĂŻtĂ© est bornĂ©e, si elle croit polynomialement ou exponentiellement avec la longueur des mots[3].

Inclusion

Le problÚme d'inclusion consiste à tester si le langage reconnu par un automate est contenu dans le langage reconnu par un automate . Le problÚme est bien entendu décidable. La question est celle de sa complexité.

Le problĂšme de l'inclusion pour les automates inambigus est dĂ©cidable en temps polynomial : il est dans la classe PTIME alors que ce mĂȘme problĂšme est PSPACE-complet pour les automates non dĂ©terministes[4] - [5]. C'est d'ailleurs ce problĂšme, dĂ©crit par Meyer et Stockmeyer en 1972[6] qui est le premier problĂšme de cette classe.

La démonstration de cette propriété utilise le fait que le produit cartésien de deux automates inambigus est également inambigu[4].

Universalité et équivalence

Le problĂšme de l'universalitĂ©, c'est-Ă -dire de savoir si un automate accepte tous les mots, et le problĂšme de l'Ă©quivalence, c'est-Ă -dire de savoir si deux automates acceptent les mĂȘmes mots, sont tous deux dans la classe PTIME, par rĂ©duction au problĂšme de l'inclusion.

Extensions

Le coût en place de la transformation d'un automate inambigu en un automate déterministe est difficile à borner. Pour des alphabets unaires, une minoration est donnée par Okhotin[7] à l'aide d'une fonction arithmétique liée à la fonction de Landau.

La notion d’ambiguĂŻtĂ© s'Ă©tend aux transducteurs finis : un transducteur est fonctionnel si la transformation qu'il rĂ©alise est une fonction (partielle), il est inambigu si, pour tout mot, il existe un seul calcul de la valeur de la fonction. Il est dĂ©cidable si la transduction rĂ©alisĂ©e par un transducteur est une fonction.

Il y a aussi une interprĂ©tation algĂ©brique naturelle du degrĂ© d’ambiguĂŻtĂ© au moyen d'automates pondĂ©rĂ©s : on associe Ă  chaque transition le poids 1 dans le monoĂŻde des entiers naturels ; le poids associĂ© Ă  un mot est alors la simplement le nombre de chemins acceptant ce mot.

Enfin, il existe la mĂȘme notion pour les mots infinis et les automates les reconnaissants comme les automates de BĂŒchi. Dans ce cas, il y a diffĂ©rence entre automates non dĂ©terministes et automates dĂ©terministes, puisque ces derniers reconnaissent moins de langages. Les automates de BĂŒchi inambigus reconnaissent les mĂȘmes langages que les automates de BĂŒchi non dĂ©terministes[4] - [8].

L'ambiguïté d'un automate fini est simplement relié à la notion d'ambiguïté dans les grammaires formelles par la biais de la correspondance entre les automates et les grammaires réguliÚres : chaque dérivation dans une grammaire réguliÚre correspond à un calcul dans l'automate correspondant. C'est d'ailleurs la notion de grammaire qui est mise en avant dans l'article historique de Stearns et Hunt[5]

Complexité des opérations

La complexitĂ© inambigĂŒe d’un langage, notĂ©e usc(L) (pour « unambiguous state complexitĂ© ») est par dĂ©finition le nombre minimal d’états d’un automate inambigu reconnaissant le langage L.

Bornes connues

Soient L, M des langages rationnels sur un alphabet commun, avec usc(L)=m et usc(M)=n. On a les résultats suivants[9] :

  • image miroir : , oĂč est le langage miroir ;
  • intersection : , et la borne est atteinte sur un alphabet Ă  au moins 2 lettres.
  • quotient gauche : , et la borne est atteinte sur un alphabet Ă  au moins 2 lettres.
  • quotient droit : , et la borne est atteinte sur un alphabet Ă  au moins 2 lettres.
  • mĂ©lange :, et la borne est atteinte sur un alphabet Ă  au moins 5 lettres.
  • produit : , pourvu que , et la borne est atteinte sur un alphabet Ă  au moins 6 lettres.
  • Ă©toile propre (opĂ©ration plus) : , pourvu que , et la borne est atteinte sur un alphabet Ă  au moins 3 lettres.
  • Ă©toile : , pourvu que , et la borne est atteinte sur un alphabet Ă  au moins 3 lettres.

Il est intéressant de comparer la complexité des opérations sur les langages au moyen d' automates déterministes, d'automates inambigus et automates non déterministes. Pour cela, on introduit les notations :

  • sc(L), nombre minimal d’états d’un automate dĂ©terministe reconnaissant le langage L.
  • usc(L), comme ci-dessus le nombre minimal d’états d’un automate inambigu reconnaissant le langage L.
  • nsc(L), nombre minimal d’états d’un automate non dĂ©terministe dĂ©terministe reconnaissant le langage L.

Dans la table suivante, les complexités sont résumées pour des langages donnés de complexité inambiguë n et m[9] :

Opération sc nsc usc
miroir
intersection
quotient gauche
quotient droit
Ă©toile positive
Ă©toile
mélange
produit
complément
[1]

Calcul de minorants

Il existe une mĂ©thode gĂ©nĂ©rale pour calculer des minorants de la complexitĂ© inambigĂŒe. CouplĂ©e avec la construction en gĂ©nĂ©ral plus facile, d'un automate inambigu, elle fournit une borne infĂ©rieur Ă  la complexitĂ© d'une opĂ©ration sur les automates inambigus. La mĂ©thode est basĂ©e sur le calcul du rang d'une matrice associĂ©e Ă  un automate ; elle a Ă©tĂ© dĂ©veloppĂ©e par Schmidt dans une thĂšse non publiĂ©e de 1978, puis par Leung[10], et par Hromkovič et al.[11], et est reprise dans JirĂĄsek et al.[9].

On considĂšre un automate fini non dĂ©terministe sur un alphabet A, oĂč et sont des ensembles d'Ă©tats initiaux et terminaux.

Un état est dit accessible à partir de l'état par le mot s'il existe un chemin d'étiquette de à . Un ensemble d'états est dit accessible s'il existe un mot tel que est l'ensemble des états accessibles à partir d'un état initial par un chemin d'étiquette . On dit qu'un ensemble d'états est coaccessible si est accessible dans l'automate transposé de [12].

Les ensembles non vides d'états qui sont accessibles ou coaccessibles sont notés

et

On a alors la propriété suivante :

L'automate est inambigu si et seulement si deux ensembles d'états de et de quelconques ont au plus un élément en commun :

On s'en sert pour établir le résultat suivant, qui relie la complexité du langage au rang d'une matrice :

ThĂ©orĂšme — Soit la matrice dont les lignes sont indicĂ©es par les Ă©lĂ©ments de et le colonnes indicĂ©es par les Ă©lĂ©ments de , et dont le coefficient d'indice est Ă©gal Ă  0 ou 1 selon que l'intersection de et est vide ou non. Alors on a .

Exemple

Pour vĂ©rifier que la complexitĂ© de l'intersection atteint bien la valeur pour des automates Ă  et Ă©tats, on considĂšre des langages et automates particuliers, et on montre que l'automate pour l'intersection, qui a Ă©tats, ne peut ĂȘtre remplacĂ© par un automate inambigu plus petit Ă  l'aide du thĂ©orĂšme.

On considÚre les langages sur l'alphabet définis par et , pour et fixés. Ce sont donc les langages de mots contenant exactement lettres respectivement exactement lettres . Des automates inambigus (déterministe et incomplets) acceptant ces langages sont et , avec , , et les flÚches de composées de pour et pour tout j, et pour composées de pour tout i et et pour .

L’automate produit est l’automate , oĂč l'ensemble de flĂšches est composĂ© des flĂšches pour et .

Tout ensemble singleton est accessible dans l’automate produit (par ), et est coaccessible (par ), et seuls des ensembles singletons sont accessibles ou coaccessibles. La matrice de l’énoncĂ© est donc la matrice identitĂ© d’ordre , ce qui donne la borne infĂ©rieure pour l'intersection[9].

Notes et références

  1. Mikhail Raskin, « A superpolynomial lower bound for the size of non-deterministic complement of an unambiguous automaton », Arxiv,‎ (arXiv 1711.03993). AcceptĂ© pour ICALP 2018 Ă  Prague.
  2. Colcombet 2015.
  3. Allauzen, Mohri et Rastogi 2011.
  4. Löding 2013, Transparents.
  5. Stearns, Hunt, 1981.
  6. Meyer et Stockmeyer, 1972.
  7. Okhotin 2012.
  8. Arnold 1983.
  9. JirĂĄsek et. al. 2016.
  10. (en) Hing Leung, « Descriptional complexity of nfa of different ambiguity », International Journal of Foundations of Computer Science, vol. 16, no 05,‎ , p. 975–984 (DOI 10.1142/S0129054105003418)
  11. (en) Juraj Hromkovič, Sebastian Seibert, Juhani KarhumĂ€ki, Hartmut Klauck et Georg Schnitger, « Communication Complexity Method for Measuring Nondeterminism in Finite Automata », Information and Computation, vol. 172, no 2,‎ , p. 202–217 (DOI 10.1006/inco.2001.3069)
  12. L'automate transposé est l'automate obtenu en inversant le sens des transitions, et en échangeant les états initiaux avec les états terminaux.

Bibliographie

  • [Löding] Christof Löding, « Unambiguous Finite Automata », Developments in Language Theory,‎ , p. 29–30 (lire en ligne) — Les transparents de sa prĂ©sentation.
  • [Isaak et Löding] Dimitri Isaak et Christof Löding, « Efficient inclusion testing for simple classes of unambiguous \u03c9-automata », Information Processing Letters, vol. 112, nos 14-15,‎ , p. 578-582 (DOI 10.1016/j.ipl.2012.04.010, lire en ligne).
  • [Meyer et Stockmeyer] Albert R. Meyer et Larry J. Stockmeyer, « The equivalence problem for regular expressions with squaring requires exponential space », 13th Annual Symposium on Switching and Automata Theory (SWAT 1972), Institute of Electrical & Electronics Engineers (IEEE),‎ , p. 125-129 (DOI 10.1109/swat.1972.29).
  • [Arnold] AndrĂ© Arnold, « Rational ω-languages are non-ambiguous », Theoretical Computer Science, vol. 26, nos 1-2,‎ , p. 221-223 (DOI 10.1016/0304-3975(83)90086-5).
  • [Okhotin] Alexander Okhotin, « Unambiguous finite automata over a unary alphabet », Information and Computation, vol. 212,‎ , p. 15-36 (DOI 10.1016/j.ic.2012.01.003, lire en ligne).
  • [Stearns et Hunt] Richard E. Stearns et Harry B. Hunt, « On the equivalence and containment problems for unambiguous regular expressions, grammars, and automata », 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981), Institute of Electrical & Electronics Engineers (IEEE),‎ , p. 74–81 (DOI 10.1109/sfcs.1981.29).
  • [Allauzen et al.] Cyril Allauzen, Mehryar Mohri et Ashish Rastogi, « General algorithms for testing the ambiguity of finite automata and the double-tape ambiguity of finite-state transducers », International Journal of Foundations of Computer Science, vol. 22, no 04,‎ , p. 883–904 (DOI 10.1142/S0129054111008477, arXiv 0802.3254)
  • [Colcombet] Thomas Colcombet, « Unambiguity in Automata Theory », dans Descriptional Complexity of Formal Systems, coll. « Lecture Notes in Computer Science » (no 9118), (DOI 10.1007/978-3-319-19225-3_1, lire en ligne), p. 3–18
  • [JirĂĄsek et al.] Jozef JirĂĄsek, Galina JirĂĄskovĂĄ et Juraj Ć ebej, « Operations on unambiguous automata », dans Developments in Language Theory, coll. « Lecture Notes in Computer Science » (no 9840), (DOI 10.1007/978-3-662-53132-7_20, lire en ligne), p. 243–255.

Articles connexes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.