Académique Documents
Professionnel Documents
Culture Documents
i
Automates 2006/4/16 11:20 page 1 #1
Automates finis
Jean-Eric
Pin
Mots-cl
es : automate, langage, expression rationnelle, reconnaissable, automate s
equentiel, industrie de la langue,
v
erification, sp
ecification.
R
esum
e : introduits vers 1950, les automates finis constituent le mod`
ele le plus
el
ementaire de machine. Ce chapitre
pr
esente dune part les automates usuels, qui se contentent de lire un mot en entr
ee pour laccepter ou le rejeter, et
les automates s
equentiels, munis dune entr
ee et dune sortie. Apr`
es une br`
eve pr
esentation du th
eor`
eme de Kleene,
cl
e de vo
ute de la th
eorie des automates, nous d
ecrivons les applications des automates dans divers domaines,
notamment la mod
elisation et les industries de la langue.
Un bref historique
Neumann en reference `
a cet article. Par ailleurs,
`
a la demande de la RAND Corporation, Kleene a
longuement analyse cet article dans un memoire
redige durant lete 1951, mais publie seulement en
1956. Cet article marque la naissance de la theorie
des automates.
Kleene y demontre un theor`eme qui affirme
que les langages reconnus par un automate sont
exactement les langages rationnels, appeles aussi
langages reguliers, que lon peut decrire `
a partir des lettres de lalphabet eu utilisant trois
operations : lunion (qui joue le r
ole de laddition), le produit et letoile. On obtient ainsi un
procede descriptif tout `
a fait different des automates, et ce resultat est assez surprenant. Il a
pour consequence que lensemble des langages rationnels est ferme par intersection et complement.
Les automates avec sortie ont ete introduits
eux aussi `
a la fin des annees cinquante. Un automate avec sortie lit un mot en entree et produit
un mot en sortie. Les mod`eles les plus interessants
sont les automates sequentiels, qui permettent
dobtenir la sortie au fur et `
a mesure de la lecture
du mot dentree. Ces automates sont tr`es proches
des circuits electroniques et leur synth`ese en circuit peut dailleurs etre enti`erement automatisee.
La theorie des automates est nee de la convergence de plusieurs courants scientifiques. Le premier est issu des tentatives de logiciens tels que
Church, G
odel ou Turing pour formaliser la notion
de calcul et de machine. Cet effort a occupe toute
la premi`ere moitie du vingti`eme si`ecle et pourtant,
les automates finis, qui constituent le mod`ele le
plus simple de machine, ne seront definis formellement que bien apr`es les machines de Turing. Les
syst`emes dynamiques discrets forment la seconde
source dinspiration. Bien que leur etude remonte
aux travaux de Morse datant de la premi`ere moitie
du vingti`eme si`ecle, leurs liens avec les automates
finis font encore `
a ce jour lobjet de recherches
tr`es actives. Le troisi`eme courant, proche cousin du precedent, est la theorie de linformation
b
atie par Shannon en 1948. Les probl`emes de codage, etudies notamment par Sch
utzenberger d`es
les annees cinquante, ont en effet profondement
influence la theorie des automates. La quatri`eme
source provient de linguistes tels que Chomsky
qui, en cherchant `
a formaliser les langues naturelles, ont introduit les concepts de mots, langages, grammaires, que nous utilisons aujourdhui.
Le domaine des circuits electroniques a ete la cinqui`eme source dinspiration. Il a conduit notamment `
a la notion dautomate avec sortie et au
concept de specification du comportement dun
circuit.
Les cinq domaines que nous venons devoquer
bri`evement ont eu une influence considerable sur
la gen`ese et le developpement de la theorie des automates. Mais historiquement, cest un article sur
les reseaux neuronaux publie en 1943 par McCulloch et Pitts qui est `
a lorigine de la notion dautomate. Il semble en effet que le terme theorie
des automates ait ete introduit en 1948 par Von
Mots et langages
En informatique, mais aussi en mathematiques, en linguistique ou en biologie, les informations sont souvent representees par des chanes
de caract`eres. Par exemple pour les donnees informatiques, on utilise des suites de 0 et de 1,
pour linformation genetique, des suites formees
des quatre caract`eres A (Adenine), C (Cytosine),
G (Guanine) et T (Thymine) et pour les langues
naturelles, les mots figurant dans un dictionnaire.
La formalisation commune `
a ces exemples est
i
i
i
Automates 2006/4/16 11:20 page 2 #2
i
2
Automates finis
Langages reconnaissables
Lensemble des mots acceptes par un automate est par definition le langage reconnu par
lautomate. On dit quun langage est reconnaissable sil existe un automate deterministe qui le
reconnat. En voici deux exemples.
Lautomate de la figure 1.2 reconnat le langage des mots sur lalphabet {a, b} qui commencent par aba.
a, b
Automates d
eterministes
1
a
b
1
3
0
0
1
i
i
i
Automates 2006/4/16 11:20 page 3 #3
i
Automates non d
eterministes
de ce resultat est quun automate fini ne peut simuler une pile de hauteur non bornee (voir chapitre Mod`eles de machines).
poss`ede 2n etats. Fort heureusement, cette situation extreme se rencontre rarement en pratique.
a, b
Automates non d
eterministes
Les automates non deterministes constituent une variante importante des automates
deterministes. Ils sont eux aussi representes par
un graphe etiquete, comme celui de la figure 1.4.
a, b
2
a
a, b
a
a
a
a
b
3
0, 1
Automate minimal
Expressions rationnelles
i
i
i
Automates 2006/4/16 11:20 page 4 #4
i
4
Automates finis
0, 1
0
0
L + L = {u A | u L ou u L }
LL = {uu | u L et u L }.
Pour L = ab + abc et L = ab + cab, on trouve L +
L = ab+abc+cab et LL = abab+abcab+abccab.
Comme pour les mots, on peut definir les puissances dun langage en posant L0 = {}, L1 = L,
L2 = LL, etc.
Letoile dun langage L, notee L , est lunion
de toutes les puissances de L :
X n
L .
L =
n>0
Le th
eor`
eme de Kleene
Automates s
equentiels
0|0
0|01
0|
1|
00
1|011
i
i
i
Automates 2006/4/16 11:20 page 5 #5
i
Automates s
equentiels
0|
0|0
1|
1 1 2 2 3
1|011
0|
1|
00
3 1 2 3
La sortie est obtenue comme produit des mots de
sortie 0, 1, , 0, , 011, , , 00, soit 01001100.
Comme pour les automates deterministes, on
peut minimiser un automate sequentiel, bien que
lalgorithme soit plus delicat `
a mettre en place.
Une fonction est dite sequentielle si elle peut etre
realisee par un automate sequentiel. Un resultat
essentiel assure que la composition de deux fonctions sequentielles est sequentielle.
Un automate sequentiel est dit lettre `
a lettre
si les mots de sortie de chaque transition sont des
lettres. Un automate de Mealy est un automate
lettre `
a lettre dont letat initial et les etats finaux sont etiquetes par le mot vide, ce qui signifie
en pratique que lon peut ignorer ces etiquettes.
Un automate de Moore est une variante dautomate sequentiel dans laquelle les sorties sont
liees aux etats traverses et non aux transitions.
On peut demontrer que tout automate de Moore
peut etre simule par un automate de Mealy et
reciproquement.
La figure 1.10 represente un automate
sequentiel lettre `
a lettre qui permet de realiser la
multiplication par 3 des entiers representes sous
forme binaire inversee. Comme son nom lindique,
la representation binaire inversee est obtenue en
lisant de droite `
a gauche la representation binaire
usuelle. Dans le jargon des informaticiens, cest
la representation binaire dans laquelle le bit de
droite a le plus fort poids.
1|1
( 00 ) |0
( 01 ) |1
( 10 ) |1
( 11 ) |0
( 01 ) |0
( 10 ) |0
( 11 ) |1
( 00 ) |1
1|1
1|0
0|0
0|1
X +1
1|0
0|1
0|0
0|1
1|1
2
1
0|0
01
1|1
i
i
i
Automates 2006/4/16 11:20 page 6 #6
i
6
Automates finis
d
f
t
0|0
0|0
s
w
r
0|00
0|0
1|
0|
1|1
2
1|11
1|1
10
M
1
i
i
i
Automates 2006/4/16 11:20 page 7 #7
i
Utilisation pratique des automates
CP
CLP
CP S
C
L
CL
PS
S
S
LS
la configuration du syst`eme par un mot sur lalphabet {T, N }, dont la i-`eme lettre vaut T ou N
selon que le processeur i poss`ede on non le temoin.
Sil y a k processeurs, la configuration initiale est
donc representee par le mot du langage T N k1 .
On represente ensuite la transmission du
temoin par lautomate sequentiel de la figure 1.18.
On peut donc considerer cette operation comme
une fonction sequentielle : {T, N } {T, N } .
L
LP S
N |N
T |N
...
N |T
1|1
0|0
0|0
N |N
0|
1|0
3
01
0|1
4
1|0
5
1
1|1
i
i
i
Automates 2006/4/16 11:20 page 8 #8
i
8
Automates finis
arbre necessite 2203261 nuds, alors que lautomate minimal ne poss`ede que 273716 etats.
De plus, on dispose dalgorithmes tr`es efficaces
pour les operations de recherche et de mise `
a jour
pour ces dictionnaires electroniques. Si on dispose
dun dictionnaire sous forme dautomate, on peut
ensuite facilement realiser un programme informatique champion du monde de Scrabble...
y y,
ne ne,
se se,
en en,
ne
le
lui
y
ne me
il
ne
le
N
U
A
je
S
S
X
S
se
L
N
D
Les automates sont egalement utilises dans
la realisation de dictionnaires electroniques. La
representation la plus nave dun dictionnaire
consiste `
a conserver la liste de tous les mots du
dictionnaire. Une structure darbre permet dobtenir une representation plus concise. Ainsi, larbre
de la figure 1.21 represente lensemble des mots
{bal, bals, ban, bans, do, don, dons, doux, pal,
pals, pan, pans}. Mais lutilisation dun automate
(voir figure 1.22) donne une representation beaucoup plus compacte.
Le gain en place peut etre tr`es important.
Pour un dictionnaire de Scrabble anglais, la
representation par arbre necessite 117 150 nuds
et 780 kilo-octets de memoire. La representation
par automate necessite seulement 19 853 etats et
175 kilo-octets de memoire, soit un gain de pr`es
de 80%.
Pour le Dictionnaire electronique des formes
flechies du francais (DELAF) realise par les linguistes de luniversite de Marne-la-Vallee, qui
contient 802009 entrees sur un alphabet de
90 lettres (minuscules et majuscules accentuees,
chiffres, et autres signes), la representation par
X
O
i
i
i
Automates 2006/4/16 11:20 page 9 #9
i
Extensions de la notion dautomate
un ensemble detats finaux, mais une table densembles detats {F1 , F2 , . . . , Fk }. Un chemin infini
est alors dit reussi sil est issu dun etat initial et si
lensemble F des etats visites infiniment souvent
figure dans la table.
b
11
11.2 Transducteurs
Un automate non deterministe muni de sorties
est appele un transducteur. Les transducteurs permettent de representer des relations entre mots.
Ce sont des outils formels tr`es puissants, qui ont
aussi des applications pratiques, notamment dans
les industries de la langue.
On peut aussi considerer des transducteurs
dont les sorties ne sont pas des mots, mais des
entiers ou des reels. Ce type de transducteur est
utilise notamment en traitement dimage. Une
variante, connue sous le nom dautomate maxplus est particuli`erement adaptee pour etudier
les syst`emes `
a evenements discrets, qui comprennent par exemple les syst`emes de production, les reseaux de transport, les syst`emes informatiques, etc. Les automates permettent daborder certains probl`emes devaluation de performance (calcul de taux de production, de debit),
ou des probl`emes doptimisation (nombre optimal
de processeurs pour realiser une t
ache donnee). Ils
permettent en outre de formaliser simplement certains algorithmes daccessibilite sur les graphes.
12
Autres d
eveloppements
i
i
i
Automates 2006/4/16 11:20 page 10 #10
i
i
10
Automates finis
de Kleene, B
uchi, Rabin et Mc Naughton notamment). Le formalisme logique fournit en effet,
apr`es les automates et les expressions rationnelles,
une troisi`eme facon de decrire des ensembles de
mots. Il sapplique egalement aux mots infinis
et aux arbres et est tr`es utilise en verification
(voir chapitre Automates et verification) pour
specifier le comportement de certains syst`emes.
Les developpements algebriques de la theorie
des automates sont tout aussi importants. En
dotant les mots de coefficients, on peut definir
des series formelles en variables non commutatives, pour lesquelles Sch
utzenberger a etendu
le theor`eme de Kleene. Ces series ont de multiples applications, notamment en theorie du
contr
ole. Une autre branche en plein essor
est la vision abstraite de la reconnaissance,
developpee par Sch
utzenberger et Eilenberg. Elle
consiste `
a remplacer les automates par des objets
mathematiques, les semigroupes. Cette approche
a permis de resoudre de tr`es nombreux probl`emes
theoriques. Outre la logique et lalg`ebre, les automates entretiennent egalement des liens etroits
avec dautres parties des mathematiques : topologie, probabilite, syst`emes dynamiques, theorie des
groupes, etc.
13
Bibliographie
Beauquier D., Berstel J. et Chr
etienne P.
ements dalgorithmique. Masson.
El
(1992),
i
i
i
Automates 2006/4/16 11:20 page 11 #11
i
Index
alphabet, 2
analyseur lexical, 6
automate
deterministe, 2
emonde, 3
non deterministe, 3
sequentiel, 4
transition, 2
automates
equivalents, 3
chemin, 3
etiquette, 3
reussi, 3
concatenation de deux mots, 2
dictionnaire electronique, 8
etat
final, 2
initial, 2
expression
rationnelle, 3
reguli`ere, 3
filtre `a rebonds, 6
industries de la langue, 7
Kleene, 4
langage, 2
rationnel, 4
reconnaissable, 2
lettre, 2
Mealy, 5
minimiser, 3
Moore, 5
mot, 2
accepte, 2
infini, 9
semigroupe, 10
serie formelle, 10
syst`eme `a evenements discrets, 9
transducteur, 9
11
i
i