Sunteți pe pagina 1din 6

Ministerul Educaiei al Republicii Moldova Universitatea Tehnic a Moldovei Catedra Automatic i Tehnologii Informaionale Disciplina: LFPC

RAPORT
Lucrare de laborator Nr. 2
Tema: Automate

finite

A efectuat studentul gr. TI-113: A verificat Lector Superior:

Cozma Nicolae Tamara Srbu

Chiinu 2012
1

1. Reprezentai automatul sub form de graf. 2. Construii gramatica regulat echivalent cu automatul dat. 3. Inventai un ir peste vocabularul care nu va fi acceptat de ctre automat. Artai acest lucru scriind secvena (secvenele) de configuraii respectiv. 4. Pentru automatul finit AF=(Q, , , q0, F) construii 5 iruri acceptate de automat. Lungimea irurilor s nu fie mai mic dect n+2, unde n este numrul de stri din Q. 5. Pentru fiecare ir x scriei secvena de configuraii pentru acceptarea irului, adic (q0, x) | (qi1, x1) | (qi2, x2) | | (qf, ), unde qf F. 6. Petru toate cele 5 iruri obinute construii aplicnd lema de pompare descompunerea x=uvw. 7. Este sau nu automatul dat determinist? De ce? 8. Dac automatul este nedeterminist, construii automatul finit determinist echivalent Reprezentai AFD n form de graf.
Varianta 5 AF=(Q, , , q0, F), Q = { q0, q1, q2 , q3 }, = { a, b }, F = { q3 }. (q0, a ) = q1 , (q0, b ) = q0 , (q1, a ) = q2, (q1, a ) = q3, (q2, a ) = q3, (q2, b) = q0.

1) Reprezentm automatul sub form de graf:

b q
0

a a

q
1

a b

q
3

q
2

2) Construim gramatica regulat echivalent cu automatul dat:


G = (V N , VT , P, S )

1) VN = Q = {q0, q1, q2, q3} 2) VT = ={a, b, } 3) S=q0 4) Produciile sunt definite astfel: (q0,a) ={q1} (q0,b) ={q0} (q1,a) ={q2} (q1,a) ={q3} (q2,a) ={q3} (q2,b) ={q0} 1. q0 aq1 2. q0 bq0 3. q1 aq2 4. q1 aq3 5. q2 aq3 6. q2 bq0 7. q1 a
8. q2 a

3) Inventm un ir peste vocabularul care nu este acceptat de ctre automat. Artm acest lucru scriind secvena (secvenele) de configuraii respectiv. Cuvintul neacceptat de gramatica dat este
aaabbaaa (q0, x) = (q0, aaabbaaa)|(q1, aabbaaa)|(q2 q3, abbaaa)|(q3, bbaaa) deoarece (q3, a) = , q3 F, bbaaa

4) Pentru automatul finit AF=(Q, , , q0, F) construim 5 iruri acceptate de automat. Lungimea irurilor nu este mai mic dect n+2, unde n este numrul de stri din Q.
1. x = aabaaa 2. x = bbbaaa 3. x = aabbaaa 4. x = bbaabaaa 5. x = aabaaa 5) Pentru fiecare ir x scriem secvena de configuraii pentru acceptarea irului:

(q0, x) | (qi1, x1) | (qi2, x2) | | (qf, ), unde qf F.


1.

(q0, x) = (q0, aabaaa)|(q1, abaaa)|(q2, baaa)|(q0, aaa)|(q1, aa)|( q2, a)|(q3, ), q3 F acceptare 2. (q0, x) = (q0, bbbaaa)|(q0, bbaaa)|(q0, baaa)|(q0, aaa )|(q1, aa)|(q2, a)|(q3, ), q3 F acceptare 3. (q0, x) = (q0, aabbaaa)|(q1, abbaaa)|(q2, bbaaa)|(q0, baaa )|(q0, aaa)|(q1, aa)| (q2, a) |(q3, ), q3 F acceptare 4. (q0, x) = (q0, bbaabaaa)|(q0, baabaaa )|(q0, aabaaa )|(q1, abaaa )|(q2, baaa ) |(q0, aaa)| (q1, aa ) | (q2, a ) |( q3, ), q3 F acceptare

5. (q0, x) = (q0, aabaaa)|(q1, abaaa)|(q2, baaa)|(q0, aaa )|(q1, aa)|(q2, a)|(q3, ), q3 F acceptare

6) Petru toate cele 5 iruri obinute construim aplicnd lema de pompare descompunerea z=uvw: 1. z=uvw 2. |z| n, n=card(Q), |v|1 3. |uv| n 4. uviw L 1. x = aabaaa
a
q
0

a
q
1

b
q2 q
0

a
q
1

a
q2

a
q
3

v u= v=aab w=aaa 2. x = bbbaaa


b
q
0

b
q
0

b
q
0

a
q
0

a
q
1

a
q
2

q
3

u= v=bbb w=aaa

3. x = aabbaaa
a
q
0

a
q
1

b
q
2

b
q
0

a
q
0

a
q
1

a
q
2

q
3

v u= v=aabb w=aaa 4. x = bbaabaaa


b
q
0

b
q
0

a
q
0

a
q
1

b
q
2

a
q
0

a
q
1

a
q
2

q
3

u= v=bbaab w=aaa

5. x = aabaaa
a
q
0

a
q
1

b
q
2

a
q
0

a
q
1

a
q
2

q
3

v u= v=aab w= aaa

7) Este sau nu automatul dat determinist? De ce? Automatul dat este nedeterminist, deoarece din starea q1 prin a se poate trece n 2 stri diferite: q3 sau q2
(q1,a) ={ q2,q3}

8) Dac automatul este nedeterminist, construii automatul finit determinist echivalent. Reprezentai AFD n form de graf. AFD = ( Q1, , 1, q0 , F1 ),
= {a, b, } Q1={ [ q0 ] } 1( [q0 ], a ) = [ q1 ] 1( [q0 ], a ) = [ q0 ]

Q1={ [ q0 ], [q1 ] }

1( [q1 ], a) =[ q2, q3 ]
Q1={ [ q0 ], [q1 ], [q2,q3 ] }

1( [q2 , q3 ], a ) = [ q3 ] 1( [q2 , q3 ], b ) = [ q0] 1( [q2 ], b ) = [ q0] Q1={ [ q0 ], [q1 ], [q2, q3 ] [q3] }


( { q3 }, a ) = ( q3, a) = ( { q3 }, b ) = ( q3, b) = am obinut: AFD = ( Q1, , 1, q0 , F1 ), Q1={ [q0 ], [q1 ], [q2, q3 ], [ q2 ], [ q3 ] }

F1 = Q1 F , F1 = { [ q2, q3 ] }

Funciile de tranziie: 1( [q0 ], a ) = [ q1 ] 1( [q0 ], a ) = [ q0 ]

1( [q1 ], a) =[ q2, q3 ] 1( [q2 , q3 ], a ) = [ q3 ]


5

1( [q2 , q3 ], b ) = [ q0] 1( [q2], a ) = [ q3]

1( [q2 ], b ) = [ q0]

b
q
0

q
1

b
a
q
3

q2 q3

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