JP7790573B2 - Pseudo-Ising Hamiltonian generator, combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, program - Google Patents
Pseudo-Ising Hamiltonian generator, combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, programInfo
- Publication number
- JP7790573B2 JP7790573B2 JP2024533187A JP2024533187A JP7790573B2 JP 7790573 B2 JP7790573 B2 JP 7790573B2 JP 2024533187 A JP2024533187 A JP 2024533187A JP 2024533187 A JP2024533187 A JP 2024533187A JP 7790573 B2 JP7790573 B2 JP 7790573B2
- Authority
- JP
- Japan
- Prior art keywords
- pseudo
- ising
- variables
- hamiltonian
- variable
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
特許法第30条第2項適用 2022年6月30日にウェブサイト(アドレス https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=218771&item_no=1&page_id=13&block_id=8)で発表Article 30, Paragraph 2 of the Patent Act applies. Announced on June 30, 2022 on the website (address: https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=218771&item_no=1&page_id=13&block_id=8).
本発明は、±1変数上等価なイジングハミルトニアン変換により疑似的に対角成分の入力を実現できる疑似イジングハミルトニアン生成装置、組み合わせ問題計算システム、イジングマシン、補助変数計算装置、プログラムに関する。 The present invention relates to a pseudo-Ising Hamiltonian generation device, a combinatorial problem calculation system, an Ising machine, an auxiliary variable calculation device, and a program that can pseudo-realize the input of diagonal elements using an Ising Hamiltonian transformation equivalent to ±1 variables.
現在広く利用されているノイマン型コンピュータでは、組合せ最適化問題を効率的に解くことが難しいとされている。そこで近年、組合せ最適化問題をノイマン型コンピュータよりも効率的に解くことが可能な計算機であるイジングマシンの研究開発が進められている。イジングマシンの具体例として、量子アニーリングマシン、コヒーレントイジングマシン、デジタルアニーラなどがある。 The currently widely used von Neumann computers are considered to have difficulty efficiently solving combinatorial optimization problems. Therefore, in recent years, research and development has been underway into Ising machines, which are computers that can solve combinatorial optimization problems more efficiently than von Neumann computers. Specific examples of Ising machines include quantum annealing machines, coherent Ising machines, and digital annealers.
これらの新たな計算機は、対象とする組合せ最適化問題をイジングハミルトニアンとして表現した目的関数を入力とすることにより、高速にその問題の解を計算することができる。 These new computers can quickly calculate the solution to a combinatorial optimization problem by inputting an objective function that expresses the problem as an Ising Hamiltonian.
図1に従来のイジングマシンの機能構成例を示す。図2に従来のイジングマシンの動作例を示す。図1に例示するように、従来のイジングマシン92は、イジングハミルトニアン取得部921と、解候補探索処理部922と、解候補出力部923を含む。 Figure 1 shows an example of the functional configuration of a conventional Ising machine. Figure 2 shows an example of the operation of a conventional Ising machine. As illustrated in Figure 1, the conventional Ising machine 92 includes an Ising Hamiltonian acquisition unit 921, a solution candidate search processing unit 922, and a solution candidate output unit 923.
イジングハミルトニアン取得部921は、組合せ最適化問題を表すイジングハミルトニアンJijを取得する。なお、i,jは変数のインデックスを表すものとし、tは時刻を表すものとする。 The Ising Hamiltonian acquisition unit 921 acquires an Ising Hamiltonian J ij that represents a combinatorial optimization problem, where i and j represent variable indexes and t represents time.
図2に示すように、解候補探索処理部922は、t=Tini(Tiniを計算開始時刻とする)において変数の初期値si(Tini)を設定する(S922A)。解候補探索処理部922は、イジングハミルトニアンJijに基づき変数si(t)の時間変化をsi(t+dt)=Fi(si(t),t;Jij)と計算する(S922B)。Fiの具体例として例えば、Fi=si(t)-[si 3(t)+(1-p(t))si(t)]+Σi≠jJijsj(t)を用いることができる。ただし、p(t)は計算前に予め指定する関数である。 2, the solution candidate search processor 922 sets an initial value si ( Tini ) of a variable at t= Tini ( Tini is the calculation start time) (S922A). The solution candidate search processor 922 calculates the time change of the variable si (t) based on the Ising Hamiltonian Jij as si (t+dt)= Fi ( si (t),t; Jij ) ( S922B ). A specific example of Fi is Fi = si (t)-[ si3 (t)+( 1 -p(t)) si (t)]+ Σi≠jJijsj ( t). Here, p(t) is a function that is specified in advance before calculation.
t=Tfin(Tfinを計算終了時刻とする)になるまでステップS922Bは繰り返し実行される。解候補探索処理部922は、計算終了時刻(t=Tfin)における変数si(Tfin)の値を出力する(S922C)。解候補出力部923は、問題Jijの解候補である変数si(Tfin)の値を出力する。 Step S922B is repeatedly executed until t = Tfin ( Tfin is the calculation end time). The solution candidate search processing unit 922 outputs the value of the variable s i (Tfin) at the calculation end time (t = Tfin ) ( S922C ). The solution candidate output unit 923 outputs the value of the variable s i ( Tfin ) that is a solution candidate for problem J ij .
このような計算機のうち、アナログ値を採る変数を用いて計算を行うもの(例:Coherent Ising Machine(非特許文献1)、Simulated Bifurcation Machine(非特許文献2))については、そのアナログ性を利用することで求解性能が変化する。 Among such computers, those that perform calculations using variables that take analog values (e.g., Coherent Ising Machine (Non-Patent Document 1) and Simulated Bifurcation Machine (Non-Patent Document 2)) can change their solution performance by taking advantage of their analog nature.
イジングマシンによる求解過程では、必ずしも最適解が得られるわけではなく、最適に近い解への確率分布の中から解が与えられる。ここで、イジングハミルトニアンは+1か-1を取る変数(スピン)に関する多変数2次多項式である。 In the solution process using an Ising machine, the optimal solution is not necessarily obtained, but a solution is given from a probability distribution of solutions close to the optimal one. Here, the Ising Hamiltonian is a multivariate quadratic polynomial with respect to variables (spins) that take on the values +1 or -1.
このイジングマシンにおいて、計算過程および計算結果の変数に±1以外の実数(アナログ値)を許容し、計算結果の変数の符号から最終的に±1の解を決定する形態のイジングマシンが存在する。本明細書ではこれを「アナログ変数イジングマシン」と呼称する。 There are Ising machines that allow real numbers (analog values) other than ±1 for the variables in the calculation process and calculation results, and ultimately determine a ±1 solution from the sign of the variable in the calculation result. In this specification, these are referred to as "analog variable Ising machines."
このアナログ変数イジングマシンに対して、入力となるイジングハミルトニアン行列の対角成分に補助変数を導入することで、該当変数の計算結果の絶対値の調整をすることができるようにも思われるが、アナログ変数イジングマシンには対角成分の入力を許容していないものがある。 For this analog variable Ising machine, it may seem possible to adjust the absolute value of the calculation result for the corresponding variable by introducing auxiliary variables into the diagonal elements of the Ising Hamiltonian matrix that serves as input, but some analog variable Ising machines do not allow the input of diagonal elements.
そこで本発明では、±1変数上等価なイジングハミルトニアン変換により疑似的に対角成分の入力を実現できる疑似イジングハミルトニアン生成装置を提供することを目的とする。 Therefore, the objective of this invention is to provide a pseudo-Ising Hamiltonian generator that can pseudo-input diagonal components using an Ising Hamiltonian transformation that is equivalent on ±1 variables.
本発明の疑似イジングハミルトニアン生成装置は、疑似変数置換部と、疑似対角項生成部を含む。 The pseudo-Ising Hamiltonian generating device of the present invention includes a pseudo-variable substitution unit and a pseudo-diagonal term generating unit.
疑似変数置換部は、イジングハミルトニアンの各変数を2つ以上の分散変数の和の定数倍で定義される疑似変数に置換して疑似イジングハミルトニアンを生成する。疑似対角項生成部は、疑似変数のそれぞれに含まれる分散変数の2次の積の総和の正負反転値である疑似対角項を生成する。 The pseudo-variable substitution unit generates a pseudo-Ising Hamiltonian by replacing each variable in the Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables. The pseudo-diagonal term generation unit generates pseudo-diagonal terms that are the inverted values of the sum of the quadratic products of the distributed variables contained in each pseudo-variable.
本発明の疑似イジングハミルトニアン生成装置によれば、±1変数上等価なイジングハミルトニアン変換により疑似的に対角成分の入力を実現できる。 The pseudo-Ising Hamiltonian generating device of the present invention can pseudo-input diagonal components using an Ising Hamiltonian transformation equivalent to ±1 variables.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 The following describes in detail an embodiment of the present invention. Components having the same functions are assigned the same numbers, and duplicate explanations will be omitted.
以下、図3を参照して、実施例1の疑似イジングハミルトニアン生成装置110の機能構成を説明する。同図に示すように本実施例の疑似イジングハミルトニアン生成装置110は、疑似変数置換部1101と、疑似対角項生成部1102を含む。以下、図4を参照して各構成要件の動作を説明する。 The functional configuration of the pseudo-Ising Hamiltonian generating device 110 of the first embodiment will be described below with reference to Figure 3. As shown in the figure, the pseudo-Ising Hamiltonian generating device 110 of this embodiment includes a pseudo-variable substitution unit 1101 and a pseudo-diagonal term generating unit 1102. The operation of each component will be described below with reference to Figure 4.
<疑似変数置換部1101>
疑似変数置換部1101は、イジングハミルトニアンの各変数を2つ以上の分散変数の和の定数倍で定義される疑似変数σiに置換して疑似イジングハミルトニアンKijを生成する(S1101)。
<Pseudo variable substitution unit 1101>
The pseudo variable substitution unit 1101 substitutes each variable of the Ising Hamiltonian with a pseudo variable σ i defined as a constant multiple of the sum of two or more dispersion variables to generate a pseudo Ising Hamiltonian K ij (S1101).
<疑似対角項生成部1102>
疑似対角項生成部1102は、疑似変数σiのそれぞれに含まれる分散変数xikの2次の積の総和の正負反転値である疑似対角項Δiを生成し、疑似イジングハミルトニアンKijと疑似対角項Δiをイジングマシンに出力する(S1102)。この疑似対角項Δiにはそれぞれ補助変数aiを掛け、絶対値を調整可能とする。
<Pseudo-diagonal term generation unit 1102>
The pseudo-diagonal term generation unit 1102 generates pseudo-diagonal terms Δ i , which are the positive/negative inverted values of the sum of the second-order products of the dispersion variables x ik included in each pseudo variable σ i , and outputs the pseudo-Ising Hamiltonian K ij and the pseudo-diagonal terms Δ i to the Ising machine (S1102). Each of these pseudo-diagonal terms Δ i is multiplied by an auxiliary variable a i to make its absolute value adjustable.
置換後のイジングハミルトニアン(疑似イジングハミルトニアンK)をイジングハミルトニアンと見なし、疑似対角項Δを対角項と見なしてイジングマシンに入力することで対角成分の入力を許容していないアナログ変数イジングマシンに対して、疑似的に対角成分の入力を実現できる。 By regarding the Ising Hamiltonian after substitution (pseudo-Ising Hamiltonian K) as the Ising Hamiltonian and regarding the pseudo-diagonal term Δ as a diagonal term and inputting it into the Ising machine, it is possible to pseudo-input diagonal components into an analog variable Ising machine, which does not allow the input of diagonal components.
この時、疑似対角項Δiは疑似変数σiの絶対値を大きくする作用を持ち、従来の対角項が持つ変数の絶対値を大きくする作用と同じ働きをすることが期待できる。 In this case, the pseudo-diagonal terms Δ i have the effect of increasing the absolute value of the pseudo-variables σ i , and can be expected to have the same effect as the conventional diagonal terms, which increase the absolute value of the variables.
<疑似変数σi、疑似対角項Δi、疑似イジングハミルトニアンKijの具体例>
例えば、オリジナルのイジングモデルが
であった場合について考えると、疑似変数σ0,σ1,σ2を2以上の複数の分散変数の和の定数倍、例えば
と定義することができる。疑似対角項は、各疑似変数σ0,σ1,σ2に含まれる全分散変数x00,x01,x10,x11,x12,x20,x21,x22から2つずつ選び出した積(2次の積)の総和、すなわち
と定義することができる。この例において、疑似イジングハミルトニアン(疑似イジングモデル)は、
と変形でき、Kijは、疑似変数σに関するイジングモデルでもあり、同時に分散変数xに関するイジングモデルでもあることがわかる。
<Specific examples of pseudo-variables σ i , pseudo-diagonal terms Δ i , and pseudo-Ising Hamiltonian K ij >
For example, if the original Ising model
If we consider the case where the pseudo variables σ 0 , σ 1 , and σ 2 are multiplied by a constant number equal to the sum of two or more variance variables, for example,
The pseudo-diagonal terms are the sum of products (second-order products ) of two selected variables from all variance variables x 00 , x 01 , x 10 , x 11 , x 12 , x 20 , x 21 , x 22 included in each pseudo-variable σ 0 , σ 1 , σ 2 , that is,
In this example, the pseudo-Ising Hamiltonian (pseudo-Ising model) is
It can be seen that K ij is an Ising model with respect to the pseudo variable σ and at the same time an Ising model with respect to the distributed variable x.
<逆変換処理>
後述する組み合わせ問題計算システムにより、疑似イジングハミルトニアンKij上の分散変数xikに関する解が得られる。これを基に疑似変数σiの解を計算し、その符号から元の変数siの値を決定すればよい。以下の表に、分散変数xikの例と、これに対応する疑似変数σi、元の変数siの計算例を示す。
疑似対角項は疑似変数について対角項と同じ作用を実現する。これは疑似対角項が疑似変数方向の正の2乗成分と、それに直交する方向の負の2乗成分に分解できることによるものである。
<Inverse conversion process>
The combinatorial problem calculation system described below can be used to obtain a solution for the dispersion variable xik on the pseudo-Ising Hamiltonian Kij . Based on this, the solution for the pseudo-variable σi can be calculated, and the value of the original variable sij can be determined from its sign. The table below shows examples of dispersion variables xik and the corresponding calculation examples for the pseudo-variable σi and original variable sij .
The pseudo-diagonal terms have the same effect on the pseudo-variables as the diagonal terms, because they can be decomposed into positive squared components in the direction of the pseudo-variables and negative squared components in the direction perpendicular to the direction of the pseudo-variables.
本来の対角項は該当変数の2乗の重み成分であり、変数s1の絶対値を増加、または減少させる作用を持つ。
一方、疑似対角項については、
と変形することができ、変形後の数式の第1項は、疑似変数σnの絶対値方向2乗に対する正の重み成分であり、疑似変数σnの絶対値を増加、または減少させる作用がある。一方、変形後の数式の第2項は、疑似変数σnに直交する方向の2乗に対する負の重み成分であり、疑似変数σnの絶対値方向以外に値を逃がす作用がある。
The original diagonal terms are weighted components of the squares of the variables in question, and have the effect of increasing or decreasing the absolute value of the variable s1 .
On the other hand, for the pseudo-diagonal terms,
The first term of the equation after transformation is a positive weight component for the square of the absolute value of the pseudo variable σ n , and acts to increase or decrease the absolute value of the pseudo variable σ n . On the other hand, the second term of the equation after transformation is a negative weight component for the square of the direction perpendicular to the pseudo variable σ n , and acts to escape values in directions other than the absolute value direction of the pseudo variable σ n .
<分散変数の符号を逆転させた変換>
疑似変数定義の際に、分散変数の符号を逆転させた変換も許容される。例えば、前述したオリジナルのイジングモデルの例である
について分散変数の符号を逆転させ、
と疑似変数を定義してもよい。この例の場合、疑似対角項は、
と定義することができる。この例において、疑似イジングハミルトニアン(疑似イジングモデル)は、
と変形できる。
<Transformation of the variance variable by reversing the sign>
When defining pseudo variables, it is also possible to reverse the sign of the distributed variable. For example, in the example of the original Ising model mentioned above,
Reverse the sign of the variance variable for
In this example, the pseudo-diagonal terms are
In this example, the pseudo-Ising Hamiltonian (pseudo-Ising model) is
It can be transformed as follows.
<符号逆転された分散変数を含む場合の逆変換>
疑似変数の符号逆転を含む逆変換については、該当する分散変数の正負を逆転させたものにより逆変換を行えばよい。
For inverse transformation including sign reversal of pseudo variables, the inverse transformation can be performed by reversing the sign of the corresponding variance variable.
以下、上述の疑似イジングハミルトニアン生成装置110を用いた実施例2の組み合わせ問題計算システム1-A、1-Bについて説明する。 Below, we will explain the combinatorial problem calculation systems 1-A and 1-B of Example 2, which use the above-mentioned pseudo-Ising Hamiltonian generation device 110.
実施例2では、入力される疑似対角項に探索中に値が変化する補助的な変数(以下、補助変数という)を付与することにより、イジングマシンの求解過程における解探索を補助する効果を生じさせる。この補助変数の制御については、各時刻でイジングマシンが計算する探索中における疑似変数の値を元に決定する。実施例2では、各変数間の絶対値がそれぞれ等しくなるよう、補助変数の制御方法を設定することにより、求解性能を向上させる。 In Example 2, auxiliary variables (hereinafter referred to as auxiliary variables) whose values change during the search are assigned to the input pseudo-diagonal terms, thereby providing an effect of assisting the solution search in the solution-finding process of the Ising machine. The control of these auxiliary variables is determined based on the values of the pseudo-variables calculated by the Ising machine at each time during the search. In Example 2, the solution-finding performance is improved by setting a control method for the auxiliary variables so that the absolute values of each variable are equal.
図5を参照して実施例2の組み合わせ問題計算システムの機能構成を説明する。同図に示すように本実施例の組み合わせ問題計算システム1-Aは、実施例1で説明した疑似イジングハミルトニアン生成装置110と、補助変数計算装置11と、イジングマシン12を含む。疑似イジングハミルトニアン生成装置110と補助変数計算装置11は古典計算機である。補助変数計算装置11は、補助変数計算部111を含む。イジングマシン12は、疑似イジングハミルトニアン取得部121と、解候補探索処理部122と、解候補出力部923を含み、従来のイジングマシン92との相違点は、疑似イジングハミルトニアン取得部121と、解候補探索処理部122である。 The functional configuration of the combinatorial problem calculation system of Example 2 will be described with reference to Figure 5. As shown in the figure, the combinatorial problem calculation system 1-A of this example includes the pseudo-Ising Hamiltonian generation device 110, auxiliary variable calculation device 11, and Ising machine 12 described in Example 1. The pseudo-Ising Hamiltonian generation device 110 and auxiliary variable calculation device 11 are classical computers. The auxiliary variable calculation device 11 includes an auxiliary variable calculation unit 111. The Ising machine 12 includes a pseudo-Ising Hamiltonian acquisition unit 121, a solution candidate search processing unit 122, and a solution candidate output unit 923, and differs from the conventional Ising machine 92 in the pseudo-Ising Hamiltonian acquisition unit 121 and the solution candidate search processing unit 122.
従来のイジングハミルトニアン取得部921が通常のイジングハミルトニアンを取得するのに対し、本実施例の疑似イジングハミルトニアン取得部121は疑似イジングハミルトニアン生成装置110が生成した疑似イジングハミルトニアンを取得するという違いがある。 The difference is that while the conventional Ising Hamiltonian acquisition unit 921 acquires a normal Ising Hamiltonian, the pseudo-Ising Hamiltonian acquisition unit 121 of this embodiment acquires the pseudo-Ising Hamiltonian generated by the pseudo-Ising Hamiltonian generation device 110.
なお、疑似イジングハミルトニアン生成装置110の機能を補助変数計算装置11に持たせてもよい。この場合、図6の組み合わせ問題計算システム1-Bに示すように、補助変数計算装置11が、疑似イジングハミルトニアン生成部110と、補助変数計算部111を含む構成とすればよい。この場合、疑似イジングハミルトニアン生成装置110は省略され、疑似イジングハミルトニアン生成部110は、疑似イジングハミルトニアン生成装置110と同じ動作をする。 The functions of the pseudo-Ising Hamiltonian generator 110 may be provided in the auxiliary variable calculation device 11. In this case, as shown in the combinatorial problem calculation system 1-B in Figure 6, the auxiliary variable calculation device 11 may be configured to include a pseudo-Ising Hamiltonian generator unit 110 and an auxiliary variable calculation unit 111. In this case, the pseudo-Ising Hamiltonian generator 110 is omitted, and the pseudo-Ising Hamiltonian generator unit 110 operates in the same way as the pseudo-Ising Hamiltonian generator 110.
補助変数計算装置11は、疑似イジングハミルトニアンを補正する補助変数を計算してイジングマシン12に出力する。補助変数は、イジングマシンの解候補探索処理を阻害しないように疑似変数間の絶対値のばらつきを抑制することを特徴とする。 The auxiliary variable calculation device 11 calculates auxiliary variables that correct the pseudo-Ising Hamiltonian and outputs them to the Ising machine 12. The auxiliary variables are characterized by suppressing variations in absolute values between pseudo-variables so as not to interfere with the solution candidate search process of the Ising machine.
イジングマシン12は、補助変数計算装置11が計算した補助変数に基づいて疑似イジングハミルトニアンを補正して、補正された疑似イジングハミルトニアンに基づいて解候補探索処理を実行する。 The Ising machine 12 corrects the pseudo-Ising Hamiltonian based on the auxiliary variables calculated by the auxiliary variable calculation device 11, and performs a solution candidate search process based on the corrected pseudo-Ising Hamiltonian.
図7を参照して、補助変数計算装置11の補助変数計算部111、イジングマシン12の解候補探索処理部122の詳細な動作について説明する。なお、i,j,kは変数のインデックスを表すものとし、tは時刻を表すものとする。 With reference to Figure 7, the detailed operation of the auxiliary variable calculation unit 111 of the auxiliary variable calculation device 11 and the solution candidate search processing unit 122 of the Ising machine 12 will be described. Note that i, j, and k represent variable indexes, and t represents time.
補助変数計算部111は、t=Tini(Tiniは計算開始時刻)において補助変数の初期値ai(Tini)を設定する(S111A)。 The auxiliary variable calculation unit 111 sets the initial value a i (T ini ) of the auxiliary variable at t=T ini (T ini is the calculation start time) (S111A).
解候補探索処理部122は、t=Tiniにおいて分散変数の初期値xik(Tini)を設定する(S122A)。 The solution candidate search processor 122 sets the initial value x ik (T ini ) of the dispersion variable at t=T ini (S122A).
解候補探索処理部122は、補助変数ai(t)と疑似対角項Δiにより疑似イジングハミルトニアンを補正し、補正された疑似イジングハミルトニアンK'ij=Kij+ai(t)Δiに基づいて解候補探索処理を実行する。具体的には解候補探索処理部122は、分散変数xik(t)の時間変化をxik(t+dt)=Fik(xik(t),t;Kij+ai(t)Δi)と計算する(S122B)。 The solution candidate search processor 122 corrects the pseudo Ising Hamiltonian by the auxiliary variables ai (t) and the pseudo diagonal terms Δi , and executes the solution candidate search process based on the corrected pseudo Ising Hamiltonian K'ij = Kij + ai (t) Δi . Specifically, the solution candidate search processor 122 calculates the time change of the dispersion variable xik (t) as xik (t+dt)= Fik ( xik (t),t; Kij + ai (t) Δi ) (S122B).
補助変数計算部111は、ai(t+dt)=Gi(σi(t),ai(t),t)により、補助変数ai(t)の時間変化を計算する(S111B、値の更新)。 The auxiliary variable calculation unit 111 calculates the change over time of the auxiliary variable a i (t) by a i (t+dt)=G i (σ i (t), a i (t), t) (S111B, updating the value).
<S111B、補助変数の計算方法>
以下、ステップS111Bにおける補助変数の計算方法の詳細について述べる。イジングマシン12の計算過程における各時刻で取得した疑似変数σi(t)に基づいて、以下の方程式を満たす補助変数ai(t)を計算して出力する。
<S111B, Auxiliary variable calculation method>
The method for calculating the auxiliary variables in step S111B will be described in detail below. Based on the pseudo variable σ i (t) acquired at each time in the calculation process of the Ising machine 12, an auxiliary variable a i (t) that satisfies the following equation is calculated and output.
dai(t)/dt=f(σi(t),t)
fの関数形は以下の条件を満たすものとして最適化計算の前に与える。f(σi(t),t)=0という方程式の解に|σi(t)|=g(t)が存在する。ここでg(t)はiに依存しないものとする。関数fは上述の関数Gと実質的には同じであるが、上述の式と表現が異なるため、異なる文字を割り当てた。上記のai(t)の更新式は、イジングマシン12が出力する疑似変数σi間の絶対値をg(t)にそろえる働きを生むよう設定されている。
da i (t)/dt=f(σ i (t),t)
The function form of f is given before the optimization calculation, assuming that it satisfies the following conditions: | σi (t)|=g(t) exists as a solution to the equation f( σi (t),t)=0. Here, g(t) is assumed to be independent of i. The function f is essentially the same as the function G described above, but a different letter has been assigned because it is expressed differently from the above formula. The update formula for ai (t) above is set so as to produce a function that aligns the absolute values between the pseudo-variables σi output by the Ising machine 12 with g(t).
<関数fの具体例(アルゴリズム例)>
例えば、ai(t)が時間依存するLagrange乗数として働くように関数fを以下のように設定することができる。
<Specific example of function f (example of algorithm)>
For example, the function f can be set as follows so that a i (t) acts as a time-dependent Lagrange multiplier:
dai(t)/dt=K(M(t)-σi
2(t))
M(t)はM(t)≧0を満たし、その関数形は最適化計算の前に指定する。Kは非0の定数である。上記のai(t)の更新式は、イジングマシンが出力する疑似変数σi間の絶対値を√(M(t))にそろえる働きを生むよう設定されている。
da i (t)/dt=K(M(t)-σ i 2 (t))
M(t) satisfies M(t) ≥ 0, and its functional form is specified before the optimization calculation. K is a non-zero constant. The update formula for ai (t) above is set so as to align the absolute values between the pseudo-variables σi output by the Ising machine to √(M(t)).
補助変数計算部111は、更新された疑似変数σi(t)を用いてt=Tfin(Tfinは計算終了時刻)になるまでステップS111Bを繰り返し実行することにより、補助変数ai(t)を更新し続け、解候補探索処理部122は、更新された補助変数ai(t)を用いてt=TfinになるまでステップS122Bを繰り返し実行して疑似変数σi(t)を更新し続ける。解候補探索処理部122は、計算終了時刻(t=Tfin)における疑似変数σi(Tfin)の値を出力する(S122C)。解候補出力部923は、問題Kijの解候補である疑似変数σi(Tfin)の値を出力する。 The auxiliary variable calculation unit 111 continues to update the auxiliary variable ai (t) by repeatedly executing step S111B using the updated auxiliary variable σi (t) until t = Tfin ( Tfin is the calculation end time), and the solution candidate search processing unit 122 continues to update the pseudo variable σi (t) by repeatedly executing step S122B using the updated auxiliary variable ai (t) until t = Tfin . The solution candidate search processing unit 122 outputs the value of the pseudo variable σi (Tfin) at the calculation end time (t = Tfin ) (S122C). The solution candidate output unit 923 outputs the value of the pseudo variable σi ( Tfin ) that is a solution candidate for the problem Kij .
実施例3は、入力される疑似対角項に補助変数を導入することによりイジングマシンの求解過程を制御する点において実施例2と同様であるが、この補助変数の値について、最適化計算の過程から得られる情報を元に決定するという特徴を有する。実施例3では、各変数間の値の時間平均がそれぞれ等しくなるよう、補助変数の値をヒューリステイクスにより計算し、求解性能を向上させる。 Example 3 is similar to Example 2 in that it controls the solution process of the Ising machine by introducing auxiliary variables into the input pseudo-diagonal terms, but has the feature that the values of these auxiliary variables are determined based on information obtained from the optimization calculation process. In Example 3, the values of the auxiliary variables are calculated using heuristics so that the time averages of the values of each variable are equal, thereby improving solution performance.
図8を参照して実施例3の組み合わせ問題計算システム2-Aの機能構成を説明する。同図に示すように本実施例の組み合わせ問題計算システム2-Aは、疑似イジングハミルトニアン生成装置110と、補助変数計算装置21と、イジングマシン22を含む。疑似イジングハミルトニアン生成装置110と補助変数計算装置21は古典計算機である。補助変数計算装置21は、時間平均部211と、アンサンブル平均部212と、変数間平均部213と、補助変数計算部214を含む。イジングマシン22は、疑似イジングハミルトニアン取得部121と、解候補探索処理部222と、解候補出力部923を含み、実施例2のイジングマシン12との相違点は、解候補探索処理部222である。 The functional configuration of the combinatorial problem calculation system 2-A of Example 3 will be described with reference to Figure 8. As shown in the figure, the combinatorial problem calculation system 2-A of this example includes a pseudo-Ising Hamiltonian generation device 110, an auxiliary variable calculation device 21, and an Ising machine 22. The pseudo-Ising Hamiltonian generation device 110 and the auxiliary variable calculation device 21 are classical computers. The auxiliary variable calculation device 21 includes a time averaging unit 211, an ensemble averaging unit 212, an inter-variable averaging unit 213, and an auxiliary variable calculation unit 214. The Ising machine 22 includes a pseudo-Ising Hamiltonian acquisition unit 121, a solution candidate search processing unit 222, and a solution candidate output unit 923, and differs from the Ising machine 12 of Example 2 in the solution candidate search processing unit 222.
なお、疑似イジングハミルトニアン生成装置110の機能を補助変数計算装置21に持たせてもよい。この場合、図9の組み合わせ問題計算システム2-Bに示すように、補助変数計算装置21が、疑似イジングハミルトニアン生成部110と、時間平均部211と、アンサンブル平均部212と、変数間平均部213と、補助変数計算部214を含む構成とすればよい。この場合、疑似イジングハミルトニアン生成装置110は省略され、疑似イジングハミルトニアン生成部110は、疑似イジングハミルトニアン生成装置110と同じ動作をする。 The functions of the pseudo-Ising Hamiltonian generator 110 may be provided in the auxiliary variable calculation device 21. In this case, as shown in the combinatorial problem calculation system 2-B in Figure 9, the auxiliary variable calculation device 21 may be configured to include a pseudo-Ising Hamiltonian generator 110, a time averaging unit 211, an ensemble averaging unit 212, an inter-variable averaging unit 213, and an auxiliary variable calculation unit 214. In this case, the pseudo-Ising Hamiltonian generator 110 is omitted, and the pseudo-Ising Hamiltonian generator 110 operates in the same way as the pseudo-Ising Hamiltonian generator 110.
本実施例の補助変数計算装置21は、疑似イジングハミルトニアンを補正する補助変数を、イジングマシン22の解候補探索処理の結果に基づいて計算して出力する。補助変数は実施例2と同様に変数間の絶対値のばらつきを抑制する特徴を有する。 The auxiliary variable calculation device 21 of this embodiment calculates and outputs auxiliary variables that correct the pseudo-Ising Hamiltonian based on the results of the solution candidate search process of the Ising machine 22. As in Example 2, the auxiliary variables have the characteristic of suppressing variations in absolute values between variables.
また、本実施例のイジングマシン22は、補助変数に基づいて疑似イジングハミルトニアンを補正して、補正された疑似イジングハミルトニアンに基づいて解候補探索処理を実行する。 In addition, the Ising machine 22 of this embodiment corrects the pseudo-Ising Hamiltonian based on the auxiliary variables and performs the solution candidate search process based on the corrected pseudo-Ising Hamiltonian.
補助変数計算装置21とイジングマシン22は、所定の条件を満たすまで上述の各処理を繰り返し実行する。 The auxiliary variable calculation device 21 and the Ising machine 22 repeatedly perform each of the above-mentioned processes until the specified conditions are met.
図7を参照して、補助変数計算装置21の110を除く構成要件(211、212、213、214)の詳細な動作、イジングマシン22の各構成要件(121、222、923)の詳細な動作について説明する。 Referring to Figure 7, the detailed operation of the components (211, 212, 213, 214) excluding 110 of the auxiliary variable calculation device 21 and the detailed operation of each component (121, 222, 923) of the Ising machine 22 will be described.
時間平均部211は、イジングマシン22の解候補探索処理で得られる各変数インデックスi(i=1,...,N,Nは変数の数)における各時刻の疑似変数σiの時間平均<σi>Tを計算する(S211)。時間平均は、取得可能な変数の情報が離散的σtである場合は<σi>T≡Σtp(σi,t)、連続関数σi(t)として取得可能な場合には<σi>T≡q(∫dtp(σi(t)))と定義する。ただし、p(x),q(x)は予め設定する関数である。 The time averaging unit 211 calculates the time average <σi>T of the pseudo variable σi at each time for each variable index i (i=1,...,N, N is the number of variables) obtained in the solution candidate search process of the Ising machine 22 (S211). The time average is defined as < σi > T ≡Σtp (σi ,t ) when the obtainable variable information is discrete σt , and as < σi > T ≡q (∫dtp( σi (t))) when the variable information can be obtained as a continuous function σi (t). Here, p(x) and q(x) are functions set in advance.
図11にi=1,2の場合における、イジングマシンから出力される疑似変数σiの値の時間変化の例を示した。同図の例では、σ1は時間が経過するにつれて-1.0付近に近づき、σ2は時間が経過するにつれて+1.0付近に近づいている。図12に、図11の例の場合のステップS211の処理、すなわち時間平均<σ1>T、<σ2>Tの計算処理を示す。 Fig. 11 shows an example of the change over time in the value of the pseudo variable σi output from the Ising machine when i = 1, 2. In the example shown in the figure, σ1 approaches near -1.0 as time passes, and σ2 approaches near +1.0 as time passes. Fig. 12 shows the processing of step S211 in the example shown in Fig. 11, i.e., the calculation processing of the time averages < σ1 > T and < σ2 > T .
アンサンブル平均部212は、イジングマシン22の複数回の解候補探索処理の各回に対応する各変数インデックスにおける時間平均<σi>Tの平均であるアンサンブル平均<σ- i>T≡1/LΣ<σi>Tを計算する(S212)。図13に、図11の例におけるL回の解候補探索処理の各回に対応する時間平均<σ1>T,<σ2>Tのアンサンブル平均である<σ- 1>T≡1/LΣ<σ1>T,<σ- 2>T≡1/LΣ<σ2>Tの計算処理を示す。 The ensemble average unit 212 calculates an ensemble average <σ - i > T ≡1/LΣ<σ i > T, which is the average of the time averages <σ i > T for each variable index corresponding to each of the multiple solution candidate search processes performed by the Ising machine 22 (S212). Fig. 13 shows the calculation process of <σ - 1 > T ≡1/LΣ<σ 1 > T and <σ - 2 > T ≡1/LΣ<σ 2 > T , which are the ensemble averages of the time averages <σ 1 > T and < σ 2 > T corresponding to each of the L solution candidate search processes in the example of Fig. 11 .
変数間平均部213は、アンサンブル平均<σ- i>Tの各変数インデックス間の平均である変数間平均M≡1/NΣi<σ- i>Tを計算する(S213)。図13に、図11の例におけるアンサンブル平均<σ- 1>T,<σ- 2>Tの変数間平均M≡1/2(<σ- 1>T+<σ- 2>T)の計算処理を示す。 The inter-variable averaging unit 213 calculates the inter-variable average M≡1/NΣ i <σ - i > T , which is the average between each variable index of the ensemble average <σ - i > T (S213). Fig. 13 shows the calculation process of the inter-variable average M≡1/2(<σ - 1 > T +<σ - 2 > T ) of the ensemble averages <σ - 1 > T and <σ - 2 > T in the example of Fig. 11.
補助変数計算部214は、アンサンブル平均<σ-
i>Tと変数間平均Mの差分と、z≧0を満たすときf(z)≧0、かつz≦0を満たすときf(z)≦0を満たす関数f(z)に基づいて、補助変数ai≡f(<σ-
i>T-M)を計算して出力する(S214)。なお、変数の絶対値を揃えるためのヒューリステイクスとして、f(z)の関数形は
と定める。図13に、図11の例における補助変数a1=f(<σ-
1>T-M),a2=f(<σ-
2>T-M)の計算処理を示す。
The auxiliary variable calculation unit 214 calculates and outputs an auxiliary variable a i ≡ f(<σ - i > T - M ) based on the difference between the ensemble mean <σ - i > T and the mean between variables M , and a function f(z) that satisfies f(z) ≥ 0 when z ≥ 0 and f(z) ≤ 0 when z ≤ 0 (S214). Note that as a heuristic for aligning the absolute values of the variables, the function form of f(z) is
13 shows the calculation process of the auxiliary variables a 1 =f(<σ − 1 > T −M) and a 2 =f(<σ − 2 > T −M) in the example of FIG.
イジングマシン22の疑似イジングハミルトニアン取得部121は、疑似イジングハミルトニアンKijを取得する(S121)。解候補探索処理部222は、上述の処理(S211-S214)により計算された補助変数aiと疑似対角項Δiにより補正された疑似イジングハミルトニアンK'ij=Kij+aiΔiに基づいて解候補探索処理を実行して疑似変数σiを出力する(S222)。 The pseudo Ising Hamiltonian acquisition unit 121 of the Ising machine 22 acquires a pseudo Ising Hamiltonian K ij (S121). The solution candidate search processing unit 222 executes a solution candidate search process based on the pseudo Ising Hamiltonian K' ij =K ij +a i Δ i corrected by the auxiliary variable a i calculated by the above-mentioned processes (S211-S214) and the pseudo diagonal term Δ i , and outputs a pseudo variable σ i (S222).
イジングマシン22から疑似変数σiを取得した補助変数計算装置21は、再び上述の処理(S211-S214)を実行して補助変数aiを出力する。 The auxiliary variable calculation device 21, which has acquired the pseudo variable σ i from the Ising machine 22, executes the above-described processing (S211-S214) again to output the auxiliary variable a i .
補助変数計算装置21、イジングマシン22は上述の処理(S211-S214,S222)を、所定の条件を満たすまで繰り返し実行する。 The auxiliary variable calculation device 21 and the Ising machine 22 repeatedly execute the above-mentioned processing (S211-S214, S222) until the specified conditions are met.
繰り返し処理の停止条件として例えば「変数のばらつきg(<σ- i>T,M)が予め定めた定数εより小さくなる場合」と設定することができる。関数g()は変数のばらつきを表す関数であり、その具体例については後述する。例えば図11の例では、ε>g(<σ- i>T,<σ- 2>T,M)となるまで上述の処理(S211-S214,S222)が繰り返し実行される。 The condition for stopping the repetitive processing can be set to, for example, "when the variance g(<σ - i > T , M) of the variables becomes smaller than a predetermined constant ε." The function g() is a function that represents the variance of the variables, and specific examples will be described later. For example, in the example of FIG. 11, the above processing (S211-S214, S222) is repeatedly executed until ε>g(<σ - i > T , <σ - 2 > T , M).
あるいは繰り返し処理の停止条件として「既定の回数の求解処理を実行したこと」を設定してもよい。 Alternatively, the condition for stopping the repetitive process can be set to "the solution process has been performed a predetermined number of times."
繰り返し処理の停止条件を満たした場合、イジングマシン22の解候補出力部923は、問題Kijの解候補である疑似変数σiの値を出力する(S923)。 When the condition for stopping the iterative process is satisfied, the solution candidate output unit 923 of the Ising machine 22 outputs the value of the pseudo variable σ i , which is a solution candidate for the problem K ij (S923).
<時間平均>
時間平均として例えば以下に挙げる定義を使用することができる。
<Time average>
For example, the following definitions can be used for the time average:
1) <σi>T≡1/T|∫0
Tdtσi(t)|
2) <σi>T≡1/T∫0
Tdt|σi(t)|
3) <σi>T≡1/T∫0
Tdtσi
2(t)
求解過程で、正方向に収束していく変数と負方向に収束していく変数とが存在するため、時間平均において符号の相違の効果を消去するために上述のように絶対値、二乗などを用いている。
1) <σ i > T ≡1/T|∫ 0 T dtσ i (t)|
2) <σ i > T ≡1/T∫ 0 T dt|σ i (t)|
3) <σ i > T ≡1/T∫ 0 T dtσ i 2 (t)
In the solution process, there are variables that converge in the positive direction and variables that converge in the negative direction, so absolute values, squares, etc. are used as described above to eliminate the effect of sign differences in the time average.
<f(z)>
f(z)として例えば以下に挙げる関数を使用することができる。
<ばらつきg(<σ-
i>T,M)>
ばらつきg(<σ-
i>T,M)の具体的な数式として、例えば以下の式を用いることができる。
<f(z)>
For example, the following functions can be used as f(z):
<Variation g(<σ - i > T ,M)>
As a specific formula for the variation g(<σ − i > T , M), for example, the following formula can be used.
1) g(<σ-
i>T,M)≡1/NΣi(<σ-
i>T-M)2
<補記>
本発明の補助変数計算装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
1) g(<σ - i > T ,M)≡1/NΣ i (<σ - i > T -M) 2
<Additional Notes>
The auxiliary variable calculation device of the present invention has, as a single hardware entity, for example, an input unit to which a keyboard or the like can be connected, an output unit to which an LCD display or the like can be connected, a communication unit to which a communication device (e.g., a communication cable) capable of communicating with an external device can be connected, a CPU (which may also include a central processing unit, cache memory, registers, etc.), memories such as RAM and ROM, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing recording media such as a CD-ROM. A physical entity equipped with such hardware resources includes a general-purpose computer.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required to process these programs (this is not limited to an external storage device; for example, the programs may be stored in ROM, which is a read-only storage device). In addition, data obtained by processing these programs is stored appropriately in RAM, external storage device, etc.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。In a hardware entity, each program stored in an external storage device (or ROM, etc.) and the data required to process each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate. As a result, the CPU realizes the specified functions (each component represented as a "... unit," "... means," etc., above).
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiments, and modifications can be made as appropriate without departing from the spirit of the present invention. Furthermore, the processes described in the above embodiments may not only be executed chronologically in the order described, but may also be executed in parallel or individually depending on the processing capacity of the device executing the processes or as needed.
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。As mentioned above, when the processing functions of the hardware entities (devices of the present invention) described in the above embodiments are realized by a computer, the processing content of the functions that the hardware entities should have is described by a program. Then, by executing this program on a computer, the processing functions of the above hardware entities are realized on the computer.
上述の各種の処理は、図14に示すコンピュータの記録部10020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部10010、入力部10030、出力部10040などに動作させることで実施できる。 The various processes described above can be implemented by loading a program that executes each step of the above method into the recording unit 10020 of the computer shown in Figure 14 and operating the control unit 10010, input unit 10030, output unit 10040, etc.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electrically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing this processing can be recorded on a computer-readable recording medium. Examples of computer-readable recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memory. Specifically, for example, magnetic recording devices include hard disk drives, flexible disks, and magnetic tapes; optical disks include DVDs (Digital Versatile Discs), DVD-RAMs (Random Access Memory), CD-ROMs (Compact Disc Read Only Memory), and CD-Rs (Recordable)/RWs (Rewritable); magneto-optical recording media include MOs (Magneto-Optical discs); and semiconductor memories include EEP-ROMs (Electrically Erasable and Programmable-Read Only Memory).
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 This program may be distributed, for example, by selling, transferring, or lending portable recording media such as DVDs or CD-ROMs on which the program is recorded. Furthermore, this program may be distributed by storing it in a storage device of a server computer and transferring it from the server computer to other computers via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, each time a program is transferred from a server computer to the computer, the computer may execute the process in accordance with the received program. Alternatively, the server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function simply by issuing execution instructions and obtaining the results. In this embodiment, the program includes information used for processing by a computer that is equivalent to a program (such as data that does not directly instruct the computer but has properties that define computer processing).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In addition, in this form, a hardware entity is configured by executing a specified program on a computer, but at least part of these processing contents may also be realized by hardware.
Claims (8)
前記疑似変数のそれぞれに含まれる前記分散変数の2次の積の総和の正負反転値である疑似対角項を生成する疑似対角項生成部を含む
疑似イジングハミルトニアン生成装置。 a pseudo-variable replacement unit that replaces each variable of the Ising Hamiltonian with a pseudo-variable defined by a constant multiple of the sum of two or more dispersion variables to generate a pseudo-Ising Hamiltonian;
a pseudo-diagonal term generation unit that generates pseudo-diagonal terms that are positive/negative inversions of the sum of quadratic products of the distributed variables included in each of the pseudo variables.
前記補助変数に基づいて前記疑似イジングハミルトニアンを補正して、補正された前記疑似イジングハミルトニアンに基づいて解候補探索処理を実行する前記イジングマシンを含む
組み合わせ問題計算システム。 an auxiliary variable calculation device that generates a pseudo-Ising Hamiltonian by replacing each variable of the Ising Hamiltonian with a pseudo variable defined by a constant multiple of the sum of two or more distributed variables, generates pseudo-diagonal terms that are positive/negative inversion values of the sum of the quadratic products of the distributed variables included in each of the pseudo variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine, calculates auxiliary variables that correct the pseudo-Ising Hamiltonian, and correct non-uniformity of the variables while maintaining a time evolution similar to that of the variables in the calculation process of the Ising machine , and outputs the auxiliary variables to the Ising machine;
a combination problem calculation system including the Ising machine that corrects the pseudo Ising Hamiltonian based on the auxiliary variables and executes a solution candidate search process based on the corrected pseudo Ising Hamiltonian.
前記補助変数に基づいて前記疑似イジングハミルトニアンを補正して、補正された前記疑似イジングハミルトニアンに基づいて解候補探索処理を実行する前記イジングマシンを含み、
前記補助変数計算装置と前記イジングマシンは、
所定の回数まで各処理を繰り返し実行する
組み合わせ問題計算システム。 an auxiliary variable calculation device that generates a pseudo-Ising Hamiltonian by replacing each variable of the Ising Hamiltonian with a pseudo variable defined by a constant multiple of the sum of two or more distributed variables, generates pseudo-diagonal terms that are positive/negative inversion values of the sum of the quadratic products of the distributed variables included in each of the pseudo variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine, calculates auxiliary variables that correct the pseudo-Ising Hamiltonian based on the result of a solution candidate search process of the Ising machine, and outputs the calculated auxiliary variables to the Ising machine;
the Ising machine correcting the pseudo Ising Hamiltonian based on the auxiliary variables and performing a solution candidate search process based on the corrected pseudo Ising Hamiltonian,
The auxiliary variable calculation device and the Ising machine are
A combination problem calculation system that repeatedly executes each process up to a specified number of times .
前記補助変数計算装置は、
イジングハミルトニアンの各変数を2つ以上の分散変数の和の定数倍で定義される疑似変数に置換して前記疑似イジングハミルトニアンを生成し、前記疑似変数のそれぞれに含まれる前記分散変数の2次の積の総和の正負反転値である前記疑似対角項を生成し、前記イジングマシンに前記疑似イジングハミルトニアンと前記疑似対角項を出力し、前記イジングマシンの計算過程における変数の時間発展と類似した時間発展を維持しながら前記変数の不均一性を補正する前記補助変数を計算して前記イジングマシンに出力する
イジングマシン。 An Ising machine that acquires auxiliary variables, a pseudo Ising Hamiltonian, and pseudo diagonal terms from an auxiliary variable calculation device, corrects the pseudo Ising Hamiltonian based on the acquired auxiliary variables, and performs a solution candidate search process based on the corrected pseudo Ising Hamiltonian,
The auxiliary variable calculation device
an Ising machine that generates a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables, generates the pseudo-diagonal terms that are positive/negative inverted values of the sum of second-order products of the distributed variables included in each of the pseudo-variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to the Ising machine, calculates the auxiliary variables that correct non-uniformity of the variables while maintaining a time evolution similar to that of the variables in the calculation process of the Ising machine, and outputs the auxiliary variables to the Ising machine.
前記補助変数計算装置は、
イジングハミルトニアンの各変数を2つ以上の分散変数の和の定数倍で定義される疑似変数に置換して前記疑似イジングハミルトニアンを生成し、前記疑似変数のそれぞれに含まれる前記分散変数の2次の積の総和の正負反転値である前記疑似対角項を生成し、前記イジングマシンに前記疑似イジングハミルトニアンと前記疑似対角項を出力し、前記補助変数をイジングマシンの解候補探索処理の結果に基づいて計算して前記イジングマシンに出力する
イジングマシン。 An Ising machine that repeatedly executes a process of acquiring auxiliary variables, a pseudo Ising Hamiltonian, and pseudo diagonal terms from an auxiliary variable calculation device, correcting the pseudo Ising Hamiltonian based on the acquired auxiliary variables, and executing a solution candidate search process based on the corrected pseudo Ising Hamiltonian, up to a predetermined number of times ,
The auxiliary variable calculation device
an Ising machine that generates a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables, generates the pseudo-diagonal terms that are positive/negative inverted values of the sum of second-order products of the distributed variables included in each of the pseudo-variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to the Ising machine, and calculates the auxiliary variables based on the results of a solution candidate search process of the Ising machine and outputs the auxiliary variables to the Ising machine.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/027230 WO2024013795A1 (en) | 2022-07-11 | 2022-07-11 | Simulated ising hamiltonian generation device, combination problem computation system, ising machine, auxiliary variable computation device, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2024013795A1 JPWO2024013795A1 (en) | 2024-01-18 |
| JP7790573B2 true JP7790573B2 (en) | 2025-12-23 |
Family
ID=89536232
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024533187A Active JP7790573B2 (en) | 2022-07-11 | 2022-07-11 | Pseudo-Ising Hamiltonian generator, combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7790573B2 (en) |
| WO (1) | WO2024013795A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020113190A (en) | 2019-01-16 | 2020-07-27 | 富士電機株式会社 | Optimizing device, optimizing system, optimizing method, and program |
-
2022
- 2022-07-11 JP JP2024533187A patent/JP7790573B2/en active Active
- 2022-07-11 WO PCT/JP2022/027230 patent/WO2024013795A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020113190A (en) | 2019-01-16 | 2020-07-27 | 富士電機株式会社 | Optimizing device, optimizing system, optimizing method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2024013795A1 (en) | 2024-01-18 |
| WO2024013795A1 (en) | 2024-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105190609A (en) | Translation device, learning device, translation method, and recording medium | |
| JP2021140074A (en) | Number-theoretic transform processing device, number-theoretic transform processing method, and program | |
| JP7590280B2 (en) | Computer system and method for predicting intervention effect | |
| WO2020071187A1 (en) | Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program | |
| Patel et al. | Global minimization of electronic Hamiltonian 1-norm via linear programming in the block invariant symmetry Shift (BLISS) method | |
| Alhawarat et al. | A convex combination between two different search directions of conjugate gradient method and application in image restoration | |
| Ollitrault et al. | Estimation of electrostatic interaction energies on a trapped-ion quantum computer | |
| JP7790573B2 (en) | Pseudo-Ising Hamiltonian generator, combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, program | |
| JP7613562B2 (en) | Polynomial conversion device, polynomial conversion method, and program | |
| EP4542454A1 (en) | Information processing program, information processing method, and information processing device | |
| JP6825119B2 (en) | Secret readers, secret writers, their methods, and programs | |
| Ahmadkhaniha et al. | Performance Analysis of the Hardware-Efficient Quantum Search Algorithm | |
| JP7571869B2 (en) | Function conversion device, function conversion method, and program | |
| Mironov et al. | Degree-degree correlation in networks with preferential attachment based growth | |
| JP7697583B2 (en) | Combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, combination problem calculation method, and program | |
| JP7709655B2 (en) | Combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, combination problem calculation method, and program | |
| JP7758207B2 (en) | Ising model conversion device, Ising model conversion method, and program | |
| JP7513198B2 (en) | Function conversion device, function conversion method, and program | |
| Li et al. | Bayesian inference for Cox regression models using catalytic prior distributions | |
| JP7205623B2 (en) | Secret conjugate gradient method calculation system, secret calculation device, conjugate gradient method calculation device, secret conjugate gradient method calculation method, conjugate gradient method calculation method, and program | |
| JP7795741B2 (en) | Ising machine selection device, Ising machine selection method, and program | |
| JP7290169B2 (en) | Discrimination Estimation Risk Evaluation Device, Discrimination Estimation Risk Evaluation Method, and Program | |
| JP7740543B2 (en) | Secure computation device, secure computation method, and program | |
| JP6852167B2 (en) | Confusion network distributed representation generation device, confusion network classification device, confusion network distributed representation generation method, confusion network classification method, program | |
| JP2021196731A (en) | Arithmetic processing device, information processing device, and arithmetic processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241113 |
|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A801 Effective date: 20241113 |
|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20241113 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250819 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251008 |
|
| 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: 20251111 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251124 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7790573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |