Thèse soutenue

Automates codéterministes et automates acycliques : analyse d'algorithmes et génération aléatoire

FR  |  
EN
Auteur / Autrice : Sven De Félice
Direction : Cyril Nicaud
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 01/07/2014
Etablissement(s) : Paris Est
Ecole(s) doctorale(s) : École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de l'Institut Gaspard Monge (1997-2009) - Ligm
Jury : Président / Présidente : Frédérique Bassino
Examinateurs / Examinatrices : Cyril Nicaud, Julien Clément, Inès Klimann, Philippe Duchon, Pierre-Cyrille Héam
Rapporteurs / Rapporteuses : Antonio Restivo, Michèle Soria

Résumé

FR  |  
EN

Le cadre générale de cette thèse est l'analyse quantitative des objets issus de la théorie des langages rationnels. On adapte des techniques d'analyse d'algorithmes (complexité en moyenne, complexité générique, génération aléatoire, ...) à des objets et à des algorithmes qui font intervenir des classes particulières d'automates. Dans une première partie nous étudions la complexité de l'algorithme de minimisation de Brzozowski. Bien qu'ayant une mauvaise complexité dans le pire des cas, cet algorithme a la réputation d'être efficace en pratique. En utilisant les propriétés typiques des applications et des permutations aléatoires, nous montrons que la complexité générique de l'algorithme de Brzozowski appliqué à un automate déterministe croît plus vite que tout polynôme en n, où n est le nombre d'états de l'automate. Dans une seconde partie nous nous intéressons à la génération aléatoire d'automates acycliques. Ces automates sont ceux qui reconnaissent les ensembles finis de mots et sont de ce fait utilisés dans de nombreuses applications, notamment en traitement automatique des langues. Nous proposons deux générateurs aléatoires. Le premier utilise le modèle des chaînes de Markov, et le second utilise la ''méthode récursive'', qui tire partie des décompositions combinatoires des objets pour faire de la génération. La première méthode est souple mais difficile à calibrer, la seconde s'avère plutôt efficace. Une fois implantée, cette dernière nous a notamment permis d'observer les propriétés typiques des grands automates acycliques aléatoires