【量子コンピュータ101】Pythonで体感する量子コンピューティング
コースについて

「量子コンピュータ」は量子力学の原理を応用したコンピュータです。量子特有のふるまいである「量子重ね合わせ」や「量子もつれ」といった性質を応用することで、従来のコンピュータで数十年を要する計算をより高速により効率よく実行することが期待されています。
このコースでは、パソコンから、無償で使用できる(2021年1月現在)IBM Quantum サービスを介して、ゲート型量子コンピュータに接続し、Qiskit(オープンソースの量子コンピュータ用のソフトウェア開発キット)を使ったPythonのサンプルコードを使って量子ビットを操作します。
量子コンピュータは量子力学や高度な数学にもとづく技術ですが、このコースでは量子論や数式には触れずにまずは動かしてみることにフォーカスして量子コンピューティングの基礎的なしくみの理解を目指します。
量子コンピュータは難解な量子力学にもとづいているため近寄りがたい印象があるかもしれませんが、講師と一緒に実際に動かしながら量子ゲートを読み解き、そのしくみを探っていきましょう!
【ハンズオン概要】
IBM Quantum Experienceを介してパソコンからゲート型量子コンピュータに接続し、Pythonのサンプルコードを使って量子ビットに代表的なゲート(NOTゲート、アダマールゲート、CNOTゲート)を適用し、量子ビットを「反転」、「重ね合わせ」、「もつれ」状態にします。いずれのハンズオンもパソコンでシミュレーションしてから、実機で量子ビットを操作する手順で実施します。
また、量子コンピュータ版コインフリップゲームを動かすことで、量子コンピュータがその能力を発揮するための重要な要素である「重ね合わせ」の力を実感します。
そして、「量子もつれ」を実機で試すことで、暗号鍵の交換にも利用されている、「もつれ」という、量子力学の不思議な力の一端にも触れます。
実用的な用途の一端に触れるため、セキュアな情報通信に利用できるアルゴリズム、量子テレポーテーションにもチャレンジします。
一連のハンズオンを通して量子ゲートに対する理解を深めるとともに、従来のコンピュータとは全く異なるしくみで動作する量子コンピューティングを体感し、量子コンピュータの理解へのはじめの一歩とします。
【このコースの対象者】
このコースは、量子コンピューティング(量子ゲート方式)を実際に手を動かして体験する、量子コンピュータ初学者のためのコースです。量子コンピューティングに関心を持つITエンジニアの方、量子コンピュータのプログラミングを体験してみたいソフトウェアエンジニアの方に適したコースです。
Course Curriculum
セクション1 このコースについて
-
コース概要
00:6:47
セクション2 ハンズオン準備
-
セクション概要
-
Anacondaをダウンロードしよう(Mac)
00:2:5 -
Anacondaをダウンロードしよう(Windows)
00:2:13 -
Anacondaをインストールしよう(Mac)
00:1:33 -
Anacondaをインストールしよう(Windows)
00:1:26 -
Anacondaを起動しよう(Mac)
00:00:45 -
Anacondaを起動しよう(Windows)
00:00:33 -
Qiskitをインストールしよう(Mac)
00:6:52 -
Qiskitをインストールしよう(Windows)
00:7:47
セクション3 量子コンピュータとは
-
セクション概要
-
身近なコンピュータCPUの基本
00:13:38 -
量子コンピュータ概要
00:5:37 -
ゲート型量子コンピュータ概要
00:8:56 -
ハンズオンで使用する量子コンピュータ概要
00:4:18 -
ゲート型量子コンピュータのプログラミング言語OpenQASM
00:1:54
セクション4 ハンズオンの概要とノートブックのダウンロード
-
セクション概要
-
ハンズオンの構成と概要
00:1:37 -
ノートブックのダウンロード
00:1:11
セクション5 NOTゲートで量子の状態を反転させよう
-
はじめに
00:1:22 -
NOTゲートと量子の波の性質について
00:6:38 -
確率の波とブロッホ球
00:4:27 -
NOTゲートを動かそう(シミュレーション)
00:10:28 -
IBM Q Experienceトークンのパソコンへの保存
00:4:7 -
NOTゲートを動かそう(量子コンピュータ)
00:11:12
セクション6 アダマールゲートでキュビットを1と0の「重ね合わせ」状態にしよう
-
セクション概要
-
アダマールゲートと波の干渉
00:4:52 -
アダマールゲートを動かしてキュビットを重ね合わせ状態にしよう(シミュレーション)
00:6:57 -
アダマールゲートを動かしてキュビットを重ね合わせ状態にしよう(量子コンピュータ)
00:6:14 -
重ね合わせキュビットとアダマールゲート
00:5:9 -
アダマールゲートで重ね合わせ状態のキュビットの状態を変えよう(シミュレーション)
00:6:13 -
アダマールゲートで重ね合わせ状態のキュビットの状態を変えよう(量子コンピュータ)
00:9:46
セクション7 量子コインフリップゲームのトリック「重ね合わせ」の力を実感
-
セクション概要
-
コインフリップゲームの概要
00:3:58 -
量子コインフリップゲームを動かしてみよう(シミュレーション)
00:11:24 -
量子コインフリップゲームを動かしてみよう(量子コンピュータ)
00:8:2 -
コインフリップトリックを紐解こう
00:5:40
セクション8 キュビットを量子もつれ状態にしよう
-
セクション概要
-
キュビットの「量子もつれ」とは
00:3:19 -
量子もつれを作るCNOT
00:8:3 -
2つのキュビットをもつれさせてみよう(シミュレーション)
00:5:11 -
2つのキュビットをもつれさせてみよう(量子コンピュータ)
00:4:57
セクション9 量子テレポーテーションにチャレンジ
-
セクション概要
-
量子テレポーテーション概要
00:8:12 -
量子テレポーテーション(シミュレーション)
00:17:37 -
量子テレポーテーション(量子コンピュータ)
00:10:40 -
ステップバイステップ量子テレポーテーション
00:19:15 -
セクションのまとめ
00:3:29
セクション10 コースのまとめ
-
プログラミング言語の歴史から見た量子コンピューティングの今
00:4:34 -
コースのまとめ
00:4:37