Polynomhierarki
I beräkningskomplexitetsteori är polynomhierarkin ( kallas ibland polynom-tidhierarkin ) en hierarki av komplexitetsklasser som generaliserar klasserna NP och co-NP . Varje klass i hierarkin finns i PSPACE . Hierarkin kan definieras med hjälp av orakelmaskiner eller alternerande Turingmaskiner . Det är en resursbunden motsvarighet till den aritmetiska hierarkin och den analytiska hierarkin från matematisk logik . Föreningen av klasserna i hierarkin betecknas PH .
Klasser inom hierarkin har fullständiga problem (med avseende på polynom-tidsreduktioner ) som frågar om kvantifierade booleska formler håller, för formler med restriktioner för kvantifieringsordningen. Det är känt att jämlikhet mellan klasser på samma nivå eller på varandra följande nivåer i hierarkin skulle innebära en "kollaps" av hierarkin till den nivån.
Definitioner
Det finns flera ekvivalenta definitioner av klasserna i polynomhierarkin.
Oracle definition
För orakeldefinitionen av polynomhierarkin, definiera
där P är mängden beslutsproblem som kan lösas i polynomtid . Sedan för i ≥ 0 definiera
där är uppsättningen beslutsproblem som kan lösas i polynomtid av en Turing-maskin utökad med ett orakel för något komplett problem i klass A; klasserna och är definieras analogt. Till exempel, , och är klassen av problem som kan lösas i polynomtid av en deterministisk Turing-maskin med ett orakel för något NP-komplett problem.
Kvantifierade booleska formler definition
För den existentiella/universella definitionen av polynomhierarkin, låt L vara ett språk (dvs. ett beslutsproblem , en delmängd av {0,1} * ), låt p vara ett polynom och definiera
där är någon standardkodning av paret binära strängar x och w as en enda binär sträng. Språket L representerar en uppsättning ordnade par av strängar, där den första strängen x är en medlem av , och den andra strängen w är en "kort" ( ) vittne som vittnar att x är en medlem av . Med andra ord, om och endast om det finns ett kort vittne w så att . Definiera på samma sätt
Observera att De Morgans lagar gäller: och , där L c är komplementet till L .
Låt C vara en klass av språk. Utöka dessa operatorer till att fungera på hela klasser av språk enligt definitionen
Återigen gäller De Morgans lagar: och där .
Klasserna NP och co-NP kan definieras som och klassen av alla möjliga (polynom-tid) avgörbara språk. Polynomhierarkin kan definieras rekursivt som
Observera att och .
Denna definition återspeglar det nära sambandet mellan polynomhierarkin och den aritmetiska hierarkin , där R och RE spelar roller analoga med P respektive NP . Den analytiska hierarkin definieras också på liknande sätt för att ge en hierarki av delmängder av de reella talen .
Alternerande Turing-maskiner definition
En alternerande Turing-maskin är en icke-deterministisk Turing-maskin med icke-slutliga tillstånd uppdelade i existentiella och universella tillstånd. Det accepterar så småningom från sin nuvarande konfiguration om: det är i ett existentiellt tillstånd och kan övergå till någon så småningom accepterande konfiguration; eller, det är i ett universellt tillstånd och varje övergång är till någon slutligen accepterande konfiguration; eller så är den i ett accepterande tillstånd.
Vi definierar som den klass av språk som accepteras av en alternerande Turingmaskin i polynomtid så att initialtillståndet är ett existentiellt tillstånd och varje väg maskinen kan ta byten högst k – 1 gånger mellan existentiella och universella tillstånd. Vi definierar på liknande sätt, förutom att initialtillståndet är ett universellt tillstånd.
Om vi utelämnar kravet på högst k – 1 växlingar mellan det existentiella och universella tillståndet, så att vi bara kräver att vår alternerande Turingmaskin körs i polynomtid, så har vi definitionen av klassen AP , som är lika med PSPACE .
Relationer mellan klasser i polynomhierarkin
Unionen av alla klasser i polynomhierarkin är komplexitetsklassen PH .
Definitionerna antyder relationerna:
Till skillnad från de aritmetiska och analytiska hierarkierna, vars inneslutningar är kända för att vara korrekta, är det en öppen fråga om någon av dessa inneslutningar är korrekta, även om det är allmänt trott att de alla är det. Om någon någon k : för all , . I synnerhet har vi följande implikationer som involverar olösta problem:
Det fall där NP = PH också betecknas som en kollaps av PH till den andra nivån . Fallet P = NP motsvarar en kollaps av PH till P .
Frågan om kollaps till första nivån anses generellt vara extremt svår. De flesta forskare tror inte på en kollaps, inte ens till den andra nivån.
Relationer till andra klasser
Polynomhierarkin är en analog (med mycket lägre komplexitet) av den exponentiella hierarkin och den aritmetiska hierarkin .
Det är känt att PH finns i PSPACE , men det är inte känt om de två klasserna är lika. En användbar omformulering av detta problem är att PH = PSPACE om och endast om andra ordningens logik över ändliga strukturer inte får någon ytterligare kraft från tillägget av en transitiv stängningsoperator .
Om polynomhierarkin har några fullständiga problem , har den bara ändligt många distinkta nivåer. Eftersom det finns PSPACE-kompletta problem vet vi att om PSPACE = PH måste polynomhierarkin kollapsa, eftersom ett PSPACE-komplett problem skulle vara ett -komplett problem för vissa k .
Varje klass i polynomhierarkin innehåller -fullständiga problem (problem kompletta under polynom-tid många-en-reduktioner). Dessutom stängs varje klass i polynomhierarkin under -reduktioner : vilket betyder att för en klass C i hierarkin och en språk , om , sedan också. Dessa två fakta tillsammans antyder att om är ett komplett problem för då och . Till exempel, . Med andra ord, om ett språk definieras utifrån något orakel i C , så kan vi anta att det är definierat utifrån ett komplett problem för C . Kompletta problem fungerar därför som "representanter" för den klass som de är kompletta för.
Sipser –Lautemanns sats säger att klassen BPP finns i den andra nivån i polynomhierarkin.
Kannans sats säger att för vilken k som helst är inte inkluderad i SIZE (n k ).
Todas teorem säger att polynomhierarkin finns i P #P .
Problem
- Ett exempel på ett naturligt problem i är kretsminimering : givet ett tal k och en krets A beräknar en boolesk funktion f , avgör om det finns en krets med högst k grindar som beräknar samma funktion f . Låt C vara mängden av alla booleska kretsar. Språket
är avgörbar i polynomtid. Språket
- Ett komplett problem för är tillfredsställbarheten för kvantifierade booleska formler med k – 1 alternationer av kvantifierare (förkortat QBF k eller QSAT k ). Detta är versionen av det booleska tillfredsställbarhetsproblemet för . I det här problemet får vi en boolesk formel f med variabler uppdelade i k uppsättningar X 1 , ..., X k . Vi måste avgöra om det är sant att
- En lista i Garey/Johnson-stil med problem som är kända för att vara kompletta för den andra och högre nivån i polynomhierarkin finns i detta kompendium .
Se även
Allmänna referenser
-
Arora, Sanjeev; Barak, Boaz (2009). Complexity Theory: A Modern Approach . Cambridge University Press. ISBN 978-0-521-42426-4 .
avsnitt 1.4, "Maskiner som strängar och den universella Turing-maskinen" och 1.7, "Proof of theorem 1.9"
- AR Meyer och LJ Stockmeyer . Ekvivalensproblemet för reguljära uttryck med kvadrering kräver exponentiellt utrymme. I Proceedings of the 13th IEEE Symposium on Switching and Automata Theory , s. 125–129, 1972. Uppsatsen som introducerade polynomhierarkin.
- LJ Stockmeyer . Polynom-tidshierarkin . Theoretical Computer Science , vol.3, s. 1–22, 1976.
- C. Papadimitriou . Beräkningskomplexitet. Addison-Wesley, 1994. Kapitel 17. Polynomhierarki , s. 409–438.
- Michael R. Garey och David S. Johnson (1979). Datorer och svårhanterlighet: En guide till teorin om NP-fullständighet . WH Freeman. ISBN 0-7167-1045-5 . Avsnitt 7.2: Polynomhierarkin, s. 161–167.