Est-il connu si


10

L'inclusion inverse est évidente, tout comme le fait que tout langage NP auto-réductible dans BPP l'est également dans RP. Est-ce également connu pour les langages NP non auto-réductibles?


2
Si elle était connue, d'après les inclusions RPBPP et RPNP , il s'ensuivrait que BPP=RP ou RP=NP (ou les deux, essentiellement en fonction de la relation entre BPP et NP Je pense donc qu'il est sûr de supposer qu'il est actuellement inconnu. Puisque RP a une erreur unilatérale, il est facile de voir comment il est contenu dans BPP, sans besoin d'auto-réductibilité ou de toute autre propriété.
chazisop

4
Ce que l' on sait, c'est que NPBPP implique NP = RP. @chazisop, où avez-vous obtenu que NPBPP=RP implique BPP = RP ou NP = RP?
Emil Jeřábek

1
Supposons que nous connaissions BPPNPRP(1) . Ensuite , nous pouvons faire une analyse de cas: - Si BPPNP , puis de (1) NPRP , qui , avec des résultats connus implique NP=RP . - Si NPBPP , alors à partir de (1) BPPRP , ce qui avec des résultats connus implique BPP=RPNPBPPBPPNP=RP

4
Vous avez confondu les deux premiers cas. Plus important encore, dans le troisième cas générique, votre conclusion est identique à l'hypothèse, donc tout l'argument n'accomplit rien. En particulier, il ne prend pas en charge la réclamation incorrecte dans votre premier commentaire.
Emil Jeřábek

1
L'hypothèse ne demande que le sous-ensemble, pas l'égalité. En tout cas, mon argument (même mal formaté et avec des erreurs) montre que si nous savions ce qui est demandé, nous pourrions dériver des relations de classe de complexité qui sont actuellement des problèmes ouverts. De plus, je ne vois pas comment le troisième cas est plus générique que le reste: il exclut explicitement la possibilité d'une classe contenant l'autre, qui est actuellement inconnue.
chazisop

Réponses:


7

Comme pour la plupart des questions de complexité, je ne suis pas sûr qu'il y aura une réponse complète pendant très longtemps. Mais on peut au moins montrer que la réponse est non relativisante: il y a un oracle par rapport auquel l'inégalité tient et un par rapport auquel l'égalité tient. Il est assez facile de donner un oracle par rapport auquel les classes sont égales: tout oracle qui a fonctionnera (par exemple, tout oracle par rapport auquel "l'aléatoire n'aide pas beaucoup"), comme sera tout oracle qui a (par exemple, tout oracle par rapport auquel "le caractère aléatoire aide beaucoup"). Il y en a beaucoup, donc je ne vais pas m'embêter avec les détails.BPP=RPNPBPP

Il est un peu plus difficile, bien que relativement simple, de concevoir un oracle par rapport auquel nous obtenons . La construction ci-dessous fait en fait un peu mieux: pour toute constante , il y a un oracle par rapport auquel il y a un langage dans qui n'est pas dans . Je vais le décrire ci-dessous.RPBPPNPccoRPUPRPTIME[2nc]

Nous allons concevoir un oracle qui contient des chaînes de la forme , où est une chaîne de bits, est un bit unique et est une chaîne de bits de longueur . Nous donnerons également un langage qui sera décidé par une machine et une machine comme suit:A(x,b,z)xnbz2ncLAcoRPUP

  • La machine , sur l'entrée , devine de longueur au hasard, interroge et copie la réponse.coRPxz2|x|c(x,0,z)
  • La machine , sur l'entrée , devine de longueur , interroge et copie la réponse.UPxz2|x|c(x,1,z)

Pour que les machines spécifiées ci-dessus tiennent réellement leurs promesses, nous avons besoin de pour satisfaire certaines propriétés. Pour chaque , l'une de ces deux options doit être le cas:Ax

  • Option 1: au plus la moitié des choix ont et zéro choix ont . (Dans ce cas, )z(x,0,z)A z(x,1,z)AxLA
  • Option 2: Chaque choix a et précisément une choix a . (Dans ce cas, )z(x,0,z)A z(x,1,z)AxLA

Notre objectif sera de spécifier satisfaisant à ces promesses de façon à ce que diagonise contre chaque . Pour essayer de garder cette réponse déjà longue courte, je vais laisser tomber les machines de construction d'oracle et beaucoup de détails sans importance, et expliquer comment diagonaliser par rapport à une machine particulière. Fix une machine de Turing aléatoire, et que soit une entrée de sorte que nous avons un contrôle total sur la sélection de 's et ' s de telle sorte que . Nous allons casser sur .ALARPTIME[2nc]Mxbz(x,b,z)AMx

  • Cas 1: Supposons qu'il existe un moyen de sélectionner les pour que satisfasse la première option de sa promesse, et ait un choix d'aléatoire qui accepte. Ensuite, nous engagerons dans cette sélection. Alors ne peut pas simultanément satisfaire la promesse et rejeter . Néanmoins, . Nous avons donc diagonaliser contre .zAMAMRPxxLAM

  • Cas 2: Ensuite, supposez que le cas précédent n'a pas fonctionné. Nous allons maintenant montrer que peut alors être forcé soit de rompre la promesse ou de rejeter sur un choix de satisfaisant la deuxième option de sa promesse. Ce diagonalise contre . Nous le ferons en deux étapes:MRPAM

    1. Montrer que pour chaque choix fixe de bits aléatoires de, doit rejeter lorsque toutes ses requêtes de la forme sont en et toutes ses requêtes de la forme ne sont pas dans .rMM(x,0,z)A(x,1,z)A
    2. Montrez que nous pouvons inverser une réponse de pour un choix de sans affecter de beaucoup la probabilité d'acceptation de(x,1,z)AzM

    En effet, si nous commençons par partir de l'étape 1, la probabilité d'acceptation de est nulle. ne satisfait pas tout à fait la deuxième option de sa promesse, mais nous pouvons alors retourner un seul bit comme à l'étape 2 et ce sera le cas. Puisque le retournement du bit fait que la probabilité d'acceptation de reste proche de zéro, il s'ensuit que ne peut pas simultanément accepter et satisfaire la promesse .AMAMMxRP

Reste à argumenter les deux étapes du cas 2:

  1. Correction d' un choix de bits aléatoires pour . Maintenant simuler en utilisant comme le caractère aléatoire et de répondre aux requêtes de telle sorte que et . Observez que effectue au plus requêtes. Puisqu'il y a choix de , nous pouvons fixer les choix non vérifiés de pour avoir , et avoir satisfasse toujours la première option de sa promesse. Comme nous ne pouvions pas faire fonctionner le cas 2 pour , cela signifie querMMr(x,0,z)A(x,1,z)AM2nc22nczz(x,0,z)AAMMdoit rejeter sur tous ses choix de hasard par rapport à , et en particulier sur . Il s'ensuit que si nous sélectionnons pour avoir et pour chaque choix de , alors pour chaque choix de bits aléatoires , rejette par rapport à .ArA(x,0,z)A(x,1,z)AzrMA

  2. Supposons que pour chaque , la fraction de bits aléatoires pour laquelle requêtes soit au moins . Le nombre total de requêtes est alors d'au moins . Par contre, fait au plus requêtes sur toutes ses branches, une contradiction. Il y a donc un choix de pour que la fraction de bits aléatoires pour laquelle requêtes soit inférieure à 1/2. Inverser la valeur de sur cette chaîne affecte donc la probabilité d'acceptation de de moins de .zM(x,1,z)1/222nc22nc/2M22nc2nczM(x,1,z)AM1/2


Cette réponse est assez longue et bénéficierait probablement d'un lien vers une ressource externe qui donne une meilleure explication des techniques impliquées. Si quelqu'un en connaît un, je l'inclurai volontiers.
Andrew Morgan

Cela pourrait être dans l'enquête de Ko.
Kaveh du

1
@Kaveh: J'ai regardé cette enquête (c'est celle à laquelle vous faites référence, non?), Mais je n'ai pas remarqué grand-chose qui semble immédiatement pertinent. La plupart des résultats semblaient tomber dans le cas de prouver . Un point notable est que rapport à un oracle aléatoire, et donc nous obtenons rapport à un oracle aléatoire. BPPNP=RPP=RPBPPNP=RP
Andrew Morgan

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.