2026.5.11
Tのつぶやき
量子コンピュータとは?(最終回/4)

(量子ビット)
ノイマン式コンピュータとは違う方式のコンピュータはできないものだろうか。別の方式でなら、もっと高速な処理ができるんではないだろうか。
そこでこう考えた人たちがいます。
0と1だけではなく、中間のあらゆる状態を記憶するデータの単位があったらいいなあ。
このデータの単位同士を演算させて、中間のデータのまま、保存できたらいいなあ。
それで、最後に0か1で取り出せたら、今のコンピュータと接続して何かできるんじゃないかなあ。
一度に複数のデータを扱うことができたら、たくさんの処理を同時にできるので、もっと高速な処理ができるんじゃないかな。
と、いろいろ期待が膨らみます。
では、情報の基本単位から考え直そう。
そうだ、量子力学という学問分野があって、とても原子や分子・電子は不思議な動作をする。
その不思議な状態を最小の情報の単位にできないだろうか。
この情報の単位のことを量子ビット(キュビット)と呼ぼう。ということで量子コンピュータの考え方が生まれました。
物理学の分野では、分子や原子、電子などは、人の目に見える大きな世界と違って、不思議な動作をすることが知られています。
人の目に見える粒子なら、そこにあるか、ないか、どちらかです。
ところが、例えば電子などは粒子のようにも見えながら波のようにも見える動作をし、さらにそこにあるかないかについては、確率としてあらわしたほうがしっくりくるのです。
この状態(素子?)を量子と呼んでいます。量子を扱わない物理学をニュートン力学と呼び、量子を扱う物理学を量子力学と呼びます。
この量子を使った演算は最後まで確率の状態を持ち続けていて、結果を最後に見るまではわかりません。
その考え方を取り入れたコンピュータが量子コンピュータと呼ばれるのですね。
(アルゴリズム)
アルゴリズムという言葉を聞いたことがありますか?
どういう順番でコンピュータの命令を動かしていけば、どんなことが出来るか、という考え方です。
現在のコンピュータには何十年にもわたって開発されていた経験から、膨大なアルゴリズムが世界中に知られています。
ところが、この量子ビットをどのように使っていけばよいかは、まだ始まったばかりです。
まったく今までとは違う動作をさせるわけですから。
量子コンピュータの開発者の世界では、従来のアルゴリズムを古典アルゴリズム、量子ビットを使用したアルゴリズムを量子アルゴリズムと呼びます。
古典アルゴリズムとは、ひどい呼び方をしますね。
(何がいいの?)
量子ビットひとつで扱えるデータ量が多くなる。理論的にはほぼ無限。複数の量子ビットでなら大量のデータを一回で処理できる(可能性が高い)
暗号解析とかDNA解析とかブロックチェーン処理など、かなり有効な気がします。
(問題点)
確率で処理しているので、誤差が出るかも。(今のところは、かもしれない)
量子アルゴリズムがまだまだ未熟。(で、現在開発中)
量子ビットを扱えるハードウェアは現在は試行錯誤しながら開発中。
いくつかできてはいますが、実験用という立ち位置です。知られている方式だけでも5種類あります。これからが期待です。
(量子もつれ)
量子力学の世界では2つの量子を双子のように生成することができると不思議なことが起きます。
一つの量子を変化させると、対になったもう一つの量子も同じように変化するのです。しかも、時間差なしに。
この二つの量子を遠隔地に設置すると、一方の変化を遠くの量子の変化に影響させることが出来ます。この現象を量子もつれと呼びます。
情報を送れるのです。しかも、時間差なしに。通信に使えそうですね。本当にそんなことが可能なんでしょうか。現在、いろいろと研究中です。
(どう立ち向かう?)
アルゴリズムを開発(検証)するために、疑似量子コンピュータというシステムがあります。
Javascriptなどのプログラミング言語を利用してブラウザ上で作成し、疑似量子コンピュータ(サーバの形式)のAPIに送ると、シミュレーションして結果を返してくれます。QCEngineというのですが、試してみてはいかが?

