Quelle est la simulation connue la plus rapide de BPP utilisant des algorithmes de Las Vegas?

10

BPP etZPP sont deux des classes de complexité probabiliste de base.

BPP est la classe de langages décidée par les algorithmes de Turing à temps polynomial probabiliste où la probabilité que l'algorithme renvoie une réponse incorrecte est limitée, c'est-à-dire que la probabilité d'erreur est au plus13 (pour les instances OUI et NON).

D'un autre côté, les algorithmes ZPP peuvent être considérés comme ces algorithmes probabilistes qui ne renvoient jamais une réponse incorrecte, chaque fois qu'ils renvoient une réponse, elle est correcte. Cependant, leur durée de fonctionnement n'est pas limitée par un polynôme, ils s'exécutent dans le polynôme attendu.

Soit ZPTime(f) la classe de langage décidée par des algorithmes probabilistes avec une probabilité d'erreur nulle et un temps d'exécution attendu f . Ils sont également appelés algorithmes de Las Vegas et ZPP=ZPTime(nO(1)) .

Ma question est quelle est la meilleure simulation connue des algorithmes BPP utilisant les algorithmes de Las Vegas? Pouvons-nous les simuler en temps attendu sous-exponentiel? Y a-t-il une amélioration connue par rapport à la simulation de force brute triviale qui prend un temps exponentiel?

Plus formellement, savons-nous si ou B PBPPZPTime(2O(nϵ)) pour certains ϵ > 0 ?BPPZPTime(2nnϵ)ϵ>0

echuly
la source
3
Quelle est n, la longueur de l'entrée? Pourquoi pouvons-nous accepter en ? 2n
domotorp
1
est la même chose que 2 p o l y ( n ) . 2poly(n)nϵ2poly(n)
Emil Jeřábek
2
Je trouve la question assez intéressante. J'ai édité la question pour la rendre plus lisible et précise. N'hésitez pas à modifier davantage. ps: Je suppose que vous vouliez probablement prendre en compte le nombre polynomial de bits aléatoires utilisés par l'algorithme BPP comme paramètre pour le temps de simulation, mais comme Emil le souligne, ce que vous avez écrit donne . Si vous voulez que vous deviez remplacer BPP par une classe particulière d'algorithmes probabilistes d'erreur bornée qui ont un paramètre pour le nombre de bits aléatoires utilisés par l'algorithme. 2poly(n)
Kaveh
Vous pouvez demander si nous pouvons simuler un algorithme BPP qui utilise bits aléatoires dans Z P T i m e ( 2 r ( n ) - n ϵ n O ( 1 ) ) puisque la simulation par force brute s'exécute en 2 r ( n ) n O ( 1 )r(n)ZPTime(2r(n)nϵnO(1))2r(n)nO(1) fois.
Kaveh

Réponses:

13

Tout d' abord, d' observer que , si pour une constante c , alors B P PN E X P . (Preuve par une hiérarchie temporelle non déterministe.) Il serait donc important de prouver une telle inclusion, non seulement parce qu'il s'agit d'une simulation améliorée, mais aussi de la première avancée sur des bornes inférieures temporelles randomisées depuis des décennies.BPPZPTIME[2nc]cBPPNEXP

Ensuite, considérons la classe PromiseBPP , pour laquelle le problème suivant est " -hard":PromiseBPP

Problème de probabilité d'approximation de circuit (CAPP): Étant donné un circuit , émettez la probabilité d'acceptation deC àintérieurune une / six facteur additif.C1/6

Les résultats d'Impagliazzo, Kabanets et Wigderson 2002 impliquent qu'un algorithme de temps zéro à pour CAPP (où n est la taille de C ) impliquerait N E X PP / p o l y . Dans STOC'10, j'ai étendu ceci pour montrer: en supposant que pour chaque C avec k bits d'entrée et n taille, on peut calculer CAPP de manière non déterministe (donc, zéro erreur suffit) en 2 k - ω ( log k ) p o l y (2nεnCNEXPP/polyCkn temps, puis N E X PP / p o l y . C'est-à-dire qu'il y a certainement des problèmes calculables avec le caractère aléatoire à deux erreurs, pour lesquels des algorithmes à zéro erreur qui battent même légèrement la recherche exhaustive impliqueraient des limites inférieures de circuit. Je crois que cela devrait être interprété comme une méthode possible pour prouver les limites inférieures; Votre kilométrage peut varier.2kω(logk)poly(n)NEXPP/poly

Notez que même prouver est également ouvert, et prouver cela impliquerait également des limites inférieures: par Kabanets et Impagliazzo 2004, si le test d'identité polynomiale (un problème de c o R P ) est dans Z P T I M E [ 2 n ε ] pour tous les ε . Récemment (à venir dans STOC'13), j'ai prouvé sans condition que soit B P Pi oRPZPTIME[2nε]coRPZPTIME[2nε] , alors nous avons des bornes inférieures pour le permanent ou N E X Pε>0NEXP ou R T I M E [ 2 nBPPioZPTIME[2nε]/nε a n circuits de taille c , s'appuyant sur la méthode du "témoin facile" des Kabanets. Cela implique deux choses:RTIME[2n]nc

  1. Il y a un tel que pour tout ε > 0 , R P est inconditionnellement dans i o Z P T I M E [ 2 n ε ] / n c - il s'agit de la meilleure dérandomisation inconditionnelle de R P / B Pcε>0RPioZPTIME[2nε]/nc dans Z P P que nous connaissons jusqu'à présent.RP/BPPZPP

  2. Pour commencer à obtenir des simulations sous-exponentielles intéressantes de , il suffit "de" supposer R T I M E [BPP n'a pas de circuits de taille polynomiale fixe.RTIME[2n]

Ryan Williams
la source
Merci à Niel d'avoir pris le temps de rendre ma réponse lisible :)
Ryan Williams
2
Ryan, je pense que je suis sur le point de poser une question très stupide, mais c'est parti: dans votre première phrase, pourquoi avez-vous besoin de "pour tous "? Le sous-ensemble BPP de ZPTIME (2 ^ (n ^ c)) pour certains c fixes implique-t-il un sous-ensemble BPP de RTIME (2 ^ (n ^ c)) et donc NTIME (2 ^ (n ^ c)), donc BPP est différent de NEXP ou sinon NTIME (2 ^ (2n ^ c)) est un sous-ensemble de NTIME (2 ^ (n ^ c))? ϵ
Sasho Nikolov
1
Pas du tout stupide - en effet, pour certains c est suffisant pour B P P N E X P , merci de l'avoir signalé. Les algorithmes de temps sous-exponentiels sont cependant nécessaires pour les autres conséquences. BPPNTIME(2nc)cBPPNEXP
Ryan Williams
Ryan: Si je voulais comprendre votre article, quel livre / articles sur la complexité des circuits recommandez-vous de connaître?
T ....
Salut Arul, heureusement, Bill Gasarch m'a posé cette question il y a quelque temps et a mis en place la page Web suivante de liens: cs.umd.edu/~gasarch/ryan/ryan.html
Ryan Williams
8

Cela dépend des hypothèses que vous êtes prêt à faire.

Dans certaines hypothèses de dureté, à savoir , on obtient que P = B P P . Cela implique notamment que B P P = Z P P , et donc que chaque langue L B P PESIZE(2εn)P=BPPBPP=ZPPLBPP est acceptée par une machine de Las Vegas (voir "P = BPP sauf si E a des circuits sous-exponentiels: dérandomisation du lemme XOR", par Impagliazzo et Wigderson).

Vous pouvez également faire une hypothèse de dureté plus douce, à savoir que , et obtenir que B P P = Z P P (voir le lemme 46 dans "A la recherche d'un témoin facile: Temps exponentiel vs temps polynomial probabiliste "par Impagliazzo, Kabanets et Wigderson).ZPEioDTIME(2εn)BPP=ZPP

Ou Meir
la source
4

À moins de progrès dans la dérandomisation, il me semble que l'exigence selon laquelle la machine de Las Vegas ne fait aucune erreur est cruciale, de sorte qu'il y a peu ou pas d'avantages à avoir un caractère aléatoire dans ce cas.

Pour un langage BPP décidé par un algorithme approprié A , qui agit sur les entrées x { 0 , 1 } n et une chaîne aléatoire r { 0 , 1 } N ( n ) représentant ses choix aléatoires, le critère d'erreur nulle implique que la machine de Las Vegas doit déterminer avec certitude lequel des deux cas Pr r ( A  accepte  ( x , r ) ) 2LAx{0,1}nr{0,1}N(n) prises. Si on ne nous donne pas plus d'informations surA, alors c'est essentiellement un problème de promesse d'oracle: étant donné un oracleAcalculantA(r)=A(x,r), et étant donné la promesse queAdonne une sortiea{0,1}pour au moins deux fois plus d'entrées que la sortie opposée1-a, déterminez quelle sortie est la plus courante.

Prr(A accepts (x,r))23orPrr(A accepts (x,r))13
AAA(r)=A(x,r)Aa{0,1}1a

Bien que la machine de Las Vegas puisse utiliser des techniques aléatoires, si nous sommes en effet obligés de traiter comme un oracle, nous pouvons voir que la seule stratégie disponible pour une machine de Las Vegas est de faire un examen relativement approfondi (mais non exhaustif) de la chaînes aléatoires r , pour voir quelle réponse est donnée pour chacun. Il ne peut être sûr que s'il trouve plus de 2 N ( n )Ar chaînes distinctes r qui donnent toutes la même sortie; sinon, avec une probabilité faible (mais non nulle!), il peut être malchanceux et obtenir un échantillon non représentatif des sorties possibles. Pour obtenir zéro erreur, il doit échantillonner au moins 2 N ( n )2N(n)/3r entrées r .2N(n)/3r

Parce que la machine de Las Vegas doit inspecter au moins une fraction constante de toutes les chaînes aléatoires possibles , asymptotiquement nous ne sommes pas mieux lotis que si nous testions de manière déterministe toutes les chaînes aléatoires possibles. Nous ne tirons aucun avantage asymptotique de la simulation aléatoire d'algorithmes BPP dans un paramètre sans erreur, au-delà de ce que nous pouvons faire de manière déterministe par force brute.r

Notez que ce même argument donne lieu à une séparation oracle entre BPP et ZPP , c'est -à- dire  qu'il existe un oracle tel que Z P P AB P P A car l' algorithme ZPP prend un temps exponentiel, tandis qu'un algorithme BPP peut résoudre la question de l'oracle en une seule requête et réussir avec une erreur bornée. Cependant, cela ne vous dit rien de plus que ce que vous soupçonniez déjà (que le surcoût de la simulation peut être pire que le polynôme) ni que les asymptotiques sont tout aussi mauvaises qu'une simulation déterministe naïve.A

ZPPABPPA
Niel de Beaudrap
la source
corrigez-moi si je me trompe: vous donnez un raisonnement intuitif pourquoi la dérandomisation semble impossible, mais nous savons que, selon certaines hypothèses raisonnables, BPP, ZPP et P sont tous la même chose. pour que l'intuition ne soit pas nécessairement bonne
Sasho Nikolov
1
Pas du tout. La dérandomisation serait probablement un aperçu de la façon de simuler le BPP par P , n'est-ce pas? Je viens de décrire comment, s'il veut des résultats inconditionnels qui n'exploitent pas la structure de l'algorithme lui-même, il peut aussi bien effectuer une simulation déterministe qu'une simulation aléatoire à zéro erreur. Ou y a-t-il un problème avec cette explication?
Niel de Beaudrap
1
Je pense que tout ce que vous dites est que la simulation de force brute naïve de BPP par ZPP n'est pas beaucoup plus rapide que la simulation de force brute naïve de BPP par P. mais je ne vois pas ce que cela est censé montrer. pour moi, c'est comme si quelqu'un demandait «quel est l'algorithme le plus rapide pour trouver une correspondance maximale» et obtenait une réponse «eh bien, à défaut de comprendre la structure des correspondances, c'est le temps exponentiel». la question est de savoir s'il existe un aperçu connu de la structure du BPP qui rend possible une simulation ZPP efficace
Sasho Nikolov
1
@SashoNikolov: Ce n'était pas vraiment censé être un aperçu profond. D'après le libellé de la question, il m'a semblé être limite pour migrer vers CS.SE. J'ai décidé d'y répondre littéralement, à savoir: à notre connaissance , le temps d'exécution attendu le plus efficace de Las Vegas Machine qui accepte un langage L∈BPP n'est pas beaucoup mieux qu'une machine déterministe qui explore les possibilités de la force brute. Les réponses qui disent qu'il pourrait y avoir une limite supérieure polynomiale si certaines conditions sont excellentes et instructives, et je les vote pour cela; mais je réponds à la vraie question.
Niel de Beaudrap
1
Je pense que c'est une bonne réponse (également plus lisible maintenant après l'édition). Nous n'avons pas de résultat conditionnel comme "P = ZPP implique P = BPP" ou "ZPP = BPP implique P = BPP", il est donc toujours possible de simuler BPP par des algorithmes ZP plus rapidement qu'avec des algorithmes déterministes. Cependant, le résultat de la relativisation semble impliquer que cela ne peut se produire par aucune simulation de relativisation, est-ce que je comprends bien?
Kaveh