量子テレポーテーション
多段テレポーテーション
量子テレポーテーションを複数回行う
前回紹介した量子テレポーテーションを繰り返せば、直感的にはどんなに離れた人同士でも通信できそうです。 たとえばボブとアリス、それにキャロルが次の状況にあるとします。
$$ボブ \longleftarrow\longrightarrow アリス \longleftarrow\longrightarrow キャロル$$
ここで \(\longleftarrow\longrightarrow\) はもつれた量子ビットを 1 つずつ持つことを意味します。 つまり、ボブとアリスはもつれた量子ビットを 1 つずつ共有しており、またアリスとキャロルは別のもつれた量子ビットを 1 つずつ共有しています。
この場合に、ボブからアリス、アリスからキャロルへと量子テレポーテーションを 2 回行うことで、ボブの量子ビットをアリス経由でキャロルへ送ることができます。
ポイントは、テレポーテーション 1 回につき 1 つの量子もつれが必要なことです。 それぞれの量子テレポーテーションでは、もつれた量子ビットの測定によって古典ビット 2 つを取り出します。 測定した量子もつれは破壊されるので、再利用することはできません。 これは以前紹介した超密度符号化でも同様で、量子もつれ 1 つを消費することで古典ビット 2 つを取り出すことができました。
このように、量子プログラミングでは量子もつれをある種のリソースとして取り扱います。 リソースは量子計算を進めるのに必要な「燃料」とも言えるもので、量子テレポーテーションや超密度符号化をするたびに消費されます。 リソースがなくなると計算できないので、量子アルゴリズムには「必要な量子もつれを作る」というステップが必ず存在します。