量子コンピューターの仕組みを分かりやすく
今回の記事は
量子・ITの知識が全くない人に向けて
「量子コンピューターって何なのか」
なんとなくフワッと分かるような内容を書いていきます。
量子コンピューターはすでに使える!
量子コンピューターは未来の話しだと思ってませんか?
もう実際に使えます!
私も3年前に
D-Wave社のクラウド量子コンピューター
「Leap Quantum Cloud Service」
を使ったことがあります。(NECが販売)
今はどうか分からないのですが・・
当時は、無料体験ができたので
お試しで使ってみました!
当時、開発していたシステムがくっそ重くて
(計算が複雑だしデータ量が多すぎて)
実行結果が返ってくるのに6時間とかかかっていたのですが
そういうシステムも量子コンピューター上で実行すると
2秒で結果が返ってきました!
PCがフリーズして実行結果すら返ってこない
難問のシステムも
量子コンピューター上で実行するとたったの2秒!
容量が軽かろうと
容量がどれだけ重かろうと
コンスタントに2秒前後で結果が返ってくる
そんな量子コンピューター体験でした。
普通のコンピューターの仕組み
量子コンピューターの仕組みを話す前に
まず、普通のコンピューターのことを話しましょう!
コンピューターはプログラミング言語の指示で動いています。
例えば
下↓に ぴよたそちゃんの画像が貼りついてると思いますが
これはコンピューターに
「ここに画像を貼り付けて」と指示(命令)することで
ぴよたそちゃんが表示されるようになります。
そして、こちらはそれを指示する文章(命令文)
<img src="https://assets.st-note.com/img/1682382354596-YO8gP93Q3d.png" alt="" width="620" height="620" style="width: 372px; height: 372px;" data-is-resized="true" contenteditable="false" draggable="false">
コンピューターを動かすときに使用する言語のことを
プログラミング言語といいます。
プログラミング言語は
マイナーなものも入れると200種類以上の言語が存在します。
基本的なプログラミング言語は
英語・数字・記号<>””
で命令文が書かれます。
普段見ているWEBサイトの裏側は
下の画像のように
英語・数字・記号<>””が羅列された
プログラミング言語でできてます。
普段使用しているアプリもです。
見た目は、可愛いキャラクターがいたり
いろんな色のカラフルな文字が使われていますが
裏側は
英語・数字・記号<>””の羅列です。
全然かわいくないです。笑
英語・数字・記号<>””が
ズラーっと羅列されてて
何だか難しくて頭が痛くなりそうですが・・・
実はこれでも
人間が扱いやすいように改良されてからの
これなのです。
プログラミング言語・・
英語・数字・記号<>””の羅列には
さらに裏側があって
0と1が隠れています!
コンピューターは
0と1の電気信号で動いています。
それだと人間が混乱してしまうので
扱いやすくしたものが
プログラミング言語なのです。
例えば「A」という文字を0と1で表現すると
1000001
のようになります。
普段使ってるアプリの可愛いキャラクター🐱
その裏側はプログラミング言語でできていて
さらにその裏側は電気信号のON(1)とOFF(0)でできてきるのです。
量子コンピューターの仕組み
上の項目で分かったことは
コンピューターは0と1で動いてる
ということです。
そして量子コンピューターには
0と1が重ね合った状態が存在します。
量子力学の二重スリット実験を知ってる方は
何となくイメージつくかもしれません。
0と1が重ね合った状態がイメージつかない方は
Youtubeで二重スリット実験を見てみて!
世の中のあらゆるものは原子・分子でできています。
分子・原子をさらに小さくしたもの
それが量子です。
二重スリット実験で分かったことは
量子とは波でもあり、粒でもある
どちらの性質もあわせ持つ
観測しないときは「波」で
観測したときは「粒」になる
ということです。
従来のコンピューターは
「0」はずっと「0」だし
「1」はずっと「1」です。
量子コンピューターは
「0」と「1」を重ね持っており
観測という状態を作ると
「0」か「1」のどちらかになります。
そうすると
計算処理が爆速になります。
従来のコンピューターが計算処理するときに
1つ1つ計算していたのが
量子コンピューターでは
まとめてパパッと計算処理が完了します。
ゲート型とアニーリング型
量子コンピューターは
問題を解く方法の違いによって
ゲート型とアニーリング型に2つに分かれます。
私もそんな詳しくないので
NECさんのサイトから引用させて頂きます!