量子を使った技術には不思議がいっぱいです。
その不思議をうまく使うと、
今まで出来ないと思われていたことが、
できるようになったりします。
例えば、1ビットを送信するだけで、
2ビットの情報を送るというものです。
これは超稠密符号と呼ばれています。
情報が普通ではありえない位詰め込まれているというニュアンスでしょうか。
この記事では、超稠密符号について、
ごく簡単に説明します。
通常の通信
量子の通信の話に入る前に、
通常の通信について、
少し触れておきます。
通信の方式はいくつかありますが、
デジタル通信の最も単純な形を考えると、
0か1の情報を送り合うことになります。
この0か1の情報という一つの情報の単位を1ビットと呼び、
これを何回も繰り返して送ることで、
沢山の情報をおくることができます。
例えば、天気の情報を送るとき、
0は晴れ、1は雨のように決めておくと、
1ビットで雨が降ったかどうかを送れます。
これだけだと、情報が少なすぎるように思えます。
そこで、2ビットの情報を使ってみましょう。
2ビットでは、00, 01, 10, 11 の4通りを区別することができて、
00 は晴れ、01はくもり、10は雨、11は雪
のように決めておけば、1ビットよりも多くの情報を送ることができます。
この1ビットの情報は、光のオンオフや、
電気のオンオフのように、
2つの状態が区別できるものに変換して送られます。
この情報の運び手のことをキャリアと言い、
1つのキャリアが1ビットの情報を運びます。
超稠密符号
ところが、量子をキャリアにすると、
1つの量子で2ビットの情報を運ぶことができます。
これが超稠密符号です。
ここからは、超稠密符号での主役である
量子ビットがどのようなものか、
そして、それを使ってどのように、
超稠密符号が実現されるのかを見ていきましょう。
量子ビット
2つの区別できる量子の状態を
|0>, |1> と書くことにします。
この0か1の情報が1ビット分の情報を与えてくれます。
量子にはいくつかの不思議な性質がありますが、
超稠密符号で活躍する性質は、次の二つです。
- 重ね合わせ
- 量子もつれ
そこで、これらの性質について、簡単に見ておきましょう。
重ね合わせ
量子の不思議な性質として、
重ね合わせの性質があり、
0と1が重なりあったような状態もあり得ます。
この時、どちらなのかは、観測してみると、
30%で0、70%で1のように、
確率的にどちらであるかが得られます。
とても不思議な性質なので分かりにくいところですが、
重ね合わせの状態は、|0>や|1>のどちらかではなく、
観測値の確率が決まった、全く新しい状態
と思っておくと、誤解が少ないと思います。
超稠密符号では、100%の観測をしますが、
この重ね合わせも一つの鍵になってきます。
量子もつれ
量子の不思議な性質として、
量子もつれという性質があります。
これは、別の二つの量子の間で起こる現象で、
離れ離れの二つの量子の間にある関係性が保たれることを指します。
より具体的には、量子ビットが二つある時に、
片方を観測すると、もう片方の観測結果が決まるという関係あることを、
量子もつれ状態と呼びます。
例えば、それぞれが重ね合わせ状態にある、二つの量子ビットがあったとします。
片方を観測する分には、0と1が50%で得られますが、
一旦、片方の観測が終わると、もう片方の観測値は、
必ず、観測された量子ビットと同じ値になるような状況が、
量子もつれになります。
これも、非常に不思議な現象で分かりづらいですが、
2つの量子の間で、観測値が連動させられる
くらいに思ってください。
超稠密符号の仕組み
超稠密符号では、重ね合わせと量子もつれの性質を使って、
1ビットを送り出すことで、2ビットの情報を伝えます。
ただし、実際にビットを送り出す前に準備が必要になります。
準備を行ったあとに、Aさんが、Bさんに量子を1つ送ることで、
2ビットの情報がBさんに伝わるという流れになります。
1. 準備
準備の段階で、重ね合わせと量子もつれの両方の性質を使います。
通信を行いたいAさんとBさんは、
それぞれ、0と1が50%ずつとなる重ね合わせの状態にある量子を持ちます。
そして、その二つ量子は量子もつれの関係にあり、
片方が0を観測すれば、もう片方も0を、
逆に1を観測すれば、もう片方も1を観測するような状態を準備します。
絵では、重ね合わせを縦に、
もつれによって連動している関係を横に並べて書いています。
2. 情報の変換
Aさんは量子の2ビット分の情報をのせて、
Bさんに量子を送るのですが、
この情報をのせるに相当する操作はどういうものでしょうか。
情報をのせるには、情報を送る人が、
送られていく情報を書き換える必要があります。
手紙を送るにしても、手紙に文字を書かないと、
情報を送れないのと同じですね。
そこで、Aさんは、送りたい情報に合わせて、
自分の持っている量子を操作します。
操作された量子だけ状態が書き換わり、
量子もつれの関係が変わります。
図では、10を送ろうとして、
Aさんは自分の量子の0と1を入れ替えるという操作をしました。
その結果、Aさんの量子が1なら、Bさんの量子は0に、
Aさんの量子が0なら、Bさんの量子は1に、
というもつれ関係に変化しました。
10以外を送る場合には、別の操作を行います。
具体的には、
00を送る場合には、何もしない。
01を送る場合には、1の符号を変える(位相をずらす)。
11を送る場合は、0,1を反転して1の符号を変える。
このように、Aさんが自分の量子を操作するだけで、
2つの量子をセットで見た時に、
異なる状態が4つ作れます。
3. 量子ビットの送信
最後に、Aさんは自分の量子ビットをBさんに送ります。
Bさんは、2つの量子をセットとして、
それが、どの組み合わせなのかを調べることで、
上の組み合わせと00,01,10,11の対応から、
Aさんが10を送ったということが分かります。
実際は量子ビット2つ?
Aさんから、Bさんに向かって送った量子ビットは確かに1つでしたが、
準備の段階で、量子もつれ状態にある量子ビットをBさんに1つ渡しているので、
Bさんが受け取る量子ビット自体は2つになります。
ところが、情報を送るためには、送りたい情報に応じて、
量子ビットの中身を変える必要がありますが、
準備で用意した量子ビットにはそのような操作は加えていません。
そのため、やはり情報の載せて運んでいる量子ビット自体は1つですが、
その1つの量子ビットを送ることで、
2ビット分の情報を送ることができていると言えるでしょう。
これを上手く使うには、送りたい情報がないうちに、
準備用の量子ビットを送っておき、
送りたい情報ができたら、2倍速で送るという方法が考えられます。
何もしない時間を後に回して、
後でうまく活用できるなんて、
量子はとても羨ましい性質をもってますね。