Una possibile motivazione per studiare le classi di complessità computazionale è comprendere il potere di diversi tipi di risorse computazionali (casualità, non determinismo, effetti quantistici, ecc.). Se lo guardiamo da questa prospettiva, sembra che possiamo ottenere un assioma plausibile per qualsiasi tentativo di caratterizzare quali calcoli sono fattibili in alcuni modelli:
- Qualsiasi calcolo fattibile può sempre invocare un altro calcolo fattibile come subroutine. In altre parole, supponiamo che i programmi siano considerati fattibili da eseguire. Quindi se costruiamo un nuovo programma collegando P e Q in modo che P effettui chiamate di subroutine a Q , allora anche questo nuovo programma è fattibile.
Tradotto nella lingua delle classi di complessità, questo assioma corrisponde al seguente requisito:
- Se è una classe di complessità destinata alla cattura che i calcoli sono fattibili in qualche modello, quindi dobbiamo avere C C = C .
(Qui rappresenta calcoli in C che possono richiamare un oracolo da C ,. Che è una classe oracolo complessità) Quindi, che chiameremo una classe di complessità C plausibile se soddisfa C C = C .
La mia domanda: quali classi di complessità conosciamo, che sono plausibili (con questa definizione di plausibile)?
Ad esempio, è plausibile, poiché P P = P . Abbiamo B P P B P P = B P P ? Che dire di B Q P B Q P = B Q P ? Quali sono alcune altre classi di complessità che soddisfano questo criterio?
Sospetto che (o almeno, sarebbe la nostra ipotesi migliore, anche se non possiamo provarlo). Esiste una classe di complessità che cattura il calcolo non deterministico e che è plausibile, secondo questa definizione? Se lasciamo che C indichi la più piccola classe di complessità tale che N P ⊆ C e C C ⊆ C , c'è qualche chiara caratterizzazione di questa C ?