INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf ·...

26
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013 - 2014

Transcript of INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf ·...

Page 1: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

INF 232:Langages et Automates

Travaux Dirigés

Université Joseph Fourier, Université Grenoble 1Licence Sciences et Technologies

Année Académique 2013 - 2014

Page 2: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

Année Académique 2013-2014

UNIVERSITÉ JOSEPH FOURIER 2 Licence Sciences et Technologies

Page 3: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

Introduction

Ce livret contient les exercices de l’Unité d’Enseignement (UE) INF 232 enseignée à l’Université Joseph Fourier deGrenoble, France.

Équipe PédagogiqueResponsable de cette UE : Yliès FalconeCours :– Séance en Français, groupes MIN-S3-X, INF-S3-X : Yliès Falcone.– Séance en Anglais, groupe MIN-S3-INT : Saddek BensalemTravaux Dirigés :– Séances en Français :

– MIN-S3-01 : Michel Burlet– MIN-S3-02 : Mickaël Perin– INF-S3-01 : Jean-Claude Fernandez et Yassine Lakhnech– INF-S3-02 : Yliès Falcone

– Séance en Anglais : Yliès Falcone

Information de ContactVoici les informations de contact en cas de question ou pour tout problème lié à l’UE :– Pour des questions générales liées au cours, merci de contacter votre enseignant de cours.– Pour des question techniques liées aux exercices, merci de contacter vos enseignants responsables des travaux dirigés.– Pour des questions concernant ce document, merci de contacter Yliès Falcone.

Emails Voici les emails de vos enseignants.– Saddek Bensalem : [email protected]– Michel Burlet : [email protected]– Yliès Falcone : [email protected]– Jean-Claude Fernandez : [email protected]– Yassine Lakhnech : [email protected]– Mickaël Perin : [email protected]

Plan du cours et des travaux dirigés– Notions mathématiques de base.– Partie 1 : Langages Réguliers et Automates d’États Finis.

– Automates d’états-finis déterministes.– Automates d’états-finis non-déterministes et minimisation.– Automates d’états-finis non-déterministes avec ε-transitions.– Modélisation et automates avancés,– Expressions régulières et lemme de l’itération,

– Partie 2 : Automates étendus et méthode de vérification de Floyd.

3

Page 4: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

Année Académique 2013-2014

Créneaux d’enseignement– Cours :

– Cours en français (groupes MIN-S3-01, MIN-S3-02, INF-S3) :– Cours 1 : lundi, de 13h30 à 15h :00 in DLST F– Cours 2 : vendredi, de 9h45 à 11h15 en DLST A2

– Cours en anglais (groupe MIN-S3-INT) :– Cours 1 : lundi, de 1h30 à 15h00 en DLST E2– Cours 2 : vendredi, de 11h15 à 13h00 en DLST E2

– Sessions de Travaux Dirigés :– MIN-S3-01

– Session 1 : lundi, de 8h00 à 9h30 en B216– Session 2 : jeudi de 9h45 à 11h15 en B220

– MIN-S3-02– Session 1 : mardi, de 13h30 à 15h00 en D104– Session 2 : jeudi, de 15h00 à 16h30 en D104

– MIN-S3-INT– Session 1 : mercredi, de 17h00 à 18h :00 en E-204– Session 2 : vendredi, de 15h15 à 16h45 en B-006

– INF-S3-01– Session 1 : jeudi de 8h00 à 9h45 en B114– Session 2 : jeudi de 13h30 à 15h en B114

– INF-S3-02– Session 1 : mardi de 13h30 à 15h00 en D104– Session 2 : jeudi de 13h30 à 15h en E205

Quelques remarques– Le livret de travaux dirigés contient plus d’exercices qu’il n’est possible de faire pendant les séances de travaux

dirigés du semestre. Pour l’examen final, vous êtes censés les avoir tous faits. Vos enseignants de travaux dirigés sontlà pour vous aider sur les exercices que vous n’arriveriez pas à faire tout seul.

Quelques conseilsLes conseils suivants peuvent sembler cliché et/ou naifs mais les suivre peut être un sérieux atout pour la réussite devotre UE.Soyez attentifs durant les cours. Votre objectif est de ne jamais sortir d’un amphitéatre sans avoir tout compris.

Contrairement à une croyance dûrement établie, les séances de travaux dirigés ne sont pas faites pour comprendre lecours mais pour s’entrainer à faire les exercices mieux et plus rapidement.

Posez des questions durant les cours si vous avez le moindre doute sur une notion abordée. Si vous vous posez unequestion, au moins deux de vos camarades ont la même question.

Travaillez dur et régulièrement Penser qu’il est possible d’assimiler le contenu de l’UE une semaine avant l’examenest illusoire.

Ne vous perdez pas au milieu du semestre. Discuter avec vos camarades des concepts que vous ne comprenez paset/ou contactez vos enseignants.

Contactez nous. N’hésitez pas ! Nous sommes généralement disponible et souhaitons aider. Pour la résolution d’unexercice, un bon algorithme est d’abord d’essayer (sérieusement) de résoudre l’exercice seul. Si vous n’y arrivez pas,esssayez de la résoudre avec un camarade. En dernier recours, faites appel à la solution ou à vos enseignants.

Ne jamais abandonner. Assez évident, mais c’est mieux quand on le dit.

UNIVERSITÉ JOSEPH FOURIER 4 Licence Sciences et Technologies

Page 5: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

1 Notions Mathématiques de Base

Ensembles, Relations

Exercice 11. Étant donné un ensemble E de cardinal fini. Rappeler la définition formelle de P(E), c’est-à-dire l’ensemble

des parties de E ou l’ensemble des sous-ensembles de E.2. Pour E = {1, 2, 3}, donner P(E).

Exercice 2Prouver les propositions suivantes :

1. P(A) = P(B) ssi A = B.2. P(A ∪B) = {X ∪ Y | X ∈ P(A) ∧ Y ∈ P(B)}.3. P(A ∩B) = P(A) ∩ P(B).4. En général, P(A ∪B) = P(A) ∪ P(B) n’est pas vrai.

Exercice 3

1. Rappeler les définitions formelles mathématiques des éléments suivants : relation, fonction, application, rela-tion réflexive, relation anti-réflexive, relation symétrique, relation antisymétrique, relation transitive, relationd’équivalence, classe d’équivalence.

2. Donner un exemple pour chacun des éléments mentionnés dans la question précédente.

Exercice 4Considérons la relation R ⊆ Z× (Z \ {0}) définie comme suit :

∀(a, b), (c, d) ∈ Z× (Z \ {0}) : (a, b)R(c, d)⇔ ad− bc = 0.

1. Prouver que R est une relation d’équivalence.2. Donner ses classes d’équivalence.

Preuves par induction

Exercice 5Prouver que pour chaque entier naturel n > 1 :

1. n a un diviseur premier ;2. si n n’est pas premier, il a un diviseur premier p tel que p ≤

√n ;

3. il existe un nombre premier strictement plus grand que n.

5

Page 6: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 1. NOTIONS MATHÉMATIQUES DE BASE Année Académique 2013-2014

Exercice 6

1. Prouver la proposition suivante :

∀n ∈ N :n∑

i=0i = n(n+ 1)

2 .

2. Déduire que 1 + 3 + 5 + ...+ (2n− 1) = n2.3. Prouver la proposition suivante :

∀n ∈ N :n∑

i=0i2 = n(n+ 1)(2n+ 1)

6 .

Exercice 7

1. Prouver la proposition suivante :

∀n ∈ N,∀i ∈ N : (n ≥ 1 ∧ 1 ≤ i ≤ n)⇒ n ≤ i(n− i+ 1)

2. Déduire que ∀n ∈ N : n ≥ 1⇒ logn! ≤ n. logn ≤ 2(logn!).

Définitions Inductives

Exercice 8Soit E un ensemble inductivement défini par les règles suivantes :– Règle de Base : 0 ∈ E– Règle d’Induction : si x ∈ E, alors s(x) ∈ E

1. Proposer une définition d’une fonction + qui se comporte comme l’addition sur les entiers (où s(x) est l’entieraprès x). La fonction doit travailler par induction sur son premier argument.

2. Proposer une définition d’une fonction ∗ qui se comporte comme la multiplication sur les entiers. La fonctiondoit travailler par induction sur son premier argument.

3. Prouver les propriétés suivantes :– ∀x ∈ E : x ∗ 0 = 0 = 0 ∗ x,– ∀x, y ∈ E : x ∗ y = y ∗ x,– ∀x, y, z : (x ∗ y) ∗ z = x ∗ (y ∗ z),– ∀x, y, z : (x+ y) ∗ z = x ∗ z + y ∗ z.

Exercice 9Soit E(Σ) l’ensemble des listes dont les éléments sont dans l’ensemble Σ et qui est inductivement défini comme suit :– Règle de Base : nil ∈ E(Σ),– Règle d’Induction : si l ∈ E(Σ), cons(a, l) ∈ E(Σ), pour chaque a ∈ Σ, où cons est l’opérateur de concaténation

d’un élément à une liste.Soit Σ = {a, b}

1. Rappeler la définition de l’opérateur cons.2. Donner une définition inductive de l’ensemble des listes qui contiennent le même nombre de a’s que de b’s.3. Donner une définition inductive de l’ensemble des listes qui contiennent le même nombre de a’s que de b’s et

qui commencent par des a’s suivis par des b’s. Entre les a’s, il ne doit pas y avoir de b’s.

UNIVERSITÉ JOSEPH FOURIER 6 Licence Sciences et Technologies

Page 7: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

Première partie

Langages régulierset

Automates d’États-Finis

7

Page 8: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les
Page 9: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

2 Automates d’États-Finis Déterministes

Rappel : AEFD : Automates d’États-Finis Déterministe.

Exercice 10Considérons Σ un alphabet et a un symbole de Σ.

1. Donner une condition nécessaire et suffisante telle que la proposition suivante soit vraie (si cela est possible) :a · Σ∗ = Σ∗.

2. Donner une condition nécessaire et suffisante telle que pour n’importequel langage, L ⊆ Σ∗ défini sur Σ laproposition suivante soit vraie : L · Σ∗ = Σ∗L = L.

Exercice 11Considérons Σ = {a, b}.

1. Donner un AEFD qui reconnaît l’ensemble des mots qui contiennent un nombre de a multiple de 3.2. Donner un AEFD qui reconnaît l’ensemble des mots qui contiennent un nombre de a multiple de 2.3. Donner un AEFD qui reconnaît l’ensemble des mots qui contiennent un nombre de a multiple de 3 et multiple

de 2 en calculant le produit des deux automates précédents.4. Donner un AEFD qui reconnaît l’ensemble des mots qui contiennent un nombre de a multiple de 2 et non

multiple de 3.5. Pour chacun des langages précédents, donner un AEFD qui reconnaît le langage complémentaire du langage

reconnu dans Σ∗.

Exercice 12Considérons Σ = {a, b, c}. Pour chacun des langages suivants, donner un automate qui le reconnaît (si un tel automateexiste).

1. L’ensemble des mots qui commencent par a · b ou b · c et qui ne terminent pas par a · b · c. Utiliser la constructionde l’automate produit.

2. L’ensemble des mots qui contiennent un nombre pair de c et qui ne contiennent pas a · b.3. L’ensemble des mots tels que a est toujours suivi de b.4. L’ensemble des mots qui contiennent autant de a’s que de b’s.5. Pour chacun des langages précédents, donner un AEFD qui reconnaît sont complémentaire dans Σ∗ (si possible).

Exercice 13Considérons Σ = {0, 1}. Pour les langages suivants, donner un automate reconnaisseur.

1. Tous les mots qui terminent par 00.2. Tous les mots qui contiennent 000.3. Tous les mots tels que chaque bloc de 3 symboles consécutifs contienne (exactement) 2 occurrences du symbole

0.4. Tous les mots de longueur supérieure ou égale à 2 et tels que l’avant-dernier symbole est 1.5. Pour chacun des lngages précédents, donner un AEFD qui reconnait son langage complémentaire dans Σ∗.

9

Page 10: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 2. AEFD Année Académique 2013-2014

Exercice 14Considérons l’alphabet Σ = {1, 2, . . . , 9, 0}.

1. Donner un AEFD qui reconnaît les entiers inférieurs à 245.2. Donner des AEFDs qui reconnaissent les entiers multiples de 6, 9, 10, 25, 50, 100, 250, 1000.3. Donner des AEFDs qui reconnaissent un horaire donné sous la forme HHhMMm.4. Donner un AEFD qui reconnait la date dans l’année donnée sous la forme JJ/MM.

Exercice 15

0 1

2

b

a, b

aa, b

Nous considérons l’alphabet Σ = {a, b}.1. Calculer un automate qui reconnait le complémentaire du langage reconnu par l’automate ci-dessus.

Exercice 16Considérons l’AEFD (Q, q0,Σ, δ, F ) et q ∈ Q un état particulier de cet automate tel que ∀s ∈ Σ : δ(q, s) = q.

1. Prouver par induction sur la longueur de la séquence d’entrée w que :

∀w ∈ Σ∗ : δ∗(q, w) = q.

Exercice 17Considérons un AEFD (Q, q0,Σ, δ, F ) et a ∈ Σ un symbole particulier tel que ∀q ∈ Q : δ(q, a) = q.

1. Prouver que : ∀n ∈ N : δ∗(q, an) = q où an est le mot formé en concaténant n a’s.2. Prouver que soit {a}∗ ⊆ L(A) soit {a}∗ ∩ L(A) = ∅.

Exercice 18À partir de la fonction de transition δ (opérant sur un état et un symbole), nous avons défini la fonction de transitionétendue δ∗ (son extension aux mots) comme la fermeture réflexive et transitive de δ.

1. Rappeler/proposer une définition inductive de cette fonction. Justifier pourquoi votre définition est bien formée.2. Prouver que : ∀x, y ∈ Σ∗,∀q ∈ Q : δ∗(q, xy) = δ∗(δ∗(q, x), y).

Exercice 19Considérons un AEFD A = (Q, q0,Σ, δ, {qf}), et, supposons que pour chaque symbole s ∈ Σ nous avons δ(q0, s) =δ(qf , s).

1. Prouver que, pour n’importe quel mot w 6= ε, nous avons δ∗(q0, w) = δ∗(qf , w).2. Prouver que, si un mot non-vide w est reconnu parA, alors wk (le mot formé par k concaténations de w) est

aussi dans L(A) pour chaque entier strictement positif k :

∀w ∈ Σ∗ \ {ε} :(w ∈ L(A)⇒ ∀k ∈ N \ {0} : wk ∈ L(A)

).

UNIVERSITÉ JOSEPH FOURIER 10 Licence Sciences et Technologies

Page 11: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

3 Automates d’États-Finis Non-Déterministes et Minimisation

Rappel :– AEFD : Automate d’États Finis Déterministes ;– AEFND : Automates d’États Finis Non-Déterministes.Remarques :– Dans ce chapitre, la numérotation des états commence à 0.– Lorsqu’on représentera un automate par sa table de transitions, nous utiliserons les conventions suivantes :

– l’état initial sera indiqué par une flèche sur la droite de l’état,– les états étoilés sont accepteurs.

Exercice 20Donner un AEFND qui reconnait tous les mots de longueur supérieure ou égale à 2 et tels que l’avant-dernier symboleest 1.

Exercice 21Soit Σ = {a, b}. Donner un AEFD minimal qui reconnait le langage des mots qui ne contiennent pas aba.

Exercice 22Soit Σ = {0, 1}.

1. Soit L1 le langage des mots qui ne contiennent pas 0100 et qui contiennent un nombre pair de 0’s. Donner unAEFD complet qui reconnaît L1.

2. Soit L2 le langage des mots qui ne contiennent pas 010 et qui contiennent un nombre de 0’s multiple de 4. Donnerun AEFD qui reconnait L2.

3. Prouver que L2 ⊆ L1.

Exercice 23Soit A l’AEFND défini par ({1, 2, 3, 4, 5, 6}, {a, b}, 1,∆, {2}) t.q.

∆ = {(1, a, 2), (2, a, 3), (3, a, 2), (2, a, 4), (4, b, 2), (2, b, 5), (5, a, 2), (2, b, 6), (6, b, 2)}.

Déterminiser A et minimiser l’AEFD obtenu.

Exercice 24Soit A l’AEFND défini par ({0, 1, 2, 3, 4, 5}, {a, b}, 0,∆, {4}) où la relation de transitions est définie par la tablesuivante :

0 1 2 3 4 5

a 1,2,3,4,5 2,3 0,1,4 0 1 2b 4 1,2,3 1,2,5 2,3,5

Determiniser A et minimiser l’AEFD obtenu.

11

Page 12: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 3. AEFND ET MINIMISATION Année Académique 2013-2014

Exercice 25Soit A l’AEFND donné par ({0, 1, 2, 3, 4, 5}, {a, b}, 0,∆, {0, 3, 4}) où la relation de transition est définie par la tablesuivante :

0 1 2 3 4 5

a 1,2 5b 3 4 0

Déterminiser A et minimiser l’AEFD obtenu.

Exercice 26Soit A = (QA,Σ, qA

0 , δA, FA) et B = (QB ,Σ, qB

0 , δB , FB) deux AEFDs. L’objectif de cet exercice est de prouver

que L(A) ∩ L(B) ⊆ L(A×B).1. Prouver que pour chaque n ∈ N, pour chaque exécution (qA

0 , u0) · · · (qAn , un) de A et (qB

0 , u0) · · · (qBn , un) de

B sur un mot commun u de longueur plus grande ou égale à n :

((qA0 , q

B0 ), u0) · · · ((qA

n , qBn ), un) est une exécution de A×B.

2. Utiliser le résultat précédent pour prouver L(A) ∩ L(B) ⊆ L(A×B).

Exercice 27Soit Σ = {0, 1}. Considérons les deux AEFND suivants :

0 1 2

10 Σ

Σ

0

0 1 2

10 1

1

1. Quels sont les langages reconnus par ces automates ?2. Montrer que ces deux automates sont équivalents.

Exercice 28

Considérons l’AEFND suivant :0 1 2

0

0 1

1

1. Construire un AEFD équivalent par déterminisation.

UNIVERSITÉ JOSEPH FOURIER 12 Licence Sciences et Technologies

Page 13: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

4 Automates d’États-Finis Non-Déterministes avec ε-transitions

Rappel : ε-AEFND : Automates d’États-Finis Non-Déterministes avec ε transitions.

Exercice 29Soit A l’ε-AEFND défini par ({0, 1, 2, 3, 4}, {a, b}, 0,∆, {4}) où la relation de transition ∆ est définie par la tablesuivante :

0 1 2 3 4ε 1, 3 4a 2 4b 1 3

1. Éliminer les ε-transitions.2. Déterminiser l’automate obtenu.3. Déterminiser en utilisant la méthode directe (combinaison de l’élimination des ε-transitions et déterminisation).

Exercice 30Soit A l’ε-AEFND défini par ({0, 1, 2, 3, 4}, {a, b}, 0,∆, {4}) où la relation de transition ∆ est définie par la tablesuivante :

0 1 2 3 4ε 1, 3 3 1 3a 2b 4

1. Éliminer les ε-transitions.2. Déterminiser l’automate obtenu.3. Déterminiser en utilisant la méthode directe (combinaison de l’élimination des ε-transitions et déterminisation).

Exercice 31Soit Σ = {a, b} et A l’ε-AEFND suivant défini sur Σ :

0 1 2

3 4

a

ε

b

a

b

a

13

Page 14: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 4. AEFND AVEC ε-TRANSITIONS Année Académique 2013-2014

1. Donner un mot accepté et un mot non-accepté.2. Éliminer les ε-transitions et déterminiser l’automate obtenu.3. Minimiser l’automate obtenu.

Exercice 32Dans cet exercice, nous nous intérressons à une propriété importante en sécurité des systèmes informatiques : l’opacité.Le contexte est le suivant. Nous supposons qu’un attaquant observe un système dont le comportement est modélisépar un AEFND avec ε-transitions. Les états accepteurs de l’automate représentent le “secret" : lors d’une exécutiondu système, l’attaquant ne doit pas être en mesure de savoir avec certitude que le système est dans un état secret.Si lors d’une exécution du système, l’attaquant est en mesure de déterminer que le système est dans un état secret,alors on dit que cette exécution révèle le secret. Un système est dit opaque s’il n’existe pas d’exécution qui révèle lesecret. L’attaquant observe le système à travers une “fenetre d’observation" qui lui permet de voir toutes les transitionsexceptées les ε-transitions. L’attaquant connait la structure de l’automate parfaitement.

q0 q′0 q1 q2 q3

q4 q5 q6

b

ε

a

a b a

a,bb

ab

a,b

q0 q1 q2

q4 q5 q3

ε

a

a

bb

b a

1. Nous considérons le système représenté par l’automate de gauche ci-dessus. Lorsque l’attaquant observe a, b,ab, quels sont les états courants possibles du système ?

2. Dire si ce système est opaque.3. Même questions avec le système modélisé par l’automate de droite ci-dessus.4. Est-il possible à partir de l’automate modélisant le système, de construire un automate qui indique la connaissance

de l’attaquant en fonction de son observation ?

UNIVERSITÉ JOSEPH FOURIER 14 Licence Sciences et Technologies

Page 15: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

5 Modélisation et Automates Avancés

Exercice 33Monsieur Berger B emmène un Loup L, une chèvre C, et un choux X près d’une rivière et souhaite traverser avec unpetit bateau. Le bateau est tellement petit que B peut entrer dans le bateau avec au plus un passager. Sans surveillancede B, L mange C and C mange X .Comment B peut faire traverser la rivière à la compagnie ?

1. Construire un automate qui modélise la situation.2. Utiliser un automate pour trouver comment le problème peut être résolu.

Exercice 34Soit Σ un alphabet. L’image miroir R(u) d’un mot u est le mot que l’on obtient en lisant le mot u de droite à gauche(comme en Arabe ou en Hébreu). Plus précisément :– R(ε) = ε,– R(u · a) = a ·R(u), pour tout u ∈ Σ∗, a ∈ Σ.Soit L un langage d’états finis.

1. Prouver que R(L) = {R(u) | u ∈ L} est un langage d’états finis.

Exercice 35Soit A un AEFND reconnaissant un langage L. Pour chacun des langages suivants, donner un AEFND qui le reconnaît :

1. longueur(L) = {u ∈ Σ∗ | ∃v ∈ L : |u| = |v|}.2. L1/2 = {u ∈ Σ∗ | ∃v ∈ Σ∗ : |u| = |v| ∧ u · v ∈ L}.

Exercice 36Pour n ∈ N, soit n l’ensemble des encodages en binaire de n où le bit le moins significatif est à gauche.Par exemple :– Pour 6 ∈ N : 011 ∈ 6 et 0110 ∈ 6.– Pour 2 ∈ N : 010 ∈ 6 et 01 ∈ 2.

1. Donner un AEFND qui reconnaît les solutions de y = 2x dans N. Plus précisément, soit Σ = {0, 1} × {0, 1},nous cherchons un AEFND qui reconnaît L ⊆ Σ∗ tel que u ∈ L si et seulement s’ils existent x, y ∈ N tels que :– u = (x1, y1) · · · (xk, yk),– x1 · · ·xk ∈ x,– y1 · · · yk ∈ y, et– y = 2 ∗ x.

15

Page 16: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 5. MODÉLISATION ET AUTOMATES AVANCÉS Année Académique 2013-2014

UNIVERSITÉ JOSEPH FOURIER 16 Licence Sciences et Technologies

Page 17: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

6 Expressions Régulières et Lemme de l’Itération

Exercice 37Pour chacun des automates minimaux du Chapitre 3, donner une expression régulière spécifiant l’automate.

Exercice 38

1. Rapeller le lemme d’Arden.2. Prouver le lemme d’Arden.

Exercice 39L’ensemble des expression régulières étendues est obtenu en ajoutant les constructions suivantes aux expressionsrégulières :– Si e est une expression régulière sur Σ alors ¬e est une expression régulière sur Σ.– Si e et e′ sont des des expressions régulières sur Σ, alors e ∩ e′ est une expression régulière sur Σ.

– Si e est une expression régulière sur Σ alors e+− est une expression régulière sur Σ.

La sémantique de ces opérateurs est comme suit :– L(¬e) = Σ∗ \ L(e).– L(e ∩ e′) = L(e) ∩ L(e′).

– L(e+−) = L(e) · L(e)∗.

1. Prouver qu’il existe un algorithme qui transforme toute expression régulière étendue vers une expressionrégulière.

Exercice 40Donner une preuve ou un contre-exemple pour les lois algébriques suivantes sur les expressions régulières :

1. (ε+R)∗ = R∗.2. (ε+R) ·R∗ = R∗.3. ∅ ·R = R · ∅ = ∅.4. ∅+R = R+ ∅ = R.5. (R+ S)∗ = R∗ + S∗.6. (RS +R)∗R = R(SR+R)∗.7. (RS +R)∗RS = (RR∗S)∗.8. (R+ S)∗S = (R∗S)∗.9. S(RS + S)∗R = RR∗S(RR∗S)∗.

Exercice 41

1. Construire l’expression régulière associée à l’automate suivant, en suivant les deux méthodes vues en cours :– Méthode associant des expressions régulières aux chemins.– Méthode associant des équations linéaires aux états.

17

Page 18: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 6. EXPRESSIONS RÉGULIÈRES ET LEMME DE L’ITÉRATION Année Académique 2013-2014

1 2 3

01

1

0

1

0

2. Même question avec l’automate suivant :

1 23

0

01

1

0

1

Exercice 42Soit Σ = {a, b}. Écrire les automates finis non-déterministes avec ε-transitions associés aux expressions régulièressuivantes :

1. a · b,2. a∗ · b,3. (a+ b)∗ · a∗ · b∗ · a,4.(a∗ · b+ d · c

)∗ · (b∗ · d+ a · d)∗

,

5.(a · b+ a∗ · b+ c · d

)·((c · a∗ + b · d) · (a · b∗ + a · b · d)

)∗.

Exercice 43Considérons Σ = {0} et Σ′ deux alphabets.

1. Prouver que {0i | i est premier} n’est pas un langage régulier.2. Prouver que {u ∈ Σ′∗ | |u| est premier} n’est pas un langage régulier.3. Prouver que {0i | i est un carre} n’est pas un langage régulier.4. Prouver que {u ∈ Σ′∗ | |u| est un carre} n’est pas un langage régulier.5. Prouver que {0i1j2i+j | i, j ∈ N} n’est pas un langage régulier.6. Prouver que {0i1j | i and j sont premiers entre eux} n’est pas un langage régulier.

UNIVERSITÉ JOSEPH FOURIER 18 Licence Sciences et Technologies

Page 19: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

Deuxième partie

Automates Étenduset

la Méthode de Vérification de Floyd

19

Page 20: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les
Page 21: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

7 Automates Étendus et Méthode de Floyd

Exercice 44Nous considérons l’automate étendu suivant :

q0 q1 q2 q3

qt

u := x z := 0z 6= y → z := z + 1

u := u+ 1z = y

L’état q0 est l’unique état initial et qt est l’unique état final.1. Calculer les exécutions de cet automate sur les états initiaux suivants :

1. σ(x) = 2, σ(y) = 3, and σ(v) = 0 pour toute variable v différente de x et y,

2. σ(x) = 2, σ(y) = 0 et σ(v) = 0 pour toute variable v différente de x et y,

3. σ(x) = 2, σ(y) = −3 et σ(v) = 0, pour toute variable v différente de x et y.

2. Déterminer la relation entre états induite par cet automate.3. Donner une spécification (P,Q) satisfaite par cet automate (sans preuve pour le moment).

Exercice 45

1. Déterminer l’ensemble des automates étendus partiellement corrects par rapport à (T,F).2. Déterminer l’ensemble des automates étendus partiellement corrects par rapport à (T,T).3. Déterminer l’ensemble des automates étendus partiellement corrects par rapport à (F,F).4. Déterminer l’ensemble des automates étendus partiellement corrects par rapport à (F,T).

Exercice 46Nous considérons l’automate défini par le 5-tuple dont les éléments sont les suivants :

1. y : ZZ, z : ZZ2. Q = {q0, q1, q2}3. Q0 = {q0}4. T = {(q0, z := 0, q1), (q1, z < y − 1→ z := z + 1, q1), (q1,¬z < y − 1, q2)}5. Qt = {q2}

1. Dessiner cet automate.2. Calculer les exécutions de cet automate sur les états initiaux suivants :

1. σ(y) = 3 et σ(v) = 0, pour toute variable v différente de y.

21

Page 22: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 7. AUTOMATES ÉTENDUS ET MÉTHODE DE FLOYD Année Académique 2013-2014

2. σ(y) = 1 et σ(v) = 0, pour toute variable v différente de y.

3. σ(x) = 2, σ(y) = −3 et σ(v) = 0, pour toute variable v différent de y.

3. Déterminer la relation entre états induite par cet automate.4. Donner une spécification (P,Q) satisfaite par cet automate (sans preuve pour le moment).

Exercice 47Donner un automate qui satisfait la spécification suivante :

(x = x0 ∧ y = y0 ∧ x0 ≥ 0 ∧ y0 ≥ 0, z = x0 ∗ y0)

et utilise seulement l’opération d’addition.

q0 q1 q2 q3

qt

z := 0 u := 0u 6= y → u := u+ 1

z := z + x

u = y

Exercice 48Nous considérons l’automate étendu représenté ci-dessous :

q1 q2

q3

q4

q5

qt

u := 0

x > 1 ∧ even(x)→ x := x/2 y := 2 ∗ y

x > 1 ∧ odd(x)→ x := (x− 1)/2

u := y + uy := 2 ∗ yx ≤ 1→ y := y + u

L’état q0 est l’unique état initial et qt est l’unique état final.1. Calculer les exécutions de cet automate sur les états initiaux suivants :

1. σ(x) = 4, σ(y) = 3 et σ(v) = 0, pour toute variable v différente de x et y,

2. σ(x) = 5, σ(y) = 0 et σ(v) = 0, pour toute variable v différente de x et y,

3. σ(x) = 2, σ(y) = −3 et σ(v) = 0, pour toute variable v différente de x et y,

4. σ(x) = −2, σ(y) = 3 et σ(v) = 0, pour toute variable v différente de x et y.

2. Déterminer la relation entre états induite par cet automate.3. Donner une spécification (P,Q) satisfaite par cet automate (sans preuve pour le moment).

UNIVERSITÉ JOSEPH FOURIER 22 Licence Sciences et Technologies

Page 23: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE

8 Automates Étendus Méthode de Floyd (suite)

Exercice 49Nous considérons l’automate étendu représenté sur la Figure 8.1a. L’état q0 est l’unique état initial et qt est l’uniqueétat final.Démontrer que cet automate étendu satisfait la spécification (y = y0 ∧ y0 ≥ 1, u = x+ y).

Exercice 50Nous considérons l’automate étendu A donné par le 5-tuple dont les éléments sont les suivants :

1. y : ZZ, z : ZZ2. Q = {q0, q1, q2}3. Q0 = {q0}4. T = {(q0, z := 0, q1), (q1, z < y − 1→ z := z + 1, q1), (q1,¬z < y − 1, q2)}5. Qt = {q2}

Prouver que A satisfait la spécification (y = y0 ∧ y ≥ 1, z = y0 − 1).

Exercice 51Nous considérons l’automate étendu A représenté sur la Figure 8.1b. L’état q0 est l’unique état initial et l’état qt estl’unique état final. On considère les prédicats suivants pour les états :– Pq1 : x = x0 ∧ y = y0 ∧ x0 > 0.– Pq2 : x > 0 ∧ y ∗ x+ u = y0 ∗ x0– Pq3 : x > 0 ∧ · · · ∗ y ∗ x+ u = y0 ∗ x0– Pq4 : x > 0 ∧ y ∗ (2x+ · · · ) + u = y0 ∗ x0– Pq5 : x > 0 ∧ 2 ∗ x ∗ y + u = y0 ∗ x0– Pqt

: y = x0 ∗ y0Prouver que A satisfait la spécification (x = x0 ∧ y = y0 ∧ x0 > 0, y = x0 ∗ y0)

Exercice 52Prouver que l’automate représenté sur la Figure 8.1c satisfait la spécification suivante :

(a > 0 ∧ b ≥ 0, x = ab)

Exercice 53Nous définissons inductivement la fonction de Fibonacci : fib : N −→ N :– fib(0) = 0, fib(1) = 1, et– fib(n+ 2) = fib(n) + fib(n+ 1).Prouver que l’automate représenté sur la Figure 8.1d satisfait la spécification :

(x = x0 ∧ x ≥ 0, z = fib(x))

23

Page 24: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 8. AUTOMATES ÉTENDUS MÉTHODE DE FLOYD (SUITE) Année Académique 2013-2014

q0 q1 q2 q3

qt

u := x z := 0z 6= y → z := z + 1

u := u+ 1z = y

(a) Un automate étendu pour l’addition

q1 q2

q3

q4

q5

qt

u := 0

x > 0 ∧ pair(x)→ x := x/2 y := 2 ∗ y

x > 1 ∧ impair(x)→ x := (x− 1)/2

u := y + uy := 2 ∗ yx ≤ 1→ y := y + u

(b) Un automate étendu pour la multiplication

q0 q1 q2

q3 q4

q5

qt

u := a v := b

x := 1

v > 0 ∧ pair(v)→ u := u ∗ u

v := v/2

v = 0

v := v − 1

v > 0 ∧ impair(v)→ x := x ∗ u

(c) Un automate étendu pour la puissance

q1 q2

q3

q4

q5

q6

qt

y := 1

z := 0

x > 0→ u := z

z := z + yy := u

x := x− 1

x ≤ 0

(d) Un automate étendu pour Fibonacci

FIGURE 8.1 – Quelques automates étendus

UNIVERSITÉ JOSEPH FOURIER 24 Licence Sciences et Technologies

Page 25: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

CHAPITRE 8. AUTOMATES ÉTENDUS MÉTHODE DE FLOYD (SUITE) Année Académique 2013-2014

Travaux Dirigés 25 INF 232: LANGAGES ET AUTOMATES

Page 26: INF 232: Langages et Automates Travaux Dirigés › ... › exercices › exercices-INF232.pdf · 2014-10-13 · dirigés du semestre. Pour l’examen final, vous êtes censés les

INF232 : LANGAGES ET AUTOMATES

Université Grenoble 1, Université Joseph Fourier - Licence Sciences et Technologies