JP-2026076893-A - 情報処理プログラム、情報処理方法、および情報処理装置
Abstract
【課題】VQE計算を実施する際にかかる処理時間の低減化を図ること。 【解決手段】情報処理装置100は、イタレーションが所定回数実施された際に、VQE計算150を一時中断し、それぞれの第1パラメータ121による第1寄与度に基づいて、それぞれの第1パラメータ121の値として設定し得る水準値の個数を決定する。情報処理装置100は、決定した個数に基づいて、それぞれの第1パラメータ121の値として設定する水準値の組み合わせをそれぞれ表す2以上のパターン130に基づいて、それぞれの第1パラメータ121による第2寄与度を算出する。情報処理装置100は、第2寄与度が相対的に高いと判断される1以上の第2パラメータ141のそれぞれの第2パラメータ141を、対象パラメータ151に設定する。 【選択図】図1
Inventors
- 安曽 徳康
- 木船 雅也
Assignees
- 富士通株式会社
Dates
- Publication Date
- 20260512
- Application Date
- 20241024
Claims (9)
- 変分量子固有値ソルバ法に従って、変分量子回路を規定する複数のパラメータのうち、設定された対象パラメータを更新するイタレーションが繰り返し実施される場合において、前記イタレーションが所定回数実施された際に、 前記複数のパラメータのうち、1以上の第1パラメータのそれぞれの第1パラメータによる、前記変分量子回路が表す量子状態に対応するエネルギーの変化量に対する第1寄与度に基づいて、前記それぞれの第1パラメータに対して、当該第1パラメータの値として設定し得る水準値の個数を決定し、 前記それぞれの第1パラメータに対して決定した前記個数分の水準値のいずれかの水準値を設定する場合における、前記それぞれの第1パラメータの値として設定する水準値の組み合わせをそれぞれ表す2以上のパターンのそれぞれのパターンにおける、前記変分量子回路が表す量子状態に対応するエネルギーの計算結果に基づいて、前記それぞれの第1パラメータによる、前記変分量子固有値ソルバ法に対する第2寄与度を算出し、 算出した前記第2寄与度に基づいて、前記1以上の第1パラメータのうち、算出した前記第2寄与度が相対的に高いと判断される1以上の第2パラメータのそれぞれの第2パラメータを、前記対象パラメータに設定する、 処理をコンピュータに実行させることを特徴とする情報処理プログラム。
- 前記イタレーションが1回目に実施される際には、前記対象パラメータは、前記複数のパラメータのそれぞれのパラメータである、ことを特徴とする請求項1に記載の情報処理プログラム。
- 前記イタレーションが第1回数実施された際に、 前記決定する処理は、 前記複数のパラメータのそれぞれのパラメータを、前記第1パラメータとして、前記それぞれの第1パラメータによる前記第1寄与度に基づいて、前記第1寄与度が大きいほど、前記第1パラメータの値として設定し得る水準値の個数が多くなるよう、前記それぞれの第1パラメータの値として設定し得る水準値の個数を決定する、ことを特徴とする請求項2に記載の情報処理プログラム。
- 前記イタレーションが前記第1回数より多い第2回数実施された際に、 前記決定する処理は、 前記複数のパラメータのそれぞれのパラメータを、前記第1パラメータとして、前記1以上の第1パラメータのうち、前記対象パラメータである前記第1パラメータの値として設定し得る水準値の個数が、前記対象パラメータ以外である前記第1パラメータの値として設定し得る水準値より少なくなるよう、前記それぞれの第1パラメータによる前記第1寄与度に基づいて、前記それぞれの第1パラメータの値として設定し得る水準値の個数を決定する、ことを特徴とする請求項3に記載の情報処理プログラム。
- 前記イタレーションが前記第1回数より多い第2回数実施された際に、 前記決定する処理は、 前記複数のパラメータのうち、前記対象パラメータ以外を、前記第1パラメータとして、前記それぞれの第1パラメータによる前記第1寄与度に基づいて、前記第1寄与度が大きいほど、前記第1パラメータの値として設定し得る水準値の個数が多くなるよう、前記それぞれの第1パラメータの値として設定し得る水準値の個数を決定する、ことを特徴とする請求項3に記載の情報処理プログラム。
- 前記決定する処理は、 前記複数のパラメータのうち、前記対象パラメータ以外を、前記第1パラメータとして、前記それぞれの第1パラメータによる前記第1寄与度に基づいて、前記第1寄与度が大きいほど、前記第1パラメータの値として設定し得る水準値の個数が多くなるよう、前記それぞれの第1パラメータの値として設定し得る水準値の個数を決定する、ことを特徴とする請求項2に記載の情報処理プログラム。
- 前記設定する処理は、 算出した前記第2寄与度に基づいて、前記1以上の第1パラメータのうち、前記対象パラメータに設定中であり、算出した前記第2寄与度が相対的に低いと判断される1以上の第3パラメータのそれぞれの第3パラメータを、前記対象パラメータから除去する、ことを特徴とする請求項1~6のいずれか一つに記載の情報処理プログラム。
- 変分量子固有値ソルバ法に従って、変分量子回路を規定する複数のパラメータのうち、設定された対象パラメータを更新するイタレーションが繰り返し実施される場合において、前記イタレーションが所定回数実施された際に、 前記複数のパラメータのうち、1以上の第1パラメータのそれぞれの第1パラメータによる、前記変分量子回路が表す量子状態に対応するエネルギーの変化量に対する第1寄与度に基づいて、前記それぞれの第1パラメータに対して、当該第1パラメータの値として設定し得る水準値の個数を決定し、 前記それぞれの第1パラメータに対して決定した前記個数分の水準値のいずれかの水準値を設定する場合における、前記それぞれの第1パラメータの値として設定する水準値の組み合わせをそれぞれ表す2以上のパターンのそれぞれのパターンにおける、前記変分量子回路が表す量子状態に対応するエネルギーの計算結果に基づいて、前記それぞれの第1パラメータによる、前記変分量子固有値ソルバ法に対する第2寄与度を算出し、 算出した前記第2寄与度に基づいて、前記1以上の第1パラメータのうち、算出した前記第2寄与度が相対的に高いと判断される1以上の第2パラメータのそれぞれの第2パラメータを、前記対象パラメータに設定する、 処理をコンピュータが実行することを特徴とする情報処理方法。
- 変分量子固有値ソルバ法に従って、変分量子回路を規定する複数のパラメータのうち、設定された対象パラメータを更新するイタレーションが繰り返し実施される場合において、前記イタレーションが所定回数実施された際に、 前記複数のパラメータのうち、1以上の第1パラメータのそれぞれの第1パラメータによる、前記変分量子回路が表す量子状態に対応するエネルギーの変化量に対する第1寄与度に基づいて、前記それぞれの第1パラメータに対して、当該第1パラメータの値として設定し得る水準値の個数を決定し、 前記それぞれの第1パラメータに対して決定した前記個数分の水準値のいずれかの水準値を設定する場合における、前記それぞれの第1パラメータの値として設定する水準値の組み合わせをそれぞれ表す2以上のパターンのそれぞれのパターンにおける、前記変分量子回路が表す量子状態に対応するエネルギーの計算結果に基づいて、前記それぞれの第1パラメータによる、前記変分量子固有値ソルバ法に対する第2寄与度を算出し、 算出した前記第2寄与度に基づいて、前記1以上の第1パラメータのうち、算出した前記第2寄与度が相対的に高いと判断される1以上の第2パラメータのそれぞれの第2パラメータを、前記対象パラメータに設定する、 制御部を有することを特徴とする情報処理装置。
Description
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。 従来、材料開発または創薬研究などの分野において、対象の分子または対象の原子の性質を調査する量子化学計算を実施する手法として、VQE(Variational Quantum Eigensolver;変分量子固有値ソルバ)が存在する。VQEは、例えば、イタレーションと呼ばれる一連の処理を、収束条件を満たすまで繰り返し実施する、という計算を実施することになる。以下の説明では、当該計算を「VQE計算」と表記する場合がある。イタレーションは、例えば、変分量子回路を実行し、変分量子回路を実行して得た量子状態に基づいて、ハミルトニアンの期待値を算出し、ハミルトニアンの期待値を最小化するよう、変分量子回路のパラメータを更新することである。 先行技術としては、例えば、量子回路からゲートを再帰的に削除するものがある。また、例えば、変分量子回路のパラメータの値の更新処理で使用する係数の値を、更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定する技術がある。また、例えば、クラスタ外の変分量子回路の他のパラメータを固定した状態で、クラスタ内の変分量子回路のパラメータを最適化する技術がある。また、例えば、材料データ点の位置変更の情報に基づいて、パラメータ重要度を更新する技術がある。 米国特許出願公開第2021/0133617号明細書国際公開第2023/243011号米国特許第011645442号明細書特開2020-128962号公報 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図2は、情報処理システム200の一例を示す説明図である。図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図4は、量子計算装置201のハードウェア構成例を示すブロック図である。図5は、情報処理装置100の機能的構成例を示すブロック図である。図6は、情報処理装置100の動作の一例を示す説明図(その1)である。図7は、情報処理装置100の動作の一例を示す説明図(その2)である。図8は、情報処理装置100の動作の一例を示す説明図(その3)である。図9は、情報処理装置100の動作の一例を示す説明図(その4)である。図10は、情報処理装置100の動作の一例を示す説明図(その5)である。図11は、情報処理装置100の動作の一例を示す説明図(その6)である。図12は、情報処理装置100の動作の一例を示す説明図(その7)である。図13は、情報処理装置100の動作の具体例を示す説明図(その1)である。図14は、情報処理装置100の動作の具体例を示す説明図(その2)である。図15は、情報処理装置100の動作の具体例を示す説明図(その3)である。図16は、情報処理装置100の動作の具体例を示す説明図(その4)である。図17は、情報処理装置100の動作の具体例を示す説明図(その5)である。図18は、情報処理装置100の動作の具体例を示す説明図(その6)である。図19は、情報処理装置100の動作の具体例を示す説明図(その7)である。図20は、全体処理手順の一例を示すフローチャート(その1)である。図21は、全体処理手順の一例を示すフローチャート(その2)である。図22は、第1見直し処理手順の一例を示すフローチャートである。図23は、第2見直し処理手順の一例を示すフローチャートである。 以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。 (実施の形態にかかる情報処理方法の一実施例) 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、VQE計算を実施するためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。 VQE計算は、イタレーションと呼ばれる一連の処理を、収束条件を満たすまで繰り返し実施することである。イタレーションは、例えば、変分量子回路を実行し、変分量子回路を実行して得た量子状態に基づいて、ハミルトニアンの期待値を算出し、ハミルトニアンの期待値を最小化するよう、変分量子回路のパラメータを更新する、という一連の処理である。ハミルトニアンは、エネルギーに対応する。収束条件は、例えば、ハミルトニアンの期待値が閾値以下になることである。 VQE計算を、量子コンピュータと、古典的コンピュータとで協働して実施する場合が考えられる。例えば、量子コンピュータが、変分量子回路を実行して得た量子状態に基づいて、ハミルトニアンの期待値を算出する。一方で、例えば、古典的コンピュータが、変分量子回路のパラメータを更新する。この場合、量子コンピュータと、古典的コンピュータとは、イタレーションごとに通信を行う。 ここで、従来では、VQE計算を実施する際にかかる処理時間が増大してしまうという問題がある。例えば、VQE計算を実施する系のサイズが大きくなると、変分量子回路を規定するパラメータの数が多くなる傾向がある。変分量子回路を規定するパラメータの数が多いほど、イタレーション1回分にかかる処理時間が増大したり、収束条件を満たすまでにイタレーションを実施する回数が増大したりする傾向があり、VQE計算を実施する際にかかる処理時間が増大してしまう。また、変分量子回路を規定するパラメータの数が多いほど、量子コンピュータと、古典的コンピュータとが通信を行う回数が増大してしまい、VQE計算を実施する際にかかる処理時間が増大してしまう。 このため、VQE計算を実施する際にかかる処理時間の低減化を図ることが望まれる。ここで、変分量子回路を規定するパラメータの数を低減することにより、VQE計算を実施する際にかかる処理時間の低減化を図ろうとすると、VQE計算の精度が低下するという問題がある。 これに対し、例えば、1回目のイタレーションを実施した結果に応じて、変分量子回路を規定する複数のパラメータのうち、値を更新する対象パラメータに設定するパラメータを限定し、2回目以降のイタレーションを実施する第1手法が考えられる。この第1手法については、例えば、下記参考文献1を参照することができる。 参考文献1 : 国際公開第2023/144884号 この第1手法では、1回目のイタレーションを実施した結果のみに応じて、対象パラメータに設定するパラメータを限定してしまうため、VQE計算において有用なパラメータを、対象パラメータに設定せずに除外してしまうことが考えられる。従って、この第1手法では、局所解に収束してしまうことがあり、VQE計算の精度が低下することがある。 また、例えば、イタレーションを所定回数実施する都度、変分量子回路を規定する複数のパラメータのうち、値を更新する対象パラメータに設定するパラメータを見直し、イタレーションを続行する第2手法が考えられる。この第2手法では、具体的には、複数のパラメータに共通の複数の水準値を用意する。この第2手法では、具体的には、直交表に従って、それぞれのパラメータにいずれかの水準値を設定する場合における、それぞれのパラメータに設定する水準値の組み合わせをそれぞれ表す2以上のパターンを用意する。この第2手法では、具体的には、用意した2以上のパターンのそれぞれのパターンに対する、所定のコスト関数の計算結果に基づいて、複数のパラメータのうち、値を更新する対象パラメータに設定するパラメータを見直す。 この第2手法では、VQE計算の精度が低下することがある。この第2手法では、例えば、複数のパラメータに共通の複数の水準値を用意するため、コスト関数に対するそれぞれのパラメータの寄与度を考慮しておらず、VQE計算の精度が低下することがある。この第2手法では、具体的には、比較的多くの水準値を設定して検討することが好ましいパラメータを適切に評価することができない。この第2手法では、具体的には、用意する水準値の数を多くすると、VQE計算を実施する際にかかる処理時間の増大化を招く。 そこで、本実施の形態では、VQE計算を実施する際にかかる処理時間の低減化を図ることができる情報処理方法について説明する。具体的には、情報処理方法によれば、VQE計算の精度を維持しつつ、VQE計算を実施する際にかかる処理時間の低減化を図ることができる。 図1において、情報処理装置100は、VQE計算150に関する変分量子回路110を記憶する。情報処理装置100は、例えば、変分量子回路110を規定する複数のパラメータ111を記憶する。パラメータ111は、変分量子回路110を形成する量子ゲートに関する。パラメータ111は、例えば、量子ゲートの回転角である。 情報処理装置100は、演算部101を制御可能である。演算部101は、変分量子回路110を実行可能である。演算部101は、例えば、量子コンピュータの実機である。演算部101は、量子コンピュータを模擬する量子シミュレータであってもよい。量子シミュレータは、例えば、情報処理装置100の外部に存在していてもよい。量子シミュレータは、例えば、情報処理装置100が有していてもよい。情報処理装置100は、演算部101を利用して、VQE計算150を開始する。情報処理装置100は、具体的には、演算部101を利用して、イタレーション152を繰り返し実施することを開始する。 VQE計算150は、収束条件を満たすまでイタレーション152を繰り返し実施することである。イタレーション152は、設定された対象パラメータを更新する一連の処理である。イタレーション152は、例えば、変分量子回路を実行し、変分量子回路を実行して得た量子状態に基づいて、ハミルトニアンの期待値を算出し、ハミルトニアンの期待値を最小化するよう、変分量子回路のパラメータを更新する、という一連の処理である。ハミルトニアンは、エネルギーに対応する。収束条件は、例えば、ハミルトニアンの期待値が閾値以下になることである。対象パラメータは、例えば、複数のパラメータ111のそれぞれのパラメータ111が設定される。 情報処理装置100は、イタレーション152が所定回数実施された際に、VQE計算150を一時中断し、下記(1-1)の処理、および、下記(1-2)の処理を実施することにより、対象パラメータを設定し直した後、VQE計算150を再開する。所定回数は、例えば、ユーザによって予め設定される。所定回数は、例えば、複数設定されていてもよい。所定回数は、例えば、ax+bである。aは、係数である。xは、整数である。bは、定数である。aは、例えば、5である。bは、例えば、1である。 (1-1)情報処理装置100は、複数のパラメータ111のうち、1以上の第1パラメータ121のそれぞれの第1パラメータ121による、変分量子回路110が表す量子状態に対応するエネルギーの変化量に対する第1寄与度を取得する。第1寄与度は、例えば、第1パラメータの変化量に対する、変分量子回路が表す量子状態に対応するエネルギーの変化量の割合に対応する。第1パラメータの変化量は、例えば、前回のイタレーション152における第1パラメータの値と、今回のイタレーション152における第1パラメータの値との差分である。エネルギーの変化量は、例えば、前回のイタレーション152におけるエネルギーの値と、今回のイタレーション152におけるエネルギーの値との差分である。情報処理装置100は、例えば、第1寄与度を算出することにより、第1寄与度を取得する。 情報処理装置100は、取得した第1寄与度に基づいて、それぞれの第1パラメータ121に対して、当該第1パラメータ121の値として設定し得る水準値122の個数を決定する。水準値122は、例えば、第1パラメータ121の値として設定し得る離散的な値である。情報処理装置10