Sunteți pe pagina 1din 12

Ministerul Educaţiei, Culturii şi Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare Informatica și Microelectronică
Departamentul Ingineria Software și Automatică

Disciplina: Limbaje formale și automate

Lucrarea de laborator nr.1


Tema: Gramatici formale

A efectuat st. gr. TI-182 Cornea Ion

A verificat: Duca Ludmila

Chişinău -2019
1
Scopul lucrarii: familiarizarea cu noțiunile de bază in limbaje formale.
Însuşirea procedeelor de creare a producțiilor de diferite tipuri, cuvinte,și reprezentarea automatului finit
prin diferite metode.
Condiția problemei:
1. Este dat automatul finit AF=(Q, , , q0, F). Reprezentaţi automatul în toate formele de reprezentare.
2. Construiţi gramatica regulată echivalentă cu automatul dat.
3. Este sau nu automatul dat determinist? De ce?
4. Dacă automatul este nedeterminist, construiţi automatul finit determinist echivalent prin ambele
metode. Reprezentaţi AFD în formă de graf.
5. Construiţi gramatica regulată echivalentă cu automatul finit determinist.
6. Inventaţi un şir peste vocabularul care nu va fi acceptat de către automatul finit determinist. Arătaţi
acest lucru scriind secvenţa de configuraţii respectivă.
7. Pentru AFD=(Q, , , q0, F) construiţi 5 şiruri acceptate. Lungimea şirurilor să nu fie mai mică decât
n+2, unde n este numărul de stări din Q.
8. Pentru fiecare şir x scrieţi secvenţa de configuraţii pentru acceptarea şirului, adică (q0, x) |— (qi1, x1)
|— (qi2, x2) |— ... |— (qf, ), unde qf  F.
9. Petru toate cele 5 şiruri obţinute construiţi descompunerea x=uvw aplicând lema de pompare.
10. Scrieți expresia regulată echivalentă. Descrieți limbajul automatului finit determinist.

Rezolvare:
1) Reprezentarea analitică a automatului finit :
AF =(Q, , , q0, F).
 = {a, b};
Q = {q0, q1, q2, q3};
F = {q3}
 (q0, b) = { q1 };

 (q0, a) = { q0 };

 (q1, b) = { q1 };

 (q1, b) = { q2 };

 (q1, a) = { q0 };

 (q2, a) = { q3 };

 (q3, a) = { q1 };

2
Reprezentarea grafică a automatului finit este redată în figura

Reprezentarea prin tabel a automatului finit este redată in Tabelul 1 :


Tabelul 1 – Reprezentarea grafică a automatului finit
a b
q0 q0 q1
q1 q0 q1, q2
q2 q3 -
q3 q1 -

2) Gramatica regulată echivalentă cu automatul dat:


G = (VT, VT, P, S) | P – mulțimea producțiilor;
VT = {a, b};
VN = {q0, q1, q2, q3};
S = {q0};
P = {q0 → b = q1;
q0 → a = q0;
q1 → b = q1;
q1 → b = q2;
q1 → a = q0;
q2 → a = q3;
q3 → a = q1; }

3
3) Automatul dat este nedeterminist, deoarece q1 derivă prin b și q1 și q2.
4) Construirea automatul finit determinist echivalent automatului finit:
Prin metoda analitică:
Q’ = {[ q0 ]};
’(q0, a) = [ q0 ];

’(q0, b) = [ q1 ];
Q’ = {[ q0 ], [ q1 ]};
’(q1, a) = [q0];

’(q1, b) = [q1 q2];


Q’ = {[ q0 ], [ q1 ], [q1 q2]};
’(q1 q2, a) = ’(q1, a) ∪ ’(q2, a) = [q0 q3];

’(q1 q2, b) = ’(q1, b) ∪ ’(q2, b) = [q1 q2];


Q’ = {[ q0 ], [ q1 ], [q1 q2], [q0 q3], [q0 q2]};
’(q0 q3, a) = ’(q0, a) ∪ ’(q3, a) = [q0 q1];

’(q0 q3, b) = ’(q0, b) ∪ ’(q3, b) = [q1];


Q’ = {[ q0 ], [ q1 ], [q1 q2], [q0 q3], [q0 q1]};
’(q0 q1, a) = ’(q0, a) ∪ ’(q1, a) = [q0 ];

’(q0 q1, b) = ’(q0, b) ∪ ’(q1, b) = [q1 q2];


Q’ = {[ q0 ], [ q1 ], [q1 q2], [q0 q3], [q0 q1]};
Prin tabel:
Q\ a B
q0 q0 q1
q0 q0 q1 q2
q1 q2 q0 q3 q1 q2
q0 q3 q0 q1 -
q0 q1 - q1 q2

Reprezentarea grafică a automatului finit determinat este redată în figura

4
5) Gramatica regulată echivalentă cu automatul finit determinist:
G = (VT, VT, P, S) | P – mulțimea producțiilor;
VT = {a, b};
VN = {q0, q1, q2, q3};
S = {q0};
P = {q0 → b = q1;
q0 → a = q0;
q1 → a = q0;
q1 → b = q1 q2;
q1 q2 → a = q0 q3;
q1 q2 → b = q1 q2;
q0 q3 → a = q0 q1;
q0 q3 → b = q1;
q0 q1 → a = q0;
q0 q1 → b = q1 q2;
q1 q2 → a ; }

5
q2 → a = q3;
q3 → a = q1; }

Se dă:
G = (VT, VN, P, N); | N - simbol inițial, P – mulțimea producțiilor;
VT = {c, f, l, k};
VN = {N, M, F, S};
Rezolvare:
Producțiile de tip 3 sunt reprezentate în figura 1.

Figura 1 – Producții de tip 3


Cuvintele și arborii lor:
Figurele 2, 3, 4, 5, 6 reprezintă cuvintele formate din producțiile de tip 3.
Figurele 7, 8, 9, 10, 11 reprezintă arborii de derivare a acestor cuvinte.

Figura 2 - Formarea primului cuvânt

6
Figura 3 - Arborele de derivare al primului cuvânt

Figura 4 - Formarea cuvântului 2)

7
Figura 5 – Arborele de derivare al cuvântului 2

Figura 6 – Formarea cuvântului 3

Figura 7 – Arborele de derivare al cuvântului 3

Figura 8 – Formarea cuvântului 4

8
Figura 9 – Arborele de derivare al cuvântului 4

Figura 10 – Formarea cuvântului 5

9
Figura 11 – Arborele de derivare al cuvântului 5
Reprezentarea analitică :
AF = (Q, , , Nd, F);
Q = {N, M, F, S};
 = {c, f, l, k};
F = {X}
 (N, c) = { S }
 (N, f) = { X }
 (N, l) = { X }
 (N, k) = { S, X }
 (M, c) = { X }
 (M, f) = { X }
 (M, l) = { F, X }
 (M, k) = { S
 (F, c) = { M }
 (S, f) = { N, X }
 (S, l) = { M }
Reprezentarea grafică a automatului finit este redată în figura 12

10
Figura 12 Prezentarea grafică a automatului finit

Reprezentarea prin tabel este redată in Tabelul 1 :


Tabelul 1 – ( Reprezentarea grafică a automatului finit )
c f k l
F M
M X X S X, F
N S X X, S X
S X, N X, M

Producțiile de tip 2 sunt redate in Figura 13:

Figura 13 Producții de tip 2


Producțiile de tip 1 sunt afișate în Figura 14 :

Figura 14 Producții de tip 1

Concluzie:
În urma efectuării acestei lucrări de laborator, am aflat despre o nouă categorie de limbaje
(formale), și am reușit să mă integrez parțial în acest curs. Am făcut cunoștință cu noțiunile de bază în
limbaje formale, precum: limbaj, cuvinte, simboluri terminale, simboluri neterminale etc., cât și să le
implementez în practic. Paralel cu aceste noțiuni m-am informat desigur și despre utilizarea acestor
limbaje în diferite domenii ca: analiza imaginilor, modelarea unor procese chimice sau biologice,
arhitectură, pictură ș.a.. Noile cunoștințe m-au ajutat să construiesc producții de diferite tipuri, apoi -

11
cuvinte, și să deosebesc caracteristicile acestor tipuri. Și nu în ultimul rând am prezentat automatul finit
prin 3 metode: analitic, grafic și prin tabel, ce facilitează, în opinia mea o alegere a modului de prezentare
de la caz la caz, și de preferințele fiecăruia.

Bibliografie:
1. Cornea Ion, Caiet de practică la disciplina: Limbaje formale și automate

12