Polinomijalni vremenski verifikator može se konstruirati iz polinomijalnog vremenskog nedeterminističkog Turingovog stroja (NTM) slijedeći sustavni proces. Za razumijevanje ovog procesa bitno je imati jasno razumijevanje koncepata teorije složenosti, posebno klasa P i NP, te pojma polinomske provjerljivosti.
U teoriji računalne složenosti, P se odnosi na klasu problema odlučivanja koje može riješiti deterministički Turingov stroj u polinomijalnom vremenu. S druge strane, NP se odnosi na klasu problema odlučivanja za koje se rješenje može verificirati u polinomnom vremenu determinističkim Turingovim strojem. Ključna razlika između ove dvije klase je da P predstavlja probleme koji se mogu učinkovito riješiti, dok NP predstavlja probleme koji se mogu učinkovito verificirati.
Polinomijalni vremenski verifikator je deterministički Turingov stroj koji može provjeriti točnost rješenja NP problema u polinomijalnom vremenu. Proces konstruiranja takvog verifikatora iz polinomskog vremenskog NTM-a uključuje sljedeće korake:
1. S obzirom na NP problem, recimo problem X, pretpostavljamo postojanje polinomskog vremenskog NTM M koji može riješiti X. Ovaj NTM M ima nekoliko grana izračuna, od kojih svaka predstavlja drugačiji mogući put izvršenja.
2. Konstruiramo polinomski vremenski verifikator V za problem X simulacijom ponašanja NTM M. Verifikator V uzima dva ulaza: rješenje problema X i potvrdu. Potvrda je dokaz da je rješenje ispravno.
3. Verifikator V prvo provjerava ima li certifikat valjani format. Ovaj se korak može izvesti u polinomnom vremenu budući da verifikator zna očekivanu strukturu certifikata.
4. Zatim, verifikator V simulira ponašanje NTM M na danom rješenju i potvrdi. Izvršava sve moguće grane izračuna M, provjeravajući prihvaća li neka grana ulaz. Ova se simulacija može napraviti u polinomijalnom vremenu budući da NTM M radi u polinomijalnom vremenu.
5. Ako verifikator V pronađe barem jednu prihvatljivu granu računanja, prihvaća ulaz. To znači da je rješenje provjereno ispravno za problem X. U suprotnom, ako niti jedna grana ne prihvati, verifikator odbija unos.
Ključna ideja iza konstruiranja verifikatora polinomijalnog vremena je da NTM M može pogoditi ispravan certifikat u polinomijalnom vremenu. Simulacijom ponašanja M i provjerom svih mogućih grana, verifikator V može učinkovito provjeriti ispravnost rješenja.
Uzmimo primjer za ilustraciju ovog procesa. Razmotrimo problem određivanja ima li dati graf Hamiltonov ciklus, što je NP-kompletan problem. Pretpostavljamo postojanje polinomskog vremena NTM M koje može riješiti ovaj problem.
Kako bismo konstruirali polinomski vremenski verifikator V za ovaj problem, simuliramo ponašanje M na danom grafu i potvrdi. Verifikator provjerava predstavlja li certifikat važeći Hamiltonov ciklus provjerom posjećuje li svaki vrh točno jednom i formira ciklus.
Iscrpnom simulacijom svih mogućih grana izračuna M, verifikator može učinkovito odrediti ima li dati graf Hamiltonov ciklus. Ako barem jedna grana M prihvati ulaz, verifikator prihvaća unos kao valjani Hamiltonov ciklus. U suprotnom, odbija unos.
Konstruiranje polinomijalnog vremenskog verifikatora iz polinomijalnog vremenskog NTM-a uključuje simulaciju ponašanja NTM-a i provjeru svih mogućih grana izračuna. Ovaj proces omogućuje učinkovitu provjeru rješenja NP problema. Konstruiranjem takvih verifikatora možemo klasificirati probleme na temelju njihove provjerljivosti u polinomnom vremenu.
Ostala nedavna pitanja i odgovori u vezi Složenost:
- Nije li klasa PSPACE jednaka klasi EXPSPACE?
- Je li P klasa složenosti podskup PSPACE klase?
- Možemo li dokazati da su Np i P klasa iste pronalaženjem učinkovitog polinomskog rješenja za bilo koji NP potpuni problem na determinističkom TM?
- Može li klasa NP biti jednaka klasi EXPTIME?
- Postoje li problemi u PSPACE-u za koje ne postoji poznati NP algoritam?
- Može li problem SAT biti potpuni problem NP?
- Može li problem biti u klasi složenosti NP ako postoji nedeterministički turingov stroj koji će ga riješiti u polinomnom vremenu
- NP je klasa jezika koji imaju polinomske verifikatore vremena
- Jesu li P i NP zapravo ista klasa složenosti?
- Je li svaki kontekstno slobodni jezik u P klasi složenosti?
Više pitanja i odgovora pogledajte u Složenosti