Vous êtes sur la page 1sur 18

Opérations sur les langages

• Théorème: La classe des langages réguliers est fermée par les trois
opérations d'union, de concaténation et d'étoile.

• Cela signifie que si A1 et A2 sont deux langages réguliers, alors:


• A1 U A2 est un langage régulier

• A1 ° A2 est un langage régulier

• A1* (de même pour A2*) est un langage régulier

Dr. Ali Choumane 21


Union des langages réguliers
• Preuve du théorème de fermeture
• Commençant par l’union … Preuve par construction, c.-à-d.,
• Si A1 et A2 sont deux langages réguliers, alors on sait qu’il existe M1 et M2
deux AF / L(M1) = A1 et L(M2) = A2

• Pour démontrer que A1 U A2 est un langage régulier, trouver un automate fini


M / L(M) = A1 U A2

• La preuve par construction, dans ce cas, consiste à trouver un algorithme qui


permet de construire l’union de deux AF qui reconnait l’union de deux
langages correspondants.

Dr. Ali Choumane 22


Union des langages réguliers
• Soit M1 = (Q1, Σ, δ1, q1, F1) / L(M1) = A1 et M2 = (Q2, Σ, δ2, q2, F2) / L(M2) = A2
• Construire M = (Q, Σ, δ, q0, F) / L(M) = A1 U A2

1. 𝑄 = 𝑄1 𝑥𝑄2 = { 𝑟1 , 𝑟2 /𝑟1 ∈ 𝑄1 𝑒𝑡 𝑟2 ∈ 𝑄2 }
2. Σ est le même alphabet que celui de M1 et M2
3. ∀ 𝑟1 , 𝑟2 ∈ 𝑄 𝑒𝑡 𝑎 ∈ Σ, la fonction de transition 𝛿 de M:
𝛿 𝑟1 , 𝑟2 , 𝑎 = (𝛿1 𝑟1 , 𝑎 , 𝛿2 𝑟2 , 𝑎 )
4. q0=(q1,q2)
5. 𝐹 = { 𝑟1 , 𝑟2 /𝑟1 ∈ 𝐹1 𝑂𝑈 𝑟2 ∈ 𝐹2 }
Dr. Ali Choumane 23
Union des langages réguliers - Exercice
Soit Σ = {a,b}
L1 = {w ∈ Σ*/ w contient un nombre pair de a}
L2 = {w ∈ Σ*/ w contient un nombre impair de b}
• Trouver l’AF qui reconnait L1 U L2

Dr. Ali Choumane 24


Union des langages réguliers - Exercice
L1 = {w ∈ Σ*/ w contient un nombre pair de a}
• Soit M1 l’AF qui reconnait L1

M1 = ({q0,q1}, {a,b}, δ1, q0, {q0})

Dr. Ali Choumane 25


Union des langages réguliers - Exercice
L2 = {w ∈ Σ*/ w contient un nombre impair de b}
• Soit M2 l’AF qui reconnait L2

M2 = ({q2,q3}, {a,b}, δ2, q2, {q3})

Dr. Ali Choumane 26


Union des langages réguliers - Exercice
Trouver M / L(M) = L1 U L2 en suivant les étapes de la preuve par construction
1. Q = Q1 x Q2 = {q0,q1} x {q2,q3} = {(q0,q2), (q0,q3), (q1,q2), (q1,q3)}
2. Σ = {a,b}
3. Fonction de transitions
𝛿 a b
(q0,q2) = (𝛿1(q0,a), 𝛿2(q2,a)) = (q1,q2) (q0,q3)
(q0,q3) (q1,q3) (q0,q2)
(q1,q2) (q0,q2) (q1,q3)
(q1,q3) (q0,q3) (q1,q2)
Dr. Ali Choumane 27
Union des langages réguliers - Exercice
4. q0 = (q0,q2)

5. F = {(q0,q2), (q0,q3), (q1,q3)}

Dr. Ali Choumane 28


Union des langages réguliers - Exercice
• D’où le diagramme de M

(q0,q2) (q0,q3)

(q1,q2) (q1,q3)

Dr. Ali Choumane 29


Opérations de concaténation et d'étoile
• La preuve du théorème de fermeture pour ces opérations nécessite
un nouveau type d’automate: Automate fini non-déterministe ….

Dr. Ali Choumane 30


Déterminisme & Non-Déterminisme
• Définition: Si l’AF est dans un état donné et lit le symbole suivant:
• Si nous savons quel sera le prochain état, alors l’automate est déterminisme
(Automate fini déterminisme: AFD)
• Si plusieurs choix peuvent exister pour l'état suivant, il s'agit d’un automate
non-déterministe (Automate fini non-déterminisme: AFN)

• AFD: Chaque état d’un AFD a exactement une transition pour chaque
symbole dans Σ.
• AFN: Chaque état peut avoir zéro, une ou plusieurs transitions pour
chaque symbole dans Σ
• De plus, un AFN peut avoir des transitions ε.

Dr. Ali Choumane 31


Déterminisme & Non-Déterminisme
• Soit l’AFN suivant:

• L’état q1 a une transition pour 0 mais deux transitions pour 1


• q2 a une transition pour 0 mais aucune pour 1. q2 a aussi une
transition avec ε
• q3 a une transition pour 1 mais aucune pour 0

Dr. Ali Choumane 32


q1
Comment un AFN accepte un mot? 0

q1
1 1
• Tester le mot 0 1 0 1 1 0 q1 q2

q1
1 1
q2 ε
q1
1 1
q3
q1 q2
1
0 0 ε
q4
q1 q3 q3 0
33
Dr. Ali Choumane q4
Comment un AFN accepte un mot?

Analyse en AFD Analyse en AFN

Mot rejeté

Mot accepté ou rejeté


Mot accepté
34
Dr. Ali Choumane
Exemple
• Soit A= {w ∈ {0,1}* / w contient un 1 à la troisième position de la fin}
• Par exemple 000100 est dans A mais 0011 ne l'est pas.
• Trouvez un AFN qui reconnaît A.

Dr. Ali Choumane 35


Déterminisme & Non-Déterminisme
• Le non-déterminisme est une généralisation du déterminisme.
• Chaque automate fini déterministe est automatiquement un automate fini non-
déterministe
• Tout AFN peut être converti en AFD équivalent ….. Mais l’AFD est souvent
plus complexe et possède un plus grand nombre d’états
• Le plus petit AFD qui reconnait A (mots qui contiennent un 1 à la troisième
position de la fin)

Dr. Ali Choumane 36


Exercice
• Trouver le langage accepté par l’AFN suivant:

• Attention, ici l’alphabet est {0}.

• Cet automate accepte le langage


{0𝑘 / k est un multiple de 2 ou de 3}

Dr. Ali Choumane 37


AFN: Définition formelle
• Dans un AFD, la fonction de transition prend un état et un symbole
d'entrée et produit l'état suivant.
• Dans un AFN, la fonction de transition prend un état et un symbole
d'entrée ou ε et produit un ensemble d’états suivants.
• Pour tout ensemble Q, soit P(Q) l’ensemble de toutes les parties
(sous-ensembles) de Q.
• Soit Σ𝜀 = Σ⋃{𝜀}

Un AFN est un quintuplet (Q, Σ, δ, q0, F), où: δ(q1, 1) = {q1,q2}


δ: Q x Σε → P(Q) est la function de transitions
Dr. Ali Choumane 38

Vous aimerez peut-être aussi