学習

量子コンピューティングを無料で学習できる教材

量子コンピューティングを無料で学習できる教材

新規性があって需要の高い技術を学びたい

IT転職市場で優位に立つには、需要があり、なおかつ希少性の高いスキルを身につけていることが重要です。

希少性の高いスキルの中にはデータサイエンス機械学習がありました。

そして新しく出てきた希少性の高い領域、それは量子コンピューティング

量子?

機械学習よりもさらに新しい領域なので、スキルの希少性が高い。

しかもこれから組み合わせ最適化の需要が高まるのでスキル自体の需要も高いです。

もしこの技術を身につけることができれば色々な業界に引っ張りだこでしょう。

そんな量子コンピューティング無料で学べるとしたら?

専門的すぎて無料とかありえないでしょ?

サンプルコード付きのページが無料で公開されてますよ

マジで!?

そこで今回は無料で量子コンピューティングを学習したい人の為に、量子コンピューティングを無料で学習できる教材を紹介します。

書いている人

ITエンジニア。
SE、機械学習エンジニア、データサイエンティストなどの経験がある。
転職経験は3回。

記事を読むメリット

量子コンピューティングを無料で学習できる教材がわかり、IT業界の中でも希少性の高い人材になれる

量子コンピューティングが何故重要なのか

Question Mark Choice Decision  - TheDigitalArtist / Pixabay

まず量子コンピューティングが何故重要なのか、それは計算が速いからです。

ただここで言う速さはCPUのクロック数的な速さではありません

量子コンピューターの速さはパターン計算の速さ

量子コンピューターは量子ビットによって「0」と「1」の両方の状態を同時に取ることができます。

それは「0」と「1」のパターンを同時に計算していることになり、量子ビットを組み合わせることで膨大なパターンを同時に計算することができます。

古典コンピューターの情報単位は「ビット」ですが、量子コンピューターの情報単位は「量子ビット」と呼ばれるものです。通常の「ビット」では、「0」「1」の状態の「どちらか」しか取ることはできませんが、「量子ビット」では量子力学の「重ね合わせの原理」を利用することで「0」「1」の「どちらも」取りながら計算を行うことができるのです。そのため、「量子ビット」をn個集積させると2n通りの数字を「同時に」表すことができ、しかもそれを1回の計算ステップで扱うことができます。これは、古典コンピューターの「ビット」では膨大な計算ステップが必要な処理を、1回の計算ステップで処理できることを意味しており、結果的に量子コンピューターでは計算ステップを劇的に減らすことが可能となるのです。

量子コンピューターの何が「すごい」のか――従来のコンピューターとの違いとは | コラム一覧 | 50周年記念サイト | 三菱総合研究所(MRI)

この特性はある種の問題を解決するのに大きく役立つ可能性を秘めています。

量子コンピューティングは組み合わせ最適化に役立つ

Magic Cube Patience Tricky Hobby  - congerdesign / Pixabay

量子コンピューティングが役立つ領域、それは組み合わせ最適化です。

組み合わせ最適化?

組み合わせ最適化は膨大なパターンの中から制約条件を満たすパターンを見つけ出す問題です。

例えば従業員のシフト。

1ヶ月の稼働日の中で、どの従業員どの日に働いてもらうか。

そこには様々な制約条件が存在します。

  • 1日ごとに必要な人数
  • 個々の出勤希望日
  • 出勤させることが可能な人数
  • 連続勤務制限

などなど。

既にかなり複雑・・・

シフトを組む際にはこれらの条件を加味しながら組んでいくわけですが、問題がひとつ。

シフトの取り得るパターンが膨大であること。

単純に1日1シフト制だったとしても、解の空間が取るパターンは

2^(従業員数) * 2^(日数)

仮に従業員3人で月の稼働日20日だったとしても2の23乗というとんでもない数になります。

そして現実の問題はより複雑なので、パターン数は天文学的な数になります。

こんなの計算無理じゃん・・・

そこで役に立つ可能性を秘めているのが量子コンピューティング

量子コンピューターであれば量子ビットを使って複数の状態を同時に計算できるので、パターン数が多い問題もすぐに解くことができます。

それは凄い!

けど何で「可能性」とか言ってるの?

まだ出始めた技術なので制約があるんですよ

とはいえ量子コンピューターはまだまだ新しい技術なので制約もあります。

それは使える量子ビット数が限られていることです。

パターン数が膨大な問題を解けるとは言いましたが、それはもちろん使える量子ビット数の範囲でのこと。

現実の問題が複雑になればなるほどパターン数は指数関数的に増えます。

それを解くためには必要な量子ビットも多量になるわけですが、量子ビット数も無限ではないので今は解ける規模にかなり制約があると思っておくと良いでしょう。

量子コンピューティングを無料で学習できる教材

Writing Pen Man Ink Paper Pencils  - Free-Photos / Pixabay

ではそんな量子コンピューティングを学習する方法はあるのでしょうか。

実は教材が無料で公開されています

その名も量子コンピューティング・ワークブック

公開しているのは東京大学の素粒子物理国際研究センターです。

最初のページには以下のように書かれています。

このウェブサイトは、量子コンピューティングを手を動かして学びたい方のための入門教材です。量子力学や計算科学の前提知識を極力必要とせず、大学一年程度の数学とPythonプログラミングの知識があれば、ゼロから量子コンピューティングを自習できるような教材を目指しています。

量子コンピューティング・ワークブックへようこそ! — 量子コンピューティング・ワークブック

そしてこのワークブックの特徴として、実際に量子コンピューターで実行できることがあります。

ワークブック全体を通じて、QiskitというPythonライブラリでプログラムを書き、作成した量子回路をIBM Quantum Experience (IBMQ)の量子コンピュータで実行します。IBMQを利用するにはアカウントを作成する必要があるので、実習を始める前に実習の準備を参考に準備をすることをおすすめします。

量子コンピューティング・ワークブックへようこそ! — 量子コンピューティング・ワークブック

これで勉強できるね!

・・・

難易度はかなり高い

Upset Overwhelmed Stress Tired  - RobinHiggins / Pixabay

量子コンピューティング・ワークブックは「大学一年程度の数学とPythonプログラミングの知識があれば」と書かれていますが、実際の難易度はかなり高いです。

実際に読んでみると、数式と専門用語のオンパレードです。

で、でもサンプルコードを動かせば・・・

サンプルコードを動かそうにも、「何をやっているか」を理解しないと応用できません

コードを動かそうにも「何をしているか」を理解しないと、実際の問題に適用する際にコードの変更ができません。

故に少なくともコードの1行1行でどんな処理をしているかというレベルでは理解する必要があります。

なかなか骨が折れそうだね・・・

学習するにはちゃんと時間を取る必要がありますね

まとめ

今回は量子コンピューティングを無料で学習できる教材について紹介しました。

その教材は量子コンピューティング・ワークブックです。

ただしワークブックには「大学一年程度の数学とPythonプログラミングの知識があれば」と書かれていますが、実際の難易度はかなり高いです。

ですが量子コンピューティングは「組合せ最適化」の問題を解くのに期待されている技術なので、習得できれば希少性の高い人材になれるでしょう。

かなり難しそうだけど、その分需要もあるからチャレンジする価値はあるね

そうですね

希少価値が高いので、これができると就職で困るようなことはないと思いますよ

今回紹介した書籍でPythonの量子コンピューティングについてはかなり学べると思います。

ただ、計算した結果はシステムに連携して利用価値が有るというもの。もし量子コンピューティング以外に周辺のシステム化についても学びたいのであれば、スクールに参加してスキル補強するのはアリかもしれません。

-学習
-,