オラクルとは正確には何ですか?


18

神託」とは正確には何ですか?ウィキペディアは、神託は「ブラックボックス」であると言っていますが、それが何を意味するのか分かりません。

たとえば、Deutsch–Jozsaアルゴリズムでは

オラクルはというラベルの付いたボックスだけですかそれとも測定と入力(アダマールゲートを含む)の間のすべてですか?Uf",

そして、Oracleを与えるために、私が書く必要があるんマトリクス状または凝縮形で:U_fができます\ RIGHTARROW Y \ oplus f(x)がyとし、X \ RIGHTARROW Xオラクルの定義に関しては十分でしょうか?UfUfyyf(x)xx


マイクロソフトには、量子オラクルに関する素晴らしいドキュメントがあります。
Sanchayan Dutta

回答:


22

オラクル(少なくともこのコンテキストでは)は、あなたが知らないいくつかのプロパティを持ち、見つけようとしている単純な操作です。「ブラックボックス」という用語は、内部では見えない単なるボックスであり、それが何をしているのかわからないという考えを伝えるために同等に使用されます。知っているのは、入力を提供し、出力を受信できることだけです。描く回路図では、それは単なるボックスです。その他はすべて、Oracleに問い合わせてそのプロパティを検出するために追加するものです。Uf

オラクルを与えるために、可能なすべての入力から出力へのマップを定義する有効な形式でそれを書くことができます。これは行列(おそらく未知のパラメーターを使用)、またはマップ(厳密には、)、どちらかの説明が与えられているので、もう一方を解決できます。U:(x,y)(x,yf(x))x,y{0,1}


最後の文で厳密にあなたが意味したことを明確にできますか?
アリトラダス

@tparkerは実際にはそうではありません-そのようなoracleフォームの目的は、多くの場合、アルゴリズムの説明だけでなく、アルゴリズムの最適化を可能にすることです。これは、オラクルの使用回数のカウントとして単純に測定されます。オラクルの実行にかかる時間は問題ではありません。グローバーの場合、古典的な呼び出しの数の平方根が必要です。
DaftWullie

あなたが正しい; 私のコメントは不十分な表現でした。私が言いたいのは、Oracleの結果に「実世界」ランタイムへの洞察を与えたい場合、(ブラックボックスの仮定に加えて)実際に実装するために実行しているサブルーチンを仮定する必要があるということです。 Oracle呼び出しはアルゴリズムのランタイムを支配するため、Oracle呼び出しの数は実際のランタイムに実際に比例します。しかし、それは「現実世界」の関連性に対する追加の仮定であり、神託の定義の必要な部分ではありません。
tparker
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.