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?
cc.complexity-theory
derandomization
pseudorandomness
bppcapnpvsrp
la source
la source
Réponses:
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=RP NP⊆BPP
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.RP⊊BPP∩NP c coRP∩UP RPTIME[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) x n b z 2nc LA coRP UP
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:A x
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 .A LA RPTIME[2nc] M x b z (x,b,z)∈A M x
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 .z A M A M RP x x∉LA M
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:M RP A M
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 .A M A M M x RP
Reste à argumenter les deux étapes du cas 2:
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 quer M M r (x,0,z)∈A (x,1,z)∉A M 2nc 22nc z z (x,0,z)∉A A M M doit 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 à .A r A (x,0,z)∈A (x,1,z)∉A z r M A
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 .z M (x,1,z) 1/2 22nc22nc/2 M 22nc2nc z M (x,1,z) A M 1/2
la source
Non, ce n'est pas connu. Ce n'est peut-être pas la preuve la plus convaincante, mais jetez un œil à cette recherche Google .
la source