並列プロセスを実行してGroverのアルゴリズムを高速化できますか?


10

従来のコンピューティングでは、並列計算ノードをできるだけ多く実行することで、キー検索(AESなど)を実行できます。

多くのGroverのアルゴリズムも実行できることは明らかです。

私の質問です。従来のコンピューティングのように複数のGroverのアルゴリズムを使用して速度を上げることは可能ですか?

回答:


6

もちろん!あなたが持っている想像検索オラクルのコピーあなたが使用できることを。通常、アクション 初期状態から開始。これには時間がかかります。(私はを使用して単位行列を示しています。)K=2kUS

Hn(In2|00|n)HnUS,
(H|0)nΘ(N)In2n×2n

を使用 して、これをによってインデックスが付けられた並列コピーで置き換えることができます および状態から開始 これらの実行に必要な時間は、ただし倍のスペースが必要になります。2kx{0,1}k

(IkH(nk))Ik(Ink2|00|(nk))(IkH(nk))US
|x(H|0)(nk)O(N/K)K

スケーリングの意味では、これは無関係な結果であると考えるかもしれません。Oracleの固定数がある場合、固定()の改善が得られます(並列の古典的なコアがある場合と同様に、得られる最高の改善は因数です)。スケーリングは変わりません。しかし、それは基本的な実行時間を変更します。Groverのアルゴリズムが最適であることがわかります。単一のオラクルで可能な最小時間は絶対にかかります。したがって、時間の改善が得られることを知ることは、特定の値での特定の実行時間のベンチマークに関して有用です。KKKKKN


でもこうするとクラシカルな演奏と比べると意味がなくなってしまいますね。結局のところ、特定のがすべての入力に対して並列にターゲットであるかどうかをチェックする操作を実行することにより、従来の検索を高速化することもできます。これには明らかに、利用可能なリソースに関する追加の仮定が必要ですが、議論で行われたのと同じ種類の仮定x
glS

1
KNは無限大に行きますが、は行きません。あなたの問題はより大きくなりますが、あなたのリソースはほとんど残っていません。K
AHusain

1
この答えは正しいです(ただし、DaftWullieが警告しているため、最適ではない可能性があります)。これは、古典的な回路の複雑さを取り入れた場合と同じ、並列化に対する態度です。並列化による高速化が必要な場合は、回路の深さに注目します(複数のプロセスを調整しても全体の作業が減らないためです)。が定数であるかどうかは関係ありません-並列化による深さの改善に関心があるか、そうでないかです。量子計算自体と同様に、問題により多くのコンピューターを投入するだけでは、魔法のようにすべてが高速になるわけではありません。K
Niel de Beaudrap

3

ある意味で、異なるノードで並行して実行すると、実行時間を節約できます。しかし、複雑さ(一般的にスピードアップと呼んでいるもの)について話す場合、少し分析が必要です。

非並列の場合には約演算が必要であることに同意します。2つのノードがあり、N要素のリストをサイズ 2つのリストに分割するとします。サブリストの検索には約かかります。NN1,N2N1,N2

ただし、

N=N1+N2N1+N2

また、並列プロセスによって返される出力のうち、どの出力が目的のものかを確認する必要があります。複雑さを一定にするため、通常は表記に隠します。O

ただし、キュービットの数やその他の制限に制限があるため、ハードウェアをクラスター化する必要がある場合は特に興味深いでしょう。


2
N1 = N2の場合は、依然として不等式です
。sqrt

確かに。私の頭の中では$ \ sqrt {a b} = \ sqrt {a} \ sqrt {b} $と思いました。真夜中と疲れたとき、私はここで答えに答えるのをやめるべきです。ご指摘いただきありがとうございます。
cnada 2018年

3
@cnada:少なくとも2つの異なる複雑さの概念があり、どちらも高速化に関連しています。1つはサイズの複雑さ、もう1つは奥行きの複雑さです。特に指定されていない限り、サイズの複雑さを考慮することがよくありますが、深さの複雑さは、量子計算の複雑さ、たとえばMBQC [arXiv:quant-ph / 0301052arXiv:0704.1736 ]と最近の結果に非常に関心があるものです無条件の深さ分離[arXiv:1704.00690 ]。
Niel de Beaudrap、2018年

@NieldeBeaudrap私は人々が深さの複雑さをもっと見ると思った。ただし、グローバーの場合、サイズと深度の複雑さはほぼ同じです。これは問題のサイズが2次式です(通常、N要素のリストのサイズと見なされます)。ここでの私のアプローチは正しくないと思いますか?
cnada 2018年

2
間違っていることは何も言っていません。サイズの複雑さを過度に強調していて、深さの複雑さへのメリットを実際には考えていないことを指摘しているだけです。並列Groverプロセスのみを実行する場合、それほど興味深いことは起こりませんが、DaftWullieの回答が示唆するように(そして古典的な後処理を考慮すると)、深さの複雑さはからのためのの因子によって改善されたパラレルグローバープロセス、(ログ因子プロセスが解決策を見つけたかどうかを特定することから来ます)。kO(1) logkN KNΩ1log(k)N/kk(N)Ω(1)k/log(k)
Niel de Beaudrap、2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.