(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-27
(45)【発行日】2024-07-05
(54)【発明の名称】量子回路生成装置、量子回路生成方法及び量子回路生成プログラム
(51)【国際特許分類】
G06N 10/00 20220101AFI20240628BHJP
G06N 3/02 20060101ALI20240628BHJP
G06N 20/00 20190101ALI20240628BHJP
【FI】
G06N10/00
G06N3/02
G06N20/00
(21)【出願番号】P 2020139201
(22)【出願日】2020-08-20
【審査請求日】2023-07-19
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度 国立研究開発法人科学技術振興機構、戦略的創造研究推進事業、総括実施型研究 ERATO「齊藤スピン量子整流プロジェクト」、産業技術力強化法第17条の適用を受けるもの
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】大門 俊介
(72)【発明者】
【氏名】齊藤 英治
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2020/118285(WO,A1)
【文献】国際公開第2020/117552(WO,A1)
【文献】国際公開第2020/064294(WO,A1)
【文献】国際公開第2019/209628(WO,A1)
【文献】国際公開第2019/079754(WO,A1)
【文献】特開2008-052365(JP,A)
【文献】MASLOV, Dmitri, et al.,"Quantum Circuit Simplification and Level Compaction",IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2008年02月15日,Vol.27, No.3,Pages 436-444,ISSN: 0278-0070, <DOI: 10.1109/TCAD.2007.911334>.
【文献】MASLOV, D., et al.,"Quantum Circuit Simplification Using Templates",Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE'05),2005年03月11日,Pages 1-6,ISBN: 0-7695-2288-2, <DOI: 10.1109/DATE.2005.249>.
【文献】ABDESSAIED, Nabila, et al.,"Quantum Circuit Optimization by Hadamard Gate Reduction",Proceedings of the International Conference on Reversible Computation (RC 2014),[online], Springer,2014年,Pages 149-162,[retrieved on 2021.09.17], Retrieved from the Internet: <URL: https://www.informatik.uni-bremen.de/agra/doc/konf/14_rc_hadred.pdf> and <URL: https://link.springer.com/chapter/10.1007/978-3-319-08494-7_12>,<DOI: 10.1007/978-3-319-08494-7_12>.
【文献】山下茂,量子回路設計と最適化,オペレーションズ・リサーチ,日本,2018年,2018年6月号,P.342-349
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00
G06N 3/02
G06N 20/00
G06F 7/38
(57)【特許請求の範囲】
【請求項1】
複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定する設定部と、
前記基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、前記複数の量子ビットに対して前記短縮量子回路による量子演算を行った場合に得られる確率分布が、前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成する生成部と、
を備える量子回路生成装置。
【請求項2】
前記生成部における評価は、
前記基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む複数の中間量子回路を生成し、
前記複数の量子ビットに対して前記複数の中間量子回路による量子演算を行った場合に得られる確率分布と、前記複数の中間量子回路に含まれる量子演算の数とを変数とする評価関数に基づいて、前記複数の中間量子回路の中から前記短縮量子回路を探索することによって行われる、
請求項1に記載の量子回路生成装置。
【請求項3】
前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得るように、前記複数の量子ビットに対して行う1又は複数の量子演算を出力するエージェントを、強化学習によって生成する強化学習部をさらに備え、
前記生成部は、前記エージェントにより出力される前記1又は複数の量子演算に基づいて、前記短縮量子回路を生成し、
前記強化学習部は、
前記複数の量子ビットに対して行った1又は複数の量子演算を状態とし、
前記複数の量子ビットに対して行う量子演算を行動とし、
前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と、前記行動として選択される前記1又は複数の量子演算を前記複数の量子ビットに対して行った場合に得られる確率分布との一致度に基づき報酬を算出して、前記エージェントを生成する、
請求項1に記載の量子回路生成装置。
【請求項4】
前記生成部は、前記一致度と閾値との比較により算出される前記報酬に基づいて、前記エージェントによる前記行動の選択を終えるか否かを判定する、
請求項3に記載の量子回路生成装置。
【請求項5】
前記一致度は、前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と、前記行動として選択される前記1又は複数の量子演算を前記複数の量子ビットに対して行った場合に得られる確率分布とを変数とする関数で与えられる、
請求項3又は4に記載の量子回路生成装置。
【請求項6】
前記関数は、コルモゴロフ距離又はバッタチャリア係数を含む、
請求項5に記載の量子回路生成装置。
【請求項7】
前記エージェントは、モンテカルロ木探索を用いて前記行動を選択する、
請求項3から6のいずれか一項に記載の量子回路生成装置。
【請求項8】
前記エージェントは、前記状態をニューラルネットワークに入力して得られる出力値に基づいて前記モンテカルロ木探索を行う、
請求項7に記載の量子回路生成装置。
【請求項9】
前記生成部は、前記モンテカルロ木探索を用いた前記行動の選択及び前記報酬の算出を複数回シミュレーションして得られる学習データに基づいて、前記ニューラルネットワークのパラメータを更新する、
請求項8に記載の量子回路生成装置。
【請求項10】
前記生成部は、前記一致度及び前記状態に含まれる前記1又は複数の量子演算の数に基づいて前記報酬を算出する、
請求項3から9のいずれか一項に記載の量子回路生成装置。
【請求項11】
複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定することと、
前記基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、前記複数の量子ビットに対して前記短縮量子回路による量子演算を行った場合に得られる確率分布が、前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成することと、
を含む量子回路生成方法。
【請求項12】
量子回路生成装置に備えられた古典演算回路に、
複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定することと、
前記基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、前記複数の量子ビットに対して前記短縮量子回路による量子演算を行った場合に得られる確率分布が、前記複数の量子ビットに対して前記基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成することと、
を実行させる量子回路生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子回路生成装置、量子回路生成方法及び量子回路生成プログラムに関する。
【背景技術】
【0002】
近年、数十量子ビットを操作することができる量子コンピュータが用いられており、量子状態の初期化、量子演算及び量子測定の過程で生じるノイズの影響を低減するための研究が続けられている。近年用いられている量子コンピュータのように、ノイズの影響を受けることを前提とした量子コンピュータは、NISQ(Noisy Intermediate-Scale Quantum)デバイスと呼ばれている。
【0003】
ノイズの影響を低減するために、例えば、非特許文献1及び非特許文献2には、強化学習を用いて量子状態の制御方法を学習する研究が記載されている。また、非特許文献3には、強化学習を用いて量子エラー訂正のための量子ゲート系列を生成する研究が記載されている。
【0004】
さらに、非特許文献4及び非特許文献5には、量子ゲートを実現するマイクロ波パルスの形状を機械学習によって最適化する研究が記載されている。また、非特許文献6及び非特許文献7には、量子コンピュータをニューラルネットワークに用いて機械学習を行う研究が記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】Chunlin Chen, Daoyi Dong, Han-Xiong Li, Jian Chu, and Tzyh-Jong Tarn, "Fidelity-Based Probabilistic Q-Learning for Control of Quantum Systems", IEEE Transactions on Neural Networks and Learning Systems, Volume 25, Issue 5 , 2014
【文献】Marin Bukov, Alexandre G.R. Day, Dries Sels, Phillip Weinberg, Anatoli Polkovnikov, and Pankaj Mehta, "Reinforcement Learning in Different Phases of Quantum Control", Phys. Rev. X 8, 031086, 2018
【文献】Thomas Fosel, Petru Tighineanu, Talitha Weiss, and Florian Marquardt, "Reinforcement Learning with Neural Networks for Quantum Feedback", Phys. Rev. X 8, 031084, 2018
【文献】Nikolaj Moll1, Panagiotis Barkoutsos1, Lev S. Bishop, Jerry M. Chow, Andrew Cross, Daniel J. Egger, Stefan Filipp, Andreas Fuhrer, Jay M. Gambetta, Marc Ganzhorn, "Quantum optimization using variational algorithms on near-term quantum devices", Quantum Science and Technology, Volume 3, Number 3, 2018
【文献】Navin Khaneja, Timo Reiss, Cindie Kehlet, Thomas Schulte-Herbruggen, and Steffen J. Glaser, "Optimal control of coupled spin dynamics: design of NMR pulse sequences by gradient ascent algorithms", Journal of Magnetic Resonance, Volume 172, Issue 2, Pages 296-305, 2005
【文献】K. Mitarai, M. Negoro, M. Kitagawa, and K. Fujii, "Quantum circuit learning", Phys. Rev. A 98, 032309, 2018
【文献】Vojtech Havlicek, Antonio D. Corcoles, Kristan Temme, Aram W. Harrow, Abhinav Kandala, Jerry M. Chow and Jay M. Gambetta, "Supervised learning with quantum-enhanced feature spaces", Nature, volume 567, pages 209-212, 2019
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ノイズの影響により、NISQデバイスによって実質的に実行可能な量子ゲート操作の回数は依然として数十回程度に限られている。このため、量子超越性が確認されており産業上重要であるが、より多数回の量子ゲート操作を必要とする量子アルゴリズムは、NISQデバイス上で実行することが困難である。
【0007】
そこで、本発明は、NISQデバイス上で、多数回の量子ゲート操作を必要とする量子アルゴリズムと同様の演算結果を得られる短縮量子回路を生成する量子回路生成装置、量子回路生成方法及び量子回路生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係る量子回路生成装置は、複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定する設定部と、基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、複数の量子ビットに対して短縮量子回路による量子演算を行った場合に得られる確率分布が、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成する生成部と、を備える。
【0009】
この態様によれば、所望の量子アルゴリズムを実行する基準量子回路よりも量子演算の数が少ない短縮量子回路を生成し、基準量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布と近似する確率分布を得ることができ、NISQデバイス上で、多数回の量子ゲート操作を必要とする量子アルゴリズムと同様の演算結果をより少ない量子ゲート操作によって得ることができる。ノイズの影響は量子ゲート操作の回数におおよそ比例するため、NISQデバイス上で基準量子回路によって量子演算を行うよりも、短縮量子回路によって量子演算を行った方がより正確な計算結果を得ることができる。
【0010】
上記態様において、生成部における評価は、基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む複数の中間量子回路を生成し、複数の量子ビットに対して複数の中間量子回路による量子演算を行った場合に得られる確率分布と、複数の中間量子回路に含まれる量子演算の数とを変数とする評価関数に基づいて、複数の中間量子回路の中から短縮量子回路を探索することによって行われてもよい。
【0011】
この態様によれば、より短い量子回路によって所望の量子アルゴリズムをより正確に実行することができる。
【0012】
上記態様において、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得るように、複数の量子ビットに対して行う1又は複数の量子演算を出力するエージェントを、強化学習によって生成する強化学習部をさらに備え、生成部は、エージェントにより出力される1又は複数の量子演算に基づいて、短縮量子回路を生成し、強化学習部は、複数の量子ビットに対して行った1又は複数の量子演算を状態とし、複数の量子ビットに対して行う量子演算を行動とし、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と、行動として選択される1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布との一致度に基づき報酬を算出して、エージェントを生成してもよい。
【0013】
この態様によれば、基準量子回路を近似し得る量子演算の組み合わせが膨大であっても、強化学習を用いて適切な量子演算の組み合わせを効率的に探索することができる。
【0014】
上記態様において、生成部は、一致度と閾値との比較により算出される報酬に基づいて、エージェントによる行動の選択を終えるか否かを判定してもよい。
【0015】
この態様によれば、一致度を十分に高くしつつ、比較的短い量子回路を生成することができる。
【0016】
上記態様において、一致度は、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と、行動として選択される1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布とを変数とする関数で与えられてもよい。
【0017】
この態様によれば、強化学習の報酬が適切に設定され、学習の進行が円滑になる。
【0018】
上記態様において、関数は、コルモゴロフ距離又はバッタチャリア係数を含んでよい。
【0019】
上記態様において、エージェントは、モンテカルロ木探索を用いて行動を選択してもよい。
【0020】
この態様によれば、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得ることができるより短い量子ゲート操作の系列を生成することができる。
【0021】
上記態様において、エージェントは、状態をニューラルネットワークに入力して得られる出力値に基づいてモンテカルロ木探索を行ってもよい。
【0022】
この態様によれば、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得ることができるより短い量子ゲート操作の系列をより効率的に生成することができる。
【0023】
上記態様において、生成部は、モンテカルロ木探索を用いた行動の選択及び報酬の算出を複数回シミュレーションして得られる学習データに基づいて、ニューラルネットワークのパラメータを更新してもよい。
【0024】
この態様によれば、ニューラルネットワークによってより適切に状態を評価し、より適切な行動を選択できるようになる。
【0025】
上記態様において、生成部は、一致度及び状態に含まれる1又は複数の量子演算の数に基づいて報酬を算出してもよい。
【0026】
この態様によれば、より一致度が高く、より短い量子回路を生成するエージェントを強化学習によって生成することができる。
【0027】
本発明の他の態様に係る量子回路生成方法は、複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定することと、 基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、複数の量子ビットに対して短縮量子回路による量子演算を行った場合に得られる確率分布が、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成することと、を含む。
【0028】
この態様によれば、所望の量子アルゴリズムを実行する基準量子回路よりも量子演算の数が少ない短縮量子回路を生成し、基準量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布と近似する確率分布を得ることができ、NISQデバイス上で、多数回の量子ゲート操作を必要とする量子アルゴリズムと同様の演算結果を得ることができる。
【0029】
本発明の他の態様に係る量子回路生成プログラムは、量子回路生成装置に備えられた古典演算回路に、複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定することと、基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、複数の量子ビットに対して短縮量子回路による量子演算を行った場合に得られる確率分布が、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成することと、を実行させる。
【0030】
この態様によれば、所望の量子アルゴリズムを実行する基準量子回路よりも量子演算の数が少ない短縮量子回路を生成し、基準量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布と近似する確率分布を得ることができ、NISQデバイス上で、多数回の量子ゲート操作を必要とする量子アルゴリズムと同様の演算結果を得ることができる。
【図面の簡単な説明】
【0031】
【
図1】本発明の実施形態に係る量子回路生成装置の機能ブロックを示す図である。
【
図2】本実施形態に係る量子回路生成装置の物理的構成を示す図である。
【
図3】本実施形態に係る量子回路生成装置により設定される基準量子回路の一例を示す図である。
【
図4】本実施形態に係る量子回路生成装置により生成される短縮量子回路の一例を示す図である。
【
図5】異なる量子状態を基準量子回路及び本実施形態に係る量子回路生成装置により生成される短縮量子回路によりそれぞれ変換した場合に得られる確率分布のシミュレーション結果を示す図である。
【
図6】所定の量子状態を基準量子回路で変換した場合に得られる確率分布の理論解と、量子コンピュータによって所定の量子状態を基準量子回路により変換した場合に得られた確率分布と、量子コンピュータによって所定の量子状態を本実施形態に係る量子回路生成装置により生成される短縮量子回路により変換した場合に得られた確率分布とを示す図である。
【
図7】様々な量子状態を本実施形態に係る量子回路生成装置により生成される短縮量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度のシミュレーション結果を示す図である。
【
図8】様々な量子状態をランダムに生成した量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度のシミュレーション結果を示す図である。
【
図9】量子コンピュータによって様々な量子状態を基準量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度の実測結果を示す図である。
【
図10】量子コンピュータによって様々な量子状態を本実施形態に係る量子回路生成装置により生成される短縮量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度の実測結果を示す図である。
【
図11】本実施形態に係る量子回路生成装置によって実行される量子回路生成処理のフローチャートの一例である。
【
図12】本実施形態に係る量子回路生成装置によって実行されるモンテカルロ木探索処理のフローチャートの一例である。
【
図13】本実施形態に係る量子回路生成装置によって実行される学習処理のフローチャートの一例である。
【発明を実施するための形態】
【0032】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0033】
図1は、本発明の実施形態に係る量子回路生成装置10の機能ブロックを示す図である。 量子回路生成装置10は、設定部11と、強化学習部12と、生成部13とを備える。量子コンピュータ20は、任意のハードウェア(例えば超伝導量子回路や光量子回路)により量子ビットを構成し、量子ビットに対して量子ゲート操作を行うことにより量子計算を行う。量子コンピュータ20は、量子回路生成装置10により生成された量子回路に基づいて量子計算を行う。なお、量子コンピュータ20は、量子回路生成装置10に含まれてもよい。
【0034】
設定部11は、複数の量子ビットに対して行われる複数の量子演算を含む基準量子回路を設定する。基準量子回路は、所望の量子アルゴリズムを実行する量子回路であり、複数の量子演算は、複数の量子ゲートによって表される。基準量子回路は、複数の量子ビットの初期化及び測定の過程を含んでよい。基準量子回路により実行される量子アルゴリズムは、量子フーリエ変換、量子位相推定、グローバーの探索アルゴリズム及びショアの素因数分解アルゴリズム等を含むいわゆるLong-termアルゴリズムであってよく、変分量子固有値法、量子近似最適化法及び量子回路学習等を含むいわゆるNear-termアルゴリズムでなくてよい。
【0035】
生成部13は、基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む短縮量子回路であって、複数の量子ビットに対して短縮量子回路による量子演算を行った場合に得られる確率分布が、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似すると評価される短縮量子回路を生成する。ここで、量子演算の数は、量子ゲートの数であってよいが、例えば超伝導回路によって量子ビットを構成する場合、共振器等に高周波パルスを印加する回数を量子演算の数と定めてもよい。
【0036】
本実施形態に係る量子回路生成装置10によれば、所望の量子アルゴリズムを実行する基準量子回路よりも量子演算の数が少ない短縮量子回路を生成し、基準量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布と近似する確率分布を得ることができる。NISQデバイスでは、量子演算の数が多くなるほどノイズの影響を強く受け、信頼できる解が得られづらくなる。この点、本実施形態に係る量子回路生成装置10によれば、NISQデバイス上で、多数回の量子ゲート操作を必要とする量子アルゴリズムと同様の演算結果を得ることができる。
【0037】
生成部13における評価は、基準量子回路に含まれる量子演算の数よりも少ない数の量子演算を含む複数の中間量子回路を生成し、複数の量子ビットに対して複数の中間量子回路による量子演算を行った場合に得られる確率分布と、複数の中間量子回路に含まれる量子演算の数とを変数とする評価関数に基づいて、複数の中間量子回路の中から短縮量子回路を探索することによって行われてよい。評価関数は、量子演算の数が少ないほど高評価となり、基準量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布と、中間量子回路によって量子演算を行って複数の量子ビットを測定した場合に得られる確率分布との一致度が高いほど高評価となる。これにより、NISQデバイス上で、より短い量子回路によって所望の量子アルゴリズムをより正確に実行することができる。
【0038】
強化学習部12は、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得るように、複数の量子ビットに対して行う1又は複数の量子演算を出力するエージェント12aを、強化学習によって生成する。このとき、生成部13は、エージェント12aにより出力される1又は複数の量子演算に基づいて、短縮量子回路を生成する。
【0039】
強化学習部12は、複数の量子ビットに対して行った1又は複数の量子演算を状態とし、複数の量子ビットに対して行う量子演算を行動とし、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と、行動の結果得られる1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布との一致度に基づき報酬を算出して、エージェント12aを生成する。基準量子回路を近似し得る量子演算の組み合わせは膨大だが、強化学習を用いることで適切な量子演算の組み合わせを効率的に探索することができる。一致度は、複数の量子ビットに対して基準量子回路による量子演算を行った場合のシミュレーションによって得られる確率分布と、複数の量子ビットに対して短縮量子回路による量子演算を行った場合のシミュレーションによって得られる確率分布とについて算出してよい。もっとも、一致度は、複数の量子ビットに対して基準量子回路による量子演算を行った場合のシミュレーションによって得られる確率分布と、複数の量子ビットに対して短縮量子回路による量子演算をNISQデバイスによって行った場合に得られる確率分布とについて算出してよい。NISQデバイスによる実測結果を用いることで、短縮量子回路による量子演算の結果をより正確に反映した一致度を算出し、より適切な報酬を算出することができる。
【0040】
生成部13は、一致度と閾値との比較により算出される報酬に基づいて、エージェント12aによる行動の選択を終えるか否かを判定してもよい。例えば、生成部13は、一致度が閾値以上である場合に報酬を+1とし、一致度が閾値未満である場合に報酬を0としてよい。この場合、生成部13は、報酬が+1である場合にエージェント12aによる行動の選択を終えることとし、報酬が0である場合にはエージェント12aによる行動の選択を継続することとしてよい。ただし、報酬が0であっても、状態に含まれる量子演算の数が所定回数に達した場合にも、行動の選択を終えることとしてよい。これにより、一致度を十分に高くしつつ、比較的短い量子回路を生成することができる。
【0041】
一致度は、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と、行動として選択される1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布とを変数とする関数で与えられてもよい。具体的には、当該関数は、数式(1)で表されるコルモゴロフ距離、数式(2)で表されるバッタチャリア係数又はカルバック・ライブラーダイバージェンスを含んでよい。ここで、p0は、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布であり、p1は、行動として選択される1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布であり、Xは、量子ビットの観測され得る値の集合である。
【0042】
【0043】
【0044】
コルモゴロフ距離K(p0,p1)及びバッタチャリア係数B(p0,p1)は、0以上1以下の値を取る有界な関数であり、1-K(p0,p1)及びB(p0,p1)は、2つの確率分布p0,p1が一致する場合に1となる。このような関数を用いることで、強化学習の報酬が適切に設定され、学習の進行が円滑になる。
【0045】
強化学習のエージェントは、モンテカルロ木探索を用いて行動を選択してよい。モンテカルロ木探索の詳細については、後に図面を用いて詳細に説明する。モンテカルロ木探索を用いて行動を選択することで、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得ることができるより短い量子ゲート操作の系列を生成することができる。
【0046】
強化学習のエージェントは、状態をニューラルネットワークに入力して得られる出力値に基づいてモンテカルロ木探索を行ってもよい。ここで、ニューラルネットワークは、状態を入力として、その状態の評価値及びその状態で特定の行動が選ばれる確率を出力するものであってよい。これにより、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と近似する確率分布を得ることができるより短い量子ゲート操作の系列をより効率的に生成することができる。
【0047】
生成部13は、モンテカルロ木探索を用いた行動の選択及び報酬の算出を複数回シミュレーションして得られる学習データに基づいて、ニューラルネットワークのパラメータを更新してよい。これにより、ニューラルネットワークによってより適切に状態を評価し、適切な行動を選択できるようになる。
【0048】
生成部13は、一致度及び状態に含まれる1又は複数の量子演算の数に基づいて報酬を算出してもよい。生成部13は、例えば、一致度が高いほど報酬が高く、状態に含まれる1又は複数の量子演算の数が少ないほど報酬が高くなるように、報酬を算出してよい。これにより、より一致度が高く、より短い量子回路を生成するエージェントを強化学習によって生成することができる。
【0049】
量子ビットを超伝導量子回路によって構成する場合、生成部13は、短縮量子回路に含まれる個々の量子演算を実現するマイクロ波パルスを生成してもよい。その場合、強化学習部12は、複数の量子ビットに対して行った1又は複数の量子演算を実現するマイクロ波パルスの系列を状態とし、複数の量子ビットに対して行う量子演算を実現するマイクロ波パルスを行動とし、複数の量子ビットに対して基準量子回路による量子演算を行った場合に得られる確率分布と、行動として選択される1又は複数の量子演算を複数の量子ビットに対して行った場合に得られる確率分布との一致度に基づき報酬を算出して、エージェント12aを生成してよい。
【0050】
図2は、本実施形態に係る量子回路生成装置10の物理的構成を示す図である。量子回路生成装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read Only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では量子回路生成装置10が一台のコンピュータで構成される場合について説明するが、量子回路生成装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図2で示す構成は一例であり、量子回路生成装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。例えば、量子回路生成装置10は、量子コンピュータ20の物理的構成を含んでもよい。
【0051】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、短縮量子回路を生成するプログラム(量子回路生成プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0052】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行する量子回路生成プログラム、深層強化学習に用いる学習データ等を記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0053】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば量子回路生成プログラムや、書き換えが行われないデータを記憶してよい。
【0054】
通信部10dは、量子回路生成装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0055】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0056】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、生成された量子回路を表示してよい。
【0057】
量子回路生成プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。量子回路生成装置10では、CPU10aが量子回路生成プログラムを実行することにより、
図1を用いて説明した設定部、強化学習部及び生成部の動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、量子回路生成装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。また、量子回路生成装置10は、GPU(Graphical Processing Unit)を備えたり、ASIC(Application Specific Integrated Circuit)を備えていたりしてもよい。
【0058】
図3は、本実施形態に係る量子回路生成装置10により設定される基準量子回路の一例を示す図である。同図では、第1量子ビットq
0、第2量子ビットq
1及び第3量子ビットq
2を含む始状態|Ψ>に対して、アダマードゲートH、π/4ゲートU
1 π
/4、-π/4ゲートU
1 -π
/4及び制御NOTゲートのいずれかを所定の順序で作用させ、終状態|Ψ´>を得る量子回路を示している。この場合、(q
0,q
1,q
2)の測定値の確率分布は、p(q
0,q
1,q
2)=|<q
0,q
1,q
2|Ψ´>|
2により算出される。本例に示す基準量子回路は、量子フーリエ変換を実行する量子回路であり、21の量子ゲート操作を含む。
【0059】
図4は、本実施形態に係る量子回路生成装置10により生成される短縮量子回路の一例を示す図である。同図では、第1量子ビットq
0、第2量子ビットq
1及び第3量子ビットq
2を含む始状態|Ψ>に対して、アダマードゲートH、π/4ゲートU
1 π
/4、-π/4ゲートU
1 -π
/4及び制御NOTゲートのいずれかを所定の順序で作用させ、終状態|Ψ´>を得る量子回路を示している。この場合も、(q
0,q
1,q
2)の測定値の確率分布は、p(q
0,q
1,q
2)=|<q
0,q
1,q
2|Ψ´>|
2により算出される。本例に示す短縮量子回路は、基準量子回路を近似する量子回路であり、5つの量子ゲート操作を含む。本例の短縮量子回路に含まれる量子ゲートの数は、基準量子回路に含まれる量子ゲートの数より少なく、1/4程度である。
【0060】
図5は、異なる量子状態を基準量子回路及び本実施形態に係る量子回路生成装置10により生成される短縮量子回路によりそれぞれ変換した場合に得られる確率分布のシミュレーション結果を示す図である。同図では、第1入力(第1量子状態)を基準量子回路に入力した場合に測定される量子ビットの確率分布のシミュレーション結果及び第1入力(第1量子状態)を短縮量子回路に入力した場合に測定される量子ビットの確率分布のシミュレーション結果を左列に示している。また、第2入力(第2量子状態)を基準量子回路に入力した場合に測定される量子ビットの確率分布のシミュレーション結果及び第2入力(第2量子状態)を短縮量子回路に入力した場合に測定される量子ビットの確率分布のシミュレーション結果を右列に示している。同図に示されているように、異なる量子状態を基準量子回路及び短縮量子回路によりそれぞれ変換した場合に得られる確率分布は近似している。なお、本例では2種類の量子状態を基準量子回路及び短縮量子回路によりそれぞれ変換した場合に得られる確率分布のシミュレーション結果を示しているが、3種類以上の多様な量子状態を入力した場合にも、同様に近似した確率分布が得られる。
【0061】
図6は、所定の量子状態を基準量子回路で変換した場合に得られる確率分布の理論解と、量子コンピュータ20によって所定の量子状態を基準量子回路により変換した場合に得られた確率分布と、量子コンピュータ20によって所定の量子状態を本実施形態に係る量子回路生成装置10により生成される短縮量子回路により変換した場合に得られた確率分布とを示す図である。同図のうち、基準量子回路及び短縮量子回路により量子状態を変換した場合に得られた確率分布は、実際に量子コンピュータ20に基準量子回路及び短縮量子回路をそれぞれ設定し、実測した結果である。なお、量子コンピュータ20は、NISQデバイスであり、ノイズの影響を取り除くことができない。
【0062】
量子コンピュータ20によって所定の量子状態を基準量子回路により変換した場合に得られた確率分布は、確率分布の理論解との一致度が低くなっている。具体的には、確率分布の複数のピークが潰れてなだらかになり、一様分布に近付いてしまっている。これは、21回の量子ゲート操作を行う過程でノイズの影響を強く受けてしまい、意図しない擾乱を受けてしまっているからである。
【0063】
量子コンピュータ20によって所定の量子状態を短縮量子回路により変換した場合に得られた確率分布は、確率分布の理論解との一致度が高くなっている。具体的には、確率分布の複数のピークが正しく現れており、理論解と同様のピークが再現されている。これは、短縮量子回路が5回の量子ゲート操作しか含まず、ノイズの影響を受けづらいためである。このように、基準量子回路を近似する短縮量子回路を用いることで、基準量子回路を用いる場合よりも理論解に近い確率分布を得ることができる。
【0064】
図7は、様々な量子状態を本実施形態に係る量子回路生成装置10により生成される短縮量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度のシミュレーション結果を示す図である。同図では、一致度として、横軸に数式(2)で表されるバッタチャリア係数Bを示し、縦軸に数式(1)で表されるコルモゴロフ尺度K
-(=1-K)を示している。確率分布が完全一致する場合、B=K
-=1となる。
【0065】
シミュレーション結果によると、バッタチャリア係数の平均はBave=0.93であり、コルモゴロフ尺度の平均はK-
ave=0.83である。
【0066】
図8は、様々な量子状態をランダムに生成した量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度のシミュレーション結果を示す図である。 同図では、
図7と同様に、一致度として、横軸に数式(2)で表されるバッタチャリア係数Bを示し、縦軸に数式(1)で表されるコルモゴロフ尺度K
-(=1-K)を示している。
【0067】
シミュレーション結果によると、ランダムに生成した量子回路を用いる場合、バッタチャリア係数の平均はBave=0.45であり、コルモゴロフ尺度の平均はK-
ave=0.26である。このように、本実施形態に係る量子回路生成装置10により生成される短縮量子回路を用いることで、基準量子回路によって量子状態を変換した場合に得られる確率分布の理論解を精度良く再現できる。
【0068】
図9は、量子コンピュータ20によって様々な量子状態を基準量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度の実測結果を示す図である。同図では、
図7と同様に、一致度として、横軸に数式(2)で表されるバッタチャリア係数Bを示し、縦軸に数式(1)で表されるコルモゴロフ尺度K
-(=1-K)を示している。同図に示す各点は、量子コンピュータ20に基準量子回路を設定し、様々な量子状態を変換した場合に得られる確率分布を実測して算出した一致度である。
【0069】
実測結果によると、量子コンピュータ20に基準量子回路を設定した場合、バッタチャリア係数の平均はBave=0.932であり、コルモゴロフ尺度の平均はK-
ave=0.788である。
【0070】
図10は、量子コンピュータ20によって様々な量子状態を本実施形態に係る量子回路生成装置10により生成される短縮量子回路により変換した場合に得られる確率分布と、確率分布の理論解との一致度の実測結果を示す図である。同図では、
図7と同様に、一致度として、横軸に数式(2)で表されるバッタチャリア係数Bを示し、縦軸に数式(1)で表されるコルモゴロフ尺度K
-(=1-K)を示している。同図に示す各点は、量子コンピュータ20に短縮量子回路を設定し、様々な量子状態を変換した場合に得られる確率分布を実測して算出した一致度である。
【0071】
実測結果によると、量子コンピュータ20に短縮量子回路を設定した場合、バッタチャリア係数の平均はBave=0.941であり、コルモゴロフ尺度の平均はK-
ave=0.820である。このように、量子コンピュータ20上では、短縮量子回路を用いることで、基準量子回路を用いる場合よりも理論解に近い確率分布が得られることが、一致度の観点からも確認することができる。
【0072】
図11は、本実施形態に係る量子回路生成装置10によって実行される量子回路生成処理のフローチャートの一例である。本例では、深層強化学習を用いて、短縮量子回路を生成する処理を示す。はじめに、量子回路生成装置10は、強化学習の状態sを初期状態s
1とし、モンテカルロ木探索(Monte Carlo Tree Search; MCTS)のカウンタcount
MCTSを0に初期化する(S10)。
【0073】
その後、量子回路生成装置10は、モンテカルロ木探索を実行し(S11)、カウンタcountMCTSを1インクリメントする(S12)。そして、カウンタcountMCTSが所定の回数numMCTSに達していない場合(S13:NO)、処理S11~S12を繰り返し実行する。なお、モンテカルロ木探索の詳細については、次図を用いて説明する。
【0074】
カウンタcountMCTSが所定の回数numMCTSに達した場合(S13:YES)、モンテカルロ木探索の結果から方策を決定し、方策に従って行動を選択する(S14)。ここで、モンテカルロ木探索における状態s及び行動aに関するノードの訪問回数をN(s,a)と表すとき、方策π(s,a)は、π(s,a)∝N(s,a)と定めてよい。
【0075】
その後、量子回路生成装置10は、遷移後の状態s´に関して報酬rを算出する(S15)。報酬rは、遷移後の状態s´に含まれる1又は複数の量子演算を用いて量子状態を変換した場合に得られる確率分布と、理論解の確率分布との一致度が閾値以上である場合に1、それ以外の場合に0として算出してよい。
【0076】
量子回路生成装置10は、報酬rが1である場合(S16:YES)、処理を終了し、遷移後の状態s´に含まれる1又は複数の量子演算を短縮量子回路として出力する。一方、報酬rが1でない場合(S16:NO)、状態をsからs´に更新し、カウンタcountMCTSを0に初期化して(S17)、処理S11以降を繰り返し実行する。
【0077】
図12は、本実施形態に係る量子回路生成装置10によって実行されるモンテカルロ木探索処理のフローチャートの一例である。はじめに、量子回路生成装置10は、状態sに関して報酬rを計算する(S20)。そして、r=1である場合(S21:YES)、V(s)=1とする(S24)。一方、r=1でなく(S21:NO)、状態sがリーフノードである場合(S22:YES)、ニューラルネットワークに状態sを入力して得られる出力に基づいて、新しいノードを展開する(S25)。ここで、ニューラルネットワークの出力は、状態sの価値V(s)と、状態sにおいて行動aを選択する確率P(s,a)を含んでよい。
【0078】
一方、r=1でなく(S21:NO)、状態sがリーフノードでない場合(S22:NO)、Qarc(s,a)を最大にする行動aを行い、状態をsからs´に遷移させ(S23)、処理S20以降を繰り返し実行する。ここで、Qarc(s,a)=Q(s,a)+U(s,a)であり、Q(s,a)=Σs´|s,a→s´V(s´)/N(s,a)、U(s,a)=cpuctP(s,a)√ΣbN(s,b)/(1+N(s,a))で定義される。
【0079】
処理S24又はS25を実行した後、状態sがルートノードでなければ場合(S26:NO)、量子回路生成装置10は、1つ前の状態sbについて、N(sb,a)を1インクリメントし、W(sb,a)をV(s)だけインクリメントする(S27)。なお、Q(s,a)=W(s,a)/N(s,a)である。また、量子回路生成装置10は、状態をsからsbに逆遷移させ(S28)、処理S26以降を繰り返し実行する。
【0080】
図13は、本実施形態に係る量子回路生成装置10によって実行される学習処理のフローチャートの一例である。はじめに、量子回路生成装置10は、カウンタcount
ITERを0に初期化し(S30)、カウンタcount
EPSを0に初期化する(S31)。
【0081】
次に、量子回路生成装置10は、
図11に示す探索処理を実行し(S32)、カウンタcount
EPSを1インクリメントする(S33)。そして、カウンタcount
EPSが所定の回数num
EPSに達していない場合(S34:NO)、処理S32~S33を繰り返し実行する。量子回路生成装置10は、このようにして行われるいわゆるセルフプレイによって、ニューラルネットワークの学習データを蓄積する。なお、セルフプレイは、量子回路生成装置10に備えられた古典演算回路によって量子演算をシミュレートすることで行われてよいが、量子コンピュータ20による実測結果を用いて行われてもよい。
【0082】
量子回路生成装置10は、探索処理で記録した学習データを用いて、ニューラルネットワークのパラメータを更新する。具体的には、探索処理によって状態s、方策π、報酬zを記録し、ニューラルネットワークの出力v及びpについて、L=(z-v)2-πlog(p)という損失関数を最小化するように、誤差逆伝播法によってニューラルネットワークのパラメータを更新する。損失関数には、ニューラルネットワークの過学習を抑える正則化項を加えてもよい。
【0083】
その後、量子回路生成装置10は、カウンタcountITERを1インクリメントし(S36)、カウンタcountITERが所定の回数numITERに達していない場合(S37:NO)、処理S31~S36を繰り返し実行する。
【0084】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【0085】
10…量子回路生成装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…設定部、12…強化学習部、12a…エージェント、13…生成部、20…量子コンピュータ