Polynomhierarki

I komplexitetsteorin är en polynomhierarki  en hierarki av komplexitetsklasser som generaliserar klasserna P, NP, co-NP till orakelberäkningar .

Definition

Det finns många likvärdiga definitioner av polynomhierarkiklasserna. Låt oss ta en av dem.

För att definiera ett orakel i en polynomhierarki definierar vi

där P är mängden problem som ska lösas i polynomtid. Sedan definierar vi för i ≥ 0

Där A B  är den uppsättning problem som löses av en Turing-maskin i klass A utökad med ett orakel för något problem från klass B. Till exempel, , och  är en klass av problem lösta i polynomtid med ett orakel för något problem från NP .

Relationer mellan klasser i en polynomhierarki

Definitionerna innebär följande samband:


Till skillnad från de aritmetiska och analytiska hierarkierna, där alla inneslutningar är strikta, är frågan om strikthet fortfarande öppen i polynomhierarkin.

Om någon , eller någon , krymper hierarkin ner till nivå k : för alla , . I praktiken betyder detta att likheten mellan klasserna P och NP fullständigt förstör polynomhierarkin.

Unionen av alla klasser i polynomhierarkin är klassen PH .

Polynomhierarkin är motsvarigheten (med mindre komplexitet) till den aritmetiska hierarkin.

Det är känt att PH finns i PSPACE , men det är inte känt om de två klasserna är lika.


Varje klass i polynomhierarkin innehåller -kompletta problem (problemen är kompletta med avseende på Karp-reduktion i polynomtid).