そもそも量子コンピュータってなに??
なんで量子コンピュータを使うの??
今あるコンピュータの半導体がこれ以上小さくできなくなったためです。
小さくすると、小さくても大きな力がでるということなのです。
これ以上大きな力を出すとか速く処理するのが難しいというわけです。
ムーアの法則の終焉とも言ったりします。
そこで、量子コンピュータの出番がやってきました。
AI などと並んで夢の技術のように語られ
その処理力もスーパーコンピュータを超えると言われていますね。
量子力学との関係は??
量子力学のルールに従って設計されたのが量子コンピュータです。
あくまで設計なので量子力学とは別の分野として切り離して考えるほうが良いでしょう。
そのルールとは主に2つ。「色々な計算過程を重ね合わせられる。」そして「測定結果が確率的に得られる。」ことです。重ねあわせの特徴があって、大量の計算と同じような計算を一気にやっちゃうので速く計算できるわけです。また、量子コンピュータはナノサイズ以下のめちゃくちゃ小さい世界の物質を冷やすなりなんなりで粒から波に変えてこのルールで計算できるようにしています。
著者は原理よりそれをどのように実践的に使うのかというのを重視するので、量子力学についてはこれ以上深く掘り下げません。
量子コンピュータのハードウェア
ハードウェアを語るには量子コンピュータの開発の歴史を語ることです。
ざっくりで、どうぞ。
1980 年代:ハードウェア不在の状態で初期のアルゴリズムの研究開発が進んでいた。
↓
2000 年代:徐々に実験室の中で実現可能なハードウェアとして研究開発がなされた。
↓
2010 年代:一気にハードウェアの開発が進んだ。
↓
2020 年代:メーカーが商用マシンの本格稼働に向け開発を行っている。
こんな感じでさらに現在では汎用的に利用できる汎用量子コンピュータの開発も本格化しています。
そして、ハードウェアの種類は
- 超電導方式(IBM のやつ)
- イオントラップ方式
-
光量子コンピュータ
などなど、まだありますが以上のようなものがあります。
ただし、上記2つと光量子量子コンピュータは全く計算方法が違うので
注意が必要です。
量子コンピュータと古典コンピュータ(通常のコンピュータ)の関係
量子コンピュータは、量子力学の原理で動くこと以外にも、
古典コンピュータとの違いがあります。その大きな違いが
古典コンピュータは CPU といった演算装置、メモリ、入出力装置などさまざまな構成要素で成り立っているのに対して、量子コンピュータは QPU といった演算装置のみでなりたっていること。
だから、古典コンピュータと併用して使うことが多いです。
アルゴリズムとソフトウェア
量子ゲートみたいな量子アルゴリズムがあって、それを組み合わせたものを量子ソフトウェアと呼ぶことが一般的ですね。量子ソフトウェアのサブルーチンとしてアルゴリズムを利用します。
簡単に言いかえるとソフトウェアが親でアルゴリズムが子です。
これらの活用法はまず課題の設定をして、課題に適したものを引っ張ってきます。
目的が定まらないといけませんね。特に以下のような課題に対して選択します。
- 量子化学の固有値計算
- 組み合わせ最適化問題
- 金融計算
- 量子機械学習
ソフトウェアは SDK(ソフトウェア開発キット)を使いましょう。
無料で自分の PC で始めることができます。Qiskit や 国内ではBlueqat が有名です。
本書では主にQiskitを使っていきます。
https://qiskit.org/
https://github.com/Blueqat/Blueqat
まとめ
-
量子コンピュータとは量子力学のルールに従って設計されたのが量子コンピュータ
-
ハードウェアの種類は
- 超電導方式(IBM のやつ)
- イオントラップ方式
-
光量子コンピュータ
などがある
-
量子コンピュータはQPUで動く
-
Qiskit や Blueqat などですぐ始められる
Discussion