Machines d'Eilenberg effectives

par Benoît Razet

Thèse de doctorat en Informatique

Sous la direction de Gérard Huet.

Soutenue en 2009

à Paris 7 .


  • Résumé

    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.

  • Titre traduit

    Effective Eilenberg Machines


  • Résumé

    Automata theory bas been developed to overcome both theoretical and practical problems. Nowadays, automata are considered as basic knowledge by all computer scientists, and they are used in most softwares. In 1974, Samuel Eilenberg gave a new machine model unifying the most common automata such as transducers, pushdown automata, and even Turing machines. Eilenberg machines also have an interesting modularity property that is useful for applications modeled using different levels of automata; as may appear in computational linguistics. We propose an effective design of Eilenberg machines and study simulation techniques. Our Simulator is defined by a functional program that progressively enumerates solutions, exploring a research space according to various of strategies. We introduce the notion of finite Eilenberg machines, and formally prove the correction of the underlying simulation engine. The control component of an Eilenberg machine is defïned by a non-deterministic automaton; in this context, regular expressions may be used as syntax describing the automaton. In recent years, the concept of Brzozowski's derivatives has led to many novel and efficient algorithms that compile regular expressions into non-deterministic automata. We review these state of the art algorithms, give an efficient OCaml implémentation, and compare their efficiency in a common framework.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (114 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. 60 Réf. Index

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Paris Diderot - Paris 7. Service commun de la documentation. Bibliothèque Universitaire des Grands Moulins.
  • PEB soumis à condition
  • Cote : TS (2009) 195
  • Bibliothèque : Centre de recherche Inria Paris. IES.
  • PEB soumis à condition
  • Cote : B2242

Cette version existe également sous forme de microfiche :

  • Bibliothèque : Université de Lille. Service commun de la documentation. Bibliothèque universitaire de Sciences Humaines et Sociales.
  • Non disponible pour le PEB
  • Cote : 2009PA077195
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.