GMOアドマーケティング(株)のK.Aです
はじめに
9月に行われたMicrosoft Ignite 2017 カンファレンスにて、「年内には無料プレビュー版を一般提供する」と発表されていた「Quantum Development Kit」が先日12月12日にとうとう公開された。
このDevelopment Kit は一般向けに公開されただけあって、とりあえずインストールすれば、量子コンピュータや量子ビット(qubit; quantum bit、キュービット)など、専門的な事はなにも知らなくても環境が構築される。
付属しているサンプルコードを実行すれば、量子テレポーテーションなど興味をそそる内容が、実際にシミュレータで実行でき動作を確認する事も可能だ。
初心者から開発者まで幅広く、興味がある人は簡単なのでまずはインストールして体験してみてほしい。
量子コンピューターとは
量子コンピュータの詳細な説明はWikipedia(量子コンピュータ、2018年1月10日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)に譲るとして、現状のコンピュータは既に物理限界に近く、微細化技術にも限界が見えている。CPUが搭載するコア数を増やし、並列性を確保する事で性能向上を図っている現状を見ても間違いないだろう。
それを打破するのが量子コンピュータであり、その超並列性こそ今後、強いAIの開発や、高度なシミュレーション技術には重要なファクターだと思われる。
ここでは、そんな方に少しでも手助けができるよう、インストールから動作確認まで、Windows7 64bitの環境にて、実際に必要な手順と共に説明していくことにしょう。
環境構築
まずは早速ダウンロード。
URL:https://www.microsoft.com/en-us/quantum/development-kit
のページの「Download now > 」のリンクをクリックすると別ページにジャンプする。
ダウンロードする為には表示されているフォームの内容を入力する必要がある。
全ての項目が必須入力なので、フォームを全て埋めたら、簡素に書かれているプライバシーに関する声明を確認し、YesのチェックボックスをONにする。これでフォームの一番下にある「Download now」をクリック。 これで第2関門突破。ダウンロード画面に到達する。
この画面の「Download」をクリックするとダウンロードが始まる。
ダウンロードしたファイルを見ると「QsharpVSIX.vsix」という見慣れない拡張子。
これはVisual Studio 用の拡張キットであり、その中身はPluginファイルで、zipで圧縮されている。
※ もしこのファイルが白いアイコンで表示されている方は、恐らくVisual Studio をインストールをしていない。Visual Studio community という無料版があるので、下記のURL先から「Visual Studio Community 2017」をクリックしダウンロードしてインストールするのをオススメする。
URL:https://www.visualstudio.com/ja/downloads/
早速ダウンロードをしたファイルを開いたら、ライセンス条項を確認した上で「インストール」ボタンを押すだけ。
すると数十秒でインストールが完了する。
いよいよ Visual Studio を起動して新言語「Q#」の動作確認を行ってみる。
まず最初に使うのは「チーム エクスプローラー」
メニューから「チーム > 接続の管理」で表示される。
これで、GitHub内でMicrosoftが公開しているリポジトリからサンプルコードを取得する。
「複製」をクリックし、上段のテキストボックス(複製するGitリポジトリのURLを入力してください)にURL:https://github.com/Microsoft/Quantum.git を入力する。
その下のテキストボックスには、複製先のローカルアドレスが表示されているが、URLの入力により適切なフォルダを自動生成してくれるので、よく分からない人は、デフォルトのままでOK。
サブモジュールを再帰的に複製のチェックボックスもデフォルトのONのままでOK。
一番したの「複製」をクリックする。
これは、git clone コマンドを実行したのと同等の操作であり、コマンド知っている人にとっては、逆に面倒な作業だと思われる。慣れている人は無論、git コマンドを実行しても問題ない。
ファイルのダウンロードが完了すると自動的に「ソリューション エクスプローラー」が起動する。
これでダウンロードしたフォルダ構成やファイル内容が確認できる。
ここでは、動作確認としてサンプルとして収められている「QsharpLibraries > 0. Introduction」を実行する。
「ソリューション エクスプローラー」の上段にあるアイコンの左から4番目(ソリューションおよびフォルダ)をクリックすると、その下のペインが「フォルダ」表示から「QsharpLibraries」ソリューションの内容に切り替わる。
*** 注意点***
「Samples > 0. Introduction > TeleportationSample」に(利用不可)と記述がある場合は、インストールされていない機能があるので、右クリックして「インストールされていない機能のインストール」を選択し実行可能な状態にする。
特に開発をしたことがない人は「.NET デスクトップ開発」などのワークロードがインストールされてない場合が多いので、画面に従いインストールする。
「Samples > 0. Introduction > TeleportationSample」 にマウスカーソルを合わせ右クリックし、
表示されたコンテキストメニューから「デバッグ > 新しいインスタンスを開始」をクリックする。
これで量子テレポーテーションをシミュレートしたサンプルを実行し始める。
量子テレポーテーションを簡単に説明すると、「量子もつれ」の効果を利用して離れた場所に量子状態を転送すること。
詳細な原理を知りたい方はWikipedia(量子コンピュータ、2018年1月10日、ウィキペディア日本語版、https://ja.wikipedia.org/wiki/%E9%87%8F%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)を参照いただくとして「Press Enter to exit…」が表示されたらシミュレーション完了。「Enterキー」を押してコンソール画面を閉じる。
「0. Introduction」には「TeleportationSample」以外にも「Measurement(測定)」や「SimpleAlgorithms(簡単なアルゴリズム)」のサンプルがあるので、実行してみると良い。問題なく実行できれば、環境構築完了である。
次回予告
今回は環境構築がメインの為、ここまでとする。
次回、サンプルコードを読み解き、自分でコードを生成して検証する。