IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-169766量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法
<>
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図1
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図2
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図3
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図4
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図5
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図6
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図7
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図8
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図9
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図10
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図11
  • 特開-量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169766
(43)【公開日】2023-11-30
(54)【発明の名称】量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法
(51)【国際特許分類】
   G06N 10/20 20220101AFI20231122BHJP
【FI】
G06N10/20
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022081083
(22)【出願日】2022-05-17
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】佐藤 直人
(72)【発明者】
【氏名】森 拓郎
(57)【要約】
【課題】量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能とする。
【解決手段】量子コンピュータ活用支援システム10において、処理対象の量子処理と類似する量子処理を変換前量子処理として複数特定し、それぞれに対応する変換後量子処理、量子計算機能、及び変換アルゴリズムの各情報を取得し、量子計算機能の特性に基づいて変換後量子処理を評価し、評価結果が最も良い変換後量子処理に対応する量子計算機能及び変換アルゴリズムを処理対象の量子処理に使用するものとして選択する演算装置104を含む構成とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
量子処理を実行するための量子計算機能、及び前記量子計算機能で実行可能な演算子、量子処理を前記演算子で構成された等価な変換後量子処理に変換する変換アルゴリズム、及び所定の量子計算機能で実行する所定の量子処理について、前記変換アルゴリズムで変換後量子処理に変換した履歴、の各情報を保持する記憶装置と、
処理対象の量子処理と類似する前記所定の量子処理を、変換前量子処理として前記履歴から複数特定し、前記複数特定した前記変換前量子処理それぞれに対応する、変換後量子処理、量子計算機能、及び変換アルゴリズム、の各情報を前記履歴から取得する処理と、前記履歴から情報を取得した量子計算機能の特性に基づいて、前記履歴から取得した前記変換後量子処理を評価する処理と、前記評価の結果が最も良い前記変換後量子処理に対応する前記量子計算機能及び前記変換アルゴリズムを、前記処理対象の量子処理に使用するものとして選択する処理を実行する演算装置と、
を備えることを特徴とする量子コンピュータ活用支援システム。
【請求項2】
前記演算装置は、
量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で、前記処理対象の量子処理と類似する前記変換前量子処理を特定するものである、
ことを特徴とする請求項1に記載の量子コンピュータ活用支援システム。
【請求項3】
前記演算装置は、
所定のプログラムに含まれ、前記処理対象となる量子処理に関して、前記変換アルゴリズムを適用することで変換後プログラムを作成し、前記変換後プログラムにおいて、前記量子計算機能への計算依頼対象となるプログラムブロックを、計算依頼対象ブロックとして決定し、前記計算依頼対象ブロックの実行を前記量子計算機能に依頼する処理と、
前記量子計算機能から、前記計算依頼対象ブロックの実行結果を取得し、当該実行結果の評価結果に基づいて再計算の要否を判断する処理と、
をさらに実行するものである、
ことを特徴とする請求項1に記載の量子コンピュータ活用支援システム。
【請求項4】
前記演算装置は、
前記量子計算機能の情報が示す、当該量子計算機能の特性情報である、前記量子処理を構成する演算子を実行した場合に発生する誤りに関する演算子誤り情報、または量子の状態を正しく維持できる時間に関する状態維持時間情報の少なくともいずれかに基づいて、前記履歴から取得した前記変換後量子処理を評価するものである、
ことを特徴とする請求項3に記載の量子コンピュータ活用支援システム。
【請求項5】
前記演算装置は、
前記演算子誤り情報または前記状態維持時間情報の少なくともいずれかに基づき、前記変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価するものである、
ことを特徴とする請求項4に記載の量子コンピュータ活用支援システム。
【請求項6】
前記演算装置は、
前記実行結果に含まれる、前記変換後量子処理の計算に要した計算時間と、前記状態維持時間情報とを比較することで、前記実行結果を評価するものである、
ことを特徴とする請求項4に記載の量子コンピュータ活用支援システム。
【請求項7】
前記演算装置は、
前記処理対象の量子処理、当該量子処理に関する前記変換後量子処理、及び前記実行結
果を対応付けて記憶装置に登録し、以後の評価に用いるものである、
ことを特徴とする請求項3に記載の量子コンピュータ活用支援システム。
【請求項8】
前記演算装置は、
前記量子計算機能の特性情報に含まれる、前記量子処理を構成する演算子の実行にかかる時間を表す演算子実行時間情報に基づき、前記変換後量子処理の実行にかかる想定時間を算出し、前記想定時間と前記状態維持時間情報とを比較することで前記実行結果を評価するものである、
ことを特徴とする請求項4に記載の量子コンピュータ活用支援システム。
【請求項9】
情報処理装置が、
量子処理を実行するための量子計算機能、及び前記量子計算機能で実行可能な演算子、量子処理を前記演算子で構成された等価な変換後量子処理に変換する変換アルゴリズム、及び所定の量子計算機能で実行する所定の量子処理について、前記変換アルゴリズムで変換後量子処理に変換した履歴、の各情報を記憶装置で保持し、
処理対象の量子処理と類似する前記所定の量子処理を、変換前量子処理として前記履歴から複数特定し、前記複数特定した前記変換前量子処理それぞれに対応する、変換後量子処理、量子計算機能、及び変換アルゴリズム、の各情報を前記履歴から取得する処理と、前記履歴から情報を取得した量子計算機能の特性に基づいて、前記履歴から取得した前記変換後量子処理を評価する処理と、前記評価の結果が最も良い前記変換後量子処理に対応する前記量子計算機能及び前記変換アルゴリズムを、前記処理対象の量子処理に使用するものとして選択する処理、
を実行することを特徴とする量子コンピュータ活用支援方法。
【請求項10】
前記情報処理装置が、
量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で、前記処理対象の量子処理と類似する前記変換前量子処理を特定する、
ことを特徴とする請求項9に記載の量子コンピュータ活用支援方法。
【請求項11】
前記情報処理装置が、
所定のプログラムに含まれ、前記処理対象となる量子処理に関して、前記変換アルゴリズムを適用することで変換後プログラムを作成し、前記変換後プログラムにおいて、前記量子計算機能への計算依頼対象となるプログラムブロックを、計算依頼対象ブロックとして決定し、前記計算依頼対象ブロックの実行を前記量子計算機能に依頼する処理と、
前記量子計算機能から、前記計算依頼対象ブロックの実行結果を取得し、当該実行結果の評価結果に基づいて再計算の要否を判断する処理と、
をさらに実行することを特徴とする請求項9に記載の量子コンピュータ活用支援方法。
【請求項12】
前記情報処理装置が、
前記量子計算機能の情報が示す、当該量子計算機能の特性情報である、前記量子処理を構成する演算子を実行した場合に発生する誤りに関する演算子誤り情報、または量子の状態を正しく維持できる時間に関する状態維持時間情報の少なくともいずれかに基づいて、前記履歴から取得した前記変換後量子処理を評価する、
ことを特徴とする請求項11に記載の量子コンピュータ活用支援方法。
【請求項13】
前記情報処理装置が、
前記演算子誤り情報または前記状態維持時間情報の少なくともいずれかに基づき、前記変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価する、
ことを特徴とする請求項12に記載の量子コンピュータ活用支援方法。
【請求項14】
前記情報処理装置が、
前記実行結果に含まれる、前記変換後量子処理の計算に要した計算時間と、前記状態維持時間情報とを比較することで、前記実行結果を評価する、
ことを特徴とする請求項12に記載の量子コンピュータ活用支援方法。
【請求項15】
前記情報処理装置が、
前記処理対象の量子処理、当該量子処理に関する前記変換後量子処理、及び前記実行結果を対応付けて記憶装置に登録し、以後の評価に用いる、
ことを特徴とする請求項11に記載の量子コンピュータ活用支援方法。
【請求項16】
前記情報処理装置が、
前記量子計算機能の特性情報に含まれる、前記量子処理を構成する演算子の実行にかかる時間を表す演算子実行時間情報に基づき、前記変換後量子処理の実行にかかる想定時間を算出し、前記想定時間と前記状態維持時間情報とを比較することで前記実行結果を評価する、
ことを特徴とする請求項12に記載の量子コンピュータ活用支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子コンピュータ活用支援システム及び量子コンピュータ活用支援方法に関するものである。
【背景技術】
【0002】
近年、量子コンピュータの実用化が見込まれている。しかし、こうした量子コンピュータでは、物理的なノイズの影響によって量子ビットに誤りを生じうる。現段階では、この誤りを完全に訂正することは困難である。
そのため、量子コンピュータにおける計算結果が理論値とかけ離れる、すなわち忠実度が低くなる可能性がある。特に、計算結果の理論値が分かっていない場合や、当該計算結果を検算できない場合、計算結果の忠実度が低いことに誰も気がつかないまま、当該計算結果が使用される可能性がある。
【0003】
一方、量子ビットに生じる誤りの種類や大きさ(度合い)、あるいはその発生条件は、量子コンピュータの特性に依存する。例えば、誤りが発生しやすい演算子、誤りが発生しにくい演算子は、量子コンピュータごとに異なる。
【0004】
また、計算の開始から終了までに一定以上の時間がかかると、量子ビットに誤りが発生することが知られているが、その時間の長さは量子コンピュータごとに異なる。
【0005】
現状、複数の企業で異なる特性を持つ量子コンピュータの開発が進められており、それらの企業は、量子コンピュータによる量子計算機能をクラウドサービスとして提供することが見込まれる。このように、特性の異なる量子コンピュータで実装された量子計算機能が複数提供されることを想定すると、対象の量子計算処理に応じて、忠実度の高い計算結果を返す量子計算機能を選択できることが望ましい。
【0006】
上述の忠実度の取扱いに関連する従来技術としては、量子ハードウェアの忠実度を推定するための方法および装置(特許文献1参照)などが提案されている。
【0007】
この技術は、量子ゲートのセットにアクセスするステップと、前記量子ゲートのセットから量子ゲートのサブセットをサンプリングするステップであって、量子ゲートの前記サブセットが量子回路を定義する、ステップと、前記量子回路を量子システムに適用し、前記量子システムの出力情報を決定するために前記量子システム上で測定を行うステップと、前記量子システムへの前記量子回路の適用に基づいて、前記量子システムの出力情報を計算するステップと、前記量子システムの前記決定された出力情報および前記計算された出力情報に基づいて、前記量子回路の忠実度を推定するステップを含む、方法に係る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2020-80173号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、量子計算処理は、量子ビットに対する操作を表す演算子(ゲート)の列で構成される。上述の特許文献1では、そうした演算子の実行に伴って発生する誤りを、量子コンピュータの特性として特定する技術が示されている。
当該技術を使うことで、量子計算処理を構成する演算子の種類や数から、計算結果の忠
実度を推定できる可能性がある。
【0010】
しかし、量子コンピュータによっては、特定の演算子を実行できないものもある。その場合、当該演算子が含まれる量子計算処理を、別の演算子で構成される等価な量子計算処理に変換(トランスパイル)する必要がある。
【0011】
この変換のアルゴリズムは多数存在する。よって、変換の結果得られる量子計算処理の構造は、変換アルゴリズムに依存して種々異なることになる。そして、どの変換アルゴリズムを採用すると忠実度の高い計算結果が得られる(量子計算処理に変換できる)かは自明ではない。
【0012】
つまり、ある量子計算処理が与えられた場合、量子計算機能と変換アルゴリズムを任意に選択し、実際に変換を実行してみなければ、その量子計算機能と変換アルゴリズムの組合せが適切かを推定できない。
【0013】
また、アプリケーションの一部分で量子計算を使用している場合、アプリケーション全体のレスポンスタイム要件に基づいて量子計算に使える時間も限られる。そのため、あらゆる量子計算機能と変換アルゴリズムの組合せを実行し、推定結果を比較評価するのは困難である。
【0014】
よって結局、数多の量子計算機能と変換アルゴリズムの組合せから、適切なものを変換実行「候補」として選択する必要がある。
【0015】
また、量子計算処理を構成する演算子に基づいて導出した忠実度は、あくまで推定結果であり、実際と異なる可能性もある。よって、量子計算処理の構成に基づいて忠実度が高いと推定される量子計算機能と変換アルゴリズムを選択できたとしても、実際に忠実度の高い計算結果を得られるとは限らない。
【0016】
そこで本発明の目的は、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能とする技術を提供することにある。
【課題を解決するための手段】
【0017】
上記課題を解決する本発明の量子コンピュータ活用支援システムは、量子処理を実行するための量子計算機能、及び前記量子計算機能で実行可能な演算子、量子処理を前記演算子で構成された等価な変換後量子処理に変換する変換アルゴリズム、及び所定の量子計算機能で実行する所定の量子処理について、前記変換アルゴリズムで変換後量子処理に変換した履歴、の各情報を保持する記憶装置と、処理対象の量子処理と類似する前記所定の量子処理を、変換前量子処理として前記履歴から複数特定し、前記複数特定した前記変換前量子処理それぞれに対応する、変換後量子処理、量子計算機能、及び変換アルゴリズム、の各情報を前記履歴から取得する処理と、前記履歴から情報を取得した量子計算機能の特性に基づいて、前記履歴から取得した前記変換後量子処理を評価する処理と、前記評価の結果が最も良い前記変換後量子処理に対応する前記量子計算機能及び前記変換アルゴリズムを、前記処理対象の量子処理に使用するものとして選択する処理を実行する演算装置と、を備えることを特徴とする。
また、本発明の量子コンピュータ活用支援方法は、情報処理装置が、量子処理を実行するための量子計算機能、及び前記量子計算機能で実行可能な演算子、量子処理を前記演算子で構成された等価な変換後量子処理に変換する変換アルゴリズム、及び所定の量子計算機能で実行する所定の量子処理について、前記変換アルゴリズムで変換後量子処理に変換した履歴、の各情報を記憶装置で保持して、処理対象の量子処理と類似する前記所定の量子処理を、変換前量子処理として前記履歴から複数特定し、前記複数特定した前記変換前
量子処理それぞれに対応する、変換後量子処理、量子計算機能、及び変換アルゴリズム、の各情報を前記履歴から取得する処理と、前記履歴から情報を取得した量子計算機能の特性に基づいて、前記履歴から取得した前記変換後量子処理を評価する処理と、前記評価の結果が最も良い前記変換後量子処理に対応する前記量子計算機能及び前記変換アルゴリズムを、前記処理対象の量子処理に使用するものとして選択する処理、を実行することを特徴とする。
【発明の効果】
【0018】
本発明によれば、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【図面の簡単な説明】
【0019】
図1】本実施形態の量子コンピュータ活用支援システムを含むネットワーク構成図である。
図2】本実施形態における量子プログラム実行装置のハードウェア構成例を示す図である。
図3】本実施形態における量子コンピュータ活用支援方法のフロー画面例を示す図である。
図4】本実施形態におけるプログラムと量子処理の例を示す図である。
図5】本実施形態における類似度の評価事例を示す図である。
図6】本実施形態における変換アルゴリズムによる変換例を示す図である。
図7】本実施形態における量子計算機能特性情報の構成例を示す図である。
図8】本実施形態における量子計算機能・変換アルゴリズムの選択方法例を示す図である。
図9】本実施形態における量子計算機能・変換アルゴリズムの選択方法例を示す図である。
図10】本実施形態における想定時間の算出例を示す図である。
図11】本実施形態における計算依頼対象ブロックの例を示す図である。
図12】本実施形態における量子計算の実行結果及びその評価例を示す図である。
【発明を実施するための形態】
【0020】
<ネットワーク構成>
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の量子コンピュータ活用支援システム10を含むネットワーク構成図である。図1に示す量子コンピュータ活用支援システム10は、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能とするコンピュータシステムである。
【0021】
本実施形態の量子コンピュータ活用支援システム10は、図1で示すように、量子プログラム実行装置100と、量子計算機能200とが、インターネットなどの適宜なネットワーク1を介して通信可能に接続されることで構成されている。よって、これらを総称して量子コンピュータ活用支援システム10としてもよい。
【0022】
本実施形態の量子プログラム実行装置100は、実行対象となる量子プログラムに関して、使用すべき量子計算機能と変換アルゴリズムの組合せの選択を支援する情報処理装置である。量子プログラム実行装置100は、上述の選択で選ばれた量子計算機能200に対して、量子プログラムを入力し、その実行結果を得ることとなる。
【0023】
一方、量子計算機能200は、量子計算装置を運用する企業、組織等がインターネットを介して外部に提供する量子計算の機能であって、具体的には量子計算サービスの提供装
置である。
<ハードウェア構成>
また、本実施形態の量子プログラム実行装置100のハードウェア構成は、図2に示す如くとなる。すなわち量子プログラム実行装置100は、記憶装置101、メモリ103、演算装置104、および通信装置105、を備える。
【0024】
このうち記憶装置101は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
【0025】
また、メモリ103は、RAMなど揮発性記憶素子で構成される。
【0026】
また、演算装置104は、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUである。
【0027】
演算装置104によるプログラム102の実行で実装される機能としては、プログラム変換部114、プログラム実行部116、及び量子計算実行結果評価部118が該当する。 また、通信装置105は、ネットワーク1と接続して量子計算機能200との通信処理を担うネットワークインターフェイスカード等を想定する。
【0028】
なお、量子プログラム実行装置100は、ユーザからのキー入力や音声入力を受け付ける入力装置、処理データの表示を行うディスプレイ等の出力装置、を更に備えるとすれば好適である。
【0029】
また、記憶装置101内には、本実施形態の量子プログラム実行装置100として必要な機能を実装する為のプログラム102に加えて、量子計算処理変換履歴保持部110、量子計算処理変換アルゴリズム保持部111、プログラム保持部112、量子計算機能特性情報保持部113、変換後プログラム保持部115、及び量子計算実行結果保持部117が少なくとも形成されている。
【0030】
このうち量子計算処理変換履歴保持部110は、演算子で構成される量子処理を、変換アルゴリズムに適用することで、量子計算機能200で実行可能な演算子で再構成すなわち変換した履歴を保持するものである。この履歴には、変換前の量子処理、適用した変換アルゴリズム、及び変換後の量子処理と、それらの評価結果等が含まれている。
【0031】
また、量子計算処理変換アルゴリズム保持部111は、或る量子処理を、等価だが、構成演算子が一部又は全部異なる形態の量子処理に変換する変換アルゴリズムを保持するものである。なお、こうした変換アルゴリズム自体は、量子計算機能200などにより、あらかじめ提供されているものとする。
【0032】
また、プログラム保持部112は、処理対象となる量子処理を含むプログラムが保持されているものとなる。ここで保持されるプログラムは、所定の管理者等により格納されているものとする。
【0033】
また、量子計算機能特性情報保持部113は、量子計算機能200における特性情報として、状態維持時間(コヒーレンス時間)、時間経過に伴う誤り計算関数、採用可能な演算子、当該演算子での誤り情報や実行時間といった情報が保持されている。
【0034】
また、変換後プログラム保持部115は、変換前のプログラム(量子処理を含むもの)が変換アルゴリズムで等価に変換された、変換後のプログラムを保持するものとなる。
【0035】
また、量子計算実行結果保持部117は、上述の変換後のプログラムを対応する量子計算機能200で実行された結果やその評価に関する情報を保持するものとなる。
<フロー例>
以下、本実施形態における量子コンピュータ活用支援方法の実際手順について図に基づき説明する。以下で説明する量子コンピュータ活用支援方法に対応する各種動作は、量子プログラム実行装置100がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【0036】
図3は、本実施形態における量子コンピュータ活用支援方法のフロー例を示す図である。この場合、量子プログラム実行装置100のプログラム変換部114は、今回の処理対象の量子処理(例:ユーザ指定のプログラムで、プログラム保持部112で保持する該当プログラムが含むもの)と類似する、過去処理対象となっていた量子処理を、量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で量子計算処理変換履歴保持部110にて特定し、これを変換前量子処理として複数特定する(s1)。
【0037】
なお、上述の処理対象の量子処理はプログラムに含まれるものとする。このプログラムの例を図4に示す。図4で例示するように、量子処理がプログラムに含まれており、また、その量子処理は演算子を組み合わせた回路形式で表現できる。
【0038】
そこで、量子処理の類似を検討する場合、図5で示す類似度の評価事例のように、量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で類似判断を行うこととする。
【0039】
例えば、今回の処理対象の量子処理が、H演算子1つとCX演算子2つから構成されている場合、Z演算子1つとCX演算子2つから構成される量子処理は、H演算子とZ演算子が異なることで類似度は「-1」と判断される。また、Z演算子2つとY演算子1つから構成される量子処理は、Z演算子2つ、CX演算子1つ、及びY演算子1つが、それぞれ異なることで類似度は「-4」と判断される。量子プログラム実行装置100は、こうした類似度の判断の結果、類似度が最大のものを変換前量子処理として特定する。
【0040】
なお、今回処理対象となっている量子処理と異なり、理論値が計算できる程度小規模であるが、演算子の種類は共通している過去処理対象の量子処理を選定するとすれば好適である。
【0041】
また、或る量子処理を、当該量子処理の構成を等価な演算子で置換することで、或る量子処理に変換する具体的な例、すなわち変換アルゴリズムによる変換例を図6に示す。
【0042】
図6では、量子ビット“q1”にH演算子とM演算子が、量子ビット“q2”及び“q3”に、CX演算子が1つずつ配置された量子処理を、変換アルゴリズムで3パターンに変換した状況を示している。
【0043】
また、量子プログラム実行装置100のプログラム変換部114は、s1で複数特定した変換前量子処理それぞれに対応する、変換後量子処理、量子計算機能、及び変換アルゴリズム、の各情報を量子計算処理変換履歴保持部110から取得する(s2)。
【0044】
続いて、量子プログラム実行装置100のプログラム変換部114は、s2で情報を取得した量子計算機能の特性すなわち量子計算機能特性情報125に基づいて、s1で取得した変換後量子処理を評価する(s3)。
【0045】
この評価は、例えば、量子計算機能特性情報125が示す、量子処理を構成する演算子を実行した場合に発生する誤りに関する演算子誤り情報、または量子の状態を正しく維持できる時間に関する状態維持時間情報の少なくともいずれかに基づき、変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価するものである。
【0046】
図7に、本実施形態における量子計算機能特性情報125の構成例を示す図である。この量子計算機能特性情報125は、量子計算機能特性情報保持部113で保持、管理されている。図7で示すように、量子計算機能特性情報125は、量子機能たる量子計算サービスごとに、状態維持時間、時間経過による誤り計算関数、演算子、演算子誤り情報、及び演算子実行時間情報、といった値を格納したテーブルである。
【0047】
例えば、H演算子1つとX演算子2つから構成される量子処理が、量子計算サービス「A社サービス」にて実行される場合、A社サービスにおけるH演算子の実行時間は、「3μsec」、X演算子の実行時間は、「4μsec」であるため、トータルの実行時間は、3μsec+4μsec×2=11μsecと計算できる。
【0048】
そして、量子計算機能特性情報125が示す、「時間経過による誤り計算関数」に、演算子誤り情報、10μsec(状態維持時間)、及び11μsec(実行時間=計算時間)を入力して、変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価する。
【0049】
図8に、本実施形態における量子計算機能・変換アルゴリズムの選択方法例を示す図である。この場合、量子プログラム実行装置100は、まず、誤り考慮なしの計算結果すなわち理論値を導出する。例えば、変換アルゴリズムで過去生成された、H演算子1つとCX演算子2つから構成される量子処理について、誤り考慮無しでの計算結果たる行列ρを算定する。
【0050】
また、量子プログラム実行装置100は、誤りを考慮した計算結果を導出する。例えば、変換アルゴリズムで過去生成された、H演算子1つとCX演算子2つから構成される量子処理をA社の量子計算機能200で実行する場合に発生する誤りとして、量子計算機能特性情報125から25%の確率でパウリZエラーが発生するとして、誤りを含めた計算結果たる行列σを算定する。
【0051】
なお、σもρも古典コンピュータで計算することが想定できるが、実機でσを取得してから、量子コンピュータの特性に基づいてσからρを逆算するとしてもよい。例えば、量子計算機機能特性情報125に基づいて較正行列を作成し、作成した較正行列を、量子計算機能を用いて取得したσに作用させることで、ρを得ることができる(詳細は文献(https://qiskit.org/documentation/locale/ja_JP/tutorials/noise/3_measurement_error_mitigation.html)参照)。
【0052】
また、量子プログラム実行装置100のプログラム変換部114は、忠実度の関数に上述のρ及びσを与えることで忠実度を計算し、その計算結果の値が大きいものを、好適な量子計算機能及び変換アルゴリズムであると特定する。
【0053】
また図9に示すように、計算にかかる想定時間(図10参照)が例えば「15μsec」である場合、これが状態維持時間の10μsecを超えているため、時間経過による誤りを考慮したσ=DecA(ρ,状態維持時間=10,想定時間=15)を計算する。そして、量子プログラム実行装置100は、忠実度の関数に上述のρ及びσを与えることで忠実度を
計算し、その計算結果の値が大きいものを、好適な量子計算機能及び変換アルゴリズムであると特定する。
【0054】
次に、量子プログラム実行装置100のプログラム変換部114は、s3での評価の結果が最も良い変換後量子処理に対応する、すなわち有効性の高い量子計算機能及び変換アルゴリズムを、今回処理対象の量子処理に使用するものとして選択する(s4)。
【0055】
また、量子プログラム実行装置100のプログラム変換部114は、今回の処理対象となっているプログラムに含まれる量子処理に関して、s4で選択した変換アルゴリズムを適用することで、図6で示したように変換後プログラムを作成し、これを変換後プログラム保持部115に格納する(s5)。
【0056】
続いて、量子プログラム実行装置100のプログラム変換部114は、s5で得た変換後プログラムにおいて、s4で選択した量子計算機能200への計算依頼対象となるプログラムブロックを、計算依頼対象ブロック(図11参照)として決定する(s6)。
【0057】
また、量子プログラム実行装置100のプログラム実行部116は、s6で決定した計算依頼対象ブロックの実行を、s4で選択した量子計算機能200に依頼する(s7)。
【0058】
次に、量子プログラム実行装置100のプログラム実行部116は、s7で依頼した量子計算機能200から、計算依頼対象ブロックの実行結果を取得し、これを量子計算実行結果保持部117に格納する(s8)。
【0059】
続いて、量子プログラム実行装置100の量子計算実行結果評価部118は、s8で量子計算機能200から得た実行結果の評価を実行する(s9)。
【0060】
この評価は、当該実行結果に含まれる、変換後量子処理の計算に要した計算時間(図12では“20μsec”)と、状態維持時間情報(図12では“10μsec”)とを比較することで行うものとする。
【0061】
或いは、量子計算機能特性情報が示す、量子処理を構成する演算子の実行にかかる時間を表す演算子実行時間情報に基づき、変換後量子処理の実行にかかる想定時間(図12では“15μsec”)を算出し、この想定時間と状態維持時間情報(図12では“10μsec”)とを比較することで当該評価を行うものとできる。
【0062】
なお、量子プログラム実行装置100は、今回処理対象の量子処理、当該量子処理に関する変換後量子処理、及び実行結果(とその評価結果)を対応付けて、記憶装置101の量子計算実行結果保持部117に登録し、以後の評価に用いるものとする。
【0063】
また、量子プログラム実行装置100の量子計算実行結果評価部118は、s9での評価の結果が、計算時間(図12では“20μsec”)または想定時間(図12では“15μsec”)が、状態維持時間情報(図12では“10μsec”)よりも短い場合、すなわち計算結果は信頼できるというものであるか否かに応じた、再計算の要否判断を実行する(s10)。
【0064】
上述の判断の結果、計算結果は信頼出来るもので再計算不要と判断した場合(s10:N)、量子プログラム実行装置100の量子計算実行結果評価部118は、計算結果をプログラム実行部116に送信し(s11)、量子計算機能200への処理依頼を行って本フローを終了する。
【0065】
他方、上述の判断の結果、計算結果は信頼出来るものではなく再計算要と判断した場合(s10:Y)、量子プログラム実行装置100の量子計算実行結果評価部118は、プログラム変換部114に再計算の指示を送信し(s12)、本フローを再実行することとなる。
【0066】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0067】
こうした本実施形態によれば、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0068】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で、前記処理対象の量子処理と類似する前記変換前量子処理を特定するものである、としてもよい。
【0069】
これによれば、量子計算機能の特性が直接的に影響しやすい演算子の有無等に基づく類似判定が可能となり、より精度良好な類似判定、ひいては、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの適宜な選択を支援可能となる。
【0070】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、所定のプログラムに含まれ、前記処理対象となる量子処理に関して、前記変換アルゴリズムを適用することで変換後プログラムを作成し、前記変換後プログラムにおいて、前記量子計算機能への計算依頼対象となるプログラムブロックを、計算依頼対象ブロックとして決定し、前記計算依頼対象ブロックの実行を前記量子計算機能に依頼する処理と、前記量子計算機能から、前記計算依頼対象ブロックの実行結果を取得し、当該実行結果の評価結果に基づいて再計算の要否を判断する処理と、をさらに実行するものであるとしてもよい。
【0071】
これによれば、量子計算が含まれるプログラムについて、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0072】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、前記量子計算機能の情報が示す、当該量子計算機能の特性情報である、前記量子処理を構成する演算子を実行した場合に発生する誤りに関する演算子誤り情報、または量子の状態を正しく維持できる時間に関する状態維持時間情報の少なくともいずれかに基づいて、前記履歴から取得した前記変換後量子処理を評価するものである、としてもよい。
【0073】
これによれば、変換後量子処理の評価を、より高精度に行うことが可能となる。ひいては、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0074】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、前記演算子誤り情報または前記状態維持時間情報の少なくともいずれかに基づき、前記変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価するものである、としてもよい。
【0075】
これによれば、変換後量子処理の評価を、さらに高精度に行うことが可能となる。ひいては、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリ
ズムの組合せの選択を支援可能となる。
【0076】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、前記実行結果に含まれる、前記変換後量子処理の計算に要した計算時間と、前記状態維持時間情報とを比較することで、前記実行結果を評価するものである、としてもよい。
【0077】
これによれば、実行結果の評価をより高精度に行うことが可能となり、ひいては、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0078】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、前記処理対象の量子処理、当該量子処理に関する前記変換後量子処理、及び前記実行結果を対応付けて記憶装置に登録し、以後の評価に用いるものである、としてもよい。
【0079】
これによれば、変換後量子処理や実行結果を適宜に蓄積し、量子計算処理にて、より忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0080】
また、本実施形態の量子コンピュータ活用支援システムにおいて、前記演算装置は、前記量子計算機能の特性情報に含まれる、前記量子処理を構成する演算子の実行にかかる時間を表す演算子実行時間情報に基づき、前記変換後量子処理の実行にかかる想定時間を算出し、前記想定時間と前記状態維持時間情報とを比較することで前記実行結果を評価するものである、としてもよい。
【0081】
これによれば、実行結果の評価精度がさらに好適なものとなり、ひいては、量子計算処理にて忠実度の高い計算結果を得られる、量子計算機能と変換アルゴリズムの組合せの選択を支援可能となる。
【0082】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、量子処理を構成する演算子の種類及び数の少なくともいずれかの観点で、前記処理対象の量子処理と類似する前記変換前量子処理を特定する、としてもよい。
【0083】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、所定のプログラムに含まれ、前記処理対象となる量子処理に関して、前記変換アルゴリズムを適用することで変換後プログラムを作成し、前記変換後プログラムにおいて、前記量子計算機能への計算依頼対象となるプログラムブロックを、計算依頼対象ブロックとして決定し、前記計算依頼対象ブロックの実行を前記量子計算機能に依頼する処理と、前記量子計算機能から、前記計算依頼対象ブロックの実行結果を取得し、当該実行結果の評価結果に基づいて再計算の要否を判断する処理と、をさらに実行するとしてもよい。
【0084】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、前記量子計算機能の情報が示す、当該量子計算機能の特性情報である、前記量子処理を構成する演算子を実行した場合に発生する誤りに関する演算子誤り情報、または量子の状態を正しく維持できる時間に関する状態維持時間情報の少なくともいずれかに基づいて、前記履歴から取得した前記変換後量子処理を評価する、としてもよい。
【0085】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、前記演算子誤り情報または前記状態維持時間情報の少なくともいずれかに基づき、前記変換後量子処理を実行した場合に発生する計算誤差の大きさ、及びその発生確率の少なくともいずれかを評価する、としてもよい。
【0086】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、前記実行結果に含まれる、前記変換後量子処理の計算に要した計算時間と、前記状態維持時間情報とを比較することで、前記実行結果を評価する、としてもよい。
【0087】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、前記処理対象の量子処理、当該量子処理に関する前記変換後量子処理、及び前記実行結果を対応付けて記憶装置に登録し、以後の評価に用いる、としてもよい。
【0088】
また、本実施形態の量子コンピュータ活用支援方法において、前記情報処理装置が、前記量子計算機能の特性情報に含まれる、前記量子処理を構成する演算子の実行にかかる時間を表す演算子実行時間情報に基づき、前記変換後量子処理の実行にかかる想定時間を算出し、前記想定時間と前記状態維持時間情報とを比較することで前記実行結果を評価する、としてもよい。
【符号の説明】
【0089】
1 ネットワーク
10 量子コンピュータ活用支援システム
100 量子プログラム実行装置(情報処理装置)
101 記憶装置
102 プログラム
103 メモリ
104 演算装置
105 通信装置
110 量子計算処理変換履歴保持部
111 量子計算処理変換アルゴリズム保持部
112 プログラム保持部
113 量子計算機能特性情報保持部
114 プログラム変換部
115 変換後プログラム保持部
116 プログラム実行部
117 量子計算実行結果保持部
118 量子計算実行結果評価部
125 量子計算機能特性情報
200 量子計算機能
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12