Complexité en états

La complexité en états (en anglais « state complexity ») est un thème en informatique théorique qui traite de la taille d'automates abstraits, tels que les diverses variantes des automates finis reconnaissant un langage rationnel donné. Un exemple typique dans ce domaine est le résultat selon lequel un automate fini non déterministe à états peut être simulé par un automate fini déterministe à au plus états, et que cette borne peut être atteinte.

La complexité en états d'un langage régulier est la taille, mesurée en nombre d'états, du plus petit automate fini, soit déterministe, soit non déterministe qui reconnaît ce langage. La complexité opérationnelle (en anglais « operational state complexity ») est la description de la complexité en états des diverses opérations sur les langages qui préservent leur régularité.

On distingue entre plusieurs problèmes dans cette thématique : la transformation d'un modèle d'automate en un autre, et la complexité des opérations sur les langages et leurs automates. Parfois, des résultats existent sur des sous-familles de langages réguliers. Enfin, il apparaît que dans le cas des langages sur un alphabet de taille donnée, et notamment sur un alphabet à une seule lettre (alphabet unaire), des résultats plus précis peuvent être formulés. Plusieurs exposés de synthèse ont été rédigés sur ces problèmes, par Holzer et Kutrib[1],[2] et par Gao et al.[3].

La détermination de la complexité d'un opération ou d'une transformation demande deux informations : d'abord un procédé général dont on sait majorer le coût, en nombre d'états, dans tous les cas ; ensuite un jeu d'exemples qui montrent que la majoration est en fait une borne supérieure, c'est-à-dire effectivement atteinte. L'exemple le plus connu est la déterminisation d'un automate fini non déterministe à n états : l'algorithme de la construction par sous-ensembles fournit un automate qui a toujours au plus états ; la deuxième étape demande de fournir des exemples où cette borne est effectivement atteinte.

Transformation entre variantes d'automates finis

Un automate fini peut êtredéterministe ounon déterministe,unidirectionnel (noté AFD, AFN)ou bidirectionnel(noté alors 2AFD, 2AFN). D'autres types sont les automatesinambigus (notés UFA),automates auto-vérifiant (en) (SVFA)et les automates alternants (AFA).Ces automates peuvent également être bidirectionnels (les classes sont ntées 2UFA, 2SVFA, 2AFA).

Tous ces modèles de machines reconnaissent exactement les langages rationnels. Toutefois, la taille de ces différents types d'automates, mesurée en nombre d'états, peut être différente. Le gain (la perte) de complexité entre deux de ces types d'automates est une fonction , qui, pour un automate du premier type à état, associe le nombre minimal d'état d'un automate du deuxième type qui est reconnaît le même langage.

Voici les résultats de complexité pour les diverses opérations de transformation.

  • De AFN en AFD: états. C'est la construction par sous-ensembles de Rabin et Scott[4], l'optimalité a été prouvée par Lupanov[5].
  • De UFA en AFD : états[6]. Une borne inférieure plus petite est de Schmidt[7].
  • De AFN en UFA : états[6]. Une borne inférieure plus petite est de Schmidt[7].
  • De SVFA en AFD : états[8]
  • De 2AFD en AFD : états[9]. Une construction plus ancienne par John Cedric Shepherdson[10] utilise plus d'états, et une borne inférieure par Frank R. Moore [11] est moins bonne.
  • De 2AFD en AFN : états[9]. Une construction antérieure par Birget[12] utilise plus d'états.
  • De 2AFN en AFN : [9].
  • De AFA en AFD : états, démonstration par Ashok K. Chandra, Dexter Kozen et Larry Stockmeyer en 1981[13]
  • De AFA en AFN : états[14]
  • De 2AFA en AFD : états[15]
  • De 2AFA en AFN : états[16]

Résumé

Complexité de transformation
AFDUFAAFN
AFN -
UFA -
SVFA
2AFD
2AFN
AFA
2AFA

Le problème 2AFD versus 2AFN et l’espace logarithmique

Le problème suivant est ouvert : Peut-on déterminiser un automate bidirectionnel non déterministe (2AFN), c'est-à-dire le convertir en un automate bidirectionnel déterministe (2AFD) ayant un nombre polynomial d'états, en d'autres termes avec états pour un automate de départ à et un polynôme . Ce problème a été posé en 1978 par William J. Sakoda et Michael Sipser[17]. Piotr Berman et Andrzej Lingas[18] ont découvert une relation entre ce problème et le problème ouvert du lien etre les classes de complexité L et NL. Cette relation a été apporfondie par Christos Kapoutsis[19].

Complexité en états d'opérations entre langages

Étant donné une opération binaire entre langages formes préservant la régularité et une famille d'automates (déterministe, non déterministe etc.) la complexité en états de l'opération est une fonction telle que

  • pour toute paire d'automates à états et à états de la famille , il existe un automate à états de la famille qui accepte le langage
  • pour toute paire d'entiers , il existe un automate à états et un automate à états dans la famille X telle que tout automate de la famille acceptant a au moins états.

Des définitions analogues valent pour des opérations a plus de deux arguments.

Les premiers résultats sur la complexité des opérations, pour les automates finis déterministes, ont été publiés par A. N. Maslov en 1970[20], d'autre travaux pionniers, plus récents sont de Sheng Yu, Qingyu Zhuang et Kai Salomaa en 1994[21] et deMarkus Holzer et Martin Kutrib en 2003[22]

On suppose que est accepté par un automate à états, et par un automate à états ; on demande le nombre d'états.

Union

Nombre d'états nécessaires pour  :

  • AFD: états, démontré par Maslov[20] et Yu, Zhuang et Salomaa[21].
  • AFN: états, établi par Holzer et Kutrib[22].
  • UFA: entre et états[23]
  • SVFA: états[24]
  • 2AFD: entre et états[25]
  • 2AFN: états[26]

Intersection

Nombre d'états nécessaires pour  :

  • AFD: états[20],[21].
  • AFN: états[22].
  • UFA: états[23].
  • SVFA: états[24].
  • 2AFD: soit soit états, par Kunc et Okhotin[25].
  • 2AFN: soit soit états[26].

Complémentation

Si le langage L requiert états, le complément demande le nombre d'états suivant :

  • AFD: états, en échangeant les états acceptants et les autres.
  • AFN: états, par Birget[27]
  • UFA: au moins pour tout et au plus états d'après Raskin (2018)[28] pour la borne inférieure et Indzhev et Kiefer[29] pour la borne supérieure.
  • SVFA: états, par échange d'états acceptants et non acceptants.
  • 2AFD: au moins et au plus états[30].

Concaténation

Nombre d'états requis pour le produit  :

  • AFD: états, déjà Maslov [20] et Yu, Zhuang et Salomaa[21].
  • AFN: états, Holzer et Kutrib[22].
  • UFA: états[23].
  • SVFA: états[24].
  • 2AFD:au moins et au plus états[31].

Voir aussi Bordihn, Hospodár et. al. (2019)[32].

Étoile de Kleene

  • AFD: états, déjà Maslov[20] et Yu, Zhuang et Salomaa[21].
  • AFN: états[22].
  • UFA: états[23].
  • SVFA: états[24].
  • 2AFD:au moins et au plus états[31].

Transposé

  • AFD: états, par Boris G. Mirkin[33], Ernst Leiss[34], et Yu, Zhuang et Salomaa[21].
  • AFN: états[22].
  • UFA: états.
  • SVFA: états[24].
  • 2AFD:soit soit états[31].

Résumé

La table suivante résume les complexités ; elle figure aussi en partie dans l'article d'Okhotin et Salomaa[35] où contient les bornes connues en 2017 pour la complexité des opérations pour les automates finis déterministes (AFD), inambigus (UFA), non déterministes(AFN).

Complexité des opérations binaires
AFDAFNUFASVFA2AFD2AFN
union
intersection
complément
concaténation
étoile
transposé

Une variante est la complexité en états d'opérations inambigues sur les automates. Des résultats ont été présentés à la International Conference on Descriptional Complexity of Formal Systems (2018) ; l'article détaillé intitulé « State complexity of unambiguous operations on finite automata » de Galina Jirásková et Alexander Okhotin paraît en décembre 2019[36]. La borne en états pour le complémentaire d'un automate fini non ambigu avec états est d'Emil Indzhev et Stefan Kiefer[29]

Automates finis sur un alphabet unaire

L'étude de la complexité en états des automates finis sur un alphabet à une seule lettre (alphabet « unaire ») a été initiée par Marek Chrobak en 1986[37]. Les résultats sont différents car la structure particulière des automates unaires fait naturellement appel à des fonctions de théorie des nombres.

Soit la fonction de Landau.

Transformation entre modèles

Les transformations sont parfois plus efficaces que dans le cas général.

  • De AFN en AFD: états[37].
  • De 2AFD en AFD: états[37] et Kunc et Okhotin[38]
  • De 2AFN en AFD: états[38], Mereghetti et Giovanni Pighizzini[39] et Geffert, Mereghetti et Pighizzini[40].
  • De AFN en 2AFD: au plust [37].
  • De 2AFN en 2AFD: au plua états ; majoration établie avec la méthode du théorème de Savitch[40].
  • De UFA en AFD: états[41].
  • De AFN en UFA: états[41].

Union

  • AFD: états, par Yu, Zhuang et Salomaa[21].
  • AFN: états, par Holzer et Kutrib[22].
  • 2AFD: entre et états[25].
  • 2AFN: états[26].

Intersection

  • AFD: états, par Yu, Zhuang et Salomaa[21].
  • AFN: états, par Holzer et Kutrib[22].
  • 2AFD: entre et états[25].
  • 2AFN: entre et états[26].

Complémentation

  • AFD: états.
  • AFN: états[22].
  • UFA: au moins et au plus états[41].
  • 2AFD: au moins et au plus états[25].
  • 2AFN: au moins et au plus états. La majoration est obtenue avec la méthode du théorème d'Immerman-Szelepcsényi[30].

Concaténation

  • AFD: états[21].
  • AFN: entre et états[22].
  • 2AFD: états[25].
  • 2AFN: états[25].

Étoile de Kleene

  • AFD: états, déjà Yu, Zhuang et Salomaa[21].
  • AFN: états[22].
  • UFA: états[41].
  • 2AFD: états[25].
  • 2AFN: états[25].

Résumé

La table suivante résume ces complexités.

Complexité des opérations binaires
AFDAFNUFA2AFD2AFN
union -
intersection -
complémentation
concaténation -
étoile

Opérations combinées

Janusz A. Brzozowski a publié des articles[42], où il étudie l'influence de divers paramètres sur la complexité en états. Il définit une famille de langages qui pour certaines opérations atteignent les bornes supérieures, à l'aide d'une famille particulière d'automates appelés automates de Brzozowski par Caron et al.[43].

La complexité pour des opérations combinées a été étudiée par Bo Cui, Yuan Gao, Lila Kari, Kai Salomaa et Sheng Yu et d'autres dans une série d'articles[44],[45],[46].

La complexité de deux opérations combinées est majorée par la composition des majorations de chacune des opérations, mais les bornes supérieures atteintes dans chacune des opérations peuvent se simplifier dans leur composition, puisque le résultat d'une première opération n'est pas toujours un automate qui peut atteindre la borne pour la deuxième.

Ainsi, la complexité de la concaténation d'un AFD à états et d’un AFD à états est  ; la complexité d’une opération booléenne d’un AFD à états et d'un AFD à états est . La combinaison d'une concatéation et d'une intersection (un langage ) est , alors que dans la combinaison avec une union , elle descend à [44].

Jozef Jirásek et Galina Jirásková[47] étudient la complexité du bord d'un langage rationnel. Pour un langage rationnel donné, le bord est par définition le langage

,

c'est-à-dire l'intersection de l’étoile d'un langage et de l’étoile de son complémentaire. Ici, la complémentation est notée par l'exposant c. Si est la complexité en état de , alors la complexité du complémentaire est également , et la complexité en état de et de est au plus . Les auteurs montrent que la complexité en état du bord est en . La majoration est, plus précisément, . Cette borne est atteinte sur alphabet à 5 lettres, sur 4 lettres elle est la même à une unité près[47].

Une approche plus algébrique du problème est proposée par Pascal Caron et. al.[43]. Ils montrent que les opérations de la forme se ramènent, quitte à remplacer les langages ou par leur complémentaires, aux trois cas où l'opération est l’union, l'intersection et la différence symétrique. Ils obtiennent des bornes qui s'expriment à l'aide de fonctions connues en combinatoire algébrique. Un autre article[48] traite de concaténations multiples ; ils montrent que la borne supérieure est atteinte sur un alphabet à lettres pour concaténations. Ils précisent aussi l'expression de la complexité en états, et utilisent les automates de Brzozowski dans ces développements[49]. Ils systématisent ensuite leur approche et donnent plusieurs applications[50],[51],[52].

Autres travaux

De nouveaux résultats sur la complexité en états sont présentés régulièrement dans des conférences commeDescriptional Complexity of Formal Systems (DCFS) et Conference on Implementation and Application of Automata (CIAA),et dans diverses autres conférences en informatique théorique ou dans des revues spécialisées[53],[54],[55].

Articles liés

Références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « State complexity » (voir la liste des auteurs).
🔥 Top keywords: Wikipédia:Accueil principalListe de sondages sur les élections législatives françaises de 2024Spécial:RechercheJordan BardellaChampionnat d'Europe de football 2024N'Golo KantéJodie DevosKylian MbappéÉlections législatives françaises de 2024Marcus ThuramLe Jardin des Finzi-Contini (film)Maria Schneider (actrice)Cookie (informatique)Championnat d'Europe de footballNouveau Front populaireKevin DansoAntoine GriezmannÉric CiottiChampionnat d'Europe de football 2020Dominique SandaMike MaignanWilliam SalibaLionel JospinÉlections législatives de 2024 dans l'EssonneFront populaire (France)Françoise HardyÉlections législatives de 2024 à ParisRassemblement nationalJean-Luc MélenchonFichier:Cleopatra poster.jpgOlivier GiroudSébastien ChenuDidier DeschampsLa Chronique des BridgertonÉlections législatives de 2024 dans les YvelinesLilian ThuramListe de partis politiques en FranceAnne SinclairGabriel Attal