Groverの検索アルゴリズムにはどのようなアプリケーションがありますか?


14

Groverの検索アルゴリズムは、通常、ソートされていないデータベースでマークされたエントリを見つけるという観点から語られています。これは、NP問題の解決策の検索に直接適用できる自然な形式です(適切な解決策が容易に認識される場合)。

Groverの一連の数値の最小値、平均値、および中央値を見つけるための検索の他のアプリケーションについて知りたいと思いました。それで、Groverの検索の他のあまり知られていないアプリケーション(または振幅増幅などの一般化のアプリケーション)が既に知られているかどうか疑問に思うでしょうか?これがどのように行われるかについての簡単な洞察はありがたいです。

回答:


7

あなたが言及したものとは別に、私が知っている(修正された)グローバーのアルゴリズムの別のアプリケーションは、複雑性理論、量子コンピューティング、および計算数学衝突問題を解くことです。BHTアルゴリズムとも呼ばれます

はじめに

衝突の問題は、ほとんどの場合、スコットアーロンソンが博士論文で説明した2対1のバージョンを指します。ことを考えると偶数であり、関数我々は、いずれかのことを事前に知っている 1対1又は2であります-1。任意のの値についてのみクエリを実行できます。問題は、が1対1か2対1 かを確実に判断するために必要なクエリの数を尋ねます。F { 1 N } { 1 N } F F I I { 1 2 n } fnf:{1,...,n}{1,...,n}ff(i)i{1,2,...,n}f

2対1のバージョンを決定的に解決するには、クエリが必要であり、一般にr対1関数と1対1関数を区別するにはクエリが必要です。n / r + 1n/2+1n/r+1

決定論的古典的解法

これは、鳩の巣の原理の単純なアプリケーションです。関数がr対1の場合、クエリの後、衝突が検出されることが保証されます。関数が1対1の場合、衝突は発生しません。運が悪ければ、クエリは明確な答えを返す可能性があります。したがって、クエリが必要です。n / r n / r + 1n/r+1n/rn/r+1

ランダム化された古典的解法

ランダム性を許可すると、問題はより簡単になります。誕生日のパラドックスでは、ランダムに(別個の)クエリを選択すると、クエリの後に固定2対1関数で衝突が見つかる可能性が高くなります 。Θ(n)

量子BHTソリューション

直感的に、このアルゴリズムは、 (古典的な)ランダム性を使用した誕生日の逆説からの平方根高速化と、グローバーの(量子)アルゴリズムからの平方根高速化を組み合わせ ます。

最初に、への入力がランダムに選択され、それらすべてでがクエリされます。これらの入力間に衝突がある場合、衝突する入力のペアを返します。それ以外の場合、これらの入力はすべてによって異なる値にマッピングされます。次に、グローバーのアルゴリズムを使用して、衝突するへの新しい入力を見つけます。へのそのような入力はしかないため 、Groverのアルゴリズムは、 へのクエリ。n1/3ffffn2/3fO(n2/3)=O(n1/3)f

ソース:

  1. https://en.wikipedia.org/wiki/Collision_problem

  2. https://en.wikipedia.org/wiki/BHT_algorithm

  3. 衝突問題の量子アルゴリズム-Gilles Brassard、Peter Hoyer、Alain Tapp


BHTソリューションのいくつかのコメント(私は非常に啓発Wikipediaの記事を見つけられませんでした):まず、選択のテストへの入力をFランダムに。衝突しないと仮定します。これらの値xf x に従ってソートします。場合今、F xは 2対1であり、存在するN 1 / 3の値は、xは、既に試験されるものと衝突することがテストされていません。そのため、「まだテストされておらず衝突しない」をチェックする関数を定義します。これにより、マークされたエントリが定義されます。衝突は、値のソートされたリストf xn1/3fxf(x)f(x)n1/3x。マークされたエントリの正確な数(2対1の場合)を知っていれば、Groverの(ほぼ)ソリューションが保証されます。f(x)
-DaftWullie

@DaftWullieはい、確かに理にかなっています。Groverのアルゴリズムはソリューションを保証するものではありませんが、正しいソリューションを提供する可能性が高くなります。しかし、それはウィキペディアの説明自体からは明らかではありませんか?あなたの主張や異議を理解しているかどうかはわかりません。何か不足していますか?
Sanchayan Duttaさん

私に言えることは、それはには明らかではなかったということです。最初に読んだとき、私は(誤って)Groverの場合、可能なすべての状態の重ね合わせを準備するのではなく、まだテストされていない状態の重ね合わせのみを準備したことを理解しました。しかし、それはスピードアップが説明された方法にとって重要であると思われました。また、私は当初、どのように衝突がチェックされているのか、どのペアが衝突をチェックされていたのか、どのくらい効率的に衝突を計算できるのか、心配でした
-DaftWullie

@DaftWullieああ、わかりました。私はあなたのポイントを得る。ウィキペディアでは、アルゴリズムの詳細については触れていません。詳細については、元の論文(arxiv.org/abs/quant-ph/9705002)をいつでも参照できます(既に行っていると思います)。後で、この回答を拡張して、すべての詳細を含めます。私はまだ論文を読んでいます。
Sanchayan Dutta

1
量子ビットと量子ゲートがビットや古典的なゲートよりも信じられないほど安価であることが判明しない限り、BHTの議論には、コストがvan Oorschot-Wienerマシンによる最先端の古典的な衝突探索を超えるという注意を含める必要があります。詳細については、cr.yp.to / papers.html #collisioncostまたはblog.cr.yp.to/20171017-collisions.htmlを参照してください。(後者は、従来の衝突検索よりも費用対効果が高いと主張するBHTの改善の申し立てに対する応答です。)
Squeamish Ossifrage

4

Groverのアルゴリズムは、量子暗号でも広く使用されています。超越対数問題、多項式根発見問題などの問題を解決するために使用できます。


少し詳しく説明していただけますか?これらの問題は何ですか?それらについてどこでもっと読むことができますか?
DaftWullie

1
ieeexplore.ieee.org/document/7016940これは、多項式の根を見つける問題を解くための量子アルゴリズムを開発しようとするIEEEの論文です。詳細については、
こちらをご覧ください-da281

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.