Orlpは、スペースのO (n log n )ビットであるスペースのワードを使用してソリューションを提供します(簡略化のためにn = mと仮定)。逆に、問題のセットのばらばらさを減らすことにより、Ω (n )ビットのスペースが必要であることを示すのは簡単です。O(n)O(nlogn)n=mΩ(n)
アリスがバイナリベクトルを保持し、ボブがバイナリベクトルy 1、… 、y nを保持し、x i = y i = 1のようなインデックスiが存在するかどうかを知りたいとします。彼らはあなたのためのアルゴリズムを実行2 × (2 のn - 1 )行ある行列のx 1、0 、xは2を、0 、... 、x1,…,xny1,…,ynixi=yi=12×(2n−1)と Y 1、0 、Y 2、0 、... 、0 、Y N。最初の行が読み取られた後、アリスはボブ ∑ i x iとメモリの内容を送信するため、ボブはアルゴリズムを完了し、 ∑ i(x i + y i)を接続されているコンポーネントの数と比較できます。2つの数値が一致する場合、2つのベクトルは互いに素であり(インデックス iはありません)、その逆も同様です。set disjointnessニーズのプロトコルはx1,0,x2,0,…,0,xny1,0,y2,0,…,0,yn∑ixi∑i(xi+yi)iビット(一定の確率でエラーが発生する可能性がある場合でも)は、 Ω (n )の下限を推定します。Ω(n)Ω(n)
O(n)O(logn)O(n)