INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014
Année Académique 2013-2014 UNIVERSITÉ JOSEPH FOURIER 2 Licence Sciences et Technologies
Introduction Ce livret contient les exercices de l Unité d Enseignement (UE) INF 232 enseignée à l Université Joseph Fourier de Grenoble, France. Équipe Pédagogique Responsable de cette UE : Yliès Falcone Cours : Séance en Français, groupes MIN-S3-X, INF-S3-X : Yliès Falcone. Séance en Anglais, groupe MIN-S3-INT : Saddek Bensalem Travaux 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 Contact Voici 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 : Saddek.Bensalem@ujf-grenoble.fr Michel Burlet : Michel.Burlet@ujf-grenoble.fr Yliès Falcone : Ylies.Falcone@ujf-grenoble.fr Jean-Claude Fernandez : Jean-Claude.Fernandez@ujf-grenoble.fr Yassine Lakhnech : Yassine.Lakhnech@ujf-grenoble.fr Mickaël Perin : Mickael.Perin@ujf-grenoble.fr 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
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 sont là pour vous aider sur les exercices que vous n arriveriez pas à faire tout seul. Quelques conseils Les conseils suivants peuvent sembler cliché et/ou naifs mais les suivre peut être un sérieux atout pour la réussite de votre 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 le cours 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 une question, 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 examen est illusoire. Ne vous perdez pas au milieu du semestre. Discuter avec vos camarades des concepts que vous ne comprenez pas et/ou contactez vos enseignants. Contactez nous. N hésitez pas! Nous sommes généralement disponible et souhaitons aider. Pour la résolution d un exercice, 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
CHAPITRE 1 Notions Mathématiques de Base Ensembles, Relations Exercice 1 1. É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 2 Prouver 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, relation réflexive, relation anti-réflexive, relation symétrique, relation antisymétrique, relation transitive, relation d équivalence, classe d équivalence. 2. Donner un exemple pour chacun des éléments mentionnés dans la question précédente. Exercice 4 Considé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 5 Prouver 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
CHAPITRE 1. NOTIONS MATHÉMATIQUES DE BASE Année Académique 2013-2014 1. Prouver la proposition suivante : n N : n i = i=0 n(n + 1). 2 2. Déduire que 1 + 3 + 5 +... + (2n 1) = n 2. 3. Prouver la proposition suivante : n N : n i 2 = i=0 n(n + 1)(2n + 1). 6 Exercice 6 1. Prouver la proposition suivante : Exercice 7 n N, i N : (n 1 1 i n) n i(n i + 1) 2. Déduire que n N : n 1 log n! n. log n 2(log n!). Définitions Inductives Exercice 8 Soit 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 entier aprè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 fonction doit 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 9 Soit 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
Première partie Langages réguliers et Automates d États-Finis 7
CHAPITRE 2 Automates d États-Finis Déterministes Rappel : AEFD : Automates d États-Finis Déterministe. Exercice 10 Considé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 Σ la proposition suivante soit vraie : L Σ = Σ L = L. Exercice 11 Considé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 12 Considérons Σ = {a, b, c}. Pour chacun des langages suivants, donner un automate qui le reconnaît (si un tel automate existe). 1. L ensemble des mots qui commencent par a b ou b c et qui ne terminent pas par a b c. Utiliser la construction de 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 13 Considé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
CHAPITRE 2. AEFD Année Académique 2013-2014 Exercice 14 Considé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. b 0 1 a, b a a, b 2 Exercice 15 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 16 Considérons l AEFD (Q, q 0, Σ, δ, 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 17 Considérons un AEFD (Q, q 0, Σ, δ, F ) et a Σ un symbole particulier tel que q Q : δ(q, a) = q. 1. Prouver que : n N : δ (q, a n ) = q où a n 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 19 Considérons un AEFD A = (Q, q 0, Σ, δ, {q f }), et, supposons que pour chaque symbole s Σ nous avons δ(q 0, s) = δ(q f, s). 1. Prouver que, pour n importe quel mot w ɛ, nous avons δ (q 0, w) = δ (q f, w). 2. Prouver que, si un mot non-vide w est reconnu para, alors w k (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} : w k L(A) ). UNIVERSITÉ JOSEPH FOURIER 10 Licence Sciences et Technologies
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 20 Donner un AEFND qui reconnait tous les mots de longueur supérieure ou égale à 2 et tels que l avant-dernier symbole est 1. Exercice 21 Soit Σ = {a, b}. Donner un AEFD minimal qui reconnait le langage des mots qui ne contiennent pas aba. Soit Σ = {0, 1}. Exercice 22 1. Soit L 1 le langage des mots qui ne contiennent pas 0100 et qui contiennent un nombre pair de 0 s. Donner un AEFD complet qui reconnaît L 1. 2. Soit L 2 le langage des mots qui ne contiennent pas 010 et qui contiennent un nombre de 0 s multiple de 4. Donner un AEFD qui reconnait L 2. 3. Prouver que L 2 L 1. Exercice 23 Soit 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 24 Soit 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 table suivante : 0 1 2 3 4 5 a 1,2,3,4,5 2,3 0,1,4 0 1 2 b 4 1,2,3 1,2,5 2,3,5 Determiniser A et minimiser l AEFD obtenu. 11
CHAPITRE 3. AEFND ET MINIMISATION Année Académique 2013-2014 Exercice 25 Soit 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 table suivante : 0 1 2 3 4 5 a 1,2 5 b 3 4 0 Déterminiser A et minimiser l AEFD obtenu. Exercice 26 Soit A = (Q A, Σ, q A 0, δ A, F A ) et B = (Q B, Σ, q B 0, δ B, F B ) 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 (q A 0, u 0 ) (q A n, u n ) de A et (q B 0, u 0 ) (q B n, u n ) de B sur un mot commun u de longueur plus grande ou égale à n : ((q A 0, q B 0 ), u 0 ) ((q A n, q B n ), u n ) 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 27 Soit Σ = {0, 1}. Considérons les deux AEFND suivants : Σ 1 1 0 Σ 0 1 0 1 2 0 1 2 0 1. Quels sont les langages reconnus par ces automates? 2. Montrer que ces deux automates sont équivalents. 1 Exercice 28 0 1 0 1 0 1 2 Considérons l AEFND suivant : 1. Construire un AEFD équivalent par déterminisation. UNIVERSITÉ JOSEPH FOURIER 12 Licence Sciences et Technologies
CHAPITRE 4 Automates d États-Finis Non-Déterministes avec ɛ-transitions Rappel : ɛ-aefnd : Automates d États-Finis Non-Déterministes avec ɛ transitions. Exercice 29 Soit 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 table suivante : 0 1 2 3 4 ɛ 1, 3 4 a 2 4 b 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 30 Soit 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 table suivante : 0 1 2 3 4 ɛ 1, 3 3 1 3 a 2 b 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 31 Soit Σ = {a, b} et A l ɛ-aefnd suivant défini sur Σ : a 3 4 ɛ b ɛ a a 0 1 2 b b 13
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 32 Dans 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écution du 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 le secret. L attaquant observe le système à travers une fenetre d observation" qui lui permet de voir toutes les transitions exceptées les ɛ-transitions. L attaquant connait la structure de l automate parfaitement. a q 4 q b 5 q 6 a,b q 4 q 5 q 3 b b a b a a,b a b b q ɛ 0 q 0 a q b 1 q a 2 q 3 q ɛ 0 q a 1 q 2 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
CHAPITRE 5 Modélisation et Automates Avancés Exercice 33 Monsieur 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 un petit bateau. Le bateau est tellement petit que B peut entrer dans le bateau avec au plus un passager. Sans surveillance de 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 34 Soit Σ 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 35 Soit 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. L 1/2 = {u Σ v Σ : u = v u v L}. Exercice 36 Pour 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 = (x 1, y 1 ) (x k, y k ), x 1 x k x, y 1 y k ŷ, et y = 2 x. 15
CHAPITRE 5. MODÉLISATION ET AUTOMATES AVANCÉS Année Académique 2013-2014 UNIVERSITÉ JOSEPH FOURIER 16 Licence Sciences et Technologies
CHAPITRE 6 Expressions Régulières et Lemme de l Itération Exercice 37 Pour chacun des automates minimaux du Chapitre 3, donner une expression régulière spécifiant l automate. 1. Rapeller le lemme d Arden. 2. Prouver le lemme d Arden. Exercice 38 Exercice 39 L ensemble des expression régulières étendues est obtenu en ajoutant les constructions suivantes aux expressions ré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 expression régulière. Exercice 40 Donner 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
CHAPITRE 6. EXPRESSIONS RÉGULIÈRES ET LEMME DE L ITÉRATION Année Académique 2013-2014 1 0 0 0 1 2 3 1 1 2. Même question avec l automate suivant : 1 1 0 3 1 2 1 0 0 Exercice 42 Soit Σ = {a, b}. Écrire les automates finis non-déterministes avec ɛ-transitions associés aux expressions régulières suivantes : 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 43 Considérons Σ = {0} et Σ deux alphabets. 1. Prouver que {0 i 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 {0 i 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 {0 i 1 j 2 i+j i, j N} n est pas un langage régulier. 6. Prouver que {0 i 1 j i and j sont premiers entre eux} n est pas un langage régulier. UNIVERSITÉ JOSEPH FOURIER 18 Licence Sciences et Technologies
Deuxième partie Automates Étendus et la Méthode de Vérification de Floyd 19
CHAPITRE 7 Automates Étendus et Méthode de Floyd Exercice 44 Nous considérons l automate étendu suivant : z y z := z + 1 u := x z := 0 q 0 q 1 q 2 q 3 z = y u := u + 1 q t L état q 0 est l unique état initial et q t 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 46 Nous considérons l automate défini par le 5-tuple dont les éléments sont les suivants : 1. y : Z, z : Z 2. Q = {q 0, q 1, q 2 } 3. Q 0 = {q 0 } 4. T = {(q 0, z := 0, q 1 ), (q 1, z < y 1 z := z + 1, q 1 ), (q 1, z < y 1, q 2 )} 5. Q t = {q 2 } 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
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). Donner un automate qui satisfait la spécification suivante : (x = x 0 y = y 0 x 0 0 y 0 0, z = x 0 y 0 ) Exercice 47 et utilise seulement l opération d addition. u y u := u + 1 z := 0 u := 0 q 0 q 1 q 2 q 3 u = y z := z + x q t Exercice 48 Nous considérons l automate étendu représenté ci-dessous : q 3 x > 1 even(x) x := x/2 y := 2 y u := 0 q 1 q 2 x > 1 odd(x) x := (x 1)/2 q 4 x 1 y := y + u y := 2 y u := y + u q 5 q t L état q 0 est l unique état initial et q t 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
CHAPITRE 8 Automates Étendus Méthode de Floyd (suite) Exercice 49 Nous considérons l automate étendu représenté sur la Figure 8.1a. L état q 0 est l unique état initial et q t est l unique état final. Démontrer que cet automate étendu satisfait la spécification (y = y 0 y 0 1, u = x + y). Exercice 50 Nous considérons l automate étendu A donné par le 5-tuple dont les éléments sont les suivants : 1. y : Z, z : Z 2. Q = {q 0, q 1, q 2 } 3. Q 0 = {q 0 } 4. T = {(q 0, z := 0, q 1 ), (q 1, z < y 1 z := z + 1, q 1 ), (q 1, z < y 1, q 2 )} 5. Q t = {q 2 } Prouver que A satisfait la spécification (y = y 0 y 1, z = y 0 1). Exercice 51 Nous considérons l automate étendu A représenté sur la Figure 8.1b. L état q 0 est l unique état initial et l état q t est l unique état final. On considère les prédicats suivants pour les états : P q1 : x = x 0 y = y 0 x 0 > 0. P q2 : x > 0 y x + u = y 0 x 0 P q3 : x > 0 y x + u = y 0 x 0 P q4 : x > 0 y (2x + ) + u = y 0 x 0 P q5 : x > 0 2 x y + u = y 0 x 0 P qt : y = x 0 y 0 Prouver que A satisfait la spécification (x = x 0 y = y 0 x 0 > 0, y = x 0 y 0 ) Exercice 52 Prouver que l automate représenté sur la Figure 8.1c satisfait la spécification suivante : (a > 0 b 0, x = a b ) Exercice 53 Nous 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 = x 0 x 0, z = fib(x)) 23
CHAPITRE 8. AUTOMATES ÉTENDUS MÉTHODE DE FLOYD (SUITE) Année Académique 2013-2014 z y z := z + 1 u := x z := 0 q 0 q 1 q 2 q 3 z = y u := u + 1 q t (a) Un automate étendu pour l addition q 3 x > 0 pair(x) x := x/2 y := 2 y u := 0 q 1 q 2 x > 1 impair(x) x := (x 1)/2 q 4 x 1 y := y + u y := 2 y u := y + u q 5 q t (b) Un automate étendu pour la multiplication u := a v := b q 0 q 1 q 2 x := 1 q t v := v 1 q 5 v = 0 v > 0 pair(v) u := u u q 3 q 4 v := v/2 v > 0 impair(v) x := x u y := 1 q 1 q 2 z := 0 x := x 1 q 6 y := u q 3 q 5 q t x 0 x > 0 u := z q 4 z := z + y (c) Un automate étendu pour la puissance (d) Un automate étendu pour Fibonacci FIGURE 8.1 Quelques automates étendus UNIVERSITÉ JOSEPH FOURIER 24 Licence Sciences et Technologies
CHAPITRE 8. AUTOMATES ÉTENDUS MÉTHODE DE FLOYD (SUITE) Année Académique 2013-2014 Travaux Dirigés 25 INF 232: LANGAGES ET AUTOMATES
Université Grenoble 1, Université Joseph Fourier - Licence Sciences et Technologies INF232 : LANGAGES ET AUTOMATES