Na področju teorije računalniške kompleksnosti, zlasti pri preučevanju prostorskih kompleksnih razredov, je razmerje med PSPACE in NP zelo zanimivo. Če neposredno odgovorim na vprašanje: da, v PSPACE obstajajo težave, za katere ni znanega algoritma NP. Ta trditev temelji na definicijah in odnosih med temi kompleksnimi razredi.
PSPACE je razred odločitvenih problemov, ki jih lahko reši Turingov stroj z uporabo polinomske količine prostora. Z drugimi besedami, težava je v PSPACE, če obstaja algoritem, ki jo lahko reši z uporabo količine pomnilnika, ki je polinomska glede na velikost vnosa. Ta razred zajema široko paleto problemov, od katerih so nekateri precej zapleteni in vključujejo zapletene računalniške procese.
NP je na drugi strani razred odločitvenih problemov, za katere je predlagano rešitev mogoče preveriti v polinomskem času z determinističnim Turingovim strojem. To pomeni, da če vam nekdo ponudi možno rešitev problema v NP, lahko hitro preverite pravilnost te rešitve, zlasti v polinomskem času glede na velikost vnosa.
Razmerje med tema dvema razredoma je takšno, da je NP podmnožica PSPACE. To je zato, ker je vsak problem, ki ga je mogoče preveriti v polinomskem času, mogoče rešiti tudi v polinomskem prostoru. Če želite razumeti zakaj, upoštevajte, da lahko polinomsko časovno preverjanje prebere le polinomsko število bitov vhoda in predlagane rešitve. Zato ga je mogoče simulirati s polinomskim vesoljskim strojem, ki spremlja položaje, ki jih je prebral, in operacije, ki jih je izvedel.
Vendar ni znano, da je obratno res; to pomeni, da ni znano, ali je PSPACE podmnožica NP. Pravzaprav je splošno prepričanje, da PSPACE vsebuje težave, ki niso v NP, čeprav to ni bilo uradno dokazano. To prepričanje temelji na obstoju težav v PSPACE, za katere se zdi, da zahtevajo več kot polinomski čas za rešitev, čeprav jih je mogoče rešiti s polinomskim prostorom.
Eden od kanoničnih primerov problema v PSPACE, za katerega ni znano, da je v NP, je problem kvantificirane logične formule (QBF). QBF je posplošitev Boolovega problema zadovoljivosti (SAT), ki je NP-popoln. Medtem ko SAT sprašuje, ali obstaja dodelitev vrednosti resnice spremenljivkam, zaradi česar je dana logična formula resnična, QBF vključuje ugnezdene kvantifikatorje nad spremenljivkami, kot je "za vse x obstaja ay, tako da je formula resnična." Zaradi prisotnosti teh kvantifikatorjev je QBF bistveno bolj zapleten. QBF je popoln za PSPACE, kar pomeni, da je tako težak kot katera koli težava v PSPACE. Če bi obstajal algoritem NP za QBF, bi to pomenilo, da je NP enako PSPACE, rezultat, ki bi bil prelomen in na splošno velja za malo verjetnega.
Drug ilustrativen primer je problem določanja zmagovalca v posplošenih igrah, kot so posplošene različice šaha ali igre Go, ki se igrajo na plošči N x N. Te težave vključujejo potencialno eksponentno število potez in konfiguracij, vendar jih je mogoče rešiti z uporabo polinomskega prostora s sistematičnim raziskovanjem vseh možnih stanj igre. Te težave so tudi popolne za PSPACE, kar dodatno nakazuje obstoj težav v PSPACE, ki niso v NP.
Če se želite poglobiti v to, zakaj se domneva, da so nekateri problemi v PSPACE zunaj NP, razmislite o naravi prostorsko omejenih izračunov v primerjavi s časovno omejenimi izračuni. Polinomski prostor omogoča potencialno eksponentno število računskih korakov, dokler je uporabljeni prostor polinomsko omejen. To je v popolnem nasprotju z NP, kjer je čas polinomsko omejen. Eksponentni čas, ki ga dovoljuje polinomski prostor, se lahko uporabi za reševanje problemov, ki vključujejo izčrpna iskanja v eksponentno velikih prostorih, kot so tisti, ki jih srečamo v QBF in posplošenih igrah.
Poleg tega obstajajo zapleteni teoretični konstrukti, ki nadalje podpirajo razlikovanje med PSPACE in NP. Na primer, koncept alternacije, ki so ga uvedli Chandra, Kozen in Stockmeyer, posplošuje nedeterminizem in vodi do razreda AP (izmenični polinomski čas). Dokazano je, da je AP enak PSPACE, kar zagotavlja drugačen pogled na moč izračunov polinomskega prostora. Alternacija vključuje zaporedje eksistencialnih in univerzalnih kvantifikatorjev, ki odražajo strukturo QBF, in prikazuje kompleksnost, ki je neločljivo povezana s problemi PSPACE.
Omeniti velja tudi, da je ločevanje kompleksnih razredov temeljno odprto vprašanje v teoretičnem računalništvu. Slavni problem P proti NP je poseben primer te širše preiskave. Podobno ostaja nerešeno vprašanje, ali je NP enako PSPACE. Vendar pa je soglasje na tem področju, ki temelji na obsežni študiji in naravi znanih težav, da PSPACE verjetno vsebuje težave, ki niso v NP.
Obstoj težav v PSPACE, za katere ni znanega algoritma NP, je podprt z definicijami in razmerji med temi kompleksnimi razredi, pa tudi s konkretnimi primeri, kot so QBF in posplošeni problemi iger. Ti primeri poudarjajo zapletene in potencialno eksponentne računske procese, ki jih je mogoče upravljati znotraj polinomskega prostora, vendar verjetno ne bodo omejeni na polinomski čas, kar jih postavlja izven področja NP.
Druga nedavna vprašanja in odgovori v zvezi kompleksnost:
- Ali razred PSPACE ni enak razredu EXPSPACE?
- Ali je razred kompleksnosti P podmnožica razreda PSPACE?
- Ali lahko dokažemo, da sta razreda Np in P enaka, tako da najdemo učinkovito polinomsko rešitev za kateri koli popolni problem NP na determinističnem TM?
- Ali je lahko razred NP enak razredu EXPTIME?
- Ali je lahko problem SAT popoln problem NP?
- Ali je lahko problem v kompleksnem razredu NP, če obstaja nedeterministični turingov stroj, ki ga bo rešil v polinomskem času
- NP je razred jezikov, ki imajo polinomske časovne verifikatorje
- Ali sta P in NP dejansko enaka zahtevnostna razreda?
- Ali je vsak kontekstno prost jezik v kompleksnem razredu P?
- Ali obstaja protislovje med definicijo NP kot razreda odločitvenih problemov s polinomskimi časovnimi preveritelji in dejstvom, da imajo problemi v razredu P tudi polinomske časovne preveritelje?
Oglejte si več vprašanj in odgovorov v Complexity