La pseudo-aléatoire déterministe est-elle probablement plus forte que le hasard en parallèle?

10

Laissez la classe BPNC (la combinaison de et N C ) être des algorithmes parallèles de profondeur de journal avec une probabilité d'erreur bornée et un accès à une source aléatoire (je ne suis pas sûr que cela ait un nom différent). Définissez la classe DBPNC de la même manière, sauf que tous les processus ont un accès aléatoire dans un flux aléatoire de bits fixé au démarrage de l'algorithme.BPPNC

En d'autres termes, chaque processus dans BPNC a accès à une source aléatoire distincte, tandis que les algorithmes DBPNC ont un générateur de mode compteur parfaitement aléatoire partagé.

Savons-nous si BPNC = DBPNC?

Geoffrey Irving
la source
Si personne ne connaît la réponse, quelqu'un sait-il s'il existe des noms pour l'une ou l'autre de ces classes de complexité?
Geoffrey Irving le

Réponses:

4

Ce sont les mêmes: BPNC = DBPNC.

Disons qu'une machine BPNC est donnée en entrée d'un programme DBPNC à simuler. Exécutez le programme en étape de verrouillage. Supposons d'abord que les indices entre les différentes étapes sont distincts, de sorte que nous n'avons pas besoin de nous souvenir des anciens bits aléatoires. À chaque étape, chaque processeur demande un bit aléatoire à un index spécifique dans le flux partagé. Calculez et distribuez les bits aléatoires comme suit:

  1. Triez les index parmi les processeurs et souvenez-vous de l'origine de chaque bit.
  2. Coordonnez-vous entre les processeurs adjacents pour calculer les plages d'indices identiques.
  3. Calculez chaque bit aléatoire sur le premier processeur qui le possède après le tri.
  4. Répartissez dans les plages identiques.
  5. Renvoyer au processus d'origine (si nécessaire en inversant l'algorithme de tri).

Pour permettre aux processeurs de demander d'anciens indices, demandez à chaque processeur de se souvenir des (résultats) de toutes les époques de tri précédentes. Pour vérifier si de nouveaux indices demandés se sont produits à une époque antérieure donnée,

  1. Triez les nouveaux indices.
  2. Fusionnez les listes des anciens et des nouveaux indices (par exemple, avec Cole 1988 ).
  3. Dispersez de manière appropriée.
Geoffrey Irving
la source
Oups, la dernière étape est un peu défectueuse. Will (espérons-le) corrigera sous peu.
Geoffrey Irving
Devrait être corrigé maintenant.
Geoffrey Irving