Expressions Régulières Donnez une expression régulière qui accepte chacun des langages suivants (définis sur l'alphabet Σ = {a,b}): 1. tous les mots contenant exactement une double lettre. 2. tous les mots contenant la lettre b dans lesquels ils ne contiennent pas bbb. 3. tous les mots dans lesquels a est triplé ou b est triplé. C'est- à- dire chaque mot contient aaa ou bbb mais pas tous les deux. 4. Tous les mots qui se terminent en double lettre. 5. Tous les mots qui ne se terminent pas en double. 6. Tous les mots dans lesquels le nombre des a est divisible par 3. 7. a. Considérez l'expression régulière suivante: (a+b)*a(a+b)*b(a+b)* Montrez que cette expression régulière accepte le même langage que (a+b)*ab(a+b)* b. Montrez que (a+b)*ab(a+b)* + b*a* = (a+b)* c. Montrez que (a+b)*ab[(a+b)*ab(a+b)*b*a*] + b*a* = (a+b)*
Automate fini (AF) 1. Construire un AF qui n'accepte que: a. les mots qui ne se terminent pas par ba. b. les mots qui commencent ou se terminent en double lettre. c. les mots ayant le nombre pair des ab. 2. Décrire les langages acceptés par les AFs suivants: a. b. c. d. Écrire les expressions régulières acceptées par ces trois machines. 3. Construire un AF qui accepte un ensemble des mots binaires dans lesquels il y a au moins deux occurrences de 01 et ils se terminent par 11. 4. Prouver que l'af suivant accepte tous les mots ayant un nombre impair des occurences d'abc.
Graphes de transition (GT) 1. Soit L le langage accepté par le graphe de transition T, L ne contenant pas le mot ba. Nous voulons construire un nouvel GT acceptant exactement L et le mot ba. a. Une suggestion est de dessiner un fil de - à + et l'étiquette ba. Prouver qu'il ne marche pas toujours. b. Une autre suggestion est de dessiner un nouvel état + et d'ajouter un fil de - à cet nouvel état et l'étiquette ba. Prouver qu'il ne marche pas toujours. (i) 2. Soit L un langage, transpose(l) la transposée de L qui accepte exactment tous les mots dans lesquels toutes les lettres sont inversées. Par exemple, si L = {a abb bbaab bbbaa} alors la transposée de L est transpose(l) = {a bba baabb aabbb} Prover que (i) S'il y a un AF acceptant L, alors il y a un GT acceptant la transposée de L. (ii) S'il y a un TG acceptant L, alors il y a un GT acceptant la transposée de L. (iii) transpose(l1l2) = transpose(l2).transpose(l1)
Le théorème de Kleene 1. En utilisant la preuve du lemme 2 du théorème de Kleene, convertissez les GTs suivants en expressions régulières:
2. En utilisant la règle 2 du lemme 3 du théorème de Kleene, construissez les AFs pour l'union des langages suivants: a. FA1 + FA3 b. FA2 + FA3 2. En utilisant la règle 3 du lemme 3 du théorème de Kleene, construissez les AFs pour la concaténation des langages suivants: a. FA2FA3 b. FA1FA1 c. FA2FA1 d. FA2FA2 3. En utilisant la règle 4 du lemme 3 du théorème de Kleene, construissez les AFs pour les langages suivants: a. (FA2)* b. (FA3)*
Automates Finis avec sortie 1. Pour chaque tableau de transitions et de sorties suivant, dessinez une machine de Moore avec l'alphabet Σ={a,b} et l'alphabet de sortie Γ={0,1}.
2. Pour chaque machine de Moore suivante, construissez un tableau de transitions et de sorties. 3. Sur chaque machine de Moore dans l'exercice 1 et 2, éxécutez une entrée aabab. Quelle est la sortie correspondante?
Langages réguliers Pour chaque paire des langages réguliers, trouver une expression régulière et un AF qui définissent L1 L2 : L1 L2 1. (a+b)b(a+b)* (a+b)*b 2. (b+ab)*(a+λ) (a+b)*aa(a+b)* 3. (b+ab)*(a+λ) (b+ab*a)*ab* 4. (b+ab)*(a+λ) (a+ba)*a 5. (ab*)* b(a+b)* 6. (ab*)* a(a+b)* 7. (ab*)* (a+b)*aa(a+b)*
Langages non réguliers En utilisant le lemme de pumping, provez que chaque langage suivant est non- régulier: 1. {a n b 2n } = {abb, aabbbb,aaabbbbbb,...} 2. {a n ba n } = {aba, aabaa, aaabaaa,...} 3. {a n b n a n } = {aba, aabbaa,aaabbbaaa,...}
Décidabilité Prouvez que chaque paire de FA1 et FA2 suivante est équivalente: 1. 2. 3. 4.
Grammaires non contextuelles (GNC) 1. Soit G la grammaire non contextuelle avec S - > S + S; S - > S - S; S - > S * S; S - > S/S; S - > (S); S - > a Donnez un arbre de dérivation pour le mot (a + a)/((a * a) - a) 2. Considérer la GNC: S - >SS XaXaX Λ X- >bx Λ Provez que: a. X peut engendrer b*. b. XaXaX peut engendrer b*ab*ab*. c. S peut engendrer (b*ab*ab*)*. 3. Considérer la GNC: S - >XbaaX ax X - >Xa Xb Λ Quel est le langage engendré par cette GNC? Trouvez un mot dans ce langage dans lequel il est engendré de deux facons differentes. 4. Trouver une GNC pour chaque langage suivant sur l'alphabet Σ = {a,b}: a. Tous les mots dans lesquels la lettre b n'est jamais triplé. b. Tous les mots ayant exactement deux ou trois b. c. Tous les mots ne contenant pas ab. d. Tous les mots ne contenant pas baa. e. Tous les mots dans lesquels la première et dernière lettre sont différentes: {ab ba aab abb baa bba... }
Formes Canoniques Des Grammaires 1. Trouver les GNCs qui engendrent les langages réguliers sur l'alphabet Σ = {a,b}: a. Tous les mots sans aaa. b. Tous les mots qui se terminent par b et ont un nombre pair des b au totale. c. Un ensemble des mots de longeur impair. d. Tous les mots avec exactment un a ou exactement un b. e. Tous les mots avec un nombre impair des a ou un nombre pair des b. 2. Pour chaque GNC suivante, trouver une expressions régulière définissant le même langage et décrire ce langage. a. S- >aas abs bas bbs Λ b. S- >ab ba Λ A- >as B- >bs c. S- >ab ba A- >ab a B- >ba b d. S- >as bx a X- >ax by a Y- >ay a
Automate à Pile 1. Convertir chaque AF suivant en Automate à pile correspodant.
2. Considérer l'automate à pile déterministe: a. Montrer ce qui se passe dans le ruban d'entrée et dans la pile pour chaque mot suivant: i. abb ii. abab iii. aabb iv. aabbbb b. i. Quel est le langage accepté par cet automate à pile? ii. Trouver un GNC qui engendre ce langage. iii. Est- ce que ce langage est régulier?
GNC Automate à Pile Pour chaque GNC suivante, construire un automate à pile qui accepte the même langage qu'il engendre en utilisant le théorème 1. 1. S- >asbb abb S- >SS a b 2. S- >XaaX X- >ax bx Λ 3. S- >as asbs a 4. S- >XY X- >ax bx a Y- >Ya Yb a 5. S- >Xa Yb X- >Sb b Y- >Sa a