Sunteți pe pagina 1din 7

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul Ingineria Software si Automatică

RAPORT

Lucrarea de laborator nr. 2


la Limbaje Formale și Automate

A efectuat: Pânzaru Claudiu-Damian

A verificat:
lect. sup., Duca Ludmila

Chișinău 2018
Tema: Automate finite

1. Este dat automatul finit. Reprezentati automatul sub forma de graf.


2. Construiti gramatica regulata echivalenta cu automatul dat.
3. Este sau nu automatul dat determinist? De ce?
4. Daca automatul este nedeterminist, construiti automatul finit determinist echivalent. Reprezentati AFD in
forma de graf.
5. Construiti gramatica regulata echivalenta cu automatul finit determinist.
6. Inventati un sir peste vocabularul ∑ care nu va fi acceptat de catre automatul finit determinist. Aratati
acest lucru scriind secventa (secventele) de configuratii respectiva.
7. Pentru AFD construiti 5 siruri acceptate. Lungimea sirurilor sa nu fie mai mica decat
n+2, unde n este numarul de stari din Q.
8. Pentru fiecare sir x scrieti secventa de configuratii pentru acceptarea sirului.
9. Petru toate cele 5 siruri obtinute construiti descompunerea x=uvw, aplicand lema de pompare.
10. Scrieți expresia regulata echivalenta.
1. Este dat automatul finit AF = (Q, Σ, δ, 𝑞0 , F). Reprezentați automatul sub formă de graf. (varianta
16)

AF = (Q, Σ, δ, 𝑞0 , F)

Q = {𝑞0 , 𝑞1, 𝑞2 , 𝑞3}

Σ = {a, b}

F = {q2}

δ(q0, b) = q0 δ(q2, a) = q3

δ(q0, a) = q1 δ(q2, b) = q1

δ(q1, a) = q1 δ(q3, b) = q3

δ(q1, a) = q3 δ(q3, a) = q2

Figura 1 - Reprezentarea grafica a automatului finit nedeterminist

2. Construiți gramatica regulată echivalentă cu automatul dat.


G = (𝑉𝑁 , 𝑉𝑇 , P, 𝑞0 )

𝑉𝑁 = {𝑞0 , 𝑞1 , 𝑞2 , 𝑞3 }
𝑉𝑇 = {a, b, c}
P=
{ 4. 𝑞1 → a𝑞3 8. 𝑞3 → a𝑞2
1. 𝑞0 → b𝑞0 5. 𝑞2 → a𝑞3 9. 𝑞3 → a
2. 𝑞0 → a𝑞1 6. 𝑞2 → b𝑞1 }
3. 𝑞1 → a𝑞1 7. 𝑞3 → b𝑞3

3. Este sau nu automatul dat determinist? De ce?


Automatul dat este nedeterminist pentru că există o stare cu mai multe căi cu aceiași pondere.

4. Dacă automatul este nedeterminist, construiți automatul finit determinist echivalent. Reprezentați
AFD în formă de graf.

Tabelul 1. Transformarea AFDN în AFD


a b
q1 q0
q0
q1 q1 q3 -
q1 q3 Q1 q3
q1 q2 q3 q1 q2 q3 q1 q3
q3 q2 q3
q2 q3 q1

𝑄 ′ = { q0, q1, q1 q3, q1 q2 q3, q3, q2 }

𝐹 ′ = F ˄ 𝑄 ′ = { [q2], [q1 q2 q3]}


Figura 2 - Reprezentarea grafica a automatului finit determinist

5. Construiți gramatica regulată echivalentă cu automatul finit determinist.

G = (𝑉𝑁 , 𝑉𝑇 , P, S)

𝑉𝑁 = { q0, q1, q1 q3, q1 q2 q3, q3, q2 }

𝑉𝑇 = {a, b}

S = {𝑞0 }

P={
1. 𝑞0 → a𝑞1 6. 𝑞1 𝑞2 𝑞3 → a𝑞1 𝑞2 𝑞3 11.𝑞2 → b𝑞1
2. 𝑞0 → b𝑞0 7. 𝑞1 𝑞2 𝑞3 → b𝑞1 𝑞3 12. 𝑞1 𝑞3 → a
3. 𝑞1 → a𝑞1 𝑞3 8. 𝑞3 → a𝑞2 13. 𝑞1 𝑞2 𝑞3 → a
4. 𝑞1 𝑞3 → a𝑞1 𝑞2 𝑞3 9. 𝑞3 → b𝑞3 14. 𝑞3 → a
5. 𝑞1 𝑞3 → b𝑞3 10. 𝑞2 → a𝑞3 }

6. Inventați un cuvânt neacceptat pentru automatul determinist.


Fie baabbaba :

(𝑞0 , baabbaba) ├ (𝑞0 ,aabbaba) ├ (𝑞1 ,abbaba) ├ (𝑞1 𝑞3 ,bbaba) ├ (𝑞3 ,baba) ├ (𝑞3 ,aba) ├ (𝑞2 ,ba) ├ (𝑞1 , a) - impas

Concluzie: Pentru ca un cuvânt să fie acceptat acesta trebuie să pornească din starea inițială și să ajungă
într-o stare finală ɛ.

7. Pentru AF = (Q, Σ, δ, 𝑞0 , F). Construiți 5 șiruri acceptate. Lungimea șirului trebuie să fie nu mai
mică, decât numărul de caractere din alfabet 𝑉𝑁 +2, adică lungimea minimă a șirului va fi 6+2 = 8.
1. baabbbba
2. aaaabbba
3. baaaabaa
4. aabbbaaaa
5. aaaabaaa

8. Pentru fiecare șir x scrieți secvența de configurații pentru acceptarea șirului.

1. Fie baabbbba:
(𝑞0 , baabbbba)├ (𝑞0 , aabbbba)├ (𝑞1 , abbbba)├ (𝑞1 𝑞3 , bbbba)├ (𝑞3 , bbba)├ (𝑞3 , bba)├ (𝑞3 , 𝑏a)├ (𝑞3 , 𝑎)├
(𝑞2 , ɛ) - acceptat

2. Fie aaaabbba:
(𝑞0 , aaaabbba) ├ (𝑞1 , aaabbba) ├ (𝑞1 𝑞3 , aabbba) ├ (𝑞1 𝑞2 𝑞3 , abbba)├ (𝑞1 𝑞2 𝑞3 , bbba) ├ (𝑞1 𝑞3 , bba)) ├ (𝑞3 ,
ba) ├ (𝑞3 , a) ├ (𝑞2 , ɛ) - acceptat

3. Fie baaaabaa:
(𝑞0 , baaaabaa) ├ (𝑞0 ,aaaabaa)├ (𝑞1 , aaabaa)├ (𝑞1 𝑞3 , aabaa)├ (𝑞1 𝑞2 𝑞3 , abaa) ├ (𝑞1 𝑞2 𝑞3 , baa) ├ (𝑞1 𝑞3 , aa) ├
(𝑞1 𝑞2 𝑞3 , a) ├ (𝑞1 𝑞2 𝑞3 , ɛ) - acceptat

4. Fie aabbbaaaa:
(𝑞0 ,aabbbaaaa) ├ (𝑞1 , abbbaaaa ) ├ (𝑞1 𝑞3 , bbbaaaa)├ (𝑞3 , bbaaaa)├ (𝑞3 , baaaa)├ (𝑞3 , aaaa) ├ (𝑞2 , aaa)├
(𝑞2 , aa)├ (𝑞3 , 𝑎) ├ (𝑞2 , ɛ) - acceptat
5. Fie aaaabaaa:
(𝑞0 , aaaabaaa) ├ (𝑞1 , aaabaaa)├ (𝑞1 𝑞3 , aabaaa)├ (𝑞1 𝑞2 𝑞3 , abaaa)├ (𝑞1 𝑞2 𝑞3 , baaa)├
( 𝑞1 𝑞3 , aaa)├ (𝑞1 𝑞2 𝑞3 ,aa) ├ (𝑞1 𝑞2 𝑞3 ,a) ├ (𝑞1 𝑞2 𝑞3 , ɛ) - acceptat

9. Pentru toate cele 5 șiruri obținute construiți descompunerea x = uvw aplicând lema de pompare.

𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎
1. 𝑞0 → 𝑞0 → 𝑞1 → 𝑞1 𝑞3 → 𝑞3 → 𝑞3 → 𝑞3 → 𝑞3 → 𝑞2

v w

u=ɛ v=b w = aabbbba

𝑎 𝑎 𝑎 𝑎 𝑏 𝑏 𝑏 𝑎
2. 𝑞0 → 𝑞1 → 𝑞1 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞3 → 𝑞3 → 𝑞3 → 𝑞2

u v w

u = aa v = aab w = bba

𝑏 𝑎 𝑎 𝑎 𝑎 𝑏 𝑎 𝑎
3. 𝑞0 → 𝑞0 → 𝑞1 → 𝑞1 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3

v w
u = ɛ v = b w = aaaabaa

𝑎 𝑎 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎
4. 𝑞0 → 𝑞1 → 𝑞1 𝑞3 → 𝑞3 → 𝑞3 → 𝑞3 → 𝑞2 → 𝑞3 → 𝑞2

u v w

u = aab v = bb w =aaa

𝑎 𝑎 𝑎 𝑎 𝑏 𝑎 𝑎 𝑎
5.𝑞0 → 𝑞1 → 𝑞1 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3 → 𝑞1 𝑞2 𝑞3

u v w

u = aa v = aab w = aaa

10. Scrieți expresia regulate echivalentă.

ER = b*(aaa(a+ba)*+(aab+aaa(a+ba)*bb)b*a((a+bab+baa(a+ba)*bb)b*a)*(λ+baa(a+ba)*))

Figura 3 - Expresia regulata

Concluzie:
În urma efectuării lucrării de laborator nr. 2 am transformat automatul nedeterminist în determinist. De
asemenea, am controlat 5 șiruri pentru a verifica dacă automatul este valid. Am aplicat lema de pompare și am
scris expresia de regulată.

S-ar putea să vă placă și