Les AFNs sont très utilisés pour les traitements séquentiels sur des suites de symboles (mots, phrases, suites d'actions...) à cause de la facilité de mise en oeuvre du procédé et des avantages qu'ils offrent dans le cas de modifications ou d'extensions d'un traitement.
Cependant, on utilise souvent des AFNs généralisés qui ne se contentent pas de reconnaître des chaînes de symboles, mais éventuellement qui les traitent au passage. Les généralisations classiques sont les suivantes :
Dans le cadre des automates généralisés (cas 1), il est donc possible de simplifier les transitions en introduisant la notion de classe de symboles. La figure suivante montre comment les utiliser :
Automate avec classes de symboles
Une application illustrant cette généralisation concerne les "transducteurs" ("Machines séquentielles"). Un transducteur permet de réaliser une transduction de l'alphabet d'entrée vers un alphabet de sortie. Un transducteur est aussi appelé "Machine de Moore" lorsque la sortie est produite pour chaque état et "Machine de Mealy" lorsqu'elle est produite pour chaque transition.
Une machine de Moore est donc définie de la manière suivante :
|
Une machine de Moore est composée de la même manière qu'un automate d'état fini. Elle est défini par (A, A', Q, I, F, μ, μ') tel que :
|
Prenons comme exemple la machine suivante ({a,b,c,d,e,f,g},{1,2,3,4,5,6},{1},{6}, μ, {μ'(1)=0, μ'(2))1, μ'(3)=0, μ'(4)= 1, μ'(5)=0, μ'(6)=1}) avec μ décrite par le graphe de transitions suivant :
Machine de Moore
Sur cette machine, les mots suivants sont acceptés et donnent :
Une machine de Mealy est définie de la manière suivante :
|
Une machine de Mealy est composée de la même manière qu'un automate d'état fini. Elle est défini par (A, A', Q, I, F, μ) tel que :
|
Prenons comme exemple la machine suivante ({a,b,c,d,e,f,g},{1,2,3,4,5,6},{1},{6}, μ) avec μ décrite par le graphe de transitions suivant :
Machine de Mealy
Sur cette machine, les mots suivants sont acceptés et donnent :
Soit une machine de Moore, notée Mo, qui imprime x au départ et une machine de Mealy, notée Me. Les deux machines sont équivalentes, Mo ≡ Me, si pour tout mot d'entrée, Me imprime w et Mo imprime xw. |
A partir de cette définition, deux théorèmes sont démontrables. tout d'abord :
Pour toute machine de Moore, il existe une machine de Mealy tel que les deux machines sont équivalentes. |
Démonstration :
La démonstration se fait par construction de Me à partir de Mo.
Puis :
Pour toute machine de Mealy, il existe une machine de Moore tel que les deux machines sont équivalentes. |
Démonstration :
La démonstration se fait par construction de Mo à partir de Me.
Exercices et tests :
Exercice 4.1. Donner la machine
de Mealy permettant de calculer le complément binaire.
Par exemple, "101" donne "010", "001010" donne
"110101"...
Exercice 4.2. Ecrire l'automate
généralisé permettant de compter le nombre d'occurrences
du facteur "ac" pour des mots de l'alphabet A={a,b,c} contenant
au moins deux "a" consécutifs.
mercredi, 26/11/03 9:40