Thèse soutenue

Machines d'Eilenberg effectives

FR  |  
EN
Auteur / Autrice : Benoît Razet
Direction : Gérard Huet
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2009
Etablissement(s) : Paris 7

Mots clés

FR

Mots clés contrôlés

Résumé

FR  |  
EN

La théorie des automates est apparue pour résoudre des problèmes aussi bien pratiques que théoriques, et ceci dès le début de l'informatique. Désormais, les automates font partie des notions fondamentales de l'informatique, et se retrouvent dans la plupart des logiciels. En 1974, Samuel Eilenberg proposa un modèle de calcul qui unifie la plupart des automates (transducteurs, automates à pile et machines de Turing) et qui a une propriété de modularité intéressante au vu d'applications reposant sur différentes couches d'automates ; comme cela peut être le cas en linguistique computationnelle. Nous proposons de rendre effectif ce modèle en étudiant des techniques de simulation. Le simulateur est défini par un programme fonctionnel énumérant progressivement les solutions en explorant un espace de recherche selon différentes stratégies. Nous introduisons la notion de machines d'Eilenberg finies pour lesquelles nous fournissons une preuve formelle de correction de la simulation. La composante de contrôle d'une machine d'Eilenberg est un automate fini non-déterministe; dans ce contexte, on peut utiliser une expression régulière comme syntaxe pour décrire cet automate. Récemment, un ensemble de travaux approfondissant la notion de dérivées de Brzozowski, a été la source d'algorithmes efficaces de synthèse d'automates non-déterministes à partir d'expressions régulières. Ces algorithmes sont de nature algébrique et nous en faisons un état de l'art, tout en donnant une implémentation en OCaml permettant de les comparer les uns aux autres dans un cadre commun.