Transduction rationnelle

Un article de Wikipédia, l'encyclopédie libre.

En informatique théorique, en linguistique, en théorie des automates et en théorie des langages, une transduction rationnelle est une transformation de mots et de langages définie par un transducteur fini ou au moyen d'une relation rationnelle. Une relation rationnelle fonctionnelle est aussi appelé fonction rationnelle.

Les transductions rationnelles ont été introduites et étudiées par C. C. Elgot et J. E. Mezei[1], par Marcel-Paul Schützenberger et Maurice Nivat, et employées notamment par Seymour Ginsburg et Sheila Greibach dans l'étude des langages algébriques.

Définition[modifier | modifier le code]

Une relation rationnelle sur deux alphabets et est une partie rationnelle du monoïde produit . En d'autres termes, c'est un élément de la plus petite famille de parties de contenant la relation vide, les singletons, et fermées par union, produit, et l'opération étoile, c'est-à-dire passage au sous-monoïde engendré.

  • Le produit de deux éléments et de est le couple , le produit de deux parties et de est l'ensemble de
  • L' étoile d'une partie de est la partie , où est le produit de facteurs égaux à .

Une transduction rationnelle de vers est une application de dans l'ensemble des parties de dont le graphe est une relation rationnelle[2]. Plus formellement, est une transduction rationnelle si est une relation rationnelle; réciproquement, si est une relation rationnelle, la transduction de vers définie par est une transduction rationnelle.

Certaines propriétés s'expriment plus simplement en termes de relation rationnelle, d'autre en termes de transduction rationnelle.

Transduction et transducteur[modifier | modifier le code]

La fonction réalisée par un transducteur fini est une transduction rationnelle. Réciproquement, pour toute transduction rationnelle, il existe un transducteur fini qui la réalise.

Propriétés[modifier | modifier le code]

Composition
Si et sont des transductions rationnelles, la transduction composée définie par est une transduction rationnelle.
Inverse
Si est une transduction rationnelle, la transduction inverse définie par est rationnelle.
Représentation par morphisme
Pour toute transduction rationnelle , il existe un alphabet , deux morphismes et et un langage rationnel tels que pour tout .
Préservation de la rationalité et de l’algébricité
L'image d'un langage rationnel (resp. d'un langage algébrique) par une transduction rationnelle est un langage rationnel (resp.un langage algébrique).

Exemples de transductions rationnelles[modifier | modifier le code]

  • Un morphisme est une transduction rationnelle
  • Un morphisme inverse est une transduction rationnelle
  • L'intersection avec un langage rationnel est une transduction rationnelle
  • La transduction qui, à un mot de , associe l'ensemble de ses préfixes, resp. suffixes, facteurs, sous-mots, est une transduction rationnelle.

Cône rationnel[modifier | modifier le code]

Un cône rationnel, est une famille de langages fermée par transduction rationnelle. D'après la propriété de représentation, il est équivalent de demander qu'une famille de langages est fermée par morphisme, morphisme inverse et intersection avec un langage rationnel.

Un cône rationnel est appelé full trio en anglais. La raison est qu'un cône est fermé par un « trio » d'opérations et que le morphisme peut être effaçant, ce que les américains notent par l'adjectif full.

Un cône fidèle est une famille de langages fermée par morphisme non effaçant, morphisme inverse et intersection avec un langage rationnel. C'est ce qui est appelé trio en anglais.


Les langages rationnels, les langages algébriques, mais aussi de nombres sous-familles des langages algébriques, comme les langages linéaires, les langages à un compteur, les langages quasi-rationnels forment des cônes rationnels. Les langages context-sensitifs forment un cône fidèle.

Un cône rationnel est principal s'il existe un langage (un générateur) tel que tout langage du cône est image de ce générateur par une transduction rationnelle. Le théorème de Chomsky-Schützenberger dit, dans une version un peu renforcée, que le cône des langages algébriques est principal, et que tout langage de Dyck sur au moins deux paires de parenthèses en est un générateur.

Notes[modifier | modifier le code]

  1. Elgot et Mezei (1965)
  2. Il y a là un abus de notation: on écrit alors que l'on devrait écrire

Références[modifier | modifier le code]

  • Jacques Sakarovitch, Éléments de théorie des automates, Vuibert, , 816 p. (ISBN 978-2-7117-4807-5)
    Traduction anglaise avec corrections: Elements of Automata Theory, Cambridge University Press 2009, (ISBN 9780521844253)
  • Jean-Michel Autebert et Luc Boasson, Transductions rationnelles : Application aux Langages Algébriques, Masson, (ISBN 978-2-225-81504-1)
  • (en) Calvin C. Elgot et Jorge E. Mezei, « On relations defined by generalized finite automata », IBM J. Res. and Develop., vol. 9,‎ , p. 47-68 (DOI 10.1147/rd.91.0047)
  • (en) Seymour Ginsburg, Algebraic and automata theoretic properties of formal languages, North-Holland, , 313 p. (ISBN 0-7204-2506-9)
  • (en) Jean Berstel et Luc Boasson, « Context-free Languages », dans Jan van Leeuwen (éditeur), Handbook of Theoretical Computer Science, vol. B : Formal Models and Semantics, Elsevier, (ISBN 978-0444880741), p. 59-102

Liens internes[modifier | modifier le code]