Lycée Fidhere, Lille MP Cours d informtique 203 204 Automtes I Déterministes........................... 2 Définitions 2 Exemple 2 Action des mots 3 Lngge reconnu 3 II Incomplets............................. 4 Accessiilité 4 Automte simplifié 4 Automtes incomplets 5 Complétion 6 Émondge 7 III A.F.N.D................................ 7 Définition 7 Lngge reconnu 9 Déterministion 9 IV Asynchrones............................ Définition Synchronistion Déterministion 4 V Exercices.............................. 4 Divisiilté pr trois 4 Petits utomtes 5 Alphet à une lettre 5 Complet et co-ccessile 5 Construction 5 Explosion exponentielle 5 Lngge trnsposé 5 Mélnge 6 E.N.S. 2003 6 Le rmn veugle 6 Automtes pge
I Déterministes I. Définitions Un utomte fini déterministe (ou A.F.D., DFA en nglis) est un quintuplet M = (S, A, s 0, F, δ) où S est un ensemle fini d étts, A est un lphet (fini), s 0 est un élément de S, l étt initil, F est une prtie de S, l ensemle des étts finux, (on dit ussi ccepteurs ou terminux) δ est une ppliction de S A vers S : l fonction de trnsition. Les utomtes peuvent être représentés pr un grphe suivnt les conventions : les nœuds du grphe sont les étts l étt initil est précédé d un signe > ou d une flèche entrnte un étt terminl est entouré d un doule cercle ou d une flèche sortnte les rêtes du grphe sont les trnsitions une rête étiquetée pr x A v de l étt s à l étt t si et seulement si t = δ(s, x). I.2 Exemple 2 4 5 3 pge 2 Automtes
On peut ussi représenter l utomte à l ide du tleu de définition de δ : s 2 3 4 5 δ(s, ) 2 5 5 5 δ(s, ) 3 4 2 5 Les ensemles S et A sont lors définis pr les projections de l ensemle de définition de δ. Il reste à définir s 0 ( dns cet exemple) et F ({3, 5} ici). I.3 Action des mots Si M est un utomte sur le lngge A on générlise l fonction de trnsition à A tout entier pr l fonction δ de S A vers S pr δ(s, ) = s pour tout s S ( est le mot vide) δ(s, ux) = δ ( δ(s, u), x ) pour tout mot de l forme ux vec x A. On noter δ(s, u) = s.u. On s.u = ( ( ((s.x ).x 2 )..x n ).x n ) pour u = x x 2 x n. Prcours Si u = x x n x n est un mot de A on pose s = δ(s, x ), s 2 = δ(s, x 2 ),..., s n = δ(s n, x n ). (s, s, s 2,..., s n ) est le prcours de u à prtir de s. On noter ce prcours sous l forme s x x 2 x n s s 2 s n s n I.4 Lngge reconnu Un mot u est reconnu (ou ccepté) pr l utomte M = (S, A, s 0, F, δ) si l imge de s 0 pr u pprtient à F : s 0.u F. Le lngge reconnu (ou ccepté) pr M est l ensemle de tous les mots reconnus pr M. On le note L(M). Un lngge L est reconnissle s il existe un utomte déterministe M tel que L = L(M). Automtes pge 3
Exemples L(M) = A si tous les étts sont cceptnts. L(M) = si ucun étt n est cceptnt. Le mot vide,, est reconnu si et seulement si s 0 est ussi un étt finl. Pour l utomte M suivnt, L(M) est l ensemle des mots qui finissent pr un s s 2 II Incomplets II. Accessiilité Un étt s est dit ccessile s il existe u A tel que s = s 0.u. Exemples s 0 = s 0. est toujours ccessile. Pour tout mot u = x x 2 x n les étts prcourus pr x, s 0, s = s 0.x, s 2 = s 0.x x 2,..., s n = s 0.u sont ccessiles. Un étt s est dit co ccessile s il existe u A tel que s.u pprtient à F. Le lngge reconnu pr M est non vide si et seulement si il existe un étt ccessile dns F. si et seulement si s 0 est co ccessile si et seulement si il existe un étt à l fois ccessile et co ccessile II.2 Automte simplifié Si s est ccessile lors s = s 0.u donc δ(s, x) = s.x = (s 0.u).x = s 0.ux est ccessile. On insi le résultt pge 4 Automtes
Si M = (S, A, s 0, F, δ) est un utomte lors l ensemle S des étts ccessiles de M est stle pr δ : s S, x A δ(s, x) S Ainsi, en notnt δ l restriction de δ à S A et F = F S, le quintuplet M = (S, A, s 0, F, δ ) est encore un utomte : c est l utomte simplifié ssocié à M. On prouve lors, pr récurrence sur l longueur du mot que δ (s, u) = δ(s, u) pour tout s S ; on noter s.u le résultt dns les deux cs. De plus tout mot u reconnu pr M vérifie s 0.u = s vec s F or s est ccessile donc s F et u est reconnu pr M. Inversement tout mot u reconnu pr M vérifie s 0.u F F donc u est reconnu pr M Le lngge reconnu pr M est le même que celui reconnu pr M. II.3 Automtes incomplets Un utomte fini déterministe incomplet est un quintuplet M = (S, A, s 0, F, δ) où S est un ensemle fini d étts, A est un lphet (fini), s 0 est un élément de S, l étt initil, F est une prtie de S, l ensemle des étts finux, δ est une ppliction définie sur une prtie de S A vers S : l fonction de trnsition. On définit δ(s, u) = s.u comme pour un utomte complet lorsque cel est possile. Si u = vw vec v, w A et A est tel que s = s 0.v est défini mis δ(s, ) n est ps défini on dit que u est un mot loqunt. Le lngge reconnu pr un utomte incomplet est l ensemle des mots u non loqunts tels que s 0.u pprtient à F. Automtes pge 5
Exemple s s 2 s 2 Tous les mots commençnt pr sont loqunts. Le lngge reconnu pr M est l ensemle des mots commençnts pr et contennt u moins un. II.4 Complétion Si M = (S, A, s 0, F, δ) est un utomte incomplet on peut lui jouter un étt puits qui est l imge des trnsitions non encore définies et qui reste fixe. Plus précisement on définit S = S {p} et δ sur S A pr δ (s, x) = δ(s, x) pour s S si δ(s, x) existe δ (s, x) = p pour s S si δ(s, x) n est ps défini δ (p, x) = p Si u n est ps un mot loqunt dns M lors le prcours dns M est conservé dns M cr on grde toutes les trnsitions existntes d où δ (s 0, u) = δ(s 0, u). Si u = x x 2... x n est un mot loqunt de prcours incomplet dns M x x 2 x i s 0 s s 2 s i s i lors son prcours dns M est x x i x i+ s 0 s s i s i p x i+2 p p x n p Ainsi δ (s 0, u) = p. M = (S, A, s 0, F, δ ) est un utomte complet tel que L(M) = L(M ). Si u est reconnu pr M il reste reconnu pr M. Si u n est ps un mot reconnu pr M lors soit il n est ps loqunt d où δ (s 0, u) = δ(s 0, u) / F soit il est loqunt d où δ (s 0, u) = p / F dns les deux cs u n est ps reconnu pr M. pge 6 Automtes
II.5 Émondge Émonder un utomte complet M consiste en éliminer les étts non ccessiles ; on vu qu on otenit un utomte complet M. éliminer les étts non co ccessiles et les trnsitions qui en dépendent ; on otient lors un utomte incomplet M 2. si esoin compléter l utomte otenu : M 3. Cel revient à remplcer tous les étts non co ccessiles pr un seul. On vu que L(M) = L(M ) et L(M 2 ) = L(M 3 ). Si un mot u est reconnu pr M (ou pr M ) lors son prcours est composé d étts co ccessiles donc ce prcours est un prcours de M 2 : u pprtient à L(M 2 ). Inversement, comme M 2 est inclus dns M, tout mot reconnu pr M 2 est reconnu pr M. Émonder un utomte ne chnge ps le lngge reconnu. III A.F.N.D. III. Définition Voici un utomte qui reconnît le lngge des mots contennt : 2 3 4 5 6 Automtes pge 7
2 3 4 5 6 Cet utomte semle plus nturel mis il est non complet (cel peut se corriger) et surtout on perdu le déterminisme : l trnsition depuis l étt vec l lettre n est ps définie de mnière unique. Un utomte fini non déterministe (ou fnd, NFA en nglis) est un quintuplet M = (S, A, I, F, δ) où S est un ensemle fini d étts, A est un lphet (fini), I est une prtie de S, l ensemle des étts initiux, F est une prtie de S, l ensemle des étts finux, δ est une ppliction de S A vers l ensemle des prties de S, P(S ), l fonction de trnsition. Le non déterminisme résulte du fit qu on le choix dns un ensemle u déprt ou pour chque trnsition. On devr donc, à chque étpe, explorer toutes les possiilités, on verr que cel peut engendrer un complexité exponentielle pr rpport u nomre d étts, ou voir un don mgique de choix pour chque étpe. Un utomte déterministe peut être considéré comme un utomte non déterministe pour lequel, pour tout couple (s, x) S A, δ(s, x) dmet exctement un élément dns le cs des utomtes complets ou u plus un élément dns le cs plus générl. On peut remplcer l fonction de trnsition pr son grphe = { (s, x, s ) / s δ(s, x) } est une prtie de S A S, c est l ensemle des trnsitions. δ est lors défini pr δ(s, x) = {s} {x} S = { s S / (s, x, s ) } pge 8 Automtes
III.2 Lngge reconnu Trnsition Un triplet (s, x, s )tel que s δ(s, x) (c est à dire un élément de ) est une trnsition de l utomte. On l noter s s x. s est l origine de l trnsition, s est l extrémité de l trnsition et x est l étiquette de l trnsition Un clcul de l utomte est une suite (finie) de trnsitions telle que l origine de chcune est l extrémité de l précédente. On le note s x x 2 s s xn x n n s n s est l origine du clcul s n est l extrémité du clcul u = x x 2 x n est l étiquette du clcul Exemple 2 3 3, 2 2, 2 3, 2 3 3 sont les clculs d origine et d étiquette. Un clcul est réussi si son origine est un élément de I et son extrémité un élément de F. Un mot est reconnu (ou ccepté) pr l utomte s il est l étiquette d u moins un clcul réussi. Le lngge reconnu (ou lngge ccepté) pr un utomte M est l ensemle, L(M), des mots reconnus pr l utomte. III.3 Déterministion Automte des prties Si M = (S, A, I, F, δ) est un utomte non déterministe on définit M = ( P(S ), A, I, F, δ ) vec F est l ensemle des prties de S qui contiennent (u moins) un élément de F : Automtes pge 9
F = {T S : T F }. δ (T, x) est l ensemle des extrémités des trnsitions d étiquette x et d origine dns T. I est mintennt un élément de P(S ). M est un utomte déterministe complet. On lors δ (, x) = pour tout x A : est un étt puits. Dns le clcul prtique du déterminisé on ne clcule les imges des prties de S que pour les prties ccessiles : on prt de I on clcule δ (T, x) pour les différentes lettres de A puis les imges de ces derniers ensemles et insi de suite. L utomte insi otenu est émondé. Exemple 2 3 {} {, 2} {2, 3} {, 2} {, 2} {} {2, 3} {2, 3} On otient l utomte : {} S 3 S où S i = {, 2, 3} \ {i}. pge 0 Automtes
Pr récurrence sur l longueur de u, on montre que pour tout mot u non vide δ(t, u) = T.u est l ensemle des extrémités des trnsitions d étiquette u et d origine dns T. Ainsi, un mot u est reconnu pr M si et seulement si δ(i, u) contient un élément de F c est à dire si et seulement si I.u pprtient à F. Un utomte et son déterminisé reconnissent le même lngge. IV Asynchrones IV. Définition Un utomte vec trnsitions instntnées (ou synchrone) sur le lngge A, vec A ne contennt ps, est un utomte (non déterministe) sur le lngge A {}. Autrement dit on joute à un utomte des trnsitions de l forme s s qui se font sns qu il soit nécessire d voir une lettre qui l commnde. On noter M = (S, A, I, F, δ, ϕ) un tel utomte où δ est toujours l fonction de trnsition de S A vers P(S ) et ϕ(s) est l ensemle des extrémités des trnsitions instntnées d origine s. Les étiquettes des trnsitions sont mintennt des mots (sur A) d une lettre ou le mot vide. Si s u u 2 s s un u n n s n est un clcul son étiquette est le mot sur A, u = u u 2 u n, qui peut être de longueur inférieure à n. Le lngge reconnu est toujours l ensemle des étiquettes des clculs réussis. IV.2 Synchronistion L clôture d un étt s, κ(s), est l ensemle des étts ccessiles depuis s pr une suite finie de trnsitions instntnées : s pprtient à κ(s) si et seulement si il existe un clcul de l forme s s s 2 s n s Si K 0 = {s} et K n+ = ϕ(q) lors l suite (K n ) est une suite de prties de S et q K n κ(s) = K n. n N Automtes pge
On peut générliser l clôture à un sous ensemle : pour tout prtie T S, κ(t) = s T κ(s). Si M = (S, A, I, F, δ, ϕ) un utomte vec trnsitions instntnées et si I = κ(i) et δ (s, x) = κ ( δ(s, x) ) lors M = (S, A, I, F, δ ) est un utomte sns trnsition instntnée qui reconnît le même lngge que M. Exemple 3 4 0 2 5 0 8 6 9 7 pge 2 Automtes
3 0 4 2 5 7 6 9 0 8 En émondnt l utomte on otient 2 6 7 On peut lors déterminiser l utomte otenu : A B C vec A = {2, 6, 7}, B = {2, 6, 7, } et C = {}. Automtes pge 3
IV.3 Déterministion On peut ussi déterminiser un utomte synchrone directement en employnt l utomte des prties et en sturnt pr clôture les ensemles otenus. F est l ensemle des prties de S qui contiennent (u moins) un élément de F : I = κ(i). δ (T, x) = κ δ(s, x). s T M = ( P(S ), A, I, F, δ ) est un utomte déterministe complet qui reconnît le même lngge que M. Dns le clcul prtique du déterminisé on ne clcule les imges des prties de S que pour les prties ccessiles : ce seront toutes des prties sturées pr trnsitions instntnées de S. Exemple L utomte ci dessus donne, vec A = {0,, 2, 3, 5, 6, 7}, C = {9, 0, } et B = {, 2, 3, 4, 5, 6, 7, 8, 0, } A B C B B C C On retrouve le même utomte que précedemment. V Exercices V. Divisiilté pr trois Prouver que l utomte suivnt teste l divisiilité pr trois d un nomre exprimé en inire. 0 0 c 0 pge 4 Automtes
V.2 Petits utomtes Énumérer tous les utomtes déterministes complets à 2 étts sur A = {, } et le lngge qu ils reconnissent. V.3 Alphet à une lettre Déterminez l forme des utomtes déterministes sur un lphet à une lettre. En déduire l structure des lngges reconnissles sur un lphet à une lettre. V.4 Complet et co-ccessile À quelle condition sur le lngge reconnu un utomte complet n -t-il que des étts coccessiles? V.5 Construction Construire un utomte reconnissnt tous les mots qui finissent pr. Déterminiser l utomte otenu. V.6 Explosion exponentielle Construire un utomte à n + étts qui reconnît le lngge L = A..A n vec A = {, }. Comien d étts ccessiles comporte l utomte déterminisé? Si un utomte déterministe (S, A, s 0, F, δ) reconnît L prouver qu il u moins 2 n étts. On pourr prouver que l ppliction u s 0.u de A n vers S est injective. V.7 Lngge trnsposé M = (S, A, I, F, ) est un utomte non déterministe où est le grphe des trnsition ( S A S ). On définit t M = (S, A, F, I, t ) vec t = { (s, x, s ) / (s, x, s) } ; c est-à-dire t M est l utomte otenu en inversnt les flèches. Pour tout mot u = u u 2 u n le miroir de u est t u = u n u n u. Pour tout lngge L le le lngge miroir de L, t L, est t L = { t u ; u L}. Prouver que L( t M) = t L(M). Automtes pge 5
V.8 Mélnge Si u et v sont deux mots leur mélnge est le lngge u v = { / f g f 2 f n g n fi, g i A, f f 2 f n = u, g g 2 g n = v } Si L et L sont lngges leur mélnge est le lngge L L = u v. u L v L Si M = (S, A, I, F, ) et M = (S, A, I, F, ) sont deux utomtes non déterministes leur mélnge est M M = (S S, A, I I, F F, ) vec = {( (s, s ), x, (s 2, s ) ) / (s, x, s 2 ), s S } {( (s, s ), x, (s, s 2 )) / s s, (s, x, s 2 ) } Prouver que L(M M ) = L(M) L(M ) V.9 E.N.S. 2003 On ppelle lngge locl sur un lphet A un lngge de l forme L = (X.A A.Y) \ (A.V.A ) vec X A, Y A, V A 2. Prouver qu un tel lngge est reconnissle. Donner un exemple non trivil de lngge reconnissle non locl. Essyer () (c). Prouver qu un lngge locl sur un lphet à n lettres peut être reconnu pr un utomte déterministe complet à n + 2 étts. Montrer que si R A est reconnissle lors il existe un lphet B un lngge L B locl et une ppliction ϕ de B vers A tel que ϕ (L) = R vec ϕ (u) = ϕ( )... ϕ( n ) pour u =... n. V.0 Le rmn veugle On dispose de 4 jetons, chcun ynt une fce leue et une fce rouge. Un joueur (le rmn) les yeux ndés. Son ut est de retourner les 4 jetons sur l même couleur (dès que les 4 jetons sont retournés l prtie s rrête et le rmn ggné). Pour cel, il peut retourner à chque tour, 2 ou 3 jetons. Un utre joueur perture le jeu en tournnt le plteu sur lequel reposent les jetons d un qurt de tour, d un demi-tour ou de trois qurts de tour entre chque opértion du rmn. En utilisnt une modélistion pr des utomtes montrer que le rmn une strtégie ggnnte, c est à dire que quoi que fsse celui qui tourne le plteu, il moyen de ggner. dig ord ord ord ord dig dig pge 6 Automtes