Die Klasse BPNC (die Kombination von und N C ) sei ein logarithmischer paralleler Algorithmus mit begrenzter Fehlerwahrscheinlichkeit und Zugriff auf eine zufällige Quelle (ich bin mir nicht sicher, ob dieser einen anderen Namen hat). Definieren Sie die Klasse DBPNC auf ähnliche Weise, mit der Ausnahme, dass alle Prozesse zufälligen Zugriff auf einen zufälligen Bitstrom haben, der beim Start des Algorithmus festgelegt wurde.
Mit anderen Worten, jeder Prozess in BPNC hat Zugriff auf eine bestimmte Zufallsquelle, während DBPNC-Algorithmen einen gemeinsamen perfekt zufälligen Zählermodusgenerator haben.
Wissen wir, ob BPNC = DBPNC?
cc.complexity-theory
complexity-classes
dc.parallel-comp
randomness
pseudorandomness
Geoffrey Irving
quelle
quelle
Antworten:
Sie sind gleich: BPNC = DBPNC.
Angenommen, eine BPNC-Maschine erhält als Eingabe ein zu simulierendes DBPNC-Programm. Führen Sie das Programm im Sperrschritt aus. Nehmen Sie zunächst an, dass die Indizes zwischen verschiedenen Schritten unterschiedlich sind, damit wir uns nicht an alte Zufallsbits erinnern müssen. Bei jedem Schritt fordert jeder Prozessor ein zufälliges Bit an einem bestimmten Index in den gemeinsam genutzten Stream an. Berechnen und verteilen Sie die Zufallsbits wie folgt:
Damit Prozessoren nach alten Indizes fragen können, muss sich jeder Prozessor die (Ergebnisse) aller vorherigen Sortierepochen merken. Um zu überprüfen, ob neu angeforderte Indizes in einer bestimmten vorherigen Epoche aufgetreten sind, gehen Sie wie folgt vor
quelle