Transducteur fini
En informatique théorique, en linguistique, et en particulier en théorie des automates, un transducteur fini (appelé aussi transducteur à états finis par une traduction maladroite de l'anglais finite state transducer) est un automate fini avec sorties. C'est une extension des automates finis. Ils opèrent en effet sur les mots sur un alphabet d'entrée et, au lieu de simplement accepter ou refuser le mot, ils le transforment, de manière parfois non déterministe, en un ou plusieurs mots sur un alphabet de sortie. Ceci permet des transformations de langages, et aussi des utilisations variées telles que notamment l'analyse syntaxique.
Une des propriétés remarquables des transducteurs finis est qu'ils transforment les langages rationnels en langages rationnels, et les langages algébriques en langages algébriques.
Sommaire |
Définitions formelles
Transducteur fini
Un transducteur fini est défini par un 6-uplet T = (
,
,
,
,
,
), où :
l' alphabet d'entrée
l' alphabet de sortie
l'ensemble fini des états du transducteur
l'ensemble des états initiaux 
l'ensemble des états finals 
la table de transition : c'est un sous-ensemble de
où
est le mot vide.
La propriété
signifie qu'il existe une transition de l'état
vers l'état
par laquelle on lit le symbole
et on écrit le symbole
. Ceci est fréquemment représenté par l'écriture
Le symbole
est l' étiquette d'entrée, le symbole
est l' étiquette de sortie de la transition. On note comme d'usage
le monoïde libre des mots sur l'alphabet d'entrée
le monoïde libre des mots sur l'alphabet de sortie
Clôture transitive
La clôture transitive
de
est la plus petite relation (pour l'inclusion des relations) vérifiant :
(réfléxivité)
- Si
et
, alors
(transitivité)
En d'autres termes,
signifie qu'il existe un chemin de l'état
vers l'état
dont l'étiquette d'entrée est le mot
et l'étiquette de sortie est le mot
. Un chemin est réussi si
et
.
Relation rationnelle
Par analogie avec les automates à états finis qui reconnaissent un langage, un transducteur fini
reconnaît une relation, notée
du produit cartésien des deux monoïdes libres. On a
ou
si et seulement s'il existe
et
tel que
. En d'autres termes,
est en relation avec
si et seulement s'il existe un chemin réussi qui lit
et écrit
.
Variante de définition
Au lieu de demander que les étiquettes des transition soient des lettres ou le mot vide, on autorise comme étiquettes des mots sur l'alphabet d'entrée resp. l'alphabet de sortie.
Les différentes façons de considérer un transducteur fini
Un transducteur fini peut être vu de plusieurs façons, ce qui permet des utilisations tout à fait différentes.
Transducteur vu comme un automate
Dans le cas où aucune des étiquettes du transducteur n'est le mot vide, on peut voir un transducteur comme un cas particulier des automates finis. Il vérifie alors les propriétés classiques des automates.
Il suffit en effet de considérer un automate dont l'alphabet est le produit cartésien des deux alphabets :
.
Transducteur vu comme une relation rationnelle
Le fait de considérer un transducteur comme une relation rationnelle permet d'établir une propriété primordiale dans l'étude et l'utilisation de ceux-ci : la clôture par composition.
Opérations sur les transducteurs
Opérations héritées des automates
- Union : soient
et
deux transducteurs finis. La relation ![[A \cup B]=[A] \cup [B] - Wikipedia Orange](//upload.wikimedia.org/wikipedia/fr/math/3/1/f/31f7300d417a9baa205873dfe105a6ed.png)
définit un transducteur fini, noté
.
- Produit de concaténation : soient
et
deux transducteurs, alors il existe un transducteur noté
tel que
si et seulement si
et
. En d'autres termes,
.
- Fermeture de Kleene : soit
, alors il existe un transducteur noté
qui correspond à la fermeture de Kleene pour l'opération de concaténation.
- Intersection : l'intersection de deux relations
et
est la relation
définie par
. Même si
et
sont des relations rationnelles, leur intersection n'est pas nécessairement une relation rationnelle.
Composition
Considérons deux transducteurs finis
et
tels que l'alphabet de sortie de
coïncide avec l'alphabet d'entrée de
.
Le composé
est défini par la relation
:
tel que
et
.
Il est important de noter que la composition de deux transducteurs finis est encore un transducteur fini. Ainsi la composition permet d'élaborer facilement des transducteurs ayant une fonction complexe à partir de transducteurs simples.
Projections
- Projection gauche : la projection gauche d'une relation
est l'ensemble
. Soit
un transducteur fini. La projection gauche de la relation
est un langage rationnel: il existe automate fini qui la reconnaît; il suffit en effet d’« oublier » les étiquettes de sortie sur les transitions de
.
- Projection droite : de même, la projection droite d'une relation rationnelle est un langage rationnel.
Application à l'analyse grammaticale
L'opération de composition permet de créer très facilement un transducteur qui, à partir d'une séquence de lettres (une phrase) reconnaît la fonction grammaticale de chaque mot.
Pour cela on définit deux transducteurs :
- Un transducteur
(Lexique) qui transforme une séquence de lettres suivies d'un espace en un mot.
- Un transducteur
(Dictionnaire) qui transforme un mot en sa fonction grammaticale (ou éventuellement plusieurs si le mot est ambigu).
Il suffit ensuite de considérer le transducteur composé
Comme la composition préserve la fonction des transducteurs, ce nouveau transducteur prendra en entrée une séquence de lettres, et écrira en sortie une séquence de fonctions grammaticales correspondants aux mots de la phrase.
Extension du modèle : transducteur fini pondéré
De même que pour les automates finis, les transducteurs finis peuvent être améliorés en les pondérant. La méthode est d'ailleurs identique à celle utilisée pour les automates fini pondérés.
Une telle optimisation peut se voir utilisée par exemple dans des correcteurs d'orthographe. Pour cela, il suffit de définir une distance entre les mots comme par exemple d(u,v) = nombre de modifications nécessaires pour transformer u en v. Il suffit alors de définir un transducteur qui réalise des transformations élémentaires (changement de lettre, ajout d'une lettre, suppression d'une lettre) en pondérant correctement ces transformations.
Ainsi, à chaque fois qu'un mot n'existe pas dans le dictionnaire, une comparaison de ce mot aux autres par l'intermédiaire du transducteur pondéré déterminera quel mot correct est le plus proche.

où
est le mot vide.
le monoïde libre des mots sur l'alphabet d'entrée
le monoïde libre des mots sur l'alphabet de sortie

(réfléxivité)
, alors
(transitivité)
et
deux transducteurs finis. La relation ![[A \cup B]=[A] \cup [B] - Wikipedia Orange](http://upload.wikimedia.org/wikipedia/fr/math/3/1/f/31f7300d417a9baa205873dfe105a6ed.png)
tel que
si et seulement si
et
. En d'autres termes,
.
qui correspond à la
et
est la relation
. Soit
(Lexique) qui transforme une séquence de lettres suivies d'un espace en un mot.
(Dictionnaire) qui transforme un mot en sa fonction grammaticale (ou éventuellement plusieurs si le mot est ambigu).