Cette question peut avoir une réponse évidente ... mais voici la question de toute façon. Intuitivement, c'est la déclaration plausible suivante - "une machine avec un sous-programme A qui à son tour a un sous-programme B est la même chose qu'une machine avec un sous-programme A qui a accès au sous-programme B".
Pour définir formellement ce problème, j'utiliserai une notation non conventionnelle. Quand je dis , je donne à un oracle pour un problème . par exemple . Avec cette "nouvelle" notation, il est possible de définir , etc. Ma question est, est A B - C o m p l e t e N P N P = N P S A T = Σ 2 A B C
- est-ce une façon valable de penser aux oracles?
- est
Par exemple,
Je ne peux penser à aucun contre-exemple évident de cette règle. N'importe qui?
complexity-classes
oracles
gabgoh
la source
la source
Réponses:
Comme Venkat l'a dit dans les commentaires, il semble difficile de comprendre votre définition d'oracle qui n'est pas définie comme une caractérisation de machine.
Soit serait l'ensemble de TM en A avec un oracle qui est une machine en ( B avec un oracle dans une machine en C ). Il est évident qu'une machine A peut appeler C : il appelle simplement la machine B et lui demande de porter le message directement à C .UNE( BC) UNE B C UNE C B C
Je suppose que serait une machine en A qui peut appeler un oracle en C ou un oracle qui est (une machine en B qui peut appeler une machine en C ), c'est donc exactement la même définition.( AB)C UNE C B C
Enfin, vous voudrez peut-être , qui est certainement différent des deux autres (prenez simplement B = C = N P et A = P , puis A B , C = N P ∪ c o N P tandis que A ( B C ) = Σ P 2 ∪ Π p 2 .UNEB , C B = C= NP A = P UNEB , C= NP∪ c o NP UNE( BC)= ΣP2∪ Πp2
la source
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
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= BC X= ⋃L ∈ CBL BL
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 ′ .UNEX L′∈ X= ⋃L ∈ CBL UNEX= ⋃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 ′ .XUNE X= ⋃L ∈ CBL L′∈ A XUNE= ⋃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 P c o N P ⊆X N P c 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.
la source