Polynomiální časový verifikátor může být zkonstruován z polynomiálního časového nedeterministického Turingova stroje (NTM) sledováním systematického procesu. Abychom tomuto procesu porozuměli, je nezbytné jasně porozumět konceptům teorie složitosti, zejména třídám P a NP, a pojmu polynomiální ověřitelnosti.
V teorii výpočetní složitosti se P týká třídy rozhodovacích problémů, které lze vyřešit deterministickým Turingovým strojem v polynomiálním čase. Na druhé straně, NP odkazuje na třídu rozhodovacích problémů, pro které může být řešení ověřeno v polynomiálním čase deterministickým Turingovým strojem. Klíčový rozdíl mezi těmito dvěma třídami je ten, že P představuje problémy, které lze efektivně vyřešit, zatímco NP představuje problémy, které lze efektivně ověřit.
Polynomiální verifikátor času je deterministický Turingův stroj, který dokáže ověřit správnost řešení NP problému v polynomiálním čase. Proces konstrukce takového ověřovače z polynomiálního času NTM zahrnuje následující kroky:
1. Vzhledem k NP problému, řekněme problému X, předpokládáme existenci polynomiálního času NTM M, který může vyřešit X. Tento NTM M má několik větví výpočtu, z nichž každá představuje jinou možnou cestu provedení.
2. Zkonstruujeme polynomiální časový ověřovač V pro problém X simulací chování NTM M. Ověřovač V má dva vstupy: řešení problému X a certifikát. Certifikát je důkazem, že řešení je správné.
3. Ověřovatel V nejprve zkontroluje, zda má certifikát platný formát. Tento krok lze provést v polynomiálním čase, protože ověřovatel zná očekávanou strukturu certifikátu.
4. Dále ověřovatel V simuluje chování NTM M na daném řešení a certifikátu. Provádí všechny možné větve výpočtu M, přičemž kontroluje, zda některá větev přijímá vstup. Tato simulace může být provedena v polynomiálním čase, protože NTM M běží v polynomiálním čase.
5. Pokud ověřovatel V najde alespoň jednu přijímající větev výpočtu, přijme vstup. To znamená, že je ověřeno, že řešení je správné pro problém X. V opačném případě, pokud žádná z větví nepřijme, ověřovatel vstup odmítne.
Klíčovou myšlenkou konstrukce polynomiálního časového ověřovače je to, že NTM M dokáže uhodnout správný certifikát v polynomiálním čase. Simulací chování M a kontrolou všech možných větví může ověřovatel V efektivně ověřit správnost řešení.
Vezměme si příklad pro ilustraci tohoto procesu. Zvažte problém určení, zda daný graf má Hamiltonův cyklus, což je NP-úplný problém. Předpokládáme existenci polynomiálního času NTM M, který může tento problém vyřešit.
Abychom zkonstruovali polynomiální časový verifikátor V pro tento problém, simulujeme chování M na daném grafu a certifikátu. Ověřovatel zkontroluje, zda certifikát představuje platný hamiltonovský cyklus, ověřením, že navštíví každý vrchol přesně jednou a vytvoří cyklus.
Vyčerpávající simulací všech možných větví výpočtu M může ověřovatel efektivně určit, zda daný graf má hamiltonovský cyklus. Pokud alespoň jedna větev M přijme vstup, ověřovatel přijme vstup jako platný hamiltonovský cyklus. V opačném případě zadání odmítne.
Konstrukce polynomiálního časového ověřovače z polynomiálního časového NTM zahrnuje simulaci chování NTM a kontrolu všech možných větví výpočtu. Tento proces umožňuje efektivní ověřování řešení NP problémů. Konstruováním takových verifikátorů můžeme klasifikovat problémy na základě jejich ověřitelnosti v polynomiálním čase.
Další nedávné otázky a odpovědi týkající se Komplexita:
- Není třída PSPACE rovna třídě EXPSPACE?
- Je třída složitosti P podmnožinou třídy PSPACE?
- Můžeme dokázat, že Np a P třída jsou stejné tím, že najdeme efektivní polynomické řešení pro jakýkoli NP úplný problém na deterministické TM?
- Může se třída NP rovnat třídě EXPTIME?
- Jsou v PSPACE problémy, pro které není znám žádný NP algoritmus?
- Může být problém SAT úplným problémem NP?
- Může být problém ve třídě složitosti NP, pokud existuje nedeterministický Turingův stroj, který jej vyřeší v polynomiálním čase
- NP je třída jazyků, které mají polynomiální časové verifikátory
- Jsou P a NP vlastně stejnou třídou složitosti?
- Je každý bezkontextový jazyk ve třídě složitosti P?
Podívejte se na další otázky a odpovědi ve Složitosti