Documente Academic
Documente Profesional
Documente Cultură
Calculabiliate Si Complexitate-0001
Calculabiliate Si Complexitate-0001
1.
2.
3.
4.
5.
6.
7.
3.
4.
5.
6.
7.
LIMBAJE REGULATE
(RECAPITULARE)
Definitie
Operatii de inchidere = operatii regulate =
reuniunea,
concatenarea,
operatia star (*).
Teorema
L3 este inchisa la reuniune, concatenare, operatia
star.
6
3.
4.
5.
6.
7.
Definitie
Expresie regulata =
o expresie R care satisface una dintre urmatoarele conditii:
1.a este o expresie regulata (reprezentand limbajul {a} *);
2. este o expresie regulata (reprezentand limbajul {} *);
3. este o expresie regulata (reprezentand limbajul vid);
4.daca R1 si R2 sunt expresii regulate
(R1R2) este o expresie regulata,
(R1oR2) este o expresie regulata,
(R1*) este o expresie regulata.
Exemplu
(01)0*
8
Teorema
L*, LL3: o expresie regulata R peste care descrie L.
Definitie
AFNG = (Q, , , qstart, qaccept), unde:
Q = multime finita, nevida, ale carei elemente se numesc stari;
= multime finita, nevida, numita alfabet de intrare, ale carei
elemente se numesc simboluri;
qstart Q, numita starea initiala;
qaccept Q, numita starea finala;
: (Q \ {qaccept }) x (Q \ { qstart }) R, numita functia de tranzitie.
3.
4.
5.
6.
7.
Reamintim ca:
1. Limbajele generate / descrise de G.I.C. se
numesc L.I.C.;
2. Clasa L2 L3;
3. Un mecanism, care s-a dovedit a fi echivalent
cu cel al G.I.C., este constituit de APD.
A
A
Reprezentarea derivarilor:
linear:
A0A100A11000A11103B1303#13
sintetic:
A G* 03#13
arbore de derivare:
0
A
A
B
0
Ideea demonstratiei
.
.
.
.
X
.
.
.
.
X
u
12
i=0
.
.
.
S
.
.
.
.
.
.
X
.
.
.
X
u
y
v
13
L1,L2*:
L1L2={w*| wL1 sau wL2},
L1L2={w*| wL1 si wL2},
L1 \ L2={w*| wL1 si wL2},
L1 o L2={w1w2*| wL1 si wL2},
mi(L)={mi(w)| wL}.
L = {w * | w L} = * \ L,
L0 = si
:
n
L
n +1 = L Ln = L Ln , n N ,
L = L = ,
L {} = {} L = L,
i
i
*
+
L = L , L = L .
i =0
i =1
14
controlul
starilor
b
a
{0n1n | nN}
17
Observatii
AFD AFN
APDN APD
APDN, APD;
{0n1n | n 0}:
{wwr | w{0,1}*}: APDN.
18
19
Definitia 7
Automat pushdown=APD=(Q, , , , q0, F), unde:
Q = multime finita, nevida, ale carei elemente se numesc stari;
= multime finita, nevida, numita alfabet de intrare, ale carei
elemente se numesc simboluri, ( = {});
= multime finita, nevida, numita alfabetul stivei, ( = {});
: Q x x P(Q x ), numita functia de tranzitie;
q0 Q, numita starea initiala;
FQ numita multimea starilor finale.
20
a,b
qi
qj
Observatie
(i) Metoda standard de testare a vidarii stivei: $ ;
(ii) Metoda standard de testare a terminarii secventei de
intrare: trecerea intr-o stare finala.
Teorema 3
Fie L *. Atunci:
G G.I.C.: L=L(G) A APD: L=L(A).
21
Masini Turing
1. Exemple
2. Definitia formala
3. Limbaje Turing-recunoscute si limbaje Turingdecidabile
Masini Turing
unitate de
control
Masini Turing
MT poate sa simuleze
Masini Turing
Exemplul 1
Fie L = {w#w | w{0,1}*}. Construim o MT care sa testeze
apartenenta unei secvente binare la L.
idee:
avem voie sa ne deplasam la stanga si la dreapta in secventa
de intrare si putem marca un simbol, odata ce l-am
examinat.
Cursorul va scana in mod repetat secventa de intrare:
la fiecare trecere va compara un simbol din stanga cu unul
situat in dreapta lui # si, daca coincid, le inlocuieste cu x;
daca toate simbolurile din secventa au fost inlocuite cu x,
atunci MT trece in una dintre starile finale de acceptare;
altfel trece in una dintre starile finale de respingere.
4
Masini Turing
=> algoritmul:
(P1) se scaneaza secventa de intrare w{0,1}* in cautarea
simbolului special # ;
daca simbolul este gasit, atunci se trece la pasul 2; altfel,
secventa este respinsa.
(P2) se scaneaza prima pereche de simboluri cele mai din
stanga din cele 2 subsecvente;
daca coincid, atunci se inlocuiesc cu x si se trece la pasul
3; altfel, secventa este respinsa.
(P3) se scaneaza urmatoarea pereche de simboluri, pana se
epuizeaza simbolurile din stanga lui #;
daca la dreapta lui # mai raman simboluri binare, atunci
secventa de intrare w este respinsa; altfel, w este acceptata.
5
Masini Turing
1. Exemple
2. Definitia formala
3. Limbaje Turing-recunoscute si limbaje Turingdecidabile
Masini Turing
Definitia 1
MT = un sistem (Q, , , , q0, qa, qr) unde:
Q = mulime finit: mulimea strilor;
= mulime finit: alfabetul de intrare; Q=;
= mulime finit: alfabetul benzii; , , ;
: Q x Q x x { L , R }: funcia de tranziie;
q0 Q: starea iniial;
qa Q: starea finala de acceptare a secventei de intrare;
qr Q: starea finala de respingere a secventei de intrare.
Notatie
MT = {M | M este o masina Turing}
7
Masini Turing
Observatie: Modul de calcul al MT:
1) Initial, MT se afla in starea q0
si primeste pe banda, in primele n locatii din extr. stg., secventa de intrare
w=w1w2wn*.
Primul blank care apare pe banda marcheaza sfarsitul secv. de intrare.
2) Cursorul se afla in extremitatea stanga a benzii (in prima locatie).
(q,a)= (p,b,R)
MT, aflata in starea q, citeste pe banda de intrare simbolul a =>
MT trece in starea p,
Masini Turing
Definitia 2
Configuratie a unei MMT = un triplet format din:
starea curenta a M, q;
continutul curent al benzii, v w;
pozitia curenta a cursorului.
Notatie
q7
vqw, v,w*, qQ.
Exemplu
1 0 1 1 0 1
Configuratia 1011q701111 inseamna
1 1 1
9
Masini Turing
Definitia 3
Configuratia C1 produce configuratia C2
MT trece corect din C1 in C2 intr-un singur pas
Fie a,b,c ,
v,w *,
qi, qj Q
Spunem ca o configuratie vaqibw produce configuratia vqjacw daca
(qi,b)=(qj,c,L);
Analog: o configuratie vaqibw produce configuratia vacqjw daca
(qi,b)=(qj,c,R).
10
Masini Turing
11
Masini Turing
1. Exemple
2. Definitia formala
3. Limbaje Turing-recunoscute si limbaje Turingdecidabile
12
Masini Turing
Definitia 4
MMT M accepta secventa de intrare w *
o secventa de configuratii C1, C2, , Cs astfel incat:
1) C1 este configuratia initiala a lui M pentru intrarea w,
2) 1is-1: Ci Ci+1 ,
3) Cs este o configuratie de acceptare.
Definitia 5
Fie MMT: L(M) = limbajul masinii Turing M = { w* | M accepta w }.
13
Masini Turing
Definitia 6
Limbajul L* se numeste Turing-recunoscut = recursiv enumerabil
MMT: L=L(M).
Definitia 7
1) MMT se numeste decidenta M se opreste indiferent ce secventa
primeste la intrare.
2) Fie MMT si L*; Spunem ca M decide asupra limbajului L
(i) L=L(M),
(ii) M este decidenta.
14
Masini Turing
Definitia 8
Limbajul L* se numeste [Turing-]decidabil = recursiv
MMT decidenta: L=L(M).
Observatie
L Turing-decidabil => L este Turing-recunoscut dar
(rec.)
(r.e.)
<
15
Masini Turing
1. Exemple
2. Definitia formala
3. Limbaje Turing-recunoscute si limbaje Turingdecidabile
16
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Exemplu
<G>=((1,2,3,4);(1,2),(1,3),(1,4),(2,3)).
Explicam modul de codificare a lui G:
MT incepe prin a verifica corectitudinea codificarii <G>.
Daca testul se incheie cu succes (codificarea e corecta),
atunci MT trece la prima etapa a algoritmului.
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Definitia 1
O MT cu mai multe benzi este o MT standard
M = (Q, , , , q0, qa, qr) care:
(i) are n1 benzi de lucru si n1 cursoare corespunzatoare;
(ii) initial prima banda contine secventa de intrare iar
celelalte n-1 benzi sunt vide;
(iii) : Q x n Q x n x { L, R, S }n,
(qi,a1,a2,,an) = (qj,b1,b2,,bn,L,R,S,L,,S).
10
11
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Teorema 2
N = MT nedeterminista =>
S = MT standard a.i. L(S) = L(N).
Corolar 2
L* este Turing-recunoscut
o MT nedeterminista, N, a.i. L=L(N).
14
15
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
ab
baab
abba
IMPRIMANTA
0
banda de intrare
Modul de lucru:
initial: banda de intrare este vida;
limbajul enumerat de E: multimea tuturor secventelor de simboluri
printate de imprimanta;
situatia de ciclare: tiparirea unei liste infinite de cuvinte.
17
Teorema 3
Fie L*; L este Turing-recunoscut
EMT a.i. L=L(E).
18
19
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
23
| cmax |
| cmax |
,k
k
|
c
|
|
c
|
1
1
unde: k=nr de termeni (monoame) din p;
cmax = coeficientul cel mai mare in valoare absoluta
c1= coeficientul termenului de grad maxim.
28
29
Terminologia de descriere a MT
2.
MT cu 3 deplasari
3.
4.
MT nedeterminsite
5.
Enumeratoare
6.
7.
Decidabilitate
Decidabilitate
L3 :
un AFD oarecare accepta sau nu o secventa oarecare?
limbajul acceptat de un AFD este vid?
doua AFD oarecare sunt echivalente?
PROBLEMA ACCEPTABILITATII pentru AFD este:
se poate decide algoritmic dac un AFD oarecare accept
o secven oarecare sau nu =>
ACCAFD = {<A,w>|A este un AFD care accept secvena w}.
AFD A accept w ? <A,w> ACCAFD?
a demonstra c o problem de calculabilitate este
rezolvabil algoritmic a demonstra c un limbaj
(asociat) este decidabil.
2
Decidabilitate
Teorema 1
Limbajul ACCAFD={ <A,w>|A este un AFD care accept
secvena w} este decidabil.
Teorema 2
Limbajul ACCAFN = { <A,w> | A este un AFN care accept
secvena w } este decidabil.
Teorema 3
Limbajul ACCREX = { <R,w> | R este o expresie regulata care
genereaza secvena w } este decidabil.
Observatie
T1, T2, T3
AFD AFN REX din punct de vedere al decidabilitatii
limbajului recunoscut/generat
Decidabilitate
Teorema 4
Limbajul VIDAFD = { <A> | A este un AFD i L(A) = } este
decidabil.
Teorema 5
Limbajul EQVAFD = {<A,B>|A i B sunt AFD i L(A)=L(B)}
este decidabil.
Decidabilitate
Decidabilitate
Teorema 6
Decidabilitate
Teorema 7
Limbajul VIDGIC = { <G> | GGIC i L(G) = } este decidabil.
Observatie
Limbajul EQVGIC = {<G,H>|G,HG.I.C. i L(G)=L(H)}:
Cf. Teoremei 5, problema egalitatii limbajelor generate de
gramatici REGULATE este decidabila
EQVGIC = { <G,H> | G i H sunt gramatici independente de
context i L(G) = L(H) } NU este decidabil.
Teorema 8
Orice limbaj independent de context este decidabil.
7
Decidabilitate
Decidabilitate
Problema opririi
1. Metoda diagonalizarii
2. Nedecidabilitatea unui limbaj dat
3. Un limbaj care nu este Turing-recunoscut
Problema opririi
Definitia 1
Multimea A se n. numarabila
A este finita sau
f: N A, bijectiva.
Exemple de multimi numarabile
1.
N = {2n | n N}
2.
T = {(i,j,k) | i,j,k N}
2
Problema opririi
3. Enumerarea lui Cantor
Multimile N2 si N au aceeasi cardinalitate (1874)
( x + y )( x + y + 1)
J : N 2 N , J ( x, y ) =
+x
2
x\y
10
15
11
16
22
12
17
23
30
13
18
24
31
39
14
19
25
32
40
49
20
26
33
41
50
60
Problema opririi
functia J este bijectiva;
inversele ei sunt:
K, L : N N,
z
K ( z ) = x eq( J ( x, i ), z ) = 1,
x z i =0
L( z ) = y eq( J (i, y ), z ) = 1 ,
y z i =0
1, daca a = b
unde : eq( a, b) =
0, daca a b
a b, daca a b
a b =
0, daca a < b.
Problema opririi
J(x,y) = numarul lui Cantor asociat perechii
(x,y);
Tripletul (J,K,L):
J(K(z),L(z))=z;K(J(x,y))=x,L(J(x,y))=y
triplet de functii pereche
Contraexemplu
R
5
Problema opririi
4. Q = {m/n | m,n N} este numarabila
Utilizam tehnica diagonalizarii
Construim o matrice:
1 1 1 1 1
.....
1 2 3 4 5
2 2 2 2 2
.....
1 2 3 4 5
3 3 3 3 3
.....
1 2 3 4 5
...................
Problema opririi
1 1 2 3 2 1 1 2 3 4 5 4 3 2 1
; ; ; ; ; ; ; ; ; ; ; ; ; ; ;......
1 2 1 1 2 3 4 3 2 1 1 2 3 4 5
1 1 1 1 1
.....
1 2 3 4 5
2 2 2 2 2
.....
1 2 3 4 5
3 3 3 3 3
.....
1 2 3 4 5
...................
1
1
2
3
1 1 2 3 4 5 1
;
;
;
;
; ; ; ; ; ; ;......
1
2
1
1
3 4 3 2 1 1 5
f (1), f (2), f (3), f (4), f (5),
7
Problema opririi
=> Limbaje care nu sunt decidabile si nici macar
Turing recunoscute.
? multimea limbajelor este nenumarabila,
Problema opririi
Propozitia 1
L*: LL(M), MMT
demonstratie
(i) MT = multimea masinilor Turing este numarabila
Observam ca multimea * este numarabila, .
MMT poate fi codificata peste un alfabet A convenabil
ales.
eliminam wA*: w<M>, MMT
Problema opririi
(ii) multimea B a secventelor binare infinite este nenumarabila
Folosim metoda diagonalizarii
n
f(n)=bn
ppa f:N B, bijectiva a.i. f(n)=bnB .
b=00111.
100
f(n)=bn
010
10000
110
01000
001
11000
00100
5
10100
bf(n), nN :
10
Problema opririi
(iii) multimea L = {L* | L =limbaj} este nenumarabila
E suficient sa gasim f: L B, bijectiva.
Fie *={s1,s2,,sn,}; L L infinita, unica, definita astfel:
cel de-al i-lea bit din L este: 1, daca siL,
0, daca siL.
Exemplu: ={0,1}, L={w *| x*:w=0x}
=> *={,0,1,00,01,10,11,000,001,010,011,100,.}
L={ 0, 00,01,
000,001,010,011,
}
=> L= 0 1 0 1 1 0 0 1 1 1 1 0..
=> f: L B: f(L)= L.
Evident: f = bijectiva.
cf. (ii) B =nenumarabila => L nenumarabila.
Din (i) si (ii) => exista limbaje care nu sunt Turing-recunoscute
11
Problema opririi
1. Metoda diagonalizarii
2. Nedecidabilitatea unui limbaj dat
3. Un limbaj care nu este Turingrecunoscut
12
Problema opririi
O MT, M, accepta sau nu o anumita secventa de intrare, w?
PROBLEMA ACCEPTABILITATII pt. LIMBAJE RECURSIV
ENUMERABILE
PROBLEMA OPRIRII
ACCMT={<M,w> | M MT, w *: M accepta w}
Teorema 1
Limbajul ACCMT={<M,w> | M MT, w *: M accepta w}
nu este decidabil.
13
Problema opririi
Observatia 1
Lb ACCMT este Turing-recunoscut dar nu este Turingdecidabil:
U = Fie secventa de intrare <M,w>, unde MMT si w*:
1. Se simuleaza M pe intrarea w.
2. Daca M accepta w, atunci U accepta <M,w>;
daca M respinge w, atunci U respinge <M,w>.
==> U recunoaste limbajul ACCMT dar nu decide asupra lui:
M cicleaza pe w U cicleaza pe <M,w>.
? M nu se opreste pe w U respinge <M,w>
ACCMT= decidabil
Observatia 2
Problema acceptabilitatii pt MT, ACCMT, se n. si PROBLEMA
OPRIRII tocmai datorita acestui fapt.
14
Problema opririi
Observatia 3
U = exemplu de MT universala
O MT oarecare se numeste universala
ea poate simula orice MT, cu conditia sa primeasca la intrare
o descriere corecta a acesteia.
Observatia 4
Teorema 1: MT acceptoare sunt mai puternice decat MT
decidente.
15
Problema opririi
demonstratie (T1)
Ppa ca limbajul ACCMT este decidabil
H = Fie secvena de intrare <M,w>, unde M MT i w*:
1. Se simuleaza M pe intrarea w.
2. Daca M accepta w, atunci H se opreste si accepta <M,w>;
daca M nu accepta w, atunci H se opreste si respinge <M,w>.
16
Problema opririi
D apeleaz H pentru a determina ce aciune execut M atunci cnd
primete, ca secven de intrare w , propria sa descriere <M>;
dup ce D a obinut aceast informaie ea execut exact aciunea
contrar, i.e.:
D = Fie secvena de intrare <M> , unde MMT:
1. Se ruleaz H pe secvena de intrare <M,<M>>.
2. Se returneaz rezultatul opus rezultatului returnat de H, adic,
dac H accept intrarea <M,<M>> (ceea ce se ntmpl atunci
cnd M accept <M>) atunci D respinge;
dac H respinge intrarea <M,<M>> (ceea ce se ntmpl atunci
cnd M nu accept <M>) atunci D accept <M>.
17
Problema opririi
Dar MT M din secventa de intrare este oarecare: ce se
intampla cand D primeste la intrare propria sa
descriere <D>?
respinge, dac D accept <D>.
D(<D>) =
accept, dac D nu accept <D>,
contradicie
nici D nici H nu pot exista n realitate
limbajul ACCMT nu este decidabil.
18
Problema opririi
Fie multimea tuturor masinilor Turing, MT:
<M1>
<M2>
<M3>
<M4>
M1
acc
acc
M2
acc
acc
acc
acc
M3
M4
acc
acc
Problema opririi
<M1>
<M2>
<M3>
<M4>
M1
acc
resp
acc
resp
M2
acc
acc
acc
acc
M3
resp
resp
resp
resp
M4
acc
acc
resp
resp
20
Problema opririi
<M1>
<M2>
<M3>
<M4>
<D>
M1
acc
resp
acc
resp
acc
M2
acc
acc
acc
acc
acc
M3
resp
resp
resp
resp
resp
M4
acc
acc
resp
resp
acc
resp
resp
acc
acc
???
21
Problema opririi
1. Metoda diagonalizarii
2. Nedecidabilitatea unui limbaj dat
3. Un limbaj care nu este Turingrecunoscut
22
Problema opririi
Definiia 2
Limbajul L * se numete co-Turing-recunoscut
L *, L = Turing-recunoscut astfel incat L = * \ L.
Teorema 2
L *: L este decidabil
L este Turing-recunoscut i co-Turing-recunoscut.
demonstratie
ip: L este decidabil L este Turing-recunoscut.
dar: L este decidabil L este decidabil
L este Turing-recunoscut
L este co-Turing-recunoscut (cf. def.).
23
Problema opririi
Problema opririi
Corolarul 1
Limbajul ACC MT NU este Turing-recunoscut.
demonstraie
Ppa: limbajul ACC MT
este Turing-recunoscut
Am dem ca limbajul ACCMT este Turing-recunoscut
Limbaje
regulate
Limbaje
indep.
context
Limbaje
decidabile
(recursive)
Limbaje
recunoscute
de MT (recursiv
enumerabile)
Limbaje
25
Problema opririi
1. Metoda diagonalizarii
2. Nedecidabilitatea unui limbaj dat
3. Un limbaj care nu este Turingrecunoscut
26
Reductibilitate - Nedecidabilitate
1. Functii calculabile; reductibilitatea
functionala
2. Problema opririi
3. Alte probleme nedecidabile in teoria
limbajelor formale
Reductibilitate - Nedecidabilitate
Definiia 1
Reducerea = o metod de a transforma o problem P1 ntro alt problem P2 astfel nct o soluie dat problemei
P2 poate fi utilizat pentru a rezolva problema P1.
Exemplul 1
P1: rezolvarea unui sistem de n ecuaii lineare cu m
necunoscute, n,m N.
P2: inversarea unei matrice.
P3: calcularea valorii unui determinant.
Reductibilitate - Nedecidabilitate
Reductibilitatea functionala.
Reductibilitate - Nedecidabilitate
Definiie 2
Funcia f : * * se numete calculabil
MMT a.i. w*: M se oprete, avnd pe band secvena
f(w) *.
Exemplul 2
Toate funciile aritmetice definite pe N sunt calculabile.
Reductibilitate - Nedecidabilitate
Fie f: NxN N, f(n,m)=n+m
=>construim urmatoarea MT
S=({q0,q1,q2,q3,qa,qr}, {1}, {1,#,}, q0, , {qa,qr}) unde :
1R
q0
#R
1R
#,1 R
q1
1, L
#R
qr
q2
qa
1, L
q3
Reductibilitate - Nedecidabilitate
S = Fie secventa de intrare <n,m>, n,mN:
1. Se testeaza corectitudinea codificarii ca o secventa de n+1
simboluri 1 si m+1 simboluri 1 separate printr-un singur #.
Daca exista pe banda si alte simboluri inafara de 1, # si sau
daca exista mai mult decat un # atunci S respinge.
2. Se scaneaza secventa pana la intalnirea simbolului #.
3. Se inlocuieste simbolul # cu 1.
4. Se scaneaza banda pana la intalnirea primului simbol .
5. Se inlocuiesc ultimele 2 simboluri 1 din extremitatea stanga cu
.
6. S furnizeaza rezultatul corect: n+m simboluri de 1 si se
opreste.
6
Reductibilitate - Nedecidabilitate
Definiia 3
Fie limbajele A, B *.
Limbajul A se numete reductibil funcional la limbajul B
f : * * calculabil astfel nct () w*:
wA f(w)B.
Funcia f se numete reducerea lui A la B.
Notatie
A m B
Observatia 1
i) A m B A m B
ii) A m B: wA ~~> f(w)B
=> ? wA ~~>f w ~ f(w) ~~>f(w)B
Reductibilitate - Nedecidabilitate
Observaia 2
Reductibilitatea joac un rol important n
(i) teoria calculabilitii:
dac P1 este reductibil la P2 i P2 este algoritmic
rezolvabila, atunci P1 este algoritmic rezolvabila;
Reductibilitate - Nedecidabilitate
Teorema 1
Fie limbajele A, B*.
Daca A m B si B = decidabil => A = decidabil.
demonstraie
Cf.ip.: B = limbaj decidabil MMT decident pentru B.
Cf.ip.: A m B f : * * o reducere a lui A la B
putem construi o MT N decident pentru A astfel:
N = Fie cuvnt de intrare w *:
1. Se calculeaz f(w).
2. Se ruleaz M pe intrarea f(w); rezultatul furnizat de M este
preluat de N.
Evident, wA f(w)B M accept f(w) exact atunci cnd wA
M decide B N este corect definita si decide A.
9
Reductibilitate - Nedecidabilitate
Corolar 1
Fie limbajele A,B*.
Daca A m B si
A = nedecidabil
=> B = nedecidabil.
10
Reductibilitate - Nedecidabilitate
Corolar 2
Fie 2 limbaje A,B*:
A m B si B = Turing recunsocut
=> A = Turing recunoscut.
demonstratie
Acelasi rationament ca pt. Teorema 1, doar ca cele 2 MT, M
si N, nu decid ci doar recunosc limbajele B si A.
Corolar 3
Fie 2 limbaje A,B*: A m B si
A Turing recunsocut
=> B Turing recunoscut.
11
Reductibilitate - Nedecidabilitate
1. Functii calculabile; reductibilitatea
functionala
2. Problema opririi
3. Alte probleme nedecidabile in teoria
limbajelor formale
12
Reductibilitate - Nedecidabilitate
ACCMT={<M,w> | M MT, w *: M accepta w} = nedecidabil
HALTMT={<M,w> | M MT, w *: M se opreste pe w} =
nedecidabil
Vom aplica metoda reducerii:
stim ca problema acceptabilitatii pt MT este algoritmic nerezolvabila
(i.e. limbajul ACCMT este nedecidabil);
reducem problema acceptabilitatii la problema opririi
13
Reductibilitate - Nedecidabilitate
Teorema 2
Limbajul
HALTMT = {<M,w> | MMT, w* i M se oprete pe w}
este nedecidabil.
ideea demonstraiei
ppa: limbajul HALTMT este decidabil i demonstrm c limbajul
ACCMT este decidabil, ceea ce contrazice teorema anterioara.
14
Reductibilitate - Nedecidabilitate
HALTMT decidabil => HMT care decide asupra limbajului HALTMT
construim AMT care s decid asupra limbajului ACCMT astfel:
A utilizeaz H pentru a observa comportamentul MMT pe
intrarea w* (unde M i w sunt arbitrare), i anume:
H indic faptul c M se oprete i accept w
A accept <M,w>;
H indic faptul c M se oprete i respinge w
A respinge <M,w>;
H indic faptul c M cicleaz pe intrarea w
convenim ca A s resping intrarea <M,w>
A este decident nu doar acceptoare.
15
Reductibilitate - Nedecidabilitate
demonstratie
(i) Formal, AMT este definit astfel:
A = Fie secvena de intrare <M,w>, unde MMT i w*, oarecare:
1. Se ruleaz MT H pe intrarea <M,w>.
2. Dac H respinge <M,w> atunci i A respinge <M,w>.
3. Dac H accept <M,w> atunci se simuleaz M pe intrarea w
pn cnd M se oprete
4. Dac M accepta / respinge w* atunci A accept / respinge
<M,w>.
16
Reductibilitate - Nedecidabilitate
(ii) Demonstram acum ca ACCMT m HALTMT
gasim o funcie f : * *, calculabil, a.i.
<M,w>: <M,w>ACCMT f(<M,w>) = <M,w>HALTMT.
Fie urmtoarea MT , F, care calculeaz o astfel de reducere f:
F = Fie secvena de intrare <M,w>, unde MMT i w*:
1. Se construiete urmtoarea MT M astfel:
M = Fie cuvntul de intrare x *:
2. Se ruleaz M pe intrarea x.
3. Dac M accept x, atunci i M accept x.
4. Dac M respinge x, atunci M cicleaz.
5. Se returneaz secvena <M,w>.
17
Reductibilitate - Nedecidabilitate
Cf. presupunerii prin absurd: H este decident i decide asupra
limbajului HALTMT ;
Conform (i), (ii) si Teoremei 1: AMT este i ea decident i
decide asupra limbajului ACCMT.
Dar, conform teoremei ant., limbajul ACCMT nu este decidabil
contradicie
limbajul HALTMT este nedecidabil.
18
Reductibilitate - Nedecidabilitate
1. Functii calculabile; reductibilitatea
functionala
2. Problema opririi
3. Alte probleme nedecidabile in teoria
limbajelor formale
19
Reductibilitate - Nedecidabilitate
Teorema 3
Limbajul
EMPMT = {<M> | MMT i L(M) = }
este nedecidabil.
20
Reductibilitate - Nedecidabilitate
demonstratie
M=Fie secventa de intrare x*, oarecare:
1. Daca xw, atunci M respinge.
2. Daca x=w, atunci se ruleaza M pe intrarea w.
3. Daca M accepta w, atunci M accepta x
Ppa ca avem EMT care decide asupra limbajului EMPMT. Construim A pt ACCMT:
A =Fie secv. de intrare <M,w>, MMT, w*, oarecare:
1. Se construieste, cu ajutorul descrierii <M,w>, o MT M cf. definitiei de mai sus.
2. Se ruleaza E pe intrarea <M>.
3. Daca E accepta <M>, atunci A respinge <M,w> iar daca E respinge <M>
atunci A accepta <M,w>.
Cf. ip. noastre: E=decidenta si cf. def. A de mai sus: => A decidenta
=> lb. ACCMT decidabil => (cf. teorema ant.) contradictie
=> lb. EMPMT= nedecidabil.
21
Reductibilitate - Nedecidabilitate
Teorema 4
Limbajul
EQMT = {<M1,M2> | M1, M2MT i L(M1)
= L(M2)}
este nedecidabil.
22
Reductibilitate - Nedecidabilitate
demonstratie
ppa: FMT, decidenta, pt limbajul EQMT;
construim EMT, care sa decida asupra limbajului EMPMT:
E = Fie secventa de intrare <M>, MMT:
1. Se ruleaza F pe intrarea <M,M1>, unde M1 este o MT care
respinge toate intrarile primite.
2. Daca F accepta <M,M1>, atunci E accepta <M>; daca F
respinge, atunci E respinge.
23
Reductibilitate - Nedecidabilitate
Demonstram c EMPMT m EQMT
gasim o funcie g : * *, calculabil, a.i.
w*, w=<M>EMPMT g(<M>) = <M,M1>EQMT, unde M,
M1MT sunt ca mai sus.
Fie urmtoarea MT , G, care calculeaz o astfel de reducere g:
G = Fie secvena de intrare <M>, unde MMT:
1. Se construiete MMT astfel:
M = Fie cuvntul de intrare w*:
2. Se ruleaz M pe intrarea w.
3. Dac M respinge w, atunci i M respinge w.
4. Dac M accepta w, atunci M cicleaz.
5. Se returneaz secvena <M,M1>, unde M1MT si L(M1)=.
24
Reductibilitate - Nedecidabilitate
25
Reductibilitate - Nedecidabilitate
Observatia 3
? B *: B Turing-recunoscut.
daca aratam ca ACCMT m B
(*)
ACCMT m B
Teorema ant.: ACCMT Turing-recunoscut
(**)
(*) + (**) + Corolar 2 => B Turing-recunoscut
=> pt a demonstra ca un limbaj B NU este Turing-recunoscut
este suficient sa demonstram ca ACCMT m B.
26
Reductibilitate - Nedecidabilitate
Corolarul 4
Limbajul
EQMT = {<M1,M2> | M1, M2MT i L(M1) = L(M2)}
nu este nici Turing-recunoscut nici co-Turing-recunoscut.
demonstratie
(i) EQMT nu este Turing-recunoscut
e suficient sa demonstram ca ACCMT m EQMT.
Urmatoarea MT, F, calculeaza aceasta reducere f:
F = Fie secventa de intrare <M,w>, unde MMT si w*:
1. Se construiesc urmatoarele 2 MT: M1 si M2:
M1 = Oricare ar fi secventa de intrare x*:
2. M1 respinge x.
M2 = Oricare ar fi secventa de intrare x*:
3. Se ruleaza M pe intrarea w.
4. Daca M accepta w atunci M2 accepta x.
5. F produce la iesire secventa <M1,M2>.
27
Reductibilitate - Nedecidabilitate
f este corect definita:
(1) M1 nu accepta nimic;
(2) daca M accepta w
M2 accepta orice
M nu accepta w M2 nu accepta nimic;
din (1) +(2) =>
daca <M,w>ACCMT M2M1,
<M,w>ACCMT M2=M1
=> f reduce ACCMT la EQMT.
28
Reductibilitate - Nedecidabilitate
(ii) EQMT nu este Turing-recunoscut
analog, dem. ca ACCMT m ( EQMT), adica ACCMT mEQMT
Urmatoarea MT, G, calculeaza aceasta reducere g:
G = Fie secventa de intrare <M,w>, unde MMT si w*:
1. Se construiesc urmatoarele 2 MT: M1 si M2:
M1 = Oricare ar fi secventa de intrare x*:
2. M1 accepta x.
M2 = Oricare ar fi secventa de intrare x*:
3. Se ruleaza M pe intrarea w.
4. Daca M accepta w atunci M2 accepta x.
5. G produce la iesire secventa <M1,M2>.
29
Reductibilitate - Nedecidabilitate
g este corect definita:
(1) M1 accepta orice intrare;
(2) daca M accepta w
M2 accepta orice
M nu accepta w M2 nu accepta nimic;
din (1) +(2) =>
daca <M,w>ACCMT M2=M1,
<M,w>ACCMT M2 M1
=> g reduce ACCMT la EQMT.
Din (i) si (ii) EQMT nu este nici Turing-recunoscut, nici coTuring-recunoscut.
30
Reductibilitate - Nedecidabilitate
1. Functii calculabile; reductibilitatea
functionala
2. Problema opririi
3. Alte probleme nedecidabile in teoria
limbajelor formale
31
Am convenit ca <R>P => (cf (ii)) <Mw>P => (def.A) M accepta w =>
<M,w>ACCMT.
=> contradictie.
Definitia 1
Un automat linear marginit (ALM) este un tip restrictionat de MT
in care cursorul nu se poate deplasa pe banda de lucru
inafara zonei care contine secventa de intrare.
Daca functia de tranzitie a MT impune deplasarea cursorului
dincolo de oricare dintre cele 2 capete ale secventei de
intrare, atunci acesta este fortat sa ramana pe loc.
controlul
starilor
Observatia 2
a b a b b
a) Un ALM = o MT cu memorie limitata
=> poate rezolva numai probleme care necesita un spatiu de memorie
egal cu cel necesar memorarii secventei de intrare.
b) spatiul de memorie disponibil pt ALM creste cu un factor
constant
=>spunem ca spatiul de memorie creste linear cu dimensiunea intrarii.
c) ALM: memorie limitata dar putere de calcul mare:
MT pentru ACCAFD, ACCGIC, EMPAFD, EMPGIC sunt ALM.
d) ACCALM este identica cu problema nedecidabila ACCMT dar este
decidabila.
10
Definitia 2
Configuratie a unei MMT = un triplet format din:
starea curenta a M, q;
continutul curent al benzii, v.w ;
pozitia curenta a cursorului.
Notatie
q7
vqw,
v,w*, qQ.
Exemplul 1
Configuratia 1011q701111 inseamna
1 0 1 1
0 1 1 1 1
11
Definitia 3
Configuratia C1 produce configuratia C2
MT trece corect din C1 in C2 intr-un singur pas
Fie a,b,c ,
v,w *,
qi, qj Q
Spunem ca o configuratie C1=vaqibw produce
configuratia C2=vqjacw daca (qi,b)=(qj,c,L);
configuratia C2=vacqjw daca (qi,b)=(qj,c,R).
12
14
demonstraie
L = Fie secventa de intrare <M,w>, unde MALM si w*
1. Se simuleaza M pe intrarea w timp de q.n.sn pasi sau pana ce
M se opreste.
2. Daca M s-a oprit, atunci: daca M a acceptat, L accepta iar daca
M a respins, L respinge.
3. Daca M nu s-a oprit atunci L respinge.
Observatia 3
MT si ALM difera in mod esential: ACCALM= decidabil dar
ACCMT=nedecidabil.
Totusi, alte probleme raman nedecidabile si pt ALM.
15
Teorema 3
Limbajul
EMPALM = {<M> | MALM i L(M)= }
este nedecidabil.
ideea demonstraiei
Folosim metoda reducerii la absurd si reductibilitatea de la problema
acceptabilitatii.
Fie MMT si w=w1w2wn*; construim un BALM astfel:
L(B) consta din toate istoricele calculelor de acceptare efectuate de M
asupra w;
daca M accepta w atunci limbajul L(B) (consta dintr-o singura
secventa); daca M nu accepta w, atunci L(B)=.
=> Daca am putea determina daca L(B)= am putea determina daca M
accepta w si am obtine contradictia cautata.
18
19
q3
q5
Ci
Ci+1
1) B primeste secventa de intrare x;
2) B verifica daca x reprezinta un istoric al unui calcul de acceptare al M pe
w:
B divizeaza secventa x in secventele C1, C2, ,Cf, in conformitate
cu delimitatorii #;
B verifica daca acestea satisfac cele 3 conditii din definitia unui
istoric de calcul:
C1 este configuratia de start a lui M pe w:
dar C1=q0w1w2wn; aceasta informatie este cuprinsa in chiar descrierea
<M,w> => B o poate verifica direct;
20
Observatii
# # # # # ... # #
Cf
C1
C3
CR
CR
2
4
=> acum D poate introduce in stiva configuratia a.i. atunci cand o extrage
sa o poata compara cu configuratia urmatoare.
Proiectam DAPD a.i. sa accepte orice secventa care nu este un istoric de
calcul de acceptare in forma modificata de mai sus.
26
27
ca ab a c
ab
ca
a
ab
c
Contraexemplu:
abc ca acc
, a , ba
ab
30
1.
2.
3.
4.
Terminologie
Notatia asimptotica
Analiza algoritmilor
Complexitatea modelelor de calcul
cazul mediu.
5
1.
2.
3.
4.
Terminologie
Notatia asimptotica
Analiza algoritmilor
Complexitatea modelelor de calcul
f(n)
n1
c2.g(n)
n2
n0
2O(log n) este o limit superioar pentru nc, unde c este o constant oarecare.
Evident, i 2O(n) este o limit superioar pentru nc.
12
Observaia 3
Pe lng notaiile O i mai exist i notaiile o i , obinute
din Definiia 2 prin nlocuirea inegalitii cu inegalitatea
strict < , sau
f ( n)
f (n) = o( g (n)) lim
=0
n g (n)
13
n =o(n.log log n)
n.log log n = o(n.log n)
n.log n = o (n2)
n2 = o(n3)
14
15
1.
2.
3.
4.
Terminologie
Notatia asimptotica
Analiza algoritmilor
Complexitatea modelelor de calcul
17
20
23
(III)
25
26
1.
2.
3.
4.
Terminologie
Notatia asimptotica
Analiza algoritmilor
Complexitatea modelelor de calcul
28
29
32
33
36
MT nedeterminista
respinge
f(n)
.
.
.
accepta / respinge
f(n)
respinge
accept
37
39
1.
2.
3.
4.
Terminologie
Notatia asimptotica
Analiza algoritmilor
Complexitatea modelelor de calcul
42
Clasa P
1. Clasa P; timpul polinomial
2. Exemple de probleme cu timp de calcul
polinomial determinist
Clasa P
Complexitatea timp a problemelor se modific
Clasa P
Conceptul de calculabilitate si nu un model de
calculabilitate in particular
diferenta de comportament intre clasa
functiilor de tip polinomial si clasa functiilor
de tip exponential;
diferentele de timp de lucru de tip polinomial
sunt aproape nesemnificative in timp ce
diferentele de tip exponential sunt importante
3
Clasa P
Toate modelele de calculabilitate
deterministe rezonabile sunt
POLINOMIAL ECHIVALENTE,
adic simularea unuia cu instrumentele
celuilalt antreneaz doar o cretere
polinomial a timpului de lucru.
Clasa P
Definitia 1
Notm cu P clasa limbajelor decidabile n timp polinomial
determinist de ctre MT deterministe cu o singur
band de intrare:
P=
TIME (n k )
k N
Clasa P
1. Clasa P; timpul polinomial
2. Exemple de probleme cu timp de calcul
polinomial determinist
Clasa P
Cteva precizri
vom descrie algoritmii tot cu ajutorul etapelor i pailor, ca i n
cazul MT;
vom calcula timpul de lucru al algoritmilor n 2 trepte:
vom cuta o limit superioar a numrului de etape i pai
executai de algoritm pe o intrare oarecare n N,
vom examina fiecare pas al algoritmului pentru a determina
dac poate fi implementat n timp polinomial, cu ajutorul unui
model de calculabilitate determinist, rezonabil,
ntruct compunerea a 2 polinoame este nc un polinom,
vom putea conchide c algoritmul ruleaz n timp polinomial;
7
Clasa P
vom utiliza o metod rezonabil de
codificare a problemelor:
vom folosi tot codificarea sub forma
unei secvene pe care o vom nota cu
< >
vom aprecia c o metod de
codificare este rezonabil dac ea
folosete un timp de lucru polinomial
.
8
Clasa P
Teorema 1
Fie limbajul PATH = { <G,s,t> | G este un
digraf n care exist un drum de la nodul
s la nodul t } => PATH P.
Clasa P
demonstratie
Urmtorul algoritm rezolv problema PATH n timp polinomial:
M = Fie secvena de intrare <G,s,t>, unde G este un digraf
oarecare iar s i t dou noduri oarecare ale sale:
1. Se marcheaz nodul s.
2. Se repet Pasul 3 att timp ct mai pot fi marcate noi noduri:
3. Se examineaz toate arcele din G : dac exist un arc
(a,b) de la nodul marcat a la nodul nemarcat b atunci se
marcheaz nodul b.
4. Dac t este marcat atunci M accept secvena de intrare
<G,s,t>, altfel respinge.
10
Clasa P
Analizm complexitatea timp a acestui algoritm:
(i)
evident, prima i ultima etap se execut o singur dat;
etapa a 3a se execut de cel mult m ori ;
numrul total de pai este 1 + m + 1, deci O(m).
(ii)
prima i ultima etap se implementeaz uor n timp polinomial, n
oricare dintre modelele deterministe rezonabile;
etapa a 3a presupune o scanare a nodurilor i o testare a strii
acestora: marcat / nemarcat; deci i aceste operaii se pot implementa
n timp polinomial
complexitatea timp a acestui algoritm de rezolvare a problemei PATH
este polinomial n raport cu numrul de noduri ale grafului.
11
Clasa P
Etapa
Nr. pasi
2m2
Nr. executii
12
Clasa P
Teorema 2
Fie limbajul RELPRIME= { <x,y> | (x,y)=1 }
=> RELPRIME P.
demonstratie
(i) construim o MT, E, care calculeaza cmmdc{x,y} cu
algoritmul lui Euclid
13
Clasa P
Clasa P
(a)
demonstram ca fiecare executie a ciclului format din etapa a 2a si etapa a 3-a (eventual cu exceptia primei executii) reduce
valoarea lui x cel putin la jumatate
se executa etapa 2 => obtinem x<y (cf. def. operatorului mod)
se executa etapa 3 => obtinem x>y (pt ca x si y se interschimba)
se executa din nou etapa 2 => obtinem din nou x<y etc.
Distingem 2 cazuri:
daca x/2 < y x mod y = x-y < x/2 => x se reduce cel putin la
jumatate.
15
Clasa P
(b) calculam numarul de executii ale ciclului format din etapa a 2-a
si a 3-a
fiecare executie a etapei 3 valorile lui x si y se interschimba
=> fiecare executie a ciclului valorile initiale ale x si y se reduc cel
putin la jumatate, alternativ
=> numarul maxim de executii ale ciclului format din etapa 2 si 3
este
min { 2log2x, 2log2y }.
Dar log2x ~ |xbaza=2|
=> numarul de executii ale ciclului format din etapa 2 si 3 este de
ordin O(n).
Fiecare etapa se executa intr-un singur pas
=> fiecare etapa utilizeaza un timp polinomial
=> timpul total de executie al algoritmului este polinomial
16
Clasa P
Teorema 3
LLIC => LP.
Observaie:
Teorema anterioara: LLIC este decidabil dar
algoritmul folosit n demonstraie ruleaz n timp exponenial.
Justificare:
Fie L LIC => GFNC astfel nct L=L(G) (cf. teorema anterioara).
Fie wL, |w|=n, nN; orice derivare n G pentru w va avea exact 2n-1 pai
=> este suficient s verificm toate derivrile de lungine 2n-1:
dac gsim o derivare care produce w, atunci MT accepta, altfel respinge.
Dar:
lungimea derivrilor crete polinomial cu lungimea cuvintelor dar
numrul derivrilor de lungime k, k N; crete exponenial cu
lungimea derivrilor
=> trebuie cutat un algoritm care s lucreze n timp polinomial;
17
Metoda programrii dinamice.
Clasa P
Informal,
metoda programrii dinamice const n rezolvarea problemei date prin rezolvarea
subproblemelor de dimensiuni mari pe baza acumulrii de informaii despre
subproblemele de dimensiuni mici.
Formal:
metoda programrii dinamice const din determinarea soluiei prin luarea unui ir de
decizii d1,d2,,dn (unde di=transform problema dat din starea si-1 n starea
si, 2in) respectnd principiul de optim (de minim sau de maxim).
Conform acestui principiu, dac d1,d2,,dn este un ir optim de decizii care
transform problema dat din starea iniial s0 n starea final sn, atunci este
ndeplinit una dintre condiiile:
a) dk,,dn este un ir optim de decizii care duce problema din starea sk-1 n starea
sn, 1kn;
b) d1,,dk este un ir optim de decizii care duce problema din starea s0 n starea sk,
1kn;
c) dk+1,,dn i d1,,dk sunt iruri optime de decizii care duc problema din starea sk
n starea sn, respectiv din starea s0 n starea sk, 1kn.
Cazul (a): metoda "nainte, ordinea deciziilor: dn, dn-1,, d1; di depinde de di+1,,dn.
Cazul (b): metoda "napoi, ordinea deciziilor: d1, d2,, dn. di depinde de d1,d2,,di-1.
n cazul (c) spunem c aplicm metoda mixt.
18
Clasa P
ideea demonstraiei
Vom considera urmtoarele subprobleme:
"fie o variabil oarecare A din GFNC i fie un subcuvnt oarecare v al lui
w, wL;
este adevrat c A ==>* v ?"
Urmtorul algoritm va memora intr-o matrice ptratic de ordin n x n,
n=|w|, soluiile acestor subprobleme astfel:
1ijn: celula (i,j) din matrice conine mulimea variabilelor din G care
genereaz subcuvntul wiwi+1wj w.
Algoritmul completeaz celulele matricei pentru fiecare subcuvnt al lui w,
indiferent de lungimea acestuia:1,2,,k,,n=|w|;
incepe cu celulele pentru cuvintele de lungime 1: (i,i), 1in = |w|;
continu cu celulele pentru cuvintele de lungime 2: (i,i+1), 1in-1;
apoi cu celulele pentru cuvintele de lungime 3 etc.,
folosind la completarea celulelor pentru subcuvintele de lungime k, 2k n,
informaia din celulele deja completate pentru subcuvintele de lungime
1,2,...,k-1.
19
Clasa P
S presupunem, de exemplu, c algoritmul a determinat ce variabile
din G genereaz toate subcuvintele lui w de lungime cel mult k.
Pentru a determina dac o variabil oarecare A genereaz un
subcuvnt oarecare v de lungime k+1 al lui w, algoritmul:
(i) mparte acel subcuvnt v n alte 2 subcuvinte nevide n toate cele
k moduri posibile;
wi wi+1wkwi+k+1
20
Clasa P
(ii) pentru fiecare divizare a lui v, algoritmul examineaz fiecare
regul de tip ABC pentru a verifica dac:
B genereaz 10 subcuvnt al lui v,
C genereaz al 2-lea subcuvant al lui v
i face acest lucru folosindu-se de celulele deja calculate din
matrice.
Dac att B ct i C genereaz respectivele subcuvinte ale v,
=> A genereaz v
=> algoritmul adaug neterminalul A n celula corespunztoare
din matrice;
(iii) algoritmul ncepe acest proces cu cuvintele de lungime 1, prin
examinarea matricei pentru produciile de tipul A b.
21
Clasa P
demonstraie
Prezentm algoritmul, notat D:
Fie GGIC, G n FNC, care genereaz LLIC i fie S simbolul
de start al G.
D = "Fie cuvntul de intrare w=w1w2wn:
1. Dac w= i dac producia S se afl n G, atunci D
accept.
// este tratat cazul special al cuvantului vid
2. Pentru i=1,2,,n:
3. Pentru oricare variabila A din G:
4. Se verific dac producia A b unde b=wi se afl n G.
5. Dac da, atunci variabila A este depus n celula (i,i) din
matrice.
22
Clasa P
6. Pentru k=2,,n:
// k = lungimea unui subcuvnt v al lui w
7. Pentru i=1,2,,n-k+1:
// i = indicele iniial (de start) al
subcuvntului v din w
8. Fie j=i+k-1:
// j = indicele final al subcuvntului v din w
9. Pentru t=i,,j-1
// t = indicele final al primului
subcuvnt al lui v w
10. Pentru orice producie A BC:
11. Dac celula (i,t) din matrice conine variabila B
iar celula (t+1,j) din matrice conine variabila C
atunci se depune variabila A n celula (i,j).
12. Dac variabila S apare n celula (1,n) din matrice, atunci D
accept, altfel D respinge."
23
Clasa P
Analizm algoritmul din punct de vedere al complexitii timp;
observm c el se compune din 4 etape: 1, 2,, 6,, 12.
Complexitatea alg. se obine prin nsumarea complexitilor acestor
etape:
Etapele 1 i 12 se execut, evident, 1! dat i au cte 1! pas;
Pentru a calcula numrul de execuii ale etapelor 2-5, procedm
din aproape n aproape:
etapa a 2-a se executa de n=|w| ori;
pentru fiecare execuie a etapei a 2-a, etapa a 3-a se execut
de m ori, m=card(V) = nr. de variabile din G =>
paii 4 i 5, cei mai "interiori" din etapa a 2-a, se execut de
n.m ori,
intruct m = o constant fixat, independent de n
aceste etape sunt de ordin O(n);
24
Clasa P
Pentru a calcula numrul de execuii ale etapelor 6-11, procedm
ca mai sus:
etapa a 6-a se execut de cel mult n ori;
pentru fiecare execuie a etapei a 6-a, etapa a 7-a se execut
tot de cel mult n ori;
pentru fiecare execuie a etapei a 7-a, etapa a 8-a se execut
1! dat iar etapa a 9-a se execut de cel mult n ori;
pentru fiecare execuie a etapei a 9-a, etapele a 10-a i a 11-a
se execut de cel mult r ori , unde r= numrul de producii din
G;
intruct r = o constant fixat, independent de n
etapa a 11-a cea mai "interioar" din algoritm se
execut de O(n3) ori;
=> algoritmul este de ordin O(1)+O(n)+O(n3)+O(1) = O(n3).
=> L P.
25
Complexitatea timp
1. Clasa P; timpul polinomial
2. Exemple de probleme cu timp de calcul
polinomial determinist
26
Clasa NP
1. Clasa NP
2. Exemple de probleme cu timp de calcul
polinomial nedeterminist
Clasa NP
Dac pentru unele probleme cu timp de calcul exponenial s-au
gsit mai uor sau mai greu algoritmi care ruleaz n timp
polinomial, pentru altele astfel de algoritmi nu s-au gsit nc.
Totui, cu privire la aceste probleme a fost fcut o constatare
remarcabil:
asemenea rezolvabilitii algoritmice i complexitatea unor
probleme se afl n strns relaie cu complexitatea altora
descoperirea unui algoritm polinomial pentru o astfel de
problem va permite rezolvarea n timp polinomial a unei clase
ntregi de probleme.
Clasa NP
Exemplul 1: Problema drumului hamiltonian:
const n a determina existena unui drum hamiltonian (orientat)
ntre dou noduri oarecare s i t ale unui digraf
oarecare, G.
Formalizat:
HAMILTPATH = {<G,s,t> | G este un digraf care conine un drum
hamiltonian de la s la t}
Clasa NP
n demonstraia teoremei PATH P algoritmul de cutare brut
(exponenial) a fost nlocuit cu un alt algoritm, polinomial.
Nu se cunoate nc un algoritm polinomial care s rezolve
HAMILTPATH.
Aceast problem are o caracteristic interesant:
nu este rezolvabil n timp polinomial dar
este verificabil n timp polinomial.
Dac determinm existena un drum hamiltonian de la s la t indiferent cum!
putem apoi verifica existena lui n timp polinomial,
verificnd pur i simplu c fiecare nod apare o dat i numai o
dat:
i.e. un test care se execut n timp O(m2),
unde m = numrul de noduri din G.
4
Clasa NP
Exemplul 2: Problema neprimalitii unui numr:
const n a determina daca un numar dat este compus sau nu.
Formalizat:
COMPOSITES = { x N | () p, q N, p, q > 1 astfel nct x = p.q }
nu se cunoate un algoritm polinomial care s decid asupra
acestui limbaj
dar verificarea caracterului compus al unui numr natural se poate
face n timp polinomial:
e suficient s dispunem de un divizor propriu al acelui
numr.
5
Clasa NP
Observaia 1
Exist i probleme neverificabile n timp polinomial.
De exemplu, complementul problemei drumului hamiltonian:
HAMILTPATH
S presupunem c gsim un algoritm care s determine inexistena
unui drum hamiltonian ntr-un digraf G;
singura metod prin care altcineva poate verifica inexistena unui
astfel de drum const tot n aplicarea aceluiai algoritm
exponenial care a determinat inexistena drumului.
6
Clasa NP
Definiia 1
Un verificator pentru limbajul L este un algoritm V cu proprietatea:
L = { w * | () v * astfel nct V accept <w,v> }
Msurm timpul necesar unui verificator n funcie de lungimea cuvntului w.
Un verificator polinomial ruleaz n timp polinomial in raport cu lungimea
cuvntului w.
Un limbaj L este polinomial verificabil dac admite un verificator polinomial.
Observaia 2
Cuvntul v * din definitie reprezint informaia auxiliar utilizat de
verificator pentru a verifica apartenena cuvntului w * la limbajul L.
Acest cuvnt se numete certificat sau demonstratie a apartenenei la L.
Clasa NP
Exemplul 3
HAMILTPATH:
certificatul corespunztor secvenei de intrare
<G,s,t>HAMILTPATH este nsui drumul hamiltonian de la
s la t.
COMPOSITES : certificatul corespunztor numrului natural
xCOMPOSITES este unul dintre divizorii acestuia.
n ambele cazuri, dndu-se certificatele corespunztoare,
verificatoarele pot verifica n timp polinomial apartenena la
limbajul respectiv a secvenelor de intrare.
8
Clasa NP
Teorema 1
VP NMT nedeterminista cu timp de lucru polinomial a.i.
L(V)=L(N).
Clasa NP
Clasa NP
Definiia 2
Fie t : N R+.
Se definete clasa de complexitate timp polinomial nedeterministic
prin:
NTIME(t(n)) = { L * | () o MT nedeterminist cu 1! banda care
decide asupra limbajului L n timp O(t(n)) }
Definiia 3
NP este clasa limbajelor care admit verificatoare polinomiale.
NP este clasa limbajelor decidabile n timp polinomial de ctre MT
nedeterministe cu o singur band de intrare
NP =
NTIME (n k )
kN
11
Clasa NP
Observaia 3
12
Clasa NP
1. Clasa NP
2. Exemple de probleme cu timp de calcul
exponential
13
Clasa NP
Teorema 2
HAMILTPATH = { <G,s,t> | G este un digraf care conine un drum
hamiltonian de la s la t } NP.
demonstraie
Construim o MT nedeterminsit NH care s decid asupra limbajului
HAMILTPATH n timp polinomial.
NH = Fie secvena de intrare <G,s,t>, unde G este un digraf oarecare iar s, t sunt
oricare dou dintre nodurile sale:
1. Se compune o list de m numere naturale p1, p2, , pm, unde m =
numrul de noduri ale G. Fiecare numr din list este ales nedeterminist din
mulimea {1, 2, , m}.
2. Dac lista conine repetiii, atunci NH respinge.
3. Se verific dac s = p1 i t = pm; dac oricare dintre condiii nu are loc, atunci
NH respinge.
4. Pentru fiecare i : 1 i m-1, se verific dac (pi, pi+1) este un arc din G;
dac cel puin una dintre condiii nu are loc atunci NH respinge intrarea
<G,s,t>;
dac toate condiiile sunt ndeplinite atunci NH accept.
14
Clasa NP
Analizm acest algoritm din punct de vedere al complexitii timp:
etapa 1: generarea nedeterminist a numerelor p1, p2, , pm dintre
numerele 1, 2, , m
=> timp de lucru polinomial nedeterminist;
etapa 2: gsirea unei repetiii, cel puin
=> se fac teste de tipul pi=pj, unde i=1,2,,m-1 i j=i+1,,m
=> se execut cel mult m2 teste;
etapa 3: efectuarea a 2 verificri
=> un factor constant, egal cu 2;
etapa 4: verificarea fiecreia dintre cele m.(m-1) perechi de numere
generate nedeterminist (pi, pi+1) cu cele maximum m.(m-1)
arce din G
=> se execut cel mult m4 teste.
algoritmul ruleaz n timp polinomial nedeterminist.
15
Clasa NP
Teorema 3
CLIQUE = { <G,n> | G este un graf care conine o n-clic } NP.
demonstratie (1): cu verificator
Luand clica insasi ca certificat, contruim urmatorul verificator K pt CLIQUE:
K = Fie secventa de intrare <<G,n>,C>:
1. Se testeaza daca C este un set de n noduri din G.
2. Se testeaza daca G contine toate muchiile care leaga nodurile din C.
3. Daca ambele teste sunt trecute, atunci K accepta; altfel, respinge.
demonstratie (2): cu MT nedeterminista
N = Fie secventa de intrare <G,n>, unde G=(V,X) este un graf iar
n{3,,card(V)}:
1. Se alege in mod nedeterminist o submultime C de n noduri din G.
2. Se testeaza daca G contine toate muchiile care unesc intre ele cele n
noduri din submultimea CV.
3. Daca da, atunci N accepta; altfel, respinge.
16
Clasa NP
SUBSET-SUM = { <S,t> | S = {x1, x2, , xn} i () {y1, y2, , yk}
{x1, x2, , xn} astfel nct i=1k yi = t }
Exemplu: < {4,11,16,21,27} , 25 > SUBSET-SUM: 4 + 21 = 25
Teorema 4
SUBSET-SUM = { <S,t> | S = {x1, x2, , xn} i () {y1, y2, , yk}
{x1, x2, , xn} a.i. i=1k yi = t } NP.
17
Clasa NP
demonstratie (1): cu verificator
Luand subsetul insasi ca certificat, contruim urmatorul verificator S pt
SUBSET-SUM:
S = Fie secventa de intrare <<S,t>,C>:
1. Se testeaza daca C este o colectie de numere a caror suma
este egala cu t.
2. Se testeaza daca S contine toate numerele care fac parte din C.
3. Daca ambele teste sunt trecute, atunci S accepta; altfel,
respinge.
demonstratie (2): cu MT nedeterminista
N = Fie secventa de intrare <S,t>:
1. Se alege in mod nedeterminist un subset C de numere din S.
2. Se testeaza daca C este un multiset ale carui elemente
insumate sunt egale cu t.
3. Daca da, atunci N accepta; altfel, respinge.
18
Clasa NP
CLIQUE , HAMILTPATH NP ?
Definiia 4
coNP = {L* | *\L NP}
Observatia 4
? coNP NP ?
19
Clasa NP
1. Clasa NP
2. Exemple de probleme cu timp de calcul
exponential
20
NP-completitudine
1. P versus NP
2. NP-completitudine
NP-completitudine
P=NP
P NP
PNP
exist argumente att n favoarea tezei
P NP ct i n favoarea tezei P = NP .
NP-completitudine
P NP nu exist un algoritm rapid care s inlocuiasc cutarea direct.
Cea mai bun metod cunoscut n prezent pentru a rezolva probleme din
clasa NP n mod determinist necesit timp de lucru exponenial
NP EXPTIME =
TIME (2 n )
putem demonstra c:
kN
Terminologie
NP = clasa problemelor rezolvabile algoritmic n timp polinomial
nedeterminist
= clasa problemelor rezolvabile algoritmic n timp exponenial
determinist.
NP-completitudine
Teorema 1
P NP coNP
Observatia 1
P NP coNP.
EXP
NP
coNP
P
NP-complete
Observatia 2
P EXPTIME.
coNP-complete
NP-completitudine
1. P versus NP
2. NP-completitudine
NP-completitudine
1970: Stephen COOK i Leonid LEVIN:
Probleme din clasa NP a cror complexitate proprie este
strns legat de complexitatea ntregii clase.
Aceste probleme se numesc NP-complete.
NP-completitudine
Fenomenul NP-completitudinii este
important din punct de vedere:
teoretic:
practic:
Cercetatorii considera c P NP
demonstrarea faptului c o problem
este NP-complet este o dovad
puternic a caracterului ei nepolinomial.
7
NP-completitudine
Exemplul 1: Problema evaluarii = satisfiabilitatii (Satisfiability Problem)
Definiia 1
O formul boolean se numete satisfezabila=evaluabil
exist o combinaie de valori de adevr care, date variabilelor booleene
din formul, evalueaz formula la valoarea 1.
Problema evalurii (satisfiabilitii) const n a verifica dac o formul
booleean oarecare este evaluabil (satisfezabil) i se codific prin:
SAT = { < > | este o formul booleean evaluabil }
NP-completitudine
Teorema 2 (Cook-Levin)
SAT P P = NP
demonstraie
Metoda folosit: reductibilitatea polinomial a timpului de lucru.
NP-completitudine
Definiia 2
Funcia f: * * se numete polinomial calculabila
exist o MT cu timp de lucru polinomial: w*, se oprete,
avnd pe band secvena f(w).
Definiia 3
Fie limbajele A, B *.
Limbajul A se numete polinomial reductibil la limbajul B
f : ** polinomial calculabil astfel nct w*:
wA f(w) B.
Funcia f se numete reducerea polinomial a lui A la B.
Notatia 1
A P B
10
NP-completitudine
Teorema 3
Fie limbajele A, B *.
Daca A P B si BP => A P .
demonstratie
Cf. ip.: M = algoritm cu timp de lucru polinomial care decide B
Cf. ip.: f = reducere polinomiala a lui A la B
Construim urmatorul algoritm N care decide limbajul A:
N = Fie secventa de intrare w*:
1. Se calculeaza f(w).
2. Se ruleaza M pe intrarea f(w); N returneaza exact ceea ce returneaza M.
(*)
Cf. ip. A P B: wA f(w)B => M accepta f(w) wA.
N ruleaza in timp polinomial pt ca:
(**)
etapa 1: reducerea f este polinomiala => timp polinomial
etapa 2: avem o compunere de 2 polinoame => timp polinomial
Cf. (*) si (**): A P .
11
NP-completitudine
Definitia 4
Fie limbajele A, B *.
Limbajul B se numete NP-complet
1. BNP;
2. ANP: A P B.
Teorema 4
Fie limbajele A, B *.
Daca B este NP-complet si BP => P=NP.
demonstratie
Rezulta imediat din definitia reductibilitatii polinomiale
12
NP-completitudine
Teorema 5
Fie limbajele B, C *.
Daca B este NPcomplet si
CNP: B P C
=> C este NPcomplet.
demonstratie
Cf. ip.: B este NP-complet ANP: A P B (cf. Def.4),
Cf. ip.: CNP: B P C,
compunerea a 2 polinoame este tot un polinom
A P C
=> C este NP-complet (cf. Def. 4).
13
NP-completitudine
14
NP-completitudine
1. P versus NP
2. NP-completitudine
15
Clasa S
1.
2.
3.
4.
Definitii
Teorema lui Savitch
Clasele PSPACE si NPSPACE
PSPACE-completitudine
Clasa S
Definitie 1
Fie M o MT determinista cu 1! banda, decidenta,
w* un cuvant de intrare,
C=C0C1C2CdCf un calcul oarecare efectuat de M pe intrarea w;
Complexitatea spatiu a M pe intrarea w este numarul intreg notat
SPACEM(w) = min {SPACEM(C) | C este un calcul efectuat de M pe
intrarea w}
= numarul minim de locaii de pe banda de intrare scanate de M pe
intrarea w.
Clasa S
Definitie 2
Fie M o MT determinista cu 1! banda decidenta.
Complexitatea spatiu (determinist) a masinii Turing M este o functie
f : N N, definita prin:
f(n) = numrul maxim de locaii de pe banda de intrare
scanate de M pentru orice secvena de intrare de lungime n,
nN .
Mai spunem c M ruleaz ntr-un spaiu de memorie egal cu f(n).
Notatia 1
f(n) = max {SPACEM(w) | wL(M)n} = SPACEM(n)
Clasa S
Definitie 3
Fie N o MT nedeterminista cu 1! banda, decidenta,
wL(M)*;
Complexitatea spatiu a N pe intrarea w este numarul intreg notat
NSPACEN(w) care reprezinta cel mai mic numar de locatii de pe
banda de intrare scanat de N, dintre toate ramurile de calcul care
accepta w.
Definitie 4
Fie N o MT nedeterminista cu 1! banda, decidenta,
Complexitatea spatiu (nedeterminist) a N este o functie
f : N N, definita prin:
f(n) = numrul maxim de locatii de pe banda de intrare necesar lui N
pentru prelucrarea unui cuvant wL(N)n, nN .
Notatia 2
f(n) = max {NSPACEN(w) | wL(N) n} = NSPACEN(n)
4
Clasa S
Definiia 5
Fie f : N R+.
Definim clasele de complexitate SPACE(f(n)) i NSPACE(f(n)) astfel:
SPACE(f(n)) = { L * | () o MT determinist care decide asupra
limbajului L ntr-un spaiu O(f(n)) }
NSPACE(f(n)) = { L * | () o MT nedeterminist care decide
asupra limbajului L ntr-un spaiu O(f(n)) }
Clasa S
Exemplul 1
Urmatorul algoritm rezolva SAT cu spaiu linear.
M1 = Fie secvena de intrare < >, = formul booleean:
1. Pentru fiecare combinaie de valori de adevr atribuite
variabilelor booleene x1, x2, , xm din se executa Pasul 2:
2. Se evalueaz valoarea de adevr a formulei .
3. Dac se evalueaz la 1, atunci M1 accept; altfel, respinge.
Clasa S
Clasa S
Exemplul 2
Fie AAFN. Vrem s verificm dac el
accept toate secvenele din *.
Codificm aceast problem prin
urmtorul limbaj
ALLAFN = { <A> | AAFN i L(A) = * }
8
Clasa S
soluie
N = Fie secvena de intrare <A>, unde A este un AFN:
1. Se marcheaz starea iniial a lui A.
2. Se repet Pasul 3 de 2q ori, unde q = |Q|.
3. Se selecteaz nedeterminist un simbol de intrare i se
modifica pozitia marcajelor de pe starile lui A pentru a
simula citirea acelui simbol.
4. Dac la pasii 2 i 3 apare o secven pe care A o respinge
(adic dac la un moment dat nici unul dintre marcaje nu
se afla pe o stare de acceptare a lui A) atunci N accept
secvena de intrare <A>; altfel o respinge.
Clasa S
demonstram ca N decide ALL AFN
Dac exist secvene din * pe care A le respinge
printre ele trebuie s se afle una de lungime cel mult 2q ,
deoarece n cazul tuturor secvenelor de lungime mai mare,
respinse de A, poziiile markerilor descrii n algoritmul de mai
sus ar trebui s se repete (A are prin ipotez doar q stri).
Poriunea din secven cuprins ntre repetiii poate fi eliminat
pentru a se obine astfel o secven respins, mai scurt.
=> N decide asupra limbajului.
calculam complexitatea spatiu a lui N
Algoritmul necesit spaiu de memorie suplimentar numai pentru
stocarea locaiilor markerilor i a contorului de ciclare
=> algoritmul necesit spaiu linear
=> algoritmul ruleaz n spaiu nedeterminist de ordinul O(n). 10
Clasa S
1.
2.
3.
4.
Definitii
Teorema lui Savitch
Clasele PSPACE si NPSPACE
PSPACE-completitudine
11
Clasa S
Clasa S
demonstratie
vom rezolva o problem mai general, PROBLEMA TRANZITIEI:
fie dou configuraii c1 = uaqrbv i c2 = zcqsdw (a,b,c,d,
u,v,z,w*, qr,qsQ) ale unei MTN i un numr tN;
trebuie s verificm dac MTN poate trece din configuraia c1 n
configuraia c2 n t pai.
Rezolvnd PROBLEMA TRANZITIEI pentru
c1 = configuraia de start a MTN;
c2 = configuraia de acceptare a MTN;
t = numrul maxim de pai pe care i poate face MTN.
putem verifica dac MTN accept secvena de intrare primit.
13
Clasa S
14
Clasa S
15
Clasa S
16
Clasa S
TRANZ = Fie datele de intrare c1, c2 i t, ca mai sus:
1. Dac t = 1 atunci se verific direct dac c1 = c2 sau dac c1 trece
n c2 ntr-un singur pas conform funciei de tranziie a lui N.
Dac oricare dintre cele dou condiii este ndeplinit atunci TRANZ
accept; dac nici una dintre condiii nu e ndeplinit atunci TRANZ
respinge.
2. Dac t > 1 atunci urmtoarele instruciuni se execut pentru fiecare
configuraie cm a lui N pe intrarea w i cu spaiu de lucru f(n):
3. Se ruleaz TRANZ(c1, cm, t/2).
4. Se ruleaz TRANZ(cm, c2, t/2).
5. Dac paii 3 i 4 se ncheie ambii cu acceptare, atunci TRANZ
accept.
6. Dac cel puin o dat cele 2 condiii nu se ndeplinesc, atunci TRANZ
respinge.
17
Clasa S
Clasa S
Clasa S
20
Clasa S
Clasa S
Clasa S
Clasa S
1.
2.
3.
4.
Definitii
Teorema lui Savitch
Clasele PSPACE si NPSPACE
PSPACE-completitudine
24
Clasa S
Definiia 1
Notm cu PSPACE clasa limbajelor decidabile n spaiu
polinomial de ctre MT deterministe cu o singur
band de intrare:
PSPACE =
SPACE (n k )
k N
NSPACE (n
k N
25
Clasa S
Observaia 1
PSPACE = NPSPACE
(cf. Teoremei lui Savitch)
Exemplul 3
Cf. Ex.1: SAT SPACE(n);
Cf. Ex.2: ALL AFN NSPACE (n)
clasele de complexitate spaiu determinist sunt nchise la
complementar => ALLAFN coNSPACE(n).
cf. Teorema Savitch => ALLAFNSPACE(n2)
=> SAT, ALLAFNPSPACE.
26
Clasa S
Conjectura privind relaia dintre clasele de complexitate
timp i spaiu
(i) P PSPACE
Fie funcia t: N N, t(n) n, () n N;
orice MT care ruleaz n timp t(n) poate utiliza cel mult t(n) celule
de pe banda de intrare deoarece la fiecare pas de calcul ea
nu poate examina dect cel mult o celul.
(ii) NP PSPACE
Cu un raionament analog rezult c NP NPSPACE.
Cf. Observaiei 1: PSPACE = NPSPACE => NP PSPACE.
27
Clasa S
(iii) Reciproc, putem gsi o majorare pentru complexitatea timp a
unei MT n funcie de complexitatea spaiu.
Cf. def. ant.: o configuratie a unui automat: Ci=uaqibv
Cf. lema ant: un automat linear mrginit (ALM) cu r stri, care
citete un cuvnt de lungime n de pe banda de intrare i care
dispune de un alfabet de intrare cu s elemente poate avea
cel mult r.n.sn configuraii distincte.
=> o MTPSPACE (adica o MT care utilizeaz f(n) locaii de
memorie, unde f : N N, f(n) n), poate avea cel mult
f(n).2O(f(n)) configuraii distincte.
Am pp ca MT se oprete indiferent de secvena de intrare primit
MT nu cicleaza
=> pe parcursul oricarui calcul, nicio configuratie nu se repeta
28
Clasa S
o MT care utilizeaz f(n) locaii de memorie trebuie s execute
f(n).2O(f(n)) pai de calcul, deci:
=> MTPSPACE ruleaza in timp cel mult f(n).2O(f(n))
=> MT EXPTIME =>
k
n
PSPACE EXPTIME =
TIME (2 )
k N
NP
PSPACE=
NPSPACE
EXPTIME
Clasa S
Observaia 2
Nu se tie nc dac vreuna dintre incluziuni nu este de fapt chiar o
egalitate.
S-ar putea descoperi oricnd o simulare asemntoare celei din
demonstraia Teoremei lui Savitch care s permit fuzionarea
unora dintre aceste clase ntr-o singur clas.
Pe de alt parte, se demonstreaz c P EXPTIME
cel puin una dintre incluziunile de mai sus este strict dar nu se
tie care!!
n fapt, cei mai muli cercettori cred c toate incluziunile sunt
stricte, adic accept diagrama de mai sus ca descriind cel
mai corect relaia dintre clasele de complexitate timp i spaiu:
30
Clasa S
1.
2.
3.
4.
Definitii
Teorema lui Savitch
Clasele PSPACE si NPSPACE
PSPACE-completitudine
31
Clasa S
Definitia 2
Un limbaj B este PSPACE-complet
(1) B PSPACE
(2) () A PSPACE A P B (A este polinomial reductibil la B)
Dac limbajul B satisface numai condiia (2) atunci spunem c el
este PSPACE-dificil (PSPACE-hard).
32
Clasa S
Observaia 3
PSPACE-completitudinea utilizeaza tot notiunea
de reductibilitate in timp polinomial. Motivul:
Regula este: oridecteori definim probleme
complete pentru o anumit clas de
complexitate, modelul in raport cu care
definim reducerea trebuie s fie mai limitat
(ca si complexitate) dect modelul folosit
pentru definirea clasei de complexitate
nsi.
33
Clasa S
Exemple de probleme PSPACE-complete
Problema 1: TBQF
Definiia 3
Formul booleean complet cuantificat =
o formul booleean n care fiecare variabil este cuantificat.
Exemplul 4
= x y [(x y) (x y)]
Definiia 4
Problema TQBF const n determinarea valorii de adevr a unei
formule booleene complet cuantificate oarecare i este
formalizat prin limbajul:
TQBF = {<> | este o formul booleean complet cuantificata }
34
Clasa S
Teorema 2
TQBF este o problem PSPACE-complet.
ideea demonstraiei
1. Pentru a demonstra c TQBF PSPACE construim un algoritm
care asigneaz valori de adevr variabilelor din formul i apoi
evalueaz recursiv valoarea de adevr a acesteia.
Pe baza acestei informaii, algoritmul poate determina dac
formula dat este sau nu adevrat.
2. Pentru a arta c toate limbajele L din PSPACE se reduc
polinomial la TQBF:
(i) construim pentru L o MT, M, cu spaiu de lucru polinomial,
(ii) construim o reducere polinomial care asociaz o secvena unei
formule booleeane complet cuantificate care codific o
simulare a MT, M, pe acea intrare;
(iii) formula este adevrat M accept.
35
Clasa S
Clasa S
Clasa S
Clasa S
Teorema 4
Limbajul Joc-geografic = {<G,s> | primul juctor are o strategie
ctigtoare pentru jocul Antakhshari generalizat n digraful
G, dac jocul ncepe din nodul s }
este PSPACE-complet.
ideea demonstraiei
Pentru a demonstra teorema ar trebui s gsim o reducere n timp
polinomial a problemei Formula-joc la problema Joc-geografic.
Intruct se crede c P PSPACE este de presupus c nu exist
nici un algoritm cu timp de lucru polinomial care s-i permit
primului juctor s verifice existena unei strategii
ctigtoare, cu att mai puin s o determine.
39
Clasa S
1.
2.
3.
4.
Definitii
Teorema lui Savitch
Clasele PSPACE si NPSPACE
PSPACE-completitudine
40