You are on page 1of 1

Az NP osztály és a tanú tétel:

Def.: Az L nyelvet a T nemdeterminisztikus Turing gép által elfogadott nyelvnek nevezzük,


ha L = { w : T-nek van w-t elfogadó számítása}.

Def.: A T nemdeterminisztikus Turing gép t(n) időkorlátos, ha minden n hosszúságú inputon


T minden számítása t(n) időben befejeződik.
NTIME(T(N)) = { l : van l-et elfogadó t(n) időkorlátos nemdeterminisztikus Turing gép}

Az NP osztály a polinomiális időben elfogadott nyelvek osztálya: NP = NTIME ( k


k 0
n
)

A probléma(nyelv) teljesen egyértelmű, az őt felismerő Turing gép lehet


nemdeterminisztikus.

Tanú tétel:
Egy L  ∑* nyelvre a következő két állítás ekvivalens:
(a) L  NP
(b) c > 0 és L1  P , mely olyan (x, y)  (∑*)2, melyre l(y)  l(x)c és x  L <=> y  ∑* :
(x, y)  L1, ahol l(x) és l(y) az x illetve az y szó hossza.
A legfeljebb polinom hosszúságú tanút polinomiális időben ellenőrizni tudjuk.(A tanú az y).

Tanú: Feltesszük, hogy valaki megadta a megoldást, nekünk csak ellenőriznünk kell. Ebben
áll a nem determinisztikus algoritmusok gyorsasága.

A feladathoz hozzárendelhető egy tanú.


A tanú tétel átfogalmazása:
Egy feladat pontosan akkor NP osztálybeli, ha létezik hozzá polinomiális méretű (a tanú
mérete a feladat méretének legfeljebb polinom függvénye: a tanú nem túl nagy), polinomiális
időben ellenőrizhető tanú.

Példák:
1. Összetettség vizsgálata(egy szám összetett-e)
Tanú: a vizsgálandó szám egy valódi osztója
2. Hamilton kör létezése
Tanú: gráf egy Hamilton köre
3. Gráf színezhető-e 3 színnel
Tanú: egy helyes színezés

You might also like