Eine mögliche Motivation für das Studium von Computerkomplexitätsklassen besteht darin, die Leistungsfähigkeit verschiedener Arten von Computerressourcen (Zufälligkeit, Nichtdeterminismus, Quanteneffekte usw.) zu verstehen. Wenn wir es aus dieser Perspektive betrachten, dann scheint es, als könnten wir ein plausibles Axiom für jeden Versuch erhalten, zu charakterisieren, welche Berechnungen in einem Modell möglich sind:
- Jede mögliche Berechnung kann immer eine andere mögliche Berechnung als Subroutine aufrufen. Mit anderen Worten, es sei angenommen, dass die Programme ausführbar sind. Wenn wir dann ein neues Programm durch Verknüpfen von und aufbauen, so dass Unterprogrammaufrufe für , ist dieses neue Programm ebenfalls möglich.
Übersetzt in die Sprache der Komplexitätsklassen ergibt sich für dieses Axiom folgende Anforderung:
- Wenn eine Komplexitätsklasse ist, die erfassen soll, welche Berechnungen in einem Modell möglich sind, muss C C = C sein .
(Hier stellt Berechnungen in C dar , die ein Orakel aus C aufrufen können ; das ist eine Orakelkomplexitätsklasse.) Nennen wir also eine Komplexitätsklasse C plausibel, wenn sie C C = C erfüllt .
Meine Frage: Welche Komplexitätsklassen kennen wir, die plausibel sind (nach dieser Definition von plausibel)?
Zum Beispiel ist plausibel, da P P = P . Haben wir B P P B P P = B P P ? Was ist mit B Q P B Q P = B Q P ? Welche anderen Komplexitätsklassen erfüllen dieses Kriterium?
Ich vermute, dass (oder zumindest, das wäre unsere beste Vermutung, auch wenn wir es nicht beweisen können). Gibt es eine Komplexitätsklasse, die nicht deterministische Berechnungen erfasst und die unter dieser Definition plausibel ist? Wenn wir C die kleinste Komplexitätsklasse bezeichnen lassen, so dass N P ⊆ C und C C ⊆ C , gibt es eine saubere Charakterisierung dieses C ?