Exercices Corriges TD 2
Automates deterministes
Exercice 1 Dans chacun des cas suivants, donner un automate deterministe reconnaissant le langage
sur lalphabet {0, 1} :
lensemble des mots se terminant par 00 ;
lensemble des mots ayant au moins 3 zeros consecutifs ;
lensemble des mots dont lavant-dernier symbole est un 1 ;
lensemble des mots qui contiennent au plus deux 0 consecutifs et au plus deux 1 consecutifs ;
lensemble des mots commencant par 1 qui, interpretes comme des entiers en representation
binaire, sont congrus `
a 0 modulo 5.
:
Corrige
1
PQRS
+3 WVUT
0 l
WVUT
/ PQRS
1
WVUT
HIJK
ONML
/ PQRS
2
1
1
1.
PQRS
+3 WVUT
0 l
WVUT
/ PQRS
1
WVUT
/ PQRS
2
WVUT
HIJK
ONML
/ PQRS
3
0,1
1
1
2.
XYZ[
+3 _^]\
00
XYZ[
/ _^]\
01 l
0
_^]\
PQRS
WVUT
/ XYZ[
10
AA
1
O
AA
AA
AA 1
AA
0
AA
AA
AA
XYZ[
_^]\
PQRS
WVUT
11
3.
1
1
PQRS
HIJK
ONML
WVUT
HIJK
ONML
WVUT
HIJK
ONML
+3 WVUT
/ PQRS
/ PQRS
0
1
2
>
>>
>>
_
>
L
>>
>>
>>
>> 0
>>
>>
>> 0
>>
>> 1
>>
>>
>>
0
>> 1
>>
>>
>>
>>
>>
>>
>>
1 >>
0
0
WVUT
WVUT
HIJK
ONML
PQRS
WVUT
HIJK
ONML
/ PQRS
/ PQRS
3
5
4
0, 1
4.
5. Chaque etat represente la congruence modulo 5.
Si x b [5], alors x0 2b [5] et x1 2b + 1 [5].
Universite Paris-Dauphine
Exercices Corriges TD 2
0, 1
WVUT
PQRS
+3 i
TD Langages - XML
PQRS
WVUT
HIJK
ONML
0
r
r
H
r
r
1 rr
0
1
rrr
r
r
r
ry rr
PQRS
WVUT
PQRS
PQRS
WVUT
1
4 WVUT
1 f
5 4
lll
::
l
l
l
1
l
::
0 llll
:
0
lll
l
0 :::
l
0 llll
&
lll
PQRS
WVUT
PQRS
WVUT
2 o
3
Exercice 2
1. Soit lalphabet = {a, b}. Donner lautomate deterministe qui reconnat les mots
qui contiennent ab. Peut-on construire facilement un automate reconnaissant les mots ne contenant pas ab? Pourriez-vous en deduire une methode generale?
PQRS
+3 WVUT
0
WVUT
/ PQRS
1
WVUT
HIJK
ONML
/ PQRS
2
a,b
Pour reconnatre les mots ne contenant pas ab, il faut prendre son complementaire, cest
-`a-dire transformer chaque etat final en non-final et vice-versa :
PQRS
HIJK
ONML
+3 WVUT
0
WVUT
HIJK
ONML
/ PQRS
1
WVUT
/ PQRS
2
a,b
WVUT
/ PQRS
0 l
b,c
a
, PQRS
WVUT
1
WVUT
HIJK
ONML
/ PQRS
2
a,b,c
Prendre le complementaire ne suffit pas car les mots commencant par a ou b ne sont pas
reconnus (pas de transitions depuis letat de depart). Le complementaire doit etre construit
depuis un automate complet. Il faut donc rajouter un puits avec les transitions manquantes puis
prendre le complementaire :
c
WVUT
HIJK
ONML
XYZ[
WVUT
PQRS
/ PQRS
3+ _^]\
1
0 l
@@
@@
@@
@@ a,b
@@
@@
@@
@@
PQRS
WVUT
HIJK
ONML
p
Universite Paris-Dauphine
b,c
a
, PQRS
WVUT
HIJK
ONML
1
WVUT
/ PQRS
2
a,b,c
a,b,c
TD Langages - XML
Exercices Corriges TD 2
Exercice 3 Donner lautomate deterministe reconnaissant les mots ayant un nombre pair de a et un
nombre pair de b.
:
Corrige
_^]\
PQRS
WVUT
3+ XYZ[
pp l
, XYZ[
_^]\
pi
L
a
XYZ[
_^]\
ip l
, PQRS
WVUT
ii
a
0
1
b
1
0
Exercice 6 Montrer que lautomate donne par la figure ci-dessous reconnat les mots compose dautant de 0 que de 1 et dont chaque prefixe a au plus un 1 de plus que de 0 et au plus un 0 de plus que
de 1.
WVUT
HIJK
ONML
+3 PQRS
0 l
, PQRS
WVUT
1
1
1
PQRS
WVUT
2
WVUT
/ PQRS
3 j
0,1
: On dit quun mot est correct si chaque prefixe a au plus un 1 de plus que de 0 et au plus
Corrige
un 0 de plus que de 1. On proc`ede par recurrence et on va montrer que :
(q0 , x) = q0 x est correct et a autant de 0 que de 1 ;
(q0 , x) = q1 x est correct et a un 0 de plus que de 1 ;
Universite Paris-Dauphine
Exercices Corriges TD 2
TD Langages - XML
Une bille est lachee en A ou B (A = 0, B = 1). Les trois leviers font tomber la bille `
a gauche ou
a droite. De plus, lorsquune bille passe sur un levier, celui-ci change dorientation apr`es. Modeliser
`
le dispositif avec un automate, une sequence etant acceptee si la derni`ere bille sort en D.
: Un etat est caracterise par la position des trois leviers et de la sortie de la derni`ere bille.
Corrige
Letat qi correspond `a la valeur i en binaire sur l3 l2 l1 o`
u / = 0 et \ = 1.
Universite Paris-Dauphine
TD Langages - XML
Exercices Corriges TD 2
PQRS
WVUT
0
? G / >>
// >>
// >>
// >>>
>>
//
>>
//
>>
/
>>
//
0D
//1C >>>0C
1D
PQRS
WVUT
3 OO
>>
o7
>> OOO ///
>>
oooo ?
>
O
>>
o
>> OO/O/
o
o
>>
>>
/O/ OO
oo
o
>>
O
o
1Doo
>> / O1D
O
O
o
>
/
>
O
o
O
>
o
/
0C
0C
OOO >>>
>> /
oo
o
/
O
o
>> /
OOO >>
o
>
OOO>
ooo
ooo
'
PQRS
WVUT
WVUT
PQRS
PQRS
WVUT
WVUT
PQRS
5 Og O
6
1
2
_>> OOO
oo
o
/W /_>>>
o
>> OOO
o
/ >>
oo
OOO
>>
ooo
o
OOO /// >>> 0D
>>
o
0C
oo
>
OO /
>>
oooo1C
>> 1D OOO/O/ >>>
o
/O/ OO >>
>>
oo
>>
ooo
// OOOO>>
o
o
O
>>
ow o
//
>>
PQRS
WVUT
//
1D
7
>
1D
0C
0C
>>
//
>>
/
>>
/
>> //
>> //
>> /
>> //
/
>>
PQRS
WVUT
4
En fait, chaque etat est divise en 2, suivant que la derni`ere bille est sorti en C ou en D. Seuls les
etats D sont finaux bien s
ur. Les transitions partant des deux etats sont les memes mais arrivent soit
sur un etat C, soit sur un etat D, comme indique sur la transition.
Universite Paris-Dauphine