Documente Academic
Documente Profesional
Documente Cultură
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
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];
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.
6
Figura 3 - Arborele de derivare al primului cuvânt
7
Figura 5 – Arborele de derivare al cuvântului 2
8
Figura 9 – Arborele de derivare al cuvântului 4
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
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