Vous êtes sur la page 1sur 9

Langage d'un automate

• Soit l’automate M3 représenté par le diagramme suivant:

• L(M3) = {w / |w| = 0 ou se termine par 0}

Dr. Ali Choumane 12


Langage d'un automate
Automate M4 :
• Q?
• Σ?
• δ?
• q0 ?
• F?

• Essayer les mots : a, b, aa, bb, bab, ab, ba, bbba


• L(M4) = {w / w commence et se termine par le même symbole}

Dr. Ali Choumane 13


Définition formelle de «M accepte w»
• Soit M = (Q, Σ, δ, q0, F) un automate fini et w = w1w2..wn un mot défini sur
l’alphabet Σ.
• On dit que M accepte w si ∃ une séquence d’états r0, r1, …, rn dans Q /
1. r0 = q0
2. δ(ri, wi+1) = ri+1 pour i = 0, … n-1
3. rn ∈ F
• Reprenons l’automate M3 avec w = 100
• δ(q1, 1) = q2
• δ(q2, 0) = q1
• δ(q1, 0) = q1
• Donc ∃ la séquence d’états q1,q2,q1,q1 où les 3 conditions ci-dessus sont vérifiées
Dr. Ali Choumane 14
Langage Régulier
• Définition: Un langage est appelée langage régulier si un automate
fini le reconnaît.

• Exemple: Soit l’alphabet Σ = {0,1} et le langage A = {w/w contient un


nombre impair de 1}. Est-ce que A est un langage régulier ?
• A est régulier si nous pouvons trouver un automate fini M / L(M) = A.

• M = ({q1, q2}, {0,1}, δ, q1, {q2}).

Dr. Ali Choumane 15


Exemple
• Trouver l’automate fini qui reconnait le langage suivant:
B = {w / w contient la sous-chaîne 001}. Σ = {0,1}.

• Pensez d’abord à assurer que la sous-chaîne 001 est acceptée:

• Complétez votre AF par les autres transitions qui ne contredisent pas


la condition donnée

Dr. Ali Choumane 16


Exemple - suite

• L’AF qui reconnait B : Dr. Ali Choumane 17


Opérations sur les langages
• Nous considérons ici 3 opérations de base. D’autres opérations seront
introduites en TD.
• Soit A et B deux langages :

1. Union : A  B = x / x  A ou x  B

2. Concaténation: A  B = xy / x  A et y  B

A = x x ...x / k  0 et xi  A
*
3. Etoile de Kleene: 1 2 k

Dr. Ali Choumane 18


Opérations sur les langages
• L’opération « étoile » est basée sur la concaténation. Soit L un langage:
• 𝐿0 = {𝜀}, 𝜀 étant le mot de longueur 0.
• 𝐿1 = 𝐿
• 𝐿2 = 𝐿°𝐿
• ….
• 𝐿𝑛 = 𝐿°𝐿° … °𝐿 (n fois)

• L’opération de fermeture de Kleene (ou plus simplement l’étoile):


• 𝐿∗ = ‫≥𝑖ڂ‬0 𝐿𝑖 = 𝐿0 ∪ 𝐿1 ∪ ⋯

• 𝐿∗ contient tous les mots qu’il est possible de construire en concaténant un


nombre fini (éventuellement réduit à zéro) d’éléments du langage L.
Dr. Ali Choumane 19
Opérations sur les langages
• Soit Σ = {a, b, …., z} et A et B les deux langages suivants:
• A = {cours, jeu}
• B = {facile, difficile}

• 𝐴 ∪ 𝐵= {cours, jeu, facile, difficile}


• 𝐴°𝐵= {coursfacile, coursdifficile, jeufacile, jeudifficile}
• A* = {𝜀, cours, jeu, courscours, coursjeu, jeujeu, jeucours,
courscourscours, jeujeujeu, courscoursjeu, coursjeujeu, ……………… }

Dr. Ali Choumane 20

Vous aimerez peut-être aussi