決定論的な疑似ランダム性は、並列性のランダム性よりもおそらく強力ですか?


10

クラスBPNC(N Cの組み合わせ)を、有限のエラー確率とランダムソースへのアクセスを備えたログ深度並列アルゴリズムとします(これが別の名前であるかどうかはわかりません)。同様にクラスDBPNCを定義します。ただし、すべてのプロセスは、アルゴリズムの起動時に固定されたランダムなビットストリームにランダムにアクセスできます。BPPNC

言い換えると、BPNCの各プロセスは個別のランダムソースにアクセスでき、DBPNCアルゴリズムは完全にランダムなカウンターモードジェネレーターを共有しています。

BPNC = DBPNCかどうかはわかりますか?


誰も答えを知らない場合、これらの複雑性クラスのいずれかに既存の名前があるかどうか誰かが知っていますか?
ジェフリーアーヴィング

回答:


4

それらは同じです:BPNC = DBPNC。

BPNCマシンが、シミュレーションするDBPNCプログラムの入力として与えられているとします。ロックステップでプログラムを実行します。最初に、異なるステップ間のインデックスが異なると仮定します。これにより、古いランダムビットを覚えておく必要がなくなります。各ステップで、各プロセッサは、共有ストリームへの特定のインデックスでランダムビットを要求します。次のようにランダムビットを計算して配布します。

  1. プロセッサ間でインデックスを並べ替え、各ビットの起源を覚えておいてください。
  2. 同一のインデックスの範囲を計算するために、隣接するプロセッサ間で調整します。
  3. ソート後、それを所有する最初のプロセッサで各ランダムビットを計算します。
  4. 同じ範囲全体に散らばります。
  5. オリジンプロセスに送り返します(必要に応じて、ソートアルゴリズムを逆にすることにより)。

プロセッサが古いインデックスを要求できるようにするには、各プロセッサに以前のすべてのソートエポックの(結果)を記憶させます。新しくリクエストされたインデックスが特定の以前のエポックで発生したかどうかを確認するには、次のようにします。

  1. 新しいインデックスを並べ替えます。
  2. 新旧のインデックスのリストをマージします(たとえば、Cole 1988を使用)。
  3. 適切に散らしてください。

おっと、最後のステップは少し欠陥があります。(うまくいけば)まもなく修正されます。
ジェフリーアーヴィング

今すぐ修正する必要があります。
ジェフリーアーヴィング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.