私は、量子コンピューターがどのように機能するのか、実用化された場合に何に役立つのかに興味を持っていた時期がありました。私は彼らが暗号解読のために話されていることを知っています. 私が興味を持っていたのは、本質的にすべての可能な入力を (並行して) 試し、エラー状態に到達するかどうかを確認することによって、ソフトウェアを検証するためにそれらを使用することです。
少し漠然とした質問であることは承知していますが、他の人が量子コンピューターに興味を持っているかどうか、それらがどのように機能するか、そしてそれらが何に役立つかは疑問です.
追加: ちょっとした楽しみのために、ミニチュートリアルを投げさせてください:
遊ぶための N ビットのメモリがあるとします。これらのビット (またはそれらの一部) に入力データをロードできるとします。次に、(追加のメモリを使用せずに)それらに対して実行できる有限の操作シーケンスがあり、それらに答えを残すとします。
量子コンピューターでこれを行うには、取った分岐を記録するために一部のビットを予約して、それらを元に戻すことができるようにすることで、計算全体が可逆であることを確認するだけで済みます。これを行うと、すべての操作を N ビットの単純なユニタリ行列変換として記述できます。(ユニタリ変換は、N 次元座標系での純粋な回転です。) したがって、計算の実行は、ビット ベクトルに一連の純粋な回転を適用することで構成されます。
これを行うと、N ビットのベクトルが量子コンピューターにある場合、2^N (またはそれ以下) の可能なすべての入力が「並列宇宙」で同時に重ねられる状態に初期化できます。次に、計算を行うと、それらすべてが同時に実行されます。
入力の 1 つが特定の答えを返すかどうかを確認するために必要なことは、特定の状態になるまで実行させることだけです。停止して状態を調べると、宇宙の 1 つをランダムに選択し、残りをすべて破棄します。したがって、Grover アルゴリズムでできることは、それを止めることなく、答えの状態を持つ宇宙の確率を強調することです。次に、答えの宇宙が非常に高い確率になるまで、何度も繰り返し実行します。それを調べてみると、あなたが望む答えが見つかる可能性が高いです。
ふぅ…