Dans quelle classe sont les algorithmes randomisés qui errent avec exactement 25% de chances?

17

Supposons que je considère la variante suivante de BPP, qui appelons E (xact) BPP: Une langue est en EBPP s'il y a un TG aléatoire polynomial qui accepte chaque mot de la langue avec exactement 3/4 de probabilité et chaque mot qui n'est pas dans la langue avec exactement 1/4 de probabilité. Evidemment EBPP est contenu dans BPP mais sont-ils égaux? Cela a-t-il été étudié? Qu'en est-il de l'ERP de même définition?

Motivation. Ma principale motivation est que je voulais savoir quel est l'analogue théorique de la complexité de l'algorithme randomisé `` correct en valeur attendue '' de Faenza et al. (voir http://arxiv.org/abs/1105.4127 ) le serait. J'ai d'abord voulu comprendre les problèmes de décision qu'un tel algorithme peut résoudre (avec le pire cas d'exécution d'un polynôme). Notons cette classe par E (xpected) V (alue) PP. Il est facile de voir que USAT EVPP. Il est également facile de voir que EBPP EVPP. C'était ma motivation. Tout commentaire sur EVPP est également le bienvenu.

En fait, leur algorithme génère toujours un nombre non négatif. Si nous dénotons les problèmes de décision reconnaissables par un tel algorithme par EVP (ositif) PP, alors nous avons toujours USAT EVPPP. Bien que EBPP ne soit pas un sous-ensemble d'EVPPP, nous avons ERP EVPPP. Peut-être qu'en les utilisant, nous pouvons définir un rang (non négatif) pour les problèmes de décision.

domotorp
la source
10
Je suppose que vous vous rendez compte déjà, mais si vous détendant la contrainte aux mots d' accepter dans la langue avec une probabilité 3/4±ε pour ε1/poly(n) puis les classes doivent être égales.
Huck Bennett
3
@domotorp Quelle est la motivation derrière cette question? Que comptez-vous faire avec cette classe de complexité sémantique? Voyez-vous un moyen d'utiliser EBPP quelque part pour prouver un théorème? Peux-tu élaborer?
Tayfun Pay du
1
Consultez le document "Classes de complexité probabiliste et de faiblesse" par Uwe Schoning, 1989.
Tayfun Pay
1
@Tayfun: Je l'ai vérifié mais je n'ai rien trouvé de pertinent. Pourriez-vous être plus précis?
domotorp
2
@HuckBennett: ou encore pour e exp ( - p o l y ( n ) ) . 3/4±ϵϵexp(-poly(n))
Colin McQuillan

Réponses:

10

Sur une note latérale, il n'est pas clair que EBPP est une classe robuste. Par exemple, si au lieu de permettre à l'algorithme de lancer une pièce sans biais, si on lui a donné une pièce sans biais à 3 faces ou un dé à 6 faces, il n'est pas clair que vous obtenez la même classe. BPP reste le même si vous modifiez ces détails.

Quoi qu'il en soit, votre question principale est de savoir si EBPP est égal à BPP ou non. Il me semble que EBPP est plus proche de P que de BPP. Tenez compte de la complexité des requêtes ou de la version Oracle de ces classes où elles ont accès à une grande chaîne d'entrée et doivent effectuer des requêtes pour apprendre des bits de cette chaîne. Si vous avez un algorithme P qui calcule une fonction avec Q requêtes, alors il existe un représentant exact polynôme de degré Q pour f sur R . (C'est l'argument de la méthode polynomiale habituelle.) D'un autre côté, si vous avez un algorithme BPP, alors vous obtenez un polynôme degré Q sur R qui se rapproche de fFQQFRQRFen ce sens que sa valeur est proche de la valeur de à chaque entrée.F

Étant donné un algorithme EBPP pour une fonction , nous pouvons construire un polynôme qui affiche 1/4 lorsque la réponse est NON et 3/4 lorsque la réponse est OUI. En soustrayant 1/2 et en multipliant par 2, vous pouvez obtenir un polynôme représentant exact, tout comme dans le cas de P. Cela me suggère que EBPP est plus proche de P.F

Cette observation peut également être utilisée pour montrer une séparation d'oracle entre EBPP et BPP. Considérez le problème de la majorité-promesse où l'on vous promet que l'entrée a soit plus de 2N / 3 1s soit moins de N / 3 1s et vous devez décider quel est le cas. C'est clairement dans BPP. En utilisant l'argument polynomial décrit ci-dessus, il peut être démontré que cette fonction nécessite des requêtes pour une machine EBPP. Mais notez que vous pouvez également prouver une séparation d'oracle dans l'autre sens, entre P et EBPP. Alors peut-être que les résultats d'Oracle ne disent pas grand-chose pour ce problème? Ou peut-être qu'ils disent qu'il sera difficile de montrer l'égalité dans les deux sens.Ω(N)

Robin Kothari
la source
1
Oui, la séparation d'oracle semble assez simple dans les deux cas.
domotorp
1

Concernant les séparations d'oracle, il existe un oracle avec EBPP = BPP = EXP NP , et un oracle avec P = ⊕P (et donc EBPP = P) et BPP = EXP NP .

Une construction de BPP = EXP NP oracle (y compris celle de l' article wikipedia de BPP ) consiste à choisir un problème complet d' EP NP relativisé , et à procéder de manière récursive sur la taille d'entrée (pour ce problème), à ​​corriger les résultats pour les instances de problème de cette taille, et puis fournissez des réponses à ce problème si vous êtes interrogé avec l'entrée et un remplisseur (de longueur appropriée) qui n'a pas été corrigé. Pour EBPP = EXP NP , au lieu de donner presque toujours les bonnes réponses, nous pouvons donner juste assez de mauvaises réponses pour que les comptes soient exacts. Il y a aussi un oracle dans lequel l'analogue d'erreur zéro d'EBPP (exactement 1/2 probabilité de signaler un échec) est égal à EXP (et un oracle avec P = ⊕P mais ZPP = EXP).

L' oracle P = ⊕P et BPP = EXP NP est noté ici .

En plus d'être en BPP et en C = P, EBPP est en ⊕P puisque nous pouvons réduire la probabilité au nombre de témoins puis ajuster ce nombre.

Dans le monde non relativisé, BPP est probablement égal à P, mais les preuves sont encore plus solides pour EBPP. EBPP dépend du nombre exact de chemins d'une manière qui, à moins d'une annulation inattendue, semble essentiellement impossible à exploiter.

Dmytro Taranovsky
la source
0

Ceci est une réponse partielle; peut-être que cela inspirera quelqu'un d'autre à en proposer un meilleur.

Votre classe est un cas particulier de C = P . Je pense qu'une façon de définir C = P est la suivante (voir la section 2 de ce document ). Un langage L est en C = P s'il existe un vérificateur de temps polynomial V tel queEBPPC=PC=PLC=PV

  • si est dans L , alors Pr w [ V ( x , w )  accepte ] = 3xL , etPrw[V(x,w) accepts]=34
  • si n'est pas dans L , alors Pr w [ V ( x , w )  accepte ] 3xL .Prw[V(x,w) accepts]34

(La probabilité d'exhaustivité peut être essentiellement n'importe quelle fraction fixe; j'ai choisi afin qu'il corresponde à la probabilité donnée dans votre question.)34

Une façon de définir est la suivante. Un langage L est dans E B P P s'il existe un vérificateur de temps polynomial V tel queEBPPLEBPPV

  • si est dans L , alors Pr w [ V ( x , w )  accepte ] = 3xL , etPrw[V(x,w) accepts]=34
  • si n'est pas dans L , alors Pr w [ V ( x , w )  accepte ] = 1xL .Prw[V(x,w) accepts]=14
argentpepper
la source
3
C'est aussi un cas particulier de BPP.
Peter Shor
@argentpepper Ce que vous croyez être un cas particulier de ne semble pas être correct. Tous C = PC=PC=P machines doivent accepter OU rejeter toutes les entrées. Ce que vous décrivez est une machine catégorielle - classe de complexité sémantique. Il n'accepte ni ne rejette si la probabilité est de 1/2? Cela ne peut pas être une machine C=P
Tayfun Pay du
@PeterShor Exactly
Tayfun Pay
1
@TayfunPay Je ne pense pas que votre commentaire soit logique. est un ensemble de langages, pas de machines, donc il n'y a pas de machine C = P. argentpepper a raison de dire que EBPP est en fait un sous-ensemble de C = PC=PC=PC=PC=P
Juste une autre façon de voir le problème ...
argentpepper