J'écrirais ce qui suit comme commentaire, mais c'était trop long pour tenir.
Décrivons d'abord la signification des «algorithmes de classe avec un oracle pour un langage A.» (La nécessité de cela a été soulignée par Tsuyoshi Ito). Nous utiliserons la même convention que celle utilisée par Ladner et Lynch . La convention est bien décrite par Bennett & Gill :C
peut être défini de différentes manières, selon la façon dont la bande de requête est gérée. Nous suivons les conventions de Ladner et Lynch [LL]: la bande de requête n'est pas facturée par rapport à l'espace, mais pour l'empêcher d'être utilisée comme bande de travail, la bande de requête est unidirectionnelle et en écriture seule, et est effacée suivant automatiquement chaque requête. (Simon [Si] traite la bande de requête comme l'une des bandes de travail, une bande de lecture / écriture bidirectionnelle qui est chargée contre l'espace délimité. La définition de Ladner-Lynch est moins restrictive et peut-être plus naturelle, car pour un oracle aléatoireA∈ L O G S P A C E AL O G S P A C EUNEA ∈ L O G S P A C EUNE vaut avec probabilité 1 pour [LL] mais pas pour [Si])
[LL] RE LADNER ET NA LYNCH, Relativisation des questions sur la calculabilité de l'espace logarithmique , Math. Systems Theory, 10 (1976), pp. 19-32.
[Si] J. SIMON, Sur certains problèmes centraux de la complexité informatique , Tech. Rep TR 75-224, Dept. of Computer Science, Cornell University, Ithaca, NY, 1975.
La définition standard des classes de complexité des machines Oracle est la suivante: Soit B et C des classes de complexité . Ensuite, est une classe de complexité légitime, définie comme X = ⋃ L ∈ C B L . Ici, B L représente la classe de complexité des problèmes de décision résolubles par un algorithme de classe B avec un oracle pour un langage L.X= BCX= ⋃L ∈ CBLBL
Puisque X est une classe de complexité légitime, pour une classe de complexité A, on peut parler des classes de complexité et X A = ( B C ) A .UNEX= A( BC)XUNE= ( BC)UNE
fait référence à la classe decomplexité des problèmes de décision résoluble par un algorithme en classe A avec un oracle pour tout langage L ' ∈ X = ⋃ L ∈ C B L . En d'autres termes, A X = ⋃ L ′ ∈ { ⋃ L ∈ C B L } A L ′ .UNEXL′∈ X= ⋃L ∈ CBLUNEX= ⋃L′∈ { ⋃L ∈ CBL}UNEL′
fait référence à la classe decomplexité des problèmes de décision résoluble par un algorithme en classe X = ⋃ L ∈ C B L avec un oracle pour tout langage L ' ∈ A . En d'autres termes, X A = ⋃ L ′ ∈ A X L ′ = ⋃ L ′ ∈ A ( ⋃ L ∈ C B L ) L ′ .XUNEX= ⋃L ∈ CBLL′∈ AXUNE= ⋃L′∈ AXL′= ⋃L′∈ A( ⋃L ∈ CBL)L′
Allégation: .( 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.
Par conséquent, on peut écrire .XUNE= ⋃L′∈ A( ⋃L ∈ CBL)L′= ⋃L ∈ C, L′∈ A( BL′)L
Exemple
Laissez . Nous savons que c o N P ⊆ X . Donnant à la fois l' accès à des côtés de l' oracle N P , on obtient: c o N P N P ⊆ X N P = ( P N P ) N P .X = PN Pc o N P ⊆XN Pc o N PN P⊆ XN P= ( PN P)N P
Épilogue
Une discussion fructueuse avec Tsuyoshi Ito a révélé (pour moi) qu'il n'est pas facile de relativiser doublement une classe de complexité. En fait, même en définir un semble problématique. Je devrais certainement étudier davantage pour voir si une définition satisfaisante est jamais donnée. En attendant, j'apprécie tout commentaire qui peut être utilisé pour résoudre ce problème.