IFT313 Froduald Kabanza 1
IFT 313 Lab 1
1 Écrivez une expression régulière pour chac un des langues suivants:
a) Des mots sur l’alphabet {a,b,c} telle que toute première occurrence de ‘a’ précède toujours to ute occurrence de b. Un mot sans ‘a’ ni ‘b’ est légal.
b) Des mots sur l’alphabet ASCI commençant par /* et terminant par */, et sans */ entre les deux à moins qu’il soit entre quottes (c-à-d., entre ’
’ et ’’ )
c) Des mots sur l’alphabet {a, b, c, d} telle que ‘c
’ et ‘d’ ne peuvent qu’apparaître qu’au plus 1 f ois.
2 Donnez un automate fini (déterministe ou n on) pour les langages suivants, sur l’alphab et {a, …, z}.
a) Les mots contenant au moins un ‘a’.
b) Les mots contenant au moins deux ‘a’ consécu
tifs.
IFT313 / 2007E © Froduald Kabanza et Éric Beaudry
2
Solutions au questions 1 & 2
1
a Alphabet = {a,b,c}
Langage : jamais b avant le premier a s’il y en a
c*a[abc]* | (b|c)*
b Contenu =([^*/]|\” “*/” \”)*
Commentaire = “/*”{Contenu}“*/”
ou Commentaire = “/*”([^*/]|\” “*/” \”)*“*/”
c [ab]*(c?[ab]*d?|d?[ab]*c?)[ab]*
2
a Alphabet : a-z. Langage : contient un ‘a’
b Au moins deux ‘a’ consécutifs
1 3
[b-z]
[a-z]
a 2
[b-z]
a
1 2
[b-z] [a-z]
a
3 Convertissez l’automate non déterministe suivant en un automate déterministe équivalent
1
2
3
4 5
6
7 a
b c
a
a ε a b
a
a
c
1
2
4
6 7
a b c
b a a a
c 3,5
b
a 5 a 3,5,6
2,3,5,6
c a c
c b
3 Solutions à la question 3
IFT313 © Froduald Kabanza
5
4 Minimiser l’AFD suivant. Indiquer clairement les états
équivalents et les transitions entre les classes d’équivalence.
8 1
2
3
4
5 a
a
a
a
a
a a,b
a,b b
b
b
b
b b
6
7
IFT313 © Froduald Kabanza
6
Solution à la question 4
8 1
2 3
4 5
a a
a a a a
a, b a, b
b b b b
b
b 6 7
1 2 3 4 5
6 ε ε ε ε ε 7 ε ε ε ε ε
8 ε ε
1 2 3 4 5 6 7 8
• Initialization: marquer
les paires (état-final,
état-non-final)
IFT313 © Froduald Kabanza
7
8 1
2 3
4 5
a a
a a a a
a, b a, b
b b b b
b
b 6 7
1 2
3 b b 4 b b
5 a a a a 6 ε ε ε ε ε 7 ε ε ε ε ε
8 b b a ε ε 1 2 3 4 5 6 7 8
• Itération 1:
Solution à la question 4
IFT313 © Froduald Kabanza
8
Solution
8 1
2 3
4 5
a a
a a a a
a, b a, b
b b b b
b
b 6 7
1 2
3 b b 4 b b
5 a a a a 6 ε ε ε ε ε 7 ε ε ε ε ε
8 b b b b a ε ε 1 2 3 4 5 6 7 8
• Itération 2:
IFT313 © Froduald Kabanza
9
8 1
2 3
4 5
a a
a a a a
a, b a, b
b b b b
b
b 6 7
1 2
3 b b 4 b b
5 a a a a 6 ε ε ε ε ε 7 ε ε ε ε ε
8 b b b b a ε ε 1 2 3 4 5 6 7 8
• Itération 3: pas de changements
• Les cellules non marquées correspondent à des paires d’états équiavlents
Solution à la question 4
IFT313 © Froduald Kabanza
10