JP7401739B2 - 次数変換装置、次数変換方法、および次数変換プログラム - Google Patents

次数変換装置、次数変換方法、および次数変換プログラム Download PDF

Info

Publication number
JP7401739B2
JP7401739B2 JP2019183619A JP2019183619A JP7401739B2 JP 7401739 B2 JP7401739 B2 JP 7401739B2 JP 2019183619 A JP2019183619 A JP 2019183619A JP 2019183619 A JP2019183619 A JP 2019183619A JP 7401739 B2 JP7401739 B2 JP 7401739B2
Authority
JP
Japan
Prior art keywords
terms
hamiltonian
order
term
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019183619A
Other languages
English (en)
Other versions
JP2021060714A (ja
Inventor
憲彦 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019183619A priority Critical patent/JP7401739B2/ja
Publication of JP2021060714A publication Critical patent/JP2021060714A/ja
Application granted granted Critical
Publication of JP7401739B2 publication Critical patent/JP7401739B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、次数変換装置、次数変換方法、および次数変換プログラムに関する。
ノイマン型コンピュータが不得意とする多変数の組み合わせ最適化問題を解く方法として、イジング型のエネルギー関数(ハミルトニアン)を用いたイジングマシン(ボルツマンマシンと呼ばれる場合もある)がある。イジングマシンは、計算対象の問題を、磁性体のスピンの振る舞いを表すモデルであるイジングモデルに置き換えて計算する。
イジングマシンは、例えばニューラルネットワークを用いてモデル化することもできる。その場合、イジングモデルに含まれる複数のスピンに対応した複数の状態変数のそれぞれが、他の状態変数の値と、他の状態変数と自身の状態変数との相互作用の大きさを示す重み係数とに応じて0または1を出力するニューロンとして機能する。イジングマシンは、例えば、シミュレーテッド・アニーリングなどの確率的探索法により、上記のようなハミルトニアンの最小値が得られる各状態変数の値の組み合わせを、解として求める。
組み合わせ最適化問題に対応するイジングモデルのハミルトニアンに三次以上の項(以下、三次以上の項を高次項と呼ぶ)が含まれる場合がある。なお、イジングモデルのハミルトニアンの各項の次数とは、その項に含まれるパウリ行列の数である。他方、イジングマシンで組み合わせ最適化問題を解くのに用いるハミルトニアンには、高次項が含まれないことが要求される。そこで、イジングモデルのハミルトニアンに高次項が含まれる場合、イジングマシンに問題の情報を入力する前に、コンピュータにより、ハミルトニアンを二次以下の項のみを含む形式(イジング形式)に変換する。
ハミルトニアンの高次項を次数の少ない項へと変換する方法は、以下の非特許文献1,2に開示されている。
また、最適化問題の解法に関する技術としては、例えば離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法が提案されている。また、ユーザがquantum-readyまたはquantum-enabledのソリューションを構築することを可能にし得る、ソフトウェア開発キットが提案されている。
特表2019-512779号公報 特表2019-513276号公報
Rongxin Xia, Teng Bian, and Sabre Kais, "Electronic Structure Calculations and the Ising Hamiltonian", The Journal of Physical Chemistry B, 122(13), 3384-3395, 3 November 2017 Michael Streif, Florian Neukart, Martin Leib, "Solving Quantum Chemistry Problems with a D-Wave Quantum Annealer", arXiv:1811.05256v2, 15 March 2019
ハミルトニアンの高次項を二次項に変換すると、ハミルトニアンに含まれるパウリ行列の数が増加する。パウリ行列の数は、イジングマシンでハミルトニアンを計算する際に使用するビット数に相当する。イジングマシンでは、計算に用いることができるビット数に上限があり、その上限を超えたビット数の計算を一度に行うことはできない。そして、解くべきハミルトニアンに多数の高次項が含まれていると、高次項の二次項への変換の結果、使用するビット数が膨大な数となり、イジングマシンでの計算が困難となる。
1つの側面では、本件は、高次項の二次項への変換による使用ビット数の増加を抑止することを目的とする。
1つの案では、イジングモデルのエネルギーを表したハミルトニアンに含まれる複数の項から、所定数以上の次数の項を変換対象項として選択する選択処理と、ハミルトニアン内の変換対象項を、変換対象項より低い次数の項に変換する変換処理と、変換後のハミルトニアンに含まれる同類項どうしを加算して1つの項とするまとめ処理とを、繰り返し実行する処理部、を有する次数変換装置が提供される。
1態様によれば、高次項の二次項への変換による使用ビット数の増加が抑止できる。
第1の実施の形態に係る次数変換方法の一例を示す図である。 第2の実施の形態のシステム構成の一例を示す図である。 サーバのハードウェアの一構成例を示す図である。 イジングマシンの一例を示す図である。 サーバが有する機能の一例を示すブロック図である。 サーバの処理手順の一例を示すフローチャートである。 次数変換処理の手順の一例を示すフローチャートである。 高次項の変換例を示す第1の図である。 高次項の変換例を示す第2の図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、イジングマシンを用いた解探索に使用するハミルトニアンの高次項の二次項への変換による使用ビット数の増加が抑止する次数変換方法である。
図1は、第1の実施の形態に係る次数変換方法の一例を示す図である。次数変換方法は、例えばイジングマシン1に接続された次数変換装置10で実施される。次数変換装置10は、例えばコンピュータである。次数変換装置10は、次数変換方法を実現するための処理手順が記述された次数変換プログラムを実行することにより、次数変換方法を実施することができる。
次数変換装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば次数変換装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば次数変換装置10が有するプロセッサ、または演算回路である。
記憶部11は、イジングモデルのエネルギーを表したハミルトニアン11aを記憶する。ハミルトニアン11aは、例えば組み合わせ最適化問題を定式化したイジングモデルのエネルギーを表す関数である。ハミルトニアン11aには、1以上のパウリ行列を含む複数の項が含まれる。各項に含まれるパウリ行列の数が、その項の次数である。
処理部12は、以下に示す選択処理と変換処理とまとめ処理とを、繰り返し実行することで、ハミルトニアン11aの次数を低減させる。例えば処理部12は、選択処理、変換処理、およびまとめ処理を、ハミルトニアン11a内のすべての項の次数が二次以下になるまで繰り返し実行する。
処理部12は、選択処理では、ハミルトニアン11aに含まれる複数の項から、所定数以上の次数の項を変換対象項として選択する。例えば処理部12は、選択処理が実行されるごとに三次以上の項(高次項)を1つずつ変換対象項として選択する。この際、処理部12は、ハミルトニアン11aに含まれる複数の項のうち次数が大きい項から順に変換対象項として選択してもよい。
処理部12は、変換処理では、ハミルトニアン11a内の変換対象項を、変換対象項より低い次数の項に変換する。例えば処理部12は、N個(Nは3以上の整数)のパウリ行列を含む変換対象項を、それぞれがN個未満のパウリ行列を含む複数の項に変換する。この際、変換後の複数の項のうちの1以上の項には、変換対象項に含まれないパウリ行列(追加のパウリ行列)が含まれる。
処理部12は、まとめ処理では、変換後のハミルトニアン11aに含まれる同類項どうしを加算して1つの項とする。同類項とは、係数以外の部分が同じ項である。ハミルトニアン11aに含まれる項の場合、含まれるパウリ行列が共通の複数の項が同類項である。同類項どうしの加算は、係数以外の部分(パウリ行列の積)をそのままにして、各項の係数の合計を、加算結果の項の係数とすることである。
このように高次項の次数を低減するごとに、ハミルトニアン11a内の同類項をまとめることで、高次項の次数を低減する変換処理の回数が削減される。変換処理を行うと追加のパウリ行列が生じるため、変換処理の回数が低減されることは、追加されるパウリ行列の数が削減されることを意味する。
イジングマシン1において、ハミルトニアン11aの基底状態(エネルギー最小値)となる解探索を行う場合、ハミルトニアン11aに含まれるパウリ行列の数分のビットを使用した計算(例えばシミュレーテッド・アニーリング)が行われる。ハミルトニアン11aに含まれるパウリ行列の数が削減されることで、イジングマシン1が計算に使用するビット数も削減される。すなわち上記の次数変換方法によりハミルトニアン11aの次数変換を行うことで、使用するビット数の増加が抑止される。
イジングマシン1には、計算に使用できるビット数に上限があり、その上限を超えたビット数の計算はできない。ハミルトニアン11aに含まれるパウリ行列の数が削減されれば、イジングマシン1を用いて求解可能な問題の範囲が拡大する。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、デジタル回路を用いてシミュレーテッド・アニーリングを行うことでエネルギーが最小となる各状態変数の値の組み合わせを計算するイジングマシンを用いたシステムの例である。
図2は、第2の実施の形態のシステム構成の一例を示す図である。サーバ100には、ネットワーク20を介して端末装置31,32,・・・が接続されている。端末装置31,32,・・・は、組み合わせ最適化問題の求解を依頼するユーザが使用するコンピュータである。サーバ100は、端末装置31,32,・・・から組み合わせ最適化問題の求解の依頼を受け付け、組み合わせ最適化問題に対応するイジングモデルのエネルギー関数であるハミルトニアンを生成する。サーバ100には、イジングマシン300の制御装置200が接続されている。サーバ100は、生成したハミルトニアンの最小値の探索要求を制御装置200に入力する。なお、図2に示すサーバ100は、第1の実施の形態に示す次数変換装置10の一例である。
制御装置200は、イジングマシン300を制御し、サーバ100から入力された探索要求に応じて、ハミルトニアンの最小値の解探索を行う。例えば制御装置200は、各ニューロンについての結合先のニューロンのidを、結合先情報としてイジングマシン300に送信する。また、制御装置200は、ローカルフィールドの初期値(例えばバイアス係数)や、値が0ではない重み係数、アニーリング条件などについてもイジングマシン300に送信する。さらに、制御装置200は、イジングマシン300から解(各ニューロンのビット値)を受信した場合、解を図示しない表示装置に表示させてもよい。
制御装置200は、例えばPC(Personal Computer)などのコンピュータであってもよいし、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサであってもよい。
イジングマシン300は、制御装置200からの制御に基づいて、デジタル回路を用いたシミュレーテッド・アニーリングを行い、ハミルトニアンの最小値を探索する。
図3は、サーバのハードウェアの一構成例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSPである。プロセッサ101が実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などの電子回路で実現してもよい。
メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108a,108bがある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108aは、ネットワーク20に接続されている。ネットワークインタフェース108aは、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
ネットワークインタフェース108bは、制御装置200に接続されている。ネットワークインタフェース108bは、制御装置200との間でデータの送受信を行う。
サーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお制御装置200も、サーバ100と同様のハードウェアにより実現することができる。また第1の実施の形態に示した次数変換装置10も、図3に示したサーバ100と同様のハードウェアにより実現することができる。
サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、イジングマシンの一例を示す図である。イジングマシン300は、ニューロン回路311,312,…,31n、更新制御回路320、制御回路330を有する。
ニューロン回路311~31nはそれぞれ、自身以外の複数の他のニューロン回路との接続の有無を示す複数の重み値と、複数の他のニューロン回路の複数の出力信号との積の総和に基づく第1の値を算出する。そしてニューロン回路311~31nそれぞれは、第1の値にノイズ値を加算した第2の値と閾値との比較結果に基づき、0または1のビット値を出力する。
更新制御回路320は、例えば各ニューロンのビット値を保持する保持部321を有する。保持部321は、例えばレジスタやRAMなどによって実現できる。
制御回路330は、制御装置200から供給される情報に基づいて、イジングマシン300の初期設定処理などを行う。また、制御回路330は、シミュレーテッド・アニーリングを行う場合、更新対象ニューロンを決定する処理がアニーリング条件に基づいた回数繰り返されるごとに、例えば温度パラメータの値を小さくしていく。
さらに、制御回路330は、更新対象ニューロンを決定する処理が所定回数、繰り返された後、保持部321に保持されている各ニューロンのビット値を取得し、最適化問題に対する解として制御装置200に送信する。
なお、保持部321には、エネルギーの最小値や最小値が得られたときの各ニューロンのビット値を保持しておくこともできる。この場合、制御回路330は、更新対象ニューロンを決定する処理が所定回数、繰り返されたのちに、エネルギーの最小値や最小値が得られたときの各ニューロンのビット値を保持部321から取得して、制御装置200に送信してもよい。
制御回路330は、例えばASICやFPGAなどの特定用途の電子回路にて実現できる。なお、制御回路330は、CPUやDSPなどのプロセッサであってもよい。その場合、プロセッサは、図示しないメモリに記憶されたプログラムを実行することで、上記の処理を行う。
また、制御回路330の一部または全ての機能を行う要素が、更新制御回路320または制御装置200に含まれていてもよい。
このようなシステムにおいて、サーバ100は、組み合わせ最適化問題の求解の依頼に応じて、その組み合わせ最適化問題に対応するイジングモデルのハミルトニアンを生成する。生成されるハミルトニアンには、三次以上の高次項が含まれる場合がある。
以下に、1つの四次項、および2つの三次項からなるハミルトニアンの例を示す。
Figure 0007401739000001
ここで、σz iは、i番目のビットに作用するパウリ演算子のz成分を表す行列(パウリ行列)である。式(1)では、σz 1,σz 2,σz 3,σz 4の4つのパウリ行列が含まれる。1つのパウリ行列が作用する1つのビットの値の計算には、1つのニューロン回路が割り当てられる。パウリ行列が4つであれば、イジングマシン300では4つのニューロン回路を用いて解の探索を行う。ただし、式(1)に示すようにハミルトニアンに高次項が含まれたままでは、イジングマシン300による解探索を行うことができない。そこで、式(1)に示すように、解くべきハミルトニアンに三次以上の高次項が含まれる場合、サーバ100は、二次以下の項のみを含む形式(イジング形式)にハミルトニアンを変換する。
前述の非特許文献1によると、σz iに関する三次以上の高次項に対して次の2つの式が成り立つ。
Figure 0007401739000002
Figure 0007401739000003
サーバ100は、式(2)および式(3)を式(1)の各項に適用して二次項に落とす。その際、サーバ100は、係数の符号が正(+)の項については式(2)を適用する。またサーバ100は、係数の符号が負(-)の項については式(3)を適用する。
なお、四次項に対して式(2)または式(3)を適用すると複数の三次項が出てくる。そこでサーバ100は、四次項を変換して得られた三次項に対して再度式(2)または式(3)を適用する。これにより、四次項を二次項へ落とすことができる。
五次以上の高次項がハミルトニアンに含まれる場合についても同様に、サーバ100は、式(2)または式(3)を繰り返し適用することで、最終的にすべての項を二次項以下に落とすことができる。高次項を二次項に落とすと、ハミルトニアンに含まれるパウリ行列の数が増加する。すなわちパウリ行列で示されるパウリ演算子が作用するビット数が増加する。以下、増加した分のビットを補助ビットと呼ぶ。
増加した補助ビットの分だけ、解の探索時には、イジングマシン300においてニューロン回路が余分に使用される。解くべきハミルトニアンに多数の高次項が含まれていると、高次項を二次項に変換することで発生する補助ビットが膨大な数になる。変換前のハミルトニアンに含まれるパウリ行列に対応するビットと補助ビットとの総数が、イジングマシン300が有するニューロン回路数を超えてしまうと、そのハミルトニアンの最小値の探索処理を、イジングマシン300で扱うことができなくなってしまう。
例えば式(1)のハミルトニアンの第1項、第2項、第3項それぞれに対して、補助ビットの削減策を適用せずに、式(2)または式(3)によって二次項に落とし込むと、以下の通りとなる。
(第1項)
Figure 0007401739000004
(第2項)
Figure 0007401739000005
(第3項)
Figure 0007401739000006
上記第1項~第3項には、σz 5,σz 6,σz 7,σz 8,σz 9,σz 10の6個の追加のパウリ行列が含まれる。すなわちσz 5,σz 6,σz 7,σz 8,σz 9,σz 10それぞれに対応する6個の補助ビットが発生している。組み合わせ最適化問題の規模が大きくなると、補助ビット数も大量となる。
そこでサーバ100は、複数の高次項を二次項に落とす際に、途中の段階で出てくる同類項をまとめることで、補助ビット数を削減する。
以下、図5を参照して、サーバ100が有する機能について説明する。
図5は、サーバが有する機能の一例を示すブロック図である。サーバ100は、問題受付部110、イジングモデル生成部120、記憶部130、および解探索依頼部140を有する。
問題受付部110は、端末装置31から、ユーザが求解を希望する組み合わせ最適化問題を取得する。問題受付部110は、取得した組み合わせ最適化問題をイジングモデル生成部120に送信する。また問題受付部110は、イジングマシン300を利用して得られた、組み合わせ最適化問題の解を、解探索依頼部140から取得する。問題受付部110は、取得した解(例えばハミルトニアンが最小値となる複数のビットの値)に基づいて、組み合わせ最適化問題における最適な組み合わせを示す情報(例えば最短の配送ルート)を生成する。そして問題受付部110は、最適な組み合わせを示す情報を端末装置31に送信する。
イジングモデル生成部120は、問題受付部110から組み合わせ最適化問題を取得すると、その組み合わせ最適化問題に対応するイジングモデルを生成する。すなわちイジングモデル生成部120は、取得した組み合わせ最適化問題を、イジングモデルの基底状態を求める問題として定式化する。例えばイジングモデル生成部120は、組み合わせ最適化問題に対応するイジングモデルのエネルギー関数であるハミルトニアン131を生成する。イジングモデル生成部120は、生成したハミルトニアン131を記憶部130に格納する。
イジングモデル生成部120は、高次項を含まないハミルトニアン131を生成するために、ハミルトニアン生成部121と次数変換部122とを有する。
ハミルトニアン生成部121は、組み合わせ最適化問題に対応するイジングモデルのエネルギー関数を表すハミルトニアン131を生成する。ハミルトニアン生成部121が生成した段階のハミルトニアン131は、三次以上の高次項を含む。ハミルトニアン生成部121は、生成したハミルトニアン131を記憶部130に格納する。
なおハミルトニアン生成部121は、システムの管理者から、組み合わせ最適化問題に対応するハミルトニアン131の入力を受け付けてもよい。例えば組み合わせ最適化問題のイジングモデルへの定式化を自動で行うのが困難な場合、システムの管理者が組み合わせ最適化問題を解釈し、対応するハミルトニアン131をハミルトニアン生成部121に入力する。この場合、ハミルトニアン生成部121は、管理者によって入力されたハミルトニアン131を記憶部130に格納する。
次数変換部122は、記憶部130からハミルトニアン131を取得し、ハミルトニアン131を二次以下の次数の項のみを含む式に変換する。この際、次数変換部122は、ハミルトニアン131に含まれるパウリ行列数の増加を抑止することができる変換手順によって、ハミルトニアン131を変換する。次数変換部122は、変換後のハミルトニアン131を記憶部130に格納する。
イジングモデル生成部120は、二次以下の次数の項のみを含むように変換されたハミルトニアン131を記憶部130から取得し、解探索依頼部140に送信する。
記憶部130は、組み合わせ最適化問題に対応するイジングモデルのハミルトニアン131を記憶する。記憶部130は、例えばサーバ100のメモリ102またはストレージ装置103の記憶領域の一部である。
解探索依頼部140は、イジングモデル生成部120から取得したハミルトニアンの最小値の探索依頼を制御装置200に送信する。解探索依頼部140は、制御装置200から探索結果として得られた解を取得すると、その解を問題受付部110に送信する。
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
上記のように、サーバ100では、次数変換部122において、パウリ行列の数の増加を抑止することができる変換手順によって、ハミルトニアンを変換する。その結果、大規模な組み合わせ最適化問題であっても、イジングマシン300を用いた解探索が可能となる。
次にサーバ100における処理の手順について、フローチャートを参照して詳細に説明する。
図6は、サーバの処理手順の一例を示すフローチャートである。以下、図6に示す処理をステップ番号に沿って説明する。
[ステップS101]問題受付部110は、端末装置31から、組み合わせ最適化問題を受け付ける。問題受付部110は、受け付けた組み合わせ最適化問題をイジングモデル生成部120に送信する。
[ステップS102]イジングモデル生成部120では、ハミルトニアン生成部121が取得した組み合わせ最適化問題をイジングモデルで定式化し、そのイジングモデルのハミルトニアン131を生成する。例えばハミルトニアン生成部121は、組み合わせ最適化問題が巡回セールスマン問題のような代表的な問題であれば、その問題に対応する定型の式に、巡回する町の数などの値を設定し、ハミルトニアン131を生成する。ハミルトニアン生成部121は、生成したハミルトニアン131を記憶部130に格納する。なお、ステップS102で生成したハミルトニアン131は、三次以上の項を含む場合がある。
[ステップS103]イジングモデル生成部120の次数変換部122は、ハミルトニアン生成部121が生成したハミルトニアン131の各項の次数が二次以下になるように変換する。次数変換処理の詳細は後述する(図7参照)。
[ステップS104]イジングモデル生成部120は、生成したハミルトニアン131を解探索依頼部140に送信する。解探索依頼部140は、ハミルトニアン131が最小値となるビット値の探索依頼を制御装置200に送信する。
[ステップS105]解探索依頼部140は、制御装置200から探索によって得られた解を取得する。解は、例えばハミルトニアン131の最小値が得られる各状態変数の値の組み合わせである。解探索依頼部140は、取得した解を問題受付部110に送信する。
[ステップS106]問題受付部110は、取得した解に基づいて、組み合わせ最適化問題の最適な組み合わせを示す情報を、端末装置31に送信する。
次に、次数変換処理の手順について具体的に説明する。
図7は、次数変換処理の手順の一例を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS111]次数変換部122は、ハミルトニアン生成部121が生成した、三次以上の項を含むハミルトニアン131を記憶部130から取得する。
[ステップS112]次数変換部122は、取得したハミルトニアンの解を探索する際に使用するビット数をカウントし、変数nに設定する。例えば次数変換部122は、取得したハミルトニアンに含まれるパウリ行列の種類数を、使用ビット数を表す変数nに設定する。
[ステップS113]次数変換部122は、変換過程のハミルトニアンに含まれる最高次の項を1つ選択し、式(2)または式(3)を用いて、選択した項をその項より一次だけ低い次数の項に変換する。例えば次数変換部122は、選択した項の符号が正であれば、その項を式(2)によって変換する。また次数変換部122は、選択した項の符号が負であれば、その項を式(3)によって変換する。次数変換部122は、選択した項の変換により生じたパウリ行列に対応するビットを、n+1番目のビット(補助ビット)とする。
[ステップS114]次数変換部122は、使用ビット数nに1を加算する(n=n+1)。
[ステップS115]次数変換部122は、変換過程のハミルトニアンに含まれる項のうち、同類項を1つの項にまとめる。例えば次数変換部122は、係数以外が共通の複数の項の係数の和を計算し、その和を新たな項(係数以外は元と同じ)の係数とする。
[ステップS116]次数変換部122は、変換過程のハミルトニアンのすべての項が二次以下となったか否かを判断する。次数変換部122は、すべての項が二次以下となった場合、処理をステップS117に進める。また次数変換部122は、三次以上の高次項が残っている場合、処理をステップS113に進める。
[ステップS117]次数変換部122は、すべての項が二次以下となったハミルトニアンを出力する。
このように高次項を変換するごとに、係数以外が共通の同類項どうしをまとめることで、式(2)または式(3)を用いて項を変換する回数が削減される。項の次数の変換が行われるごとに補助ビットが発生するため、変換回数が少なければ、その分、発生する補助ビットの数も削減される。
以下、式(1)を変換する場合の例を用いて、補助ビットの削減効果について説明する。
図8は、高次項の変換例を示す第1の図である。式(1)では、第1項が四次項であり、他の2項が三次項である。そこで次数変換部122は、まず第1項を三次項に変換する。第1項の符号は正であるため、次数変換部122は、式(2)を用いて変換を行う。
式(1)に示した高次項を含むハミルトニアン131aの第1項を変換すると、以下の式が得られる。
Figure 0007401739000007
式(7)に示すように、次数変換部122は、式(1)の第1項のみ三次まで落とし、式(1)の第2項と第3項とは三次のまま残しておく。式(7)において追加されたパウリ行列「σz 5」が、高次項を変換することで生じる補助ビットに対応する。
ここで第1項を変換することで得られた三次の項のうちの「-σz 1σz 3σz 4」の項は、式(1)の第2項「-4σz 1σz 3σz 4」と係数以外のパウリ行列が同じである。次数変換部122は、係数以外が共通のこれらの同類項を1つの項「-5z 1σz 3σz 4」にまとめる。また第1項を変換することで得られた三次の項のうちの「-σz 2σz 3σz 4」の項は、式(1)の第2項「-2σz 2σz 3σz 4」と係数以外のパウリ行列が同じである。次数変換部122は、係数以外が共通のこれらの同類項を1つの項「-3σz 2σz 3σz 4」にまとめる。
係数以外が共通の項をまとめた結果、以下の式(8)に示すようなハミルトニアン131bが得られる。
Figure 0007401739000008
式(8)には、3つの三次項が含まれている。そこで次数変換部122は、三次項それぞれを、式(2)または式(3)に基づいて二次項に変換する。
図9は、高次項の変換例を示す第2の図である。次数変換部122が式(8)の項「2z 3σz 4σz 5」を式(2)に基づいて変換すると、追加のパウリ行列「σz 6」が生じる。次数変換部122が式(8)の項「-5z 1σz 3σz 4」を式(3)に基づいて変換すると、追加のパウリ行列「σz 7」が生じる。次数変換部122が式(8)の項「-3σz 2σz 3σz 4」を式(3)に基づいて変換すると、追加のパウリ行列「σz 8」が生じる。
三次項それぞれを二次項に変換した結果、ハミルトニアンは以下の式(9)となる。
Figure 0007401739000009
式(9)において、式(1)から増加したパウリ行列は、「σz 5」「σz 6」「σz 7」「σz 8」の4つである。すなわち式(9)で表されるハミルトニアンの最小値を求解するために使用する補助ビット数は「4」である。式(4)~式(6)に示したように、ビット数削減の工夫を伴わずに変換をすると補助ビット数が「6」になる。したがって、図7に示す手順で次数変換処理を行うことで、補助ビット数が33%削減される。全使用ビット数の削減率は20%である。
なお組み合わせ最適化問題の規模が大きくなるほど、補助ビット数の削減効果も大きくなる。例えば前述の非特許文献2によれば、水素分子の量子化学計算で使用する補助ビット数が「424」(全使用ビット数「440」)である。それに対して、図7に示した手順で高次式から二次式への変換を行えば、補助ビット数が「168」(全使用ビット数「184」)となる。すなわち補助ビット数が60%削減される。全使用ビット数の削減率は58%である。
このようにイジングモデルを用いた求解において使用する補助ビット数が削減できることで、大規模な組み合わせ最適化問題を、イジングマシン300を利用して高速に解くことが可能となる。すなわちイジングマシン300を用いて解くことが可能な組み合わせ最適化問題の範囲が広がり、複雑な問題を高速に解くことができる。
〔その他の実施の形態〕
第2の実施の形態は、サーバ100と制御装置200とが別に設けられているが、サーバ100と制御装置200とを1つのコンピュータで実現することもできる。
また第2の実施の形態では、ビットの値をニューロン回路で算出するイジングマシン300の例を示したが、量子コンピュータをイジングマシン300として利用することもできる。量子コンピュータをイジングマシン300として利用した場合、ハミルトニアンのパウリ行列に対応するビットが量子ビットとなる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 イジングマシン
10 次数変換装置
11 記憶部
11a ハミルトニアン
12 処理部

Claims (7)

  1. イジングモデルのエネルギーを表したハミルトニアンに含まれる複数の項から、N個(Nは3以上の整数)のパウリ行列を含む項を変換対象項として選択する選択処理と、前記ハミルトニアン内の前記変換対象項を、変換後の複数の第1の項のうちの1以上の第1の項に前記変換対象項に含まれない追加のパウリ行列を含み、それぞれがN個未満のパウリ行列を含む前記複数の第1の項に変換する変換処理と、変換後の前記ハミルトニアンに含まれる同類項どうしを加算して1つの項とするまとめ処理とを、繰り返し実行する処理部、
    を有する次数変換装置。
  2. 前記処理部は、前記選択処理が実行されるごとに三次以上の項を1つずつ前記変換対象項として選択し、前記選択処理、前記変換処理、および前記まとめ処理を、前記ハミルトニアン内のすべての項の次数が二次以下になるまで繰り返し実行する、
    請求項1記載の次数変換装置。
  3. 前記処理部は、前記選択処理において、前記ハミルトニアンに含まれる複数の項のうち次数が大きい項から順に前記変換対象項として選択する、
    請求項2記載の次数変換装置。
  4. コンピュータが、
    イジングモデルのエネルギーを表したハミルトニアンに含まれる複数の項から、N個(Nは3以上の整数)のパウリ行列を含む項を変換対象項として選択する選択処理と、前記ハミルトニアン内の前記変換対象項を、変換後の複数の第1の項のうちの1以上の第1の項に前記変換対象項に含まれない追加のパウリ行列を含み、それぞれがN個未満のパウリ行列を含む前記複数の第1の項に変換する変換処理と、変換後の前記ハミルトニアンに含まれる同類項どうしを加算して1つの項とするまとめ処理とを、繰り返し実行する、
    次数変換方法。
  5. コンピュータに、
    イジングモデルのエネルギーを表したハミルトニアンに含まれる複数の項から、N個(Nは3以上の整数)のパウリ行列を含む項を変換対象項として選択する選択処理と、前記ハミルトニアン内の前記変換対象項を、変換後の複数の第1の項のうちの1以上の第1の項に前記変換対象項に含まれない追加のパウリ行列を含み、それぞれがN個未満のパウリ行列を含む前記複数の第1の項に変換する変換処理と、変換後の前記ハミルトニアンに含まれる同類項どうしを加算して1つの項とするまとめ処理とを、繰り返し実行する、
    処理を実行させる次数変換プログラム。
  6. 前記選択処理が実行されるごとに三次以上の項を1つずつ前記変換対象項として選択し、前記選択処理、前記変換処理、および前記まとめ処理を、前記ハミルトニアン内のすべての項の次数が二次以下になるまで繰り返し実行する、
    請求項記載の次数変換プログラム。
  7. 前記選択処理において、前記ハミルトニアンに含まれる複数の項のうち次数が大きい項から順に前記変換対象項として選択する、
    請求項記載の次数変換プログラム。
JP2019183619A 2019-10-04 2019-10-04 次数変換装置、次数変換方法、および次数変換プログラム Active JP7401739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019183619A JP7401739B2 (ja) 2019-10-04 2019-10-04 次数変換装置、次数変換方法、および次数変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019183619A JP7401739B2 (ja) 2019-10-04 2019-10-04 次数変換装置、次数変換方法、および次数変換プログラム

Publications (2)

Publication Number Publication Date
JP2021060714A JP2021060714A (ja) 2021-04-15
JP7401739B2 true JP7401739B2 (ja) 2023-12-20

Family

ID=75380158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019183619A Active JP7401739B2 (ja) 2019-10-04 2019-10-04 次数変換装置、次数変換方法、および次数変換プログラム

Country Status (1)

Country Link
JP (1) JP7401739B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022259355A1 (ja) * 2021-06-08 2022-12-15

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191564A (ja) 2013-03-27 2014-10-06 Fujifilm Corp 画像処理装置、画像処理プログラムおよび画像処理装置の作動方法
WO2014192153A1 (ja) 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
JP2019513276A (ja) 2016-03-11 2019-05-23 ワンキュービー インフォメーション テクノロジーズ インク. 量子計算のための方法及びシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191564A (ja) 2013-03-27 2014-10-06 Fujifilm Corp 画像処理装置、画像処理プログラムおよび画像処理装置の作動方法
WO2014192153A1 (ja) 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
JP2019513276A (ja) 2016-03-11 2019-05-23 ワンキュービー インフォメーション テクノロジーズ インク. 量子計算のための方法及びシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIA, Rongxin ほか,Electronic Structure Calculations and the Ising Hamiltonian,arXiv[online],2017年06月01日,pp.1-21,[retrieved on 2023.05.26], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1706.00271.pdf>

Also Published As

Publication number Publication date
JP2021060714A (ja) 2021-04-15

Similar Documents

Publication Publication Date Title
Cao et al. Quantum chemistry in the age of quantum computing
Jain et al. RxNN: A framework for evaluating deep neural networks on resistive crossbars
Schindler et al. Quantum simulation of dynamical maps with trapped ions
Rong et al. A fast pruned-extreme learning machine for classification problem
JP2008507038A (ja) 最適化を用いて電子回路を設計する方法および装置
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
CN111914378B (zh) 一种单振幅量子计算模拟方法及装置
CN114492814B (zh) 基于量子计算模拟目标体系能量的方法、装置及介质
JP7417074B2 (ja) 最適化装置、最適化方法及び最適化装置の制御プログラム
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
Michiels et al. BayeSuites: An open web framework for massive Bayesian networks focused on neuroscience
JP7401739B2 (ja) 次数変換装置、次数変換方法、および次数変換プログラム
JP4369791B2 (ja) 有向スケールフリーオブジェクト関係のモデリング
CN114492815B (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
Jattana et al. Assessment of the variational quantum eigensolver: application to the Heisenberg model
Zhang et al. Uniformly sampled genetic algorithm with gradient search for structural identification–Part I: global search
Bass et al. Optimizing the optimizer: Decomposition techniques for quantum annealing
Aquilante et al. Inner projection techniques for the low-cost handling of two-electron integrals in quantum chemistry
Savchenko et al. Metamodeling as a way to universalization of inductive modeling tools
JP4260751B2 (ja) ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体
JP5634941B2 (ja) 演算装置、演算方法および演算プログラム
JP4233513B2 (ja) 解析装置、解析プログラム、および解析プログラムを記録したコンピュータ読取可能な記録媒体
Azad et al. Circuit centric quantum architecture design
CN114417543A (zh) 用于优化的设备和方法
JP7425210B2 (ja) 情報処理システムおよび最適解探索処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231120

R150 Certificate of patent or registration of utility model

Ref document number: 7401739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150