Année 2007–2008 Université Paris Diderot AF4 TD 7 : Algorithme de Thompson, résiduels, automate minimal Exercice 1 : Algorithme de Thompson Pour chacune des expression régulières suivantes, donner l’automate de Thompson correspondant puis le déterminiser. L’automate obtenu (après déterminisation) vous semble-t-il être minimal ? – (a∗ b∗ )∗ , – (a + bb)∗ (b + aa)∗ , – b(ab)∗ + (ba)∗ b, – (ε + a + aa)a∗ , – (a + b)∗ (aaa + bbb)(a + b)∗ . Exercice 2 : Automate minimal par calcul des résiduels Calculer les résiduels de L1 (resp. L2 ) par rapport à a (resp. b) : – L1 = b(ab)∗ + (ba)∗ b – L2 = a(b + ab)∗ + b∗ (a + bb) Construire l’automate minimal du langage L2 par calcul des résiduels successifs. Exercice 3 : Algorithme de minimisation On considère les automates suivants : b a 1 2 a a, b a 0 b 1 a 2 b 3 a 0 a 5 b b b b 3 Fig. 1 – Automate A1 4 Fig. 2 – Automate A2 a 0 b b a 1 4 b a a a 3 5 a b b a b 2 Fig. 3 – Automate A3 Les compléter, vérifier que tous les états de l’automate obtenu sont bien accessibles puis appliquer l’algorithme de minimisation vu en cours. Université Paris Diderot Année 2007–2008 AF4 Exercice 4 : On considère le langage L = {u ∈ {a, b}∗ | u contient le facteur bbb}. Construire l’automate minimal reconnaissant le langage L en appliquant les deux méthodes suivantes : 1. Construire un automate non-déterministe reconnaissant L, le déterminiser, (éventuellement) le compléter et vérifier que tous les états sont accessibles. Appliquer alors l’algorithme de minimisation vu en cours. 2. Écrire une expression rationnelle représentant le langage L et construire l’automate minimal du langage par calcul des résiduels successifs. Comparer les deux automates ainsi obtenus.