U računarskoj teoriji složenosti, Sevičeva teorema koju je 1970. godine dokazao Valter Sevič, daje relaciju između determinističkog i nedeterminističkog prostora složenosti. Ona utvrđuje da za bilo koju funkciju , važi :

Drugim rečima, ako nedeterministička Tjuringova mašina može da reši problem u memorijskom prostoru f (n), obična, deterministička Tjuringova mašina može da reši isti problem u memorijskom prostoru koji je na kvadrat veći.[1] Iako se čini da nedeterminizam, vremenom, može da obezbedi eksponencijalne dobitke, ova teorema pokazuje da je njegov uticaj na potrebe za memorijskim prostorom u značajnoj meri ograničen.[2]

Dokaz uredi

Dokaz teoreme demonstrira algoritam STCON – utvrđivanje da li postoji putanja između dva čvora usmerenog grafa, koji se izvršava u prostoru   sa n čvorova. Osnovna ideja algoritma je da rekurzivno reši nešto opštiji problem, proveravajući da li postoji putanja od čvora s do čvora t koja koristi najviše k grana, gde je k ulazni parametar rekurzivnog algoritma. STCON može da se koristi za rešenje ovog problema postavljanjem k na vrednost n. Da bi se proverilo da li postoji putanja od k grana između čvorova s i t, pristup može da bude da se za svaki čvor u grafa proveri da li se nalazi na traženoj putanji rekurzivnom pretragom putanja između čvorova s do u i u do t. Koristeći pseudokod (sintaksa slična jeziku Pajton) algoritam može da se prikaže na sledeći način.

def k_edge_path(s, t, k):
    if k == 0:
        return s == t
    if k == 1:
        return s == t or (s, t) in edges
    for u in vertices:
        if k_edge_path(s, u, floor(k / 2)) and k_edge_path(u, t, ceil(k / 2)):
            return true
    return false

Funkcija pretrage putanja poziva samu sebe do rekurzivne dubine O(log n) i za svaki poziv koristi O(log n) bitova memorije za skladištenje argumenata i lokalnih promenljivih, tako da je ukupan, potreban memorijski prostor za izvršenje algoritma  . Iako je prikazani algoritam ovde opisan višim programskim jezikom, on može da se implementira i na Tjuringovoj mašini i zahtevi za memorijskim prostorom potrebnim za izvršenje algoritma će ostati isti.

Razlog, zašto prikazani algoritam implicira teoremu je taj, što bilo koji jezik   odgovara usmerenom grafu čiji čvorovi predstavljaju   konfiguracija Tjuringove mašine koji pripadaju  . Za svako  , ovaj graf ima putanju od početne konfiguracije za ulaz   do prihvatne konfiguracije, ako i samo ako važi da  . Tako je odgovarajuća povezanost dovoljna da se odluči o pripadnosti   i prikazani algoritam može da se izvrši u memorijskom prostoru  .

Posledice uredi

Neke od važnih posledica teoreme su sledeće:

  • PSPACE = NPSPACE – ovo direktno sledi iz činjenice da je kvadrat polinoma i dalje polinom,
  • NL ⊆ L² - STCON je NL kompletan tako da svi jezici koji pripadaju NL, takođe pripadaju klasi složenosti L² =  .

Reference uredi

  1. ^ Arora & Barak (2009). str. 86.
  2. ^ Arora & Barak (2009). str. 92.

Literatura uredi

Spoljašnje veze uredi