04.corrige

Upload: imen-debbabi

Post on 28-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 04.Corrige

    1/10

    Chapitre 4 option informatique

    Corrig des exercices

    Automates finis dterministes

    Exercice 1

    1. Le langage des mots contenant au moins une fois la lettrea:

    q0 q1a

    b a, b

    2. Le langage des mots contenant au plus une fois la lettrea:

    q0 q1

    a

    b b

    3. Le langage des mots contenant un nombre pair de fois la lettrea:

    q0 q1

    a

    b b

    a

    4. Le langage des mots admettantaba pour facteur :

    q0 q1 q2 q3a

    b a

    b a

    b

    a, b

    5. Le langage des mots admettantaba pour sous-mot :

    q0 q1 q2 q3a

    b a

    b a

    b a, b

    Exercice 2 Posonsn= 2p + ravecr {0, 1} ; alors :

    p 0 mod 5 = n rmod 5 p 3 mod 5 = n 1 + rmod 5p

    1 mod 5 =

    n

    2 + rmod 5 p

    4 mod 5 =

    n

    3 + rmod 5

    p 2 mod 5 = n 4 + rmod 5

    Do lautomate :

    http://info-llg.fr

  • 7/25/2019 04.Corrige

    2/10

    4.2 option informatique

    q0

    q1

    q2

    q3

    q4

    10

    0

    1

    0

    1

    0

    1 0

    1

    Pour lire les entiers partir du bit de poids le plus faible, il suffit de considrer lautomate transpos, cest--direcelui obtenu en inversant lordre des transitions et en changeant tats initiaux et tats finaux. En gnral, latranspose dun automate dterministe est non dterministe, mais lautomate ci-dessus fait exception.

    q0

    q1

    q2

    q3

    q4

    10

    0

    1

    0

    1

    0

    1 0

    1

    Exercice 3 Il y a trois types de mots dans ce langage : ceux qui contiennent au moins unaet unb avant le

    dernier caractre (tatq6), ceux qui ne contiennent que des aet qui sont de longueur au moins 2 (tat q3), ceuxqui ne contiennent que desb et qui sont de longueur au moins 2 (tat q5).

    q0

    q1

    q2

    q3

    q4

    q5

    q6

    a

    b

    a

    b

    a

    b

    a

    b

    a, b

    a

    b

    a, b

    Exercice 4

    1. Les mots deLsont les mots qui commencent par 1 et qui comportent au moins un 0 dans leur criture.Do lautomate :

  • 7/25/2019 04.Corrige

    3/10

    Corrig des exercices 4.3

    q0 q1 q21

    1

    0

    0, 1

    2. Les mots de E sont reconnus par lautomate :

    q0

    q1

    q2

    1

    0

    1

    0

    3. NotonsL1le langage dnot par 01 etL2le langage dnot par (10). AlorsS=EL1L2doncS est reconnu

    par lautomate :

    q0

    q1

    q2 q3 q4

    1

    0

    1

    0

    1

    1

    0

    Exercice 5 On dfinit deux suites (Ri ) et (Si ) de parties de Q en posant R0= {q0}, S0= F et pour toutiN :

    Ri+1= RiqQ

    il existe une transition dun lment de Ri q

    Si+1= S iqQ

    il existe une transition de q un lment de Si

    Ces deux suites sont croissantes dans Q fini donc sont stationnaires. Leurs limites RetS sont atteintes ds lorsque deux termes conscutifs sont gaux et dans ce cas R est lensemble des tats accessibles et S lensembledes tats co-accessibles. Il suffit ds lors de supprimer les tats qui nappartiennent pas R Sainsi que lestransitions dans lesquelles ces tats interviennent pour obtenir lautomate mond demand.

    Commenons par une fonction qui dtermine les tats accessibles en suivant lalgorithme expos ci-dessus :

    let accessible a =let rec aux1 b = function

    | [] > b| ((i, _), j)::q when mem i b && not m e m j b > aux1 (j::b) q| _::q > a u x 1 b q

    and aux2 b = let bb = aux1 b a.Delta in

    if b = b b then b else aux2 bbin aux2 [a.Start] ;;

    On dtermine de mme les tats co-accessibles :

    http://info-llg.fr

  • 7/25/2019 04.Corrige

    4/10

    4.4 option informatique

    let coaccessible a =let rec aux1 c = function

    | [] > c| ((i, _), j)::q when mem j c && not m e m i c > aux1 (i::c) q| _::q

    > a u x 1 c q

    and aux2 c = let cc = aux1 c a.Delta inif c = c c then c else aux2 cc

    in aux2 a.Accept ;;

    Il reste monder lautomate :

    let emonde a =let e = intersect (accessible a) (coaccessible a) inlet rec aux = function

    | [] > []| ((i, _), j)::q when not m e m i e | | not m e m j e > a u x q| t::q > t::(aux q)

    in {Start = a.Start; Accept = intersect a.Accept e; Delta = aux a.Delta} ;;

    Automates non dterministes

    Exercice 6 La dterminisation du premier automate conduit au rsultat :

    a b

    {q0} {q0} {q0, q1}

    {q0, q1} {q0, q2} {q0, q1, q2}{q0, q2} {q0, q2} {q0, q1, q2}{q0, q1,q2} {q0, q2} {q0, q1, q2}

    q0 q1

    q2

    q3

    a

    b

    a

    b

    a

    b

    b

    a

    La dterminisation du second automate conduit au rsultat :

    a b

    {q0} {q1} {q2}{q1} {q1} {q0, q2}{q2} {q2} {q0}

    {q0,q2} {q1, q2} {q0, q2}{q1,q2} {q1, q2} {q0, q2}

    q0

    q1

    q2

    q3

    q4

    a

    b

    a

    b

    b

    a

    b

    a

    a

    b

  • 7/25/2019 04.Corrige

    5/10

    Corrig des exercices 4.5

    Exercice 7 Seules quatre configurations sont possibles :

    les quatre verres sont tous dans le mme sens (configurationq0) ;

    trois verres sont dans un sens et le quatrime dans lautre sens (configurationq1) ;

    deux verres voisins sont dans un sens et les deux autres dans lautre sens (configurationq2) ; deux verres opposs sont dans un sens et les deux autres dans lautre sens (configurationq3).

    On dsigne par la lettre :

    ale fait de changer lorientation dun des quatre verres ;

    ble fait de changer lorientation de deux verres voisins ;

    cle fait de changer lorientation de deux verres opposs.

    Le jeu peut alors tre reprsent par lautomate non dterministe suivant :

    q0

    q1

    q2q3

    aa

    b

    a

    bc

    b, c

    c

    Sa dterminisation conduit lautomate suivant :

    0123

    12012

    013 01 023 02

    1 2

    03 0

    a, b

    c

    a

    c

    a

    c

    b

    a

    c a

    b, c

    b

    c

    a c

    b

    b, c

    ac

    a c

    b a

    b

    On constate que la succession de mouvement cbcacbcconduit ncessairement une position gagnante pour lebarman.

    Exercice 8 T(A) et doncA= D(T(A)) reconnait limage miroir du langage reconnu parA, doncAreconnait

    le mme langage que A ; il est quivalent A.

    On obtient pour Alautomate :

    http://info-llg.fr

  • 7/25/2019 04.Corrige

    6/10

  • 7/25/2019 04.Corrige

    7/10

  • 7/25/2019 04.Corrige

    8/10

  • 7/25/2019 04.Corrige

    9/10

    Corrig des exercices 4.9

    q0 q1 q2 q3

    q4

    a

    b

    a

    b

    a

    b

    a

    b

    a, b

    Exercice 13 SiL1et L2sont deux langages reconnus par des automates A1et A2nous savons calculer les

    automates reconnaissant lintersection et le complmentaire donc des automates reconnaissant L1 \ L2et L2 \ L1.Il reste utiliser lquivalence : L1= L2 (L1 \ L2= et L2 \ L1= ) pour conclure.

    Exercice 14 Considrons un automate fini dterministeA = (, Q, q0, F,) qui reconnaitL, notonsAc(respec-tivementCo) lensemble des tats accessibles (respectivement co-accessibles) et considrons les trois automates :

    Ap= (, Q, q0, Co,), As= (, Q, Ac, F,), Af = (, Q, Ac, Co,)

    (les deux derniers sont non dterministes).

    Alors Ap reconnait pref(L), Af reconnaitsuff(L), Af reconnait fact(L) (on peut aussi observer que fact(L) =pref(suff(L)).

    Exercice 15 SoitA = (, Q, q0, F,) un automate qui reconnait L. Pour toutqQ on noteIq lensemble des

    mots qui tiqutent un chemin deq0 qet Fqlensemble des mots qui tiqutent un chemin de q lun des tatsfinaux deF. Ces deux langages sont respectivement reconnus par (, Q, q0, {q},) et (, Q, q, F,) donc rationnels.

    Lgalit L = qQ I

    q Fqprouve alors que L est aussi rationnel.

    Exercice 16 SoitA = (, Q, q0, F,) un automate qui reconnait le langageL. On noteI lensemble des tats

    accessibles partir deq0en suivant un chemin tiquet par un mot deK. On considre alors lautomate (nondterministe) A= (, Q, I, F,) ; nous allons montrer que Areconnait K1L.Considrons un mot v K1L et u K tel que u v L. Puisque uv Lle chemin q0

    uv qfmne un tat

    acceptantqf F. Ce dernier se dcompose en deux chemins q0u q

    v qf avecqIce qui montre quevtiqute

    un chemin menant dun tatqI un tatqf F.v est donc reconnu par A.Rciproquement, siv est reconnu parAil existeqI,qf Fet un cheminq

    v qftiquet parv. Par dfinition

    deI il existeu

    Ket un cheminq0

    u qtiquet paru ce qui prouve queuvest reconnu parA, donc queuv

    L.

    Lemme de ltoile

    Exercice 17 Supposons le lemme de ltoile vrifi par le langageL1et posonsu= ,v=a

    k etw=bk+1. Le

    motu vw appartient L1 doncv se factorise env = ak1 ak2 ak3 aveck2 1 et pour tout nN, u v1vn+12 v3w=

    ak+nk2 bk+1 L1, ce qui est absurde.Supposons le lemme de ltoile vrifi pour le langage L2et posonsu=a

    k ,v =bk ,w= . Alors il existek2>1 tel

    que pour toutnN,akbk+nk2 L2, ce qui est absurde.Supposons le lemme de ltoile vrifi pour le langage L3et considrons un entier premierp tel quep k. Alors

    ap se factorise sous la formeak1 ak2 ak3 aveck2 1 et pour tout nN,ap+nk2 L3. En particulier, pourn=plenombrep + pk2doit tre premier, ce qui est absurde.

    Exercice 18 Si le langage de Dicktait rationnel il existerait un automate reconnaissant les mots de la forme

    anbn ; or nous avons vu que dans ce cas il existe k2 1 tel que le mot anbn+k2 soit reconnu, et ce dernier mot

    nest pas un mot de Dick.

    http://info-llg.fr

  • 7/25/2019 04.Corrige

    10/10

    4.10 option informatique

    Pour toutkN le mot(1+(1+(1+(...1))...)(comportantk parenthses ouvrantes et fermantes) appartientau langage Caml ; en posantu = (1+(1+(1+(...1,v = ))...)et w= le second lemme de ltoile conduit une absurdit.

    Exercice 19 SupposonsL rationnel ; daprs le second lemme de ltoile il existe un entierk tel que pour tout

    palindromem=uv wtel que|v| kse factorise sous la formem=uv1v2v3wavec|v2| 1,|v1v2| ketnN,uv1v

    n2 v3west un palindrome. En considrant le motm=a

    k bak avecu= ,v=ak etw=bak on prouve lexistence

    dun entierp >0 tel que pour toutnN,ak+npbak doive tre un palindrome, ce qui est absurde.

    Exercice 20 SupposonsL rationnel et notonsk lentier qui intervient dans la premire version du lemme

    de ltoile. Si la conjecture est vraie il existe p ktel que 2p 1 soit un nombre premier et dans ce cas le mot1p appartient L. Daprs le lemme de ltoile ce mot se factorise sous la forme uvw avec|v| 1 et pour toutnN,uv nwL. En posantv= 1j on prouve que pour tout nN le mot 1p+nj appartient L, autrement dit que2p+nj1 est premier. Mais en prenant n=pon aboutit une absurdit car 2p(j+1) 1 est divisible par 2j+1 1 3.