2008/05/23掲載
さて今週は誤り訂正の量子版。
さっそくお届けしてまいりますよ。
でもちょっとその前に、
前回
の話。
「誤り訂正」の中でも代表的なものとして
「ハミングコード」
というのを
採り上げました。
2進法に符号化されたデータの中に
「1」の数が偶数個あるか、奇数個あるかを
チェックする。
ちなみにこのように、
ある範囲の中にある「1」の数が
偶数か奇数かをチェックすることを
「パリティチェック」
といいますよ。
(ちなみに「1」の代わりに「0」を数えても可)
そんなこともちょっと頭のスミに
入れつつ、今週もゴーゴー!
量子を使って通信や情報処理を行う場合にも、
古典の場合と同じように、
エラー訂正で間違いが直せるんですか?
はい。「量子誤り訂正」は、
特に将来、量子情報処理を実現するのに
欠かせない研究の1つと言えるでしょう。
で、どうやるんですか?
そうですね。まず、
量子情報処理の基本単位は
キュービット
でした。
たとえば1キュービットの状態は
ああでもない、こうでもないの
重ね合わせ状態
(第16週を参照)
ですよね?
はい。
古典的なコンピュータでは、
必ず0または1のどちらかになっていましたね。
一方、1キュービットの重ね合わせ状態は、
可能性として無数の状態があるのが特徴です。
そして、そのうちのどれか1つの
状態になっているわけです。
たったひとつ選ばれたその状態が、
ちょっとでもぶれたら、
エラーってことになってしまうんですか?
そのあたりが量子ならではの、
おもしろいところです。
キュービットの状態がどうぶれたかは、
その向きによって、
タテに動いた、ヨコに動いた、という
2つの成分に分けて考えることができます。
そこで、さっそく、
その一方向(たとえば横)だけに動いてしまった
エラーの訂正方法について考えてみましょう。
ふむむ。
古典の場合と同じように、
エラー訂正を行うためには
1ケタのデータに2ケタ追加します。
先週のところですね
(第28週を参照)
。
つまりリョーシカ・ビットだと
こんな感じ!
はい。1キュービットだけだと
間違いが直せないので、
3キュービット使います。
ところがこの量子ひとつという
とてもミクロな世界の中で
その状態がやはり動いてしまう
ということが起こり得るわけですね。
たとえばこんな感じ?
そうですね。
しかし、それをどうやって
直すんですか?
キュービットをパリティチェックして、
間違いがないかどうか確認します。
もしも間違いが見つかったら、
そのキュービットをフリップさせて、
正しい状態に戻してやればいいのです。
でも
「測定」
してしまったら
元の状態が失われてしまうんじゃ……
なかったでしたっけ?
そうなんです。
キュービットひとつずつを測るのではなく
2つで偶数なのか、奇数なのかを
チェックするというのが
実は1つのポイントなんです。
ちなみに、
さきほど用意した3つのキュービットは、
相互作用によって、あらかじめ
エンタングル
した状態にして使います。
ひゃっ!
キュービット、2つ以上は
エンタングルメント
だったかも。
ええ。
エンタングル
した状態というのは、
複数のキュービットが
ひとつの状態を共有している状態でした。
この共有された状態を
パリティチェックすることにより
ひとつには、
偶奇の測定結果が得られます。
もうひとつには
キュービットの状態が
下図のように変化します。
そこでちょうど古典の場合と同じように
測定結果を元に、状態を直すことで
間違いが訂正できるのです。
いろいろむずかしいけれども
とにかく偶奇を調べてやれば
間違いが見つかるんですね?
はい。チェックするところは2つあります。
・1つ目と2つ目
・2つ目と3つ目
この範囲に「1」がいくつあるか、
数えてみてください。
偶奇を調べるということは
その範囲に含まれる「1」または「0」の数が……
0個なら → 偶数(ぐ)
1個なら → 奇数(き)
2個なら → 偶数(ぐ)
ということですね。
はい。正しい組み合わせは
偶数と偶数(ぐ ぐ)ですから
その組み合わせになるように
状態を戻してやれば、訂正完了です。
ホントにこんなにうまくいくのかなあ。
今週はこれにて。
(つづく)
今週はなかなかに高度な
「量子誤り訂正」
を採り上げました。
リョーシカが指摘するポイントは、
状態をこわさずに
パリティチェックで直す
というところ。
そして、これによって
無数の状態がとれる量子を
古典(すなわちデジタル)の場合のように
0と1をひっくり返すことで
見事にエラー訂正できること。
この2つのポイントを押さえておくと
「量子誤り訂正」
が
ぐっとわかりやすくなりそうですよ。
さて来週はいよいよ
「情報処理」編が最終回を迎えます。
どうぞおたのしみに。
第21週~第30週
2008-03-28
2008-04-04
2008-04-11
2008-04-18
2008-04-25
2008/05/02
2008/05/09
2008/05/16
2008/05/23
2008/05/30