PDFprof.com Search Engine



Analyse de la complexité dalgorithmes sur les automates finis et les

PDF
Images
List Docs
  • Comment évaluer la complexité d'un algorithme ?

    La complexité en temps d'un algorithme sera exprimé par une fonction, notée T (pour Time), qui dépend : de la taille des données passées en paramètres : plus ces données seront volumineuses, plus il faudra d'opérations élémentaires pour les traiter.
    On notera n le nombre de données à traiter.

  • Quels sont les trois éléments de l'analyse d'un algorithme ?

    l'en-tête : cette partie sert à donner un nom à l'algorithme.
    Elle est précédée par le mot Algorithme ; la partie déclarative : dans cette partie, on déclare les différents objets que l'algorithme utilise (constantes, variables, etc.) ; le corps de l'algorithme : cette partie contient les instructions de l'algorithme.

  • Quelle est la complexité de l'algorithme ?

    Qu'est-ce que la complexité algorithmique ? La complexité algorithmique est un concept très important qui permet de comparer les algorithmes afin de trouver celui qui est le plus efficace.
    Il existe une notation standard qui s'appelle big O et qui permet de mesurer la performance d'un algorithme.

  • La complexité en temps sert à savoir quel algorithme il est préférable d'exécuter (sans prise en compte de la mémoire nécessaire) pour obtenir un résultat.

Analyse de la complexité dalgorithmes sur les automates finis et les
Chapitre 4 : Automates complets déterministes
Séance 6 : Décidabilité et Complexité
Introduction à la Théorie des modèles
Théorie des Langages Formels Chapitre 2 : Automates
Chapitre 1 Automates finis
Chapitre 2 : Langages réguliers et Automates détats finis
Chapitre 4 : Automate fini déterministe et non déterministe
Construire lautomate pour le motif AAB
Analyse dalgorithme et génération aléatoire
Analyse dalgorithmes langages et automates
Next PDF List

Analyse de la complexité dalgorithmes sur les automates finis et les

Analyse de la complexite d'algorithmes sur les automates nis etles langagesCe sujet de these porte sur l'analyse de la complexite en moyenne des algorithmes sur lesautomates nis et les langages rationnels.A tout langage rationnel est associe de maniereunique son automate minimal, qui est l'automate le plus petit (ayant le moins d'etats) parmitous les automates deterministes qui reconnaissent ce langage.

Ainsi la complexite en espaced'un langage rationnel peut ^etre interpretee comme le nombre d'etats de son automate minimal.Pour cette mesure, la complexite dans le pire cas des algorithmes sur les automates nis estconnue dans la plupart des cas [5].

En revanche, tres peu de resultats ontete obtenus concernantl'analyse en moyenne de ces algorithmes.L'analyse en moyenne repose sur une etude combinatoire des objets manipules tant d'unpoint de vue analytique qu'algebrique, ainsi que sur une analyse ne des algorithmes consideres.Generation aleatoireUn premier axe de ce projet est lie au developpement theorique et logiciel d'algorithmes degeneration aleatoire.

La generation aleatoire d'automates permet en eet de tester les pro-prietes d'un automate aleatoire et d'etudier experiementalement la complexite d'algorithmescomplexes.

Les resultats empiriques et la possibilite de tester de maniere exhaustive desconjectures sur les objets de petite taille aide a la conception d'algorithmes ecaces et al'elaborationde resultats theoriques.Un generateur aleatoire d'automates deterministes a deja ete concu et developpe [2].

Expe-rimentalement cette librairie permet egalement d'engendrer de maniere ecace des automatesminimaux.

La complexite de cette generation reste a etablir et depend du nombre d'automatesminimaux de taille xee.La conception de generateurs aleatoires d'automates non-deterministes reste un sujet ou-vert.

Plusieurs classes d'automates non-deterministes peuvent ^etre considerees : tous les auto-mates non-deterministes, les automates co-deterministes, les automates obtenus par applica-tion d'un algorithme (celui de Glushkov par exemple), des automates deterministes auxquelson ajoute un nombre xe de transitions non-deterministes Ce premier axe s'inscrit dans le cadre d'un projet ANR Blanc en cours d'evaluation intitule"Generation Aleatoire : Modeles, Methodes et Algorithmes" et dont je suis porteuse.MinimisationUn deuxieme axe de ce projet concerne l'etude de la complexite d'algorithmes de minimisation.Un premier probleme est celui du calcul de la borne inferieure de la complexite dans lepire des cas de la minimisation.

En d'autres termes, quelle est la complexite minimale d'unalgorithme de minimisation ? Nous conjecturons que cette complexite pour la classe des1algorithmes reposant sur des ranements de partitions est proportionnelle anlognounestla taille des automates traites.

Ce resultat etablirait l'optimalite dans le pire des cas del'algorithme de Hopcroft, qui atteint cette borne [3].Un autre probleme est celui de la complexite en moyenne de l'algorithme de Moore.

Al-gorithme tres simple, sa complexite dans le pire cas est enn2.

Experimentalement, sa com-plexite semble sous quadratique et son ecacite en moyenne meilleure que celle de l'algorithmed'Hopcroft.L'etude en moyenne de la complexite de l'algorithme de Brzozowski permettrait de comple-ter cette etude de la minimisation.

Cet algorithme repose sur la determinisation et non plus surle ranement de partitions. Sa complexite dans le pire est exponentielle, mais il se revele e-cace dans certains cas.

Une etude de sa complexite sur la classe des automates co-deterministeserait interessante.DeterminisationDe nombreux problemes par exemple en recherche de motifs sont facilement decrits par desautomates non-deterministes.

Parallelement,la plupart des algorithmes sont bases sur la rep-resentation des langages par un automate deterministe, ou mieux par leur automate minimal.La complexite de la determinisation est dans le pire exponentielle. une etude de la com-plexite moyenne de la determinisation de classes d'automates non-deterministes permettraitde completer l'analyse d'algorithmes classiques.Operations sur les langagesSi la complexite dans le pire cas des operations sur les langages rationnels est souvent connue,la complexite en moyenne des operations de base restent a etudier.

Quelle est par exemple lataille moyenne de l'intersection de deux langages rationnels ?Bibliographie[1] F.

Bassino, C.

Nicaud, Enumeration and random generation of accessible automata,Theoretical Computer Science, 381. (2007), 86{104.[2] F.

Bassino, J. David, C.

Nicaud, REGAL: a Library to randomly and exhaustively gen-erate automata, volume 4783 of LNCS, p. 303-305, Springer-Verlag, 2007.[3] J.

Berstel, O.

Carton, On the complexity of Hopcroft's state minimization algorithm, InCIAA'2004, volume 3317 of LNCS, p. 35-44, Springer-Verlag, 2004.[4] J.-M.

Champarnaud, T. Paranthoen, Random generation of DFAs,Theoret. Comput. Sci.,330 (2005), 221{235.[5] S. Yu, Q. Zhuang and K. Salomaa, The state complexities of some basic operations onregular languages,Theoret. Comput. Sci., 125 (1994), 315{328.2