Ich würde Folgendes als Kommentar schreiben, aber es war zu lang, um hinein zu passen.
Beschreiben wir zunächst die Bedeutung von „Algorithmen in Klasse mit einem Orakel für eine Sprache A.“ (Die Notwendigkeit dafür wurde von Tsuyoshi Ito hervorgehoben). Wir werden die gleiche Konvention verwenden, die Ladner und Lynch verwendet haben . Die Konvention wird von Bennett & Gill gut beschrieben :C.
kann auf verschiedene Arten definiert werden, je nachdem, wie das Abfrageband behandelt wird. Wir folgen den Konventionen von Ladner und Lynch [LL]: Das Abfrageband wird nicht gegen den gebundenen Speicherplatz berechnet, aber um zu verhindern, dass es als Arbeitsband verwendet wird, ist das Abfrageband einseitig und nur zum Schreiben bestimmt und wird gelöscht automatisch nach jeder Abfrage. (Simon [Si] behandelt das Abfrageband als eines der Arbeitsbänder, ein Zwei-Wege-Lese- / Schreibband, das gegen den gebundenen Raum berechnet wird. Die Ladner-Lynch-Definition ist weniger restriktiv und möglicherweise natürlicher, da es sich um ein zufälliges Orakel handeltA∈ L O G S P A C E A.L O G S P A C E.EINA ∈ L O G S P A C E.EIN gilt mit Wahrscheinlichkeit 1 für [LL], aber nicht für [Si])
[LL] RE LADNER UND NA LYNCH, Relativierung von Fragen zur Berechenbarkeit des Protokollraums , Math. Systems Theory, 10 (1976), S. 19-32.
[Si] J. SIMON, Zu einigen zentralen Problemen der Computerkomplexität , Tech. Rep TR 75-224, Institut für Informatik, Cornell University, Ithaca, NY, 1975.
Die Standarddefinition von Komplexitätsklassen von Orakelmaschinen lautet wie folgt: B und C seien Komplexitätsklassen . Dann ist ein legitimes Komplexitätsklasse, definiert als X = ⋃ L ∈ C B L . Hier repräsentiert B L die Komplexitätsklasse von Entscheidungsproblemen, die durch einen Algorithmus in Klasse B mit einem Orakel für eine Sprache L lösbar sind.X.= B.C.X.= ⋃L ∈ C.B.L.B.L.
Da X eine legitime Komplexitätsklasse ist, können wir für jede Komplexitätsklasse A von Komplexitätsklassen und X A = ( B C ) A sprechen .EINX.= A.( B.C.)X.EIN= ( B.C.)EIN
bezieht sich auf die Komplexitätsklasse von Entscheidungsproblemen, die durch einen Algorithmus in Klasse A mit einem Orakel für jede Sprache L ' ∈ X = ⋃ L ∈ C B L lösbar sind . Mit anderen Worten, A X = ⋃ L ' ∈ { ⋃ L ∈ C B L } A L ' .EINX.L.'∈ X.= ⋃L ∈ C.B.L.EINX.= ⋃L.'∈ { ⋃L ∈ C.B.L.}}EINL.'
bezieht sich auf die Komplexitätsklasse von Entscheidungsproblemen, die durch einen Algorithmus in der Klasse X = ⋃ L ∈ C B L mit einem Orakel für jede Sprache L ' ∈ A lösbar sind. Mit anderen Worten, X A = ⋃ L ' ∈ A X L ' = ⋃ L ' ∈ A ( ⋃ L ∈ C B L ) L ' .X.EINX.= ⋃L ∈ C.B.L.L′∈AXA=⋃L′∈AXL′=⋃L′∈A(⋃L∈CBL)L′
Anspruch: .(BL1)L′∪(BL2)L′=(BL′)L1∪L2
Side Note: Since it's 3:00 AM now, I'm too sleepy to check the validity of the above claim! I think it's valid & elementary to prove, yet it's nice to see the actual proof.
Daher kann man schreiben .XA=⋃L′∈A(⋃L∈CBL)L′=⋃L∈C,L′∈A(BL′)L
Beispiel
X=PNPcoNP⊆XNPcoNPNP⊆XNP=(PNP)NP
Epilog
Eine fruchtbare Diskussion mit Tsuyoshi Ito ergab (für mich), dass es nicht einfach ist, eine Komplexitätsklasse doppelt zu relativieren. Tatsächlich scheint es sogar problematisch zu sein, eine zu definieren. Ich sollte auf jeden Fall mehr studieren, um zu sehen, ob jemals eine zufriedenstellende Definition gegeben wird. In der Zwischenzeit freue ich mich über jeden Kommentar, der zur Lösung dieses Problems verwendet werden kann.