データベース検索のためのグローバーアルゴリズム:量子の利点はどこにあるのか?


8

従来の検索の代わりに、N個の値を持つ任意の順序付けられていないデータベースD(key、value)を検索するためにGroverアルゴリズムを使用する利点が何であるかを理解しようとしています。

oracle関数は関数f(key)= yであると想定しました。ここで、yは従来のデータベースの対応する値のインデックスです。

私の問題は神託に関連しています。キーがoracleで指定されているため、データベースで実行される検索ごとにoracle回路を変更する必要があります。これは、単純化のために無視できる操作であると仮定しましょう。

オラクル回路を古典的に計算する必要があるとすると、関数f(key)= yのように動作する回路を作成する必要があります。この関数は、少なくともO(N)ステップで取得されます(一部の特別な場合を除く)。オラクル関数回路は、データベースエントリが変更/追加/削除されるたびに、O(N)のコストで再計算する必要があります。

など、多くの論文初心者のための量子アルゴリズムの実装マッチングのための量子アルゴリズムとネットワークフローのすべての神託を考慮していないように見えます。

実際の利点を得るために量子データベースを検討する必要があるかどうかはわかりません(これと量子結果の信頼性の低さは、私に非常に良い考えではないと確信していますが、単なる推測です)。

では、オラクルを構築するための複雑さはどこにあると考えられますか?私は何かを誤解しましたか?

「オラクル関数回路は、O(N)のコストで、データベースエントリが変更/追加/削除されるたびに再計算する必要がある」という誤った仮定はありますか?


なぜ「データベースエントリが変更/追加/削除されるたびにオラクル関数回路を再計算する必要がある」と言うのですか?oracle関数は、指定されたキーが探しているものであるかどうかをチェックする従来の回路の可逆バージョンである必要があります。キーの数(つまり、データベース内の要素)を変更しても、通常の検索で使用する従来の関数を変更する必要がないように、オラクルの構造を変更する必要はありません
glS

さて、問題は「古典的な回路の可逆バージョンである必要があるだけ」です。もしそれが古典的なアルゴリズムと量子アルゴリズムの間の些細な1:1の対応であったならば、古典的なプログラミング言語から量子回路までのある種のコンパイラがあるでしょう。「現状のまま」の従来のアルゴリズムから量子アルゴリズムへの変換は、ほとんどの操作がほとんどスケーリングしないため(nCNOT実装を参照)、常に私には悪い考えのように思われました。
Moreno G

量子回路では、物理的な古典的データベースにアクセスできません。「量子コンピュータ」システムは、以下と相互作用します。-(通常)古典的なプログラムによって入力として与えられる回路スキームの記述。-出力としての実行の結果。実行中、他の外部リソースへのアクセスはありません(これが設計によるのか、実際のテクノロジーの制限によるのかはわかりません)。したがって、オラクルはデータベースとキーの両方を記述していることを知っているため、変更する必要があります。そして、これはしばしば取るに足らない操作です
Moreno G

回答:


2

順不同のデータベースを検索する際に、回路に神託をコードする必要があるため、グローバーのアルゴリズムは、優位性を持っていないΩ~(n)の操作を。これは、引数を数える簡単な回路で証明できます。回路のサイズが O(n0.99)場合、個別のオラクルよりも個別の回路の数は少なくなります。実際の運用上の複雑さそうですΩ~(n1.5)クエリの複雑さがあるにもかかわらず、O(n0.5)

Groverのアルゴリズムは、SATの問題に対する考えられる解決策のように、検索するものが抽象的である場合にのみ利点があります。


あなたの言っていることがよくわかりません。「個別のオラクルより少ない個別の回路」とはどういう意味ですか?指定された入力が探しているものかどうかをチェックする関数をエンコードするオラクルは1つだけです。また、私があなたを理解している場合、古典的なデータベースを量子状態にロードするプロセスをコストの一部として数えていますか?また、はデータベース内の要素の数です。オラクルの構築にnでスケーリングする多数の操作が必要なのはなぜですか?n個の要素は、動作する必要があるO log 2 n キュービットに対応する必要がありますnnnO(log2n)
glS

2w2nnwnO(1)W(nO(1))M=2(2n)nワンホットなオラクルは、カウントすることを避け、量子回路を構築する一環として古典的なデータを反復する必要があります。哲学的に言えば、このように大きく異なるコンピューティングタイプを比較するとき、RAMモデルの使用に反対していると思います。
Craig Gidney、

ww2wwnwMW

要約すると、私が言おうとしていることは、この答えを拡張できれば素晴らしいことです。ここには役立つ情報があるようです。この種の議論はどこかからですか?これまでに見たことがない
glS '10 / 10/19

w2wwww

6

グローバーの検索でそれを使用するオラクルを構築する複雑さを認識するのは正しいことです。それは確かに問題を解決するのが難しい部分であり、実際、多くのソースはこの複雑さを考慮していません。

私はオラクルを答えを見つけるのではなく、認識するためのツールとして考えたいと思います。たとえば、SAT問題を解決しようとしている場合、Oracle回路は、解決しようとしている問題の特定のインスタンスのブール式をエンコードします。この場合の回路サイズは、式のサイズに依存し、サーチスペースのサイズには依存しません。私のチュートリアル SAT問題のインスタンスにOracleを実装する例を見つけることができます。

データベース検索にGroverのアルゴリズムを使用する場合、Oracleは検索する条件をエンコードする必要がありますが、要素がデータベース内にあるかどうかの基準もエンコードする必要があります。たとえば、Aで始まる名前を探している場合、OracleはAで始まるすべての文字列を認識する必要がありますが、データベースに存在する文字列も認識する必要があります。それ以外の場合、アルゴリズムはランダムな文字列を生成します。 Aで始まります。これは、おそらく探していたものではありません。(式を満たす変数の割り当てはすべて有効な変数の割り当てであるため、これはSAT問題の例の問題ではありませんでした。)

構造化されていないデータベースを検索するためにGroverの検索を使用する良い例は知りません-私の理解する限り、このアルゴリズムは何らかの構造を持つ検索に適しています。彼らの多くはオラクルの実装を検討するので、このサイトでグローバーに関する他の質問をチェックする価値があります。


私はオラクルを構築するための優れた一般的な方法の存在にいくつかの疑問があります。実際、データベースの検索にgroverアルゴリズムを使用することは、不適切なアプリケーションのようです。私はSAT解決アプリケーションについて完全に同意します。これは、Groverアルゴリズムで可能なこととはるかによく適合します。
Moreno G

5

問題はあなたの最初の仮定にあります:Groverのオラクルは関数f(value)= 0/1に基づいています。ここで、1は値が検索条件を満たすことを示し、0は満たさないことを示します。つまり、異なるデータベースごとにではなく、異なる検索ごとに新しいOracleを構築する必要があります。

とはいえ、グローバーのアルゴリズムと量子データベースは、従来のデータベースルックアップメソッドの優れた代替にはなりません。このコンテキストでのグローバーのアルゴリズムの実用性については、このペーパーを参照してください。

グローバーのアルゴリズムは、他の多くの量子アルゴリズムのコンポーネントとして現れる振幅増幅に一般化されると、実用的なアプリケーションになります。振幅増幅は、確率論的量子アルゴリズムの成功の可能性を改善する方法です。


「Groverのアルゴリズムは原則として要件2を満たしますが、oracle-function p(x)の小さな回路の実装が存在しないか、無理が必要なため、多くの場合、ログスケールでかなりのマージンを確保することは困難です。見つける努力。」これは私が思いついたのとほぼ同じ予想です。私が知りたいのは、データベース検索がGroverアルゴリズムの不適切なアプリケーションかどうかです。ここで言われたことの正式な証拠はありますか?
Moreno G

また、それは完全に真実ではありません。この実装は結果を提供します(複数の要素がマークされている場合に役立つ可能性があります)
Moreno G

1

Groverのアルゴリズムは(量子)回路SATソルバーです。それは文字通りのブラックボックスソルバーでもあると思いますが、もつれた入力状態をデコヒーリングしないブラックボックスでのみ機能し、そのようなものが存在するとは信じられません。

Groverや他の誰かがこれをデータベース検索アルゴリズムと呼んだ理由はわかりません。もちろん、セットメンバーシップテストを実装する回路にいくつかの入力を調べているキーにハードワイヤードし、残りを出力値を表すようにして、データベース検索と呼ぶことができます。しかし、従来のSATソルバーでも同じことができ、私の知る限り、それらをデータベース検索アルゴリズムと呼ぶ人はいません。また、グローバー(または従来のSATソルバー)がこの種の問題に対して競争力を持つためには、「データベース」が根本的に索引付けできない必要があります。つまり、データベースが大きすぎて索引付けできません。私の意見では、データベースではありません(データではありません)。

特定の機能を実装する効率的な回路を見つけることは重要で興味深い問題ですが、それは信じられないほど広範です。コンピュータサイエンスと呼ばれるものの多くが含まれています。他のコンテキストでは等しく適用されないGroverのアルゴリズムのコンテキストでは、それについて何が言えるかわかりません。Groverのアルゴリズムは、最適化された回路を見つけて、√N回程度評価するだけです。回路は可逆である必要があり、通常の古典的な回路とは多少異なりますが、それでもGroverとは直接関係はありません。

要約すると、人々はオラクル回路を見つけることについて話をしないと思います。なぜなら、それは実際には量子アルゴリズムに関連していないためです(グローバーの論文のタイトルは関係ありません)。 。

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