Sunteți pe pagina 1din 7

Limbaje formale si automate

Rezolvari Test
Acestea sunt rezolvarilor subiectelor date la test. Daca avet, i ntrebari, trimitet, ile pe mail la: george.mitra@cti.pub.ro
1. Care dintre urmatoarele expresii regulate sunt echivalente: (a b ) , (a |b ),
(a|b) ?
(a) prima cu a doua
(b) prima cu a treia
(c) a doua cu a treia
(d) toate trei
Toate cele trei expresii descriu , pentru = {a, b}.
2. Limbajul generat de gramatica: S  aAb|aAbA
A  BB|a
B  bb|b|e
poate fi acceptat (n cel mai strict sens) de:
(a) un automat finit
(b) un automat push down determinist
(c) un automat push down nedeterminist
(d) niciuna dintre celelalte variante
L = a(a (bb b e)(bb b e))b a(a (bb b e)(bb b e))b(a (bb
b e)(bb b e))
Limbajul generat este finit, adica se poate scrie o expresie regulata pentru
el. Fiind regulat, un automat finit l poate accepta.
3. Fie L un limbaj independent de context. Limbajul Rasturnat(L) = {wR |w
L} este:
(a) regulat
(b) independent de context
(c) dependent de context
(d) nu se poate afirma nimic
1

Fie G = (V, , R, S), o gramatica ce accepta L. Rasturnat(L) este limbajul


acceptat de gramatica (V, , R0 , S), R0 = {(X, R )|(X, ) R}. Mai exact,
rasturnand partea din dreapta a fiecarei reguli, schimbam ordinea termenilor
n fiecare concatenare s, i obt, inem LR .
Rasturnand fiecare cuvant, nici nu scoatem restrict, ii, deci limbajul nu devine
regulat, nici nu adaugam restrict, ii, deci nu l facem dependent de context.
4. Fie L1 = {ap | p e numar prim}; L2 = {a2k |k N}
(L1 L2 ) \L2 este:
(a) L1
(b) complementul lui L2
(c) mult, imea vid
a
(d) L1 L2
L1 L2 = {aa}, fiindca 2 este singurul numar prim par.
(L1 L2 ) = {a2k |k N}
(L1 L2 ) \L2 =
L1 = {a2+k |k N}
L2 = {a2k+1 |k N};
5. Un automat push down nedeterminist cu stiva finita s, i de dimensiune constanta accepta (n cel mai strict sens):
(a) orice
(b) limbaje independente de context
(c) limbaje regulate
(d) nu se poate spune
Intuitiv, un automat push down nedeterminist numara/contorizeaza evenimente punand caractere ntr-o stiva infinita. In cazul n care stiva e finita,
poate numara doar un numar fix, care nu depinde de s, ir, ci doar de automat,
ceea ce poate face s, i un automat finit.
Fie M = (K, , , , s, F ), un automat push down nedeterminist cu stiva
limitata la maxim l elemente. Atunci, se poate crea un automat finit nedeterminist M 0 = (K 0 , , 0 , s0 , F 0 ) care cont, ine grupuri de stari pentru fiecare
stare posibila a stivei (|| l, n total). Daca am tranzit, ii care lasa stiva
neschimbata, fac tranzit, iile n grupul curent de stari. Daca se modifica stiva,
fac tranzit, ia catre destinat, ia corespunzatoare din grupul de stari care descrie
noua stare a stivei. Astfel, |K 0 | = || l |K|, |F 0 | = || l |F |.

6. Fie L1 , L2 , L3 limbaje regulate s, i un limbaj L4 . Se considera urmatoarele


afirmat, ii:
i) L1 L4 = L2 L4 limbaj regulat
ii) L1 L2 = L3 L4 L4 limbaj regulat
iii) L1 L4 L2 = L3 L4 limbaj regulat
(a) i) s, i ii) sunt adevarate, iii) e falsa
(b) toate afirmat, iile sunt adevarate
(c) toate afirmat, iile sunt false
(d) iii) este adevarata, i) s, i ii) sunt false
2

Fie L1 = L2 = L3 = a s, i L4 = an
L1 L2 = L2 = L3 L4 = L1 L4 L2 = L3 = a .
Partea din stanga e adevarata pentru fiecare implicat, ie, partea din dreapta
e falsa. Conform logicii toate sunt false.
7. Aleget, i dintre variantele de mai jos o afirmat, ie adevarata despre urmatoarea
gramatica:
SA
AS
(a) nu este o gramatica valida
(b) automatul push down echivalent are minim doua stari
(c) are un terminal s, i un neterminal
(d) genereaz
a un limbaj regulat
(a) Gramatica este de forma (V, , R, S), cu V = {S, A}, = orice, de
exemplu = {l, m, n}, R = {(S, A), (A, S)}. Gramatica este o gramatica perfect valida pentru , chiar daca neterminalul A e de-a dreptul
inutil.
(b) Fie M = (K, , , , s, F ), K = s, = {l, m, n}, = , F = , =
un automat push down nedeterminist care accepta limbajul vid, deci e
echivalent cu gramatica. Automatul are o singura stare.
(c) Gramatica are exact doi neterminali. Afirmat, ia e falsa. Numarul de
terminali nu mai conteaza.
(d) Limbajul generat este , care este regulat.

8. Fie L = {w {a, b} |w cont, ine numar par de a-uri s, i numar impar de b-uri
mai mare decat numarul de a-uri}. Atunci:
(a) se poate scrie un automat finit nedeterminist care accepta limbajul
(b) s, irul vid apart, ine lui L
(c) L nu este limbaj regulat
(d) orice prefix al lui w cont, ine cel put, in un b
(a) Limbajul este independent de context fiindca are nevoie de o stiva pentru a numara a-uri pe care sa le scoata de pe stiva cand cites, te b-uri.
Un AFN nu poate face asta.
(b) S, irul vid cont, ine numar par de a-uri s, i numar par de b-uri, deci nu
apart, ine limbajului
(c) Este negat, ia punctului (a), deci este adevarata.
(d) Fie w = aabbb. w cont, ine numar par de a-uri, 2, cont, ine un numar
impar de b-uri mai mare decat numarul de a-uri, 3, dar nu orice prefix
cont, ine un b. De exemplu, prefixul aa cont, ine doar a-uri.
9. Un automat finit determinist M , peste un alfabet cu || = 2 are k stari,
k > 2. Automatul accepta orice s, ir din cu proprietatea ca |w| k. Ce se
poate spune despre cardinalul limbajului acceptat de automat?
(a) |L(M )| 2k
(b) |L(M)| > 2k+2
(c) |L(M )| = 2k+1 1
(d) |L(M )| = 2k+1
Automatul accepta toate cuvintele cu mai put, in de k caractere. Nu ne intereseaza toate. Daca accepta unul, e suficient. Pentru a accepta un cuvant
de lungime k, este necesar sa treaca prin k tranzit, ii. In k stari nu se poate
obt, ine acest lucru decat trecand printr-o stare de cel put, in doua ori. Acest
lucru face ca n automat sa existe cel put, in un ciclu dupa ies, irea/n interiorul
caruia sa fie cel put, in o stare finala. Existent, a unui ciclu de unde se poate
ajunge ntr-o stare finala face ca limbajul sa fie infinit. 2k+2 nu are nicio
semnificat, ie acolo, important e ca limbajul accepta mai multe cuvinte.
10. Fie M un automat finit determinist care accepta minim 3 s, iruri. Numarul
minim de stari finale ale automatului este:
(a) 1
4

(b) 2
(c) 3
(d) niciuna dintre celelalte variante
Pentru a accepta ceva, este necesar sa aiba stari finale. Exista vreun automat
care accepta cel put, in trei s, iruri s, i are doar o stare, cea obligatorie? Da,
M = (K, , , s, F ), cu K = {s}, = {a, b}, (s, a) = s, (s, b) = s,
F = {s}. Automatul accepta , deci o infinitate de cuvinte. Accepta cu
sigurant, a cele minim trei cuvinte cerute n enunt, .
11. Fie G = (V, , R, S), o gramatica independenta de context cu || = 1 s, i
urmatoarele afirmat, ii:
i) L(G) este regulat
ii) L(G) este independent de context
iii) L(G) este finit
Aleget, i varianta corecta
(a) toate corecte
(b) doar ii) corecta
(c) i) s, i ii) corecte
(d) doar i) s, i iii) corecte
Afirmat, ia ii) este ntotdeauna corecta fiindca exista o gramatica pentru limbaj.
Afirmat, ia iii) nu este ntotdeauna corecta fiindca exista limbaje definite pe
alfabete unare care nu sunt finite. De exemplu: a .
Afirmat, ia i) este corecta. Intuitiv, tot ce aduc limbajele independente de
context n plus fat, a de cele regulate este abilitatea de a pompa perechi de
s, iruri cu o dependent, a liniara ntre elementele perechii. In cazul unui alfabet
unar, ordinea elementelor nu mai conteaza, as, a ca putem schimba ordinea
subs, irurilor astfel ncat elementele pompate sa fie adiacente s, i sa poata fi
combinate. Astfel, ap akq ar aks at se poate scrie sub forma ap+r+t ak(q+s) .
Alta explicat, ie intuitiva ar fi ca tot ce conteaza n cazul cuvintelor formate
dintr-un alfabet unar este lungimea, adica un s, ir are forma a1 k+0 , lucru
care poate fi descris de o expresie regulata.
12. Fie L1 , L2 , doua limbaje regulate. Fie L3 (L1 L2 ). Ce se poate spune
despre L1 ( \L3 )?
5

(a) trebuie s
a fie regulat
(b) nu poate fi independent de context
(c) poate sa nu fie independent de context
(d) este independent de context, dar nu regulat
L3 (L1 L2 ) L3 L1
\L1 \L3 L1 \L1 L1 \L3
L1 \L1 = L1 \L3
L1 \L3 = , care e regulat.
13. Fie M1 un automat finit determinist care nu accepta niciun s, ir s, i M2 un automat finit determinist care accepta orice s, ir din . Care dintre urmatoarele
afirmat, ii este ntotdeauna adevarata:
(a) M1 nu are stari finale s, i M2 are cel put, in o stare finala
(b) M1 poate avea stari finale s, i M2 nu are cicluri
(c) at
at M1 c
at s, i M2 pot avea st
ari finale
(d) M1 nu poate avea stari finale s, i M2 are cel put, in un ciclu
Singura condit, ie pentru ca M1 sa nu accepte niciun s, ir este de a nu avea
nicio cale prin automat de la starea init, iala la starile finale. Despre existent, a
lor nu se spune nimic. De exemplu: M = (K, , , s, F ), cu K = {s, q},
= {a}, (s, a) = s, (q, a) = s, F = {q}, este un automat foarte bun care
nu accepta nimic fiindca nu poate ajunge niciodata n singura stare finala.
Acest fapt face afirmat, iile (a) s, i (d) false.
Singura metoda de a putea accepta s, iruri oricat de lungi este printr-un ciclu. Acceptarea lui impune acceptarea unor s, iruri oricat de lungi. Astfel,
afirmat, ia (b) e falsa.
Pentru acceptarea a cel put, in unui s, ir este necesara cel put, in o stare finala. De aici rezulta ca s, i M2 poate avea stari finale, fiindca trebuie sa aiba.
Afirmat, ia (c) este corecta.
14. Fie L un limbaj independent de context care nu e regulat. Ce se poate spune
despre L LL?
(a) poate s
a nu fie independent de context
(b) nu poate fi regulat
(c) este ntotdeauna independent de context
(d) accepta o infinitate de cuvinte
6

Fie L = {wwR }.LL = {w1 w1R w2 w2R }. L LL = {wwR wwR }. Acest limbaj
nu este independent de context, deci (a) este adevarata s, i (c) e falsa.
Fie L = {a, aa} {an bn , n > 0}.LL = {an+1 bn , n > 0} {an+2 bn , n >
0}{an bn a, n > 0}{an bn aa, n > 0}{aa}{aaa}{aaaa}. LLL = {aa},
care este regulat s, i finit. In aceste condit, ii, variantele (b) s, i (d) sunt false.
15. Fie M un AFN care accepta un singur s, ir. Numarul minim de tranzit, ii pe
care le poate avea automatul este:
(a) 1
(b) 2
(c) 4
(d) Niciuna din celelalte variante
Fie automatul M = (K, , , s, F ), cu K = s, = a, = , F = {s}.
Automatul accepta e s, i are 0 tranzit, ii. 0 nu apare listat separat s, i e mai mic
decat toate variantele, deci e minim fiindca numarul de tranzit, ii nu poate fi
negativ.
In cazul n care vret, i mai multe detalii despre vreun exercit, iu, mi
putet, i cere pe mail.