JP7795203B2 - Calculation method, calculation system, and program - Google Patents
Calculation method, calculation system, and programInfo
- Publication number
- JP7795203B2 JP7795203B2 JP2022125719A JP2022125719A JP7795203B2 JP 7795203 B2 JP7795203 B2 JP 7795203B2 JP 2022125719 A JP2022125719 A JP 2022125719A JP 2022125719 A JP2022125719 A JP 2022125719A JP 7795203 B2 JP7795203 B2 JP 7795203B2
- Authority
- JP
- Japan
- Prior art keywords
- solution
- model
- variables
- ising
- instance
- 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
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- 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)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
特許法第30条第2項適用 https://ieeexplore.ieee.org/document/9664360、令和3年12月28日 https://www.waseda.jp/top/news/77751、令和4年1月11日Article 30, Paragraph 2 of the Patent Act applies: https://ieeexplore. ieee. org/document/9664360, December 28, 2021 https://www. Waseda. jp/top/news/77751, January 11, 2020
本発明は、イジングモデルを解くための計算方法、計算システム、及びプログラムに関する。 The present invention relates to a calculation method, calculation system, and program for solving the Ising model.
多数の組み合わせの中から最も良い組合せを選ぶ組合せ最適化問題をイジングモデル(あるいは、イジングモデルと等価なquadratic unconstrained binary optimization(QUBO)モデル)に変換し、イジングマシンを用いて求解する技術が知られている。イジングマシンに入力するイジングモデルのスピン変数には、多くのハードウェアで制約が存在するため、任意の個数のスピン変数を有するイジングモデルをイジングマシンに入力することができない。例えば、D-Wave 2000Qマシンは、約2000個のキュービットを有するが、全ての変数が互いに接続されている場合、最大でQUBOモデルの64個の変数しか扱うことができない。 A technique is known in which a combinatorial optimization problem, which involves selecting the best combination from a large number of combinations, is converted into an Ising model (or a quadratic unconstrained binary optimization (QUBO) model, which is equivalent to the Ising model), and then solved using an Ising machine. Because many hardware constraints exist on the spin variables of the Ising model that can be input to an Ising machine, it is not possible to input an Ising model with an arbitrary number of spin variables into an Ising machine. For example, the D-Wave 2000Q machine has approximately 2,000 qubits, but when all of the variables are interconnected, it can only handle a maximum of 64 variables in the QUBO model.
このような問題を解決するため、古典コンピュータとイジングマシンとを併用して、スピン変数の多い元のQUBOモデルから、イジングマシンに載るサイズの部分的なQUBO(subQUBO)モデルを抽出して元のQUBOモデルを最適化するハイブリッド手法が提案されている(例えば、非特許文献1参照)。 To solve this problem, a hybrid method has been proposed that uses a classical computer and an Ising machine in combination to extract a partial QUBO (subQUBO) model that is small enough to fit on the Ising machine from the original QUBO model with many spin variables, and then optimize the original QUBO model (see, for example, Non-Patent Document 1).
しかしながら、従来のハイブリッド手法は、ヒューリスティック(heuristic)であり、必ずしも理論的裏付けがあるわけではない。また、従来のハイブリッド手法において、subQUBOモデルは固定された解から抽出されるので、抽出されたsubQUBOモデルも固定される傾向がある。よって、従来のハイブリッド手法を用いて大域的に最適解を得ることは期待できないという問題がある。 However, conventional hybrid methods are heuristic and not necessarily theoretically backed. Furthermore, in conventional hybrid methods, subQUBO models are extracted from fixed solutions, so the extracted subQUBO models also tend to be fixed. Therefore, there is a problem in that it is not possible to expect to obtain a globally optimal solution using conventional hybrid methods.
本発明は、上記課題に鑑みてなされたものであり、理論的裏付けのもとで、古典コンピュータとイジングマシンとを用いてイジングモデルの最適解を効率よく大域的に得ることができる計算方法、計算システム、及びプログラムを提供することを目的とする。 The present invention was made in consideration of the above-mentioned problems, and aims to provide a computational method, computational system, and program that can efficiently and globally obtain optimal solutions to Ising models using a classical computer and an Ising machine, based on theoretical evidence.
本発明に係る計算方法は、所定の複数の変数を有するイジングモデルを解くための計算方法であって、古典コンピュータにより、(a)イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、(b)複数の解インスタンスにおいて複数の変数の各々の値のばらつきを算出し、(c)複数の変数の中から、ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、複数の解インスタンスからランダムに選択された一の解インスタンスをイジングモデルの暫定解として用いて、抽出した変数のみからなる部分的イジングモデルを構築し、イジングマシンにより、(d)部分的イジングモデルの基底解を求め、古典コンピュータにより、(e)基底解をイジングモデルの暫定解に組み込むことで新たな解インスタンスを求め、新たな解インスタンスをインスタンスプールに追加し、(f)インスタンスプールからイジングモデルのエネルギーが最小となる解インスタンスを最良解として選択する。 The computational method of the present invention is a computational method for solving an Ising model having a predetermined number of variables, and involves using a classical computer to (a) generate multiple solution instances that are multiple quasi-base solutions of the Ising model and register them in an instance pool, (b) calculate the variability of the values of the multiple variables in the multiple solution instances, (c) extract from the multiple variables a number of variables that can be processed by the Ising machine in descending order of variability, and construct a partial Ising model consisting only of the extracted variables using one solution instance randomly selected from the multiple solution instances as a tentative solution of the Ising model, (d) obtain a base solution of the partial Ising model using the Ising machine, and (e) obtain a new solution instance by incorporating the base solution into the tentative solution of the Ising model using a classical computer and add the new solution instance to the instance pool, and (f) select from the instance pool the solution instance that minimizes the energy of the Ising model as the best solution.
本発明に係る計算システムは、所定の複数の変数を有するイジングモデルを解くための計算システムであって、イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、複数の解インスタンスにおいて複数の変数の各々の値のばらつきを算出し、複数の変数の中から、ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、複数の解インスタンスからランダムに選択された一の解インスタンスをイジングモデルの暫定解として用いて、抽出した変数のみからなる部分的イジングモデルを構築するプロセッサを有する古典コンピュータと、部分的イジングモデルの基底解を求めるイジングマシンと、を備える。プロセッサは、基底解をイジングモデルの暫定解に組み込むことで新たな解インスタンスを求め、新たな解インスタンスをインスタンスプールに追加し、インスタンスプールからイジングモデルのエネルギーが最小となる解インスタンスを最良解として選択する。 The computational system of the present invention is a computational system for solving an Ising model having a predetermined number of variables, and includes a classical computer with a processor that generates multiple solution instances, which are multiple quasi-base solutions of the Ising model, and registers them in an instance pool; calculates the variability of the values of the multiple variables in the multiple solution instances; extracts from the multiple variables a number of variables that can be processed by the Ising machine in descending order of variability; and uses one solution instance randomly selected from the multiple solution instances as a tentative solution of the Ising model to construct a partial Ising model consisting only of the extracted variables; and an Ising machine that finds a base solution for the partial Ising model. The processor finds a new solution instance by incorporating the base solution into the tentative solution of the Ising model, adds the new solution instance to the instance pool, and selects from the instance pool the solution instance that minimizes the energy of the Ising model as the best solution.
本発明に係るプログラムは、所定の複数の変数を有するイジングモデルを解くための計算方法をイジングマシンと併用して古典コンピュータに実行させるためのプログラムであって、(a)イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、(b)複数の解インスタンスにおいて複数の変数の各々の値のばらつきを算出し、(c)複数の変数の中から、ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、複数の解インスタンスからランダムに選択された一の解インスタンスをイジングモデルの暫定解として用いて、抽出した変数のみからなる部分的イジングモデルを構築し、(d)構築された部分的イジングモデルについてイジングマシンを用いて求められた基底解をイジングモデルの暫定解に組み込むことで新たな解インスタンスを求め、(e)新たな解インスタンスをインスタンスプールに追加し、(f)インスタンスプールからイジングモデルのエネルギーが最小となる解インスタンスを最良解として選択するプロセスを実行させる。 The program of the present invention is a program for causing a classical computer to execute, in conjunction with an Ising machine, a calculation method for solving an Ising model having a predetermined number of variables, and executes the following processes: (a) generating multiple solution instances that are multiple quasi-base solutions of the Ising model and registering them in an instance pool; (b) calculating the variability of the values of the multiple variables in the multiple solution instances; (c) extracting from the multiple variables a number of variables that can be processed by the Ising machine in descending order of variability; constructing a partial Ising model consisting only of the extracted variables using one solution instance randomly selected from the multiple solution instances as a tentative solution of the Ising model; (d) obtaining a new solution instance by incorporating the base solutions obtained using the Ising machine for the constructed partial Ising model into the tentative solution of the Ising model; (e) adding the new solution instance to the instance pool; and (f) selecting from the instance pool the solution instance that minimizes the energy of the Ising model as the best solution.
本発明によれば、理論的裏付けのもとでイジングモデルの複数の解インスタンスから部分的イジングモデルを構築することにより、イジングモデルの最適解を効率よく大域的に得ることが可能となる。 According to the present invention, by constructing a partial Ising model from multiple solution instances of the Ising model based on theoretical evidence, it is possible to efficiently obtain an optimal solution for the Ising model globally.
以下、図面を参照して、本発明の実施形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
<QUBOモデル>
まず、QUBOモデルについて説明する。イジングモデルを0と1の二値をとるバイナリ変数を用いた2次式までのエネルギー関数で表す場合、QUBOモデルと呼ぶ。QUBOモデルのエネルギー関数(ハミルトニアン)f(X)は、バイナリ変数xi(xi=0又はxi=1)を用いて式(1)のように表される。
First, the QUBO model will be described. When the Ising model is expressed by an energy function up to a quadratic expression using binary variables that take two values, 0 and 1, it is called a QUBO model. The energy function (Hamiltonian) f(X) of the QUBO model is expressed as in Equation (1) using binary variables x i (x i = 0 or x i = 1).
QUBOモデルは、エネルギーが一番低い状態(基底状態)で安定する。QUBOモデルの解は、バイナリ変数の組み合わせの一つであり、QUBOモデルの基底解は、f(X)を最小にするバイナリ変数の組み合わせである。バイナリ変数の所定の組み合わせに対するf(X)の値は、目的値(objective value)と呼ばれる。 The QUBO model is stable in the lowest energy state (ground state). A solution to the QUBO model is one combination of binary variables, and the base solution of the QUBO model is the combination of binary variables that minimizes f(X). The value of f(X) for a given combination of binary variables is called the objective value.
一般に、組合せ最適化問題は、式(1)のf(X)を最小にするバイナリ変数の組合せを探索する問題にマッピングすることができる。 In general, combinatorial optimization problems can be mapped to the problem of finding a combination of binary variables that minimizes f(X) in equation (1).
<一般的手法>
次に、図1に示すアルゴリズムを参照して、イジングマシンのハードウェアよりも大きなサイズのQUBOモデルの基底状態又は準(quasi)基底状態を探索する一般的な手法(ハイブリッドアニーリング)について説明する。
<General method>
Next, with reference to the algorithm shown in FIG. 1, a general method (hybrid annealing) for searching for a ground state or a quasi-ground state of a QUBO model having a size larger than the hardware of an Ising machine will be described.
式(1)で表されるQUBOモデルにおいて、X={x1、x2、…、xn}をバイナリ変数の集合とする。集合Xはn個のバイナリ変数を含んでおり、このQUBOモデルのサイズはnである。イジングマシンが処理可能なバイナリ変数の数(イジングマシンのハードウェアのサイズ)をm(<n)とする。 In the QUBO model expressed by equation (1), X = { x1 , x2 , ..., xn } is a set of binary variables. The set X includes n binary variables, and the size of this QUBO model is n. The number of binary variables that can be processed by the Ising machine (the hardware size of the Ising machine) is m (<n).
まず、Xの各バイナリ変数にランダムに0又は1を設定することでXを初期化し(図1の2行目)、初期化されたXを暫定解(Xbest)とする(3行目)。次に、この暫定解を用いて、QUBOモデルのn個のバイナリ変数からm個のバイナリ変数を抽出してsubQUBOモデル(部分的イジングモデル)を構築する(5行目)。このとき、後述のように、subQUBOモデルとして抽出された部分集合S(⊂X)のバイナリ変数と差集合X-Sのバイナリ変数との間の相互作用係数をsubQUBOモデルの外部磁場係数に組み入れる。 First, X is initialized by randomly setting each binary variable of X to 0 or 1 (line 2 in Figure 1), and the initialized X is designated as the tentative solution (X best ) (line 3). Next, using this tentative solution, m binary variables are extracted from the n binary variables of the QUBO model to construct a subQUBO model (partial Ising model) (line 5). At this time, as described below, the interaction coefficients between the binary variables of the subset S (⊂ X) extracted as the subQUBO model and the binary variables of the difference set X-S are incorporated into the external magnetic field coefficients of the subQUBO model.
次に、イジングマシンにより、subQUBOモデルを最適化することで基底解(m個のバイナリ変数)を求め、この基底解を元のQUBOモデルの現在の暫定解に組み込むことで元のQUBOモデルの準基底解Xを得る(6行目)。この準基底解Xを新たな暫定解Xbestとする(7行目)。このとき、差集合X-Sの(n-m)個のバイナリ変数は、暫定解の値に固定されている。4~6行目のプロセスは、Xbestが収束するまで繰り返される。このように、イジングマシンを用いてサイズmのsubQUBOモデルの基底解を繰り返し求めることで、サイズnの元のQUBOモデルの基底解を得ることができる。なお、図1において、6行目の最適化以外のプロセスは、パーソナルコンピュータなどの古典コンピュータによって実行される。 Next, the Ising machine optimizes the subQUBO model to obtain a base solution (m binary variables), and this base solution is incorporated into the current tentative solution of the original QUBO model to obtain a quasi-base solution X of the original QUBO model (line 6). This quasi-base solution X is designated as a new tentative solution Xbest (line 7). At this time, the (n-m) binary variables in the difference set X-S are fixed to the values of the tentative solution. The process on lines 4 to 6 is repeated until Xbest converges. In this way, by repeatedly obtaining the base solution of a subQUBO model of size m using an Ising machine, the base solution of the original QUBO model of size n can be obtained. Note that in FIG. 1, processes other than the optimization on line 6 are executed by a classical computer such as a personal computer.
QUBOモデルのバイナリ変数の集合をX={x1、x2、…、xn}、暫定解をXt={x1′、x2′、…、xn′}、subQUBOモデルとして抽出される部分集合をS(⊂X)とすると、式(1)に示すQUBOモデルのハミルトニアンf(X)は、subQUBOモデルのハミルトニアンfs(S)として、式(2)のように書き換えられる。
式(2)の右辺第1項のciは式(3)のように定義される。式(3)において、ai、bijは定数であり、xj′は差集合X-Sでの暫定解の値として固定されていることから、ciは定数であり、subQUBOモデルの外部磁場係数とみなすことができる。このように、差集合X-Sでの暫定解xj′を用いて、部分集合Sのバイナリ変数と差集合X-Sのバイナリ変数との間の相互作用係数bijをsubQUBOモデルの外部磁場係数ciに組み入れる。
式(2)の右辺第3項のconstは式(4)のように定義される定数項である。
次に、図1のアルゴリズムの具体例を説明する。図2に、サイズnのQUBOモデルの一例を示す。QUBOモデルのバイナリ変数の集合をX={x1、x2、…、x5}、暫定解をXt={x1′、x2′、…、x5′}、イジングマシンのハードウェアのサイズmを3とする。図2のQUBOモデルは、a1=-3、a2=-4、a3=1、a4=4、a5=-4、b12=-1、b13=-2、b14=0、b15=2、b23=2、b24=-2、b25=-1、b34=-5、b35=2、b45=-3である。 Next, a specific example of the algorithm in Figure 1 will be described. Figure 2 shows an example of a QUBO model of size n. The set of binary variables in the QUBO model is X = { x1 , x2 , ..., x5 }, the tentative solution is Xt = { x1 ', x2 ', ..., x5 '}, and the hardware size m of the Ising machine is 3. The QUBO model in Figure 2 has a1 = -3, a2 = -4, a3 = 1, a4 = 4, a5 = -4, b12 = -1, b13 = -2, b14 = 0, b15 = 2, b23 = 2, b24 = -2, b25 = -1, b34 = -5, b35 = 2, and b45 = -3.
図2のQUBOモデルの暫定解の一例を図3に示す。図3に示す暫定解は、x1′=x2′=x3′=1、x4′=x5′=0であり、目的値は-7である。図4Aに示すように、図3のQUBOモデルから部分集合S={x1、x3、x5}がsubQUBOモデルとして抽出される場合、subQUBOモデルの外部磁場係数c1、c3、c5は、式(3)より、それぞれ、-4、3、-5となる。このとき、差集合X-S={x2、x4}の各バイナリ変数は暫定解で与えられる固定値をとり、x2=x2′=1、x4=x4′=0である。 An example of a provisional solution for the QUBO model in Figure 2 is shown in Figure 3. The provisional solution shown in Figure 3 is x1 ' = x2 ' = x3 ' = 1, x4 ' = x5 ' = 0, and the target value is -7. As shown in Figure 4A, when the subset S = { x1 , x3 , x5 } is extracted as a subQUBO model from the QUBO model in Figure 3, the external magnetic field coefficients c1 , c3 , and c5 of the subQUBO model are -4, 3, and -5, respectively, according to equation (3). In this case, each binary variable in the difference set X-S = { x2 , x4 } takes a fixed value given by the provisional solution, with x2 = x2 ' = 1 and x4 = x4 ' = 0.
図4Aに示すsubQUBOモデルを、イジングマシンを用いて最適化すると、図4Bに示すように、subQUBOモデルの基底解(x1=1、x3=0、x5=1)が得られる。subQUBOモデルの基底解(図4B)を元のQUBOモデルの現在の暫定解(図3)に組み込むと、図4Cのように、元のQUBOモデルの新たな暫定解を得ることができる。 When the subQUBO model shown in Fig. 4A is optimized using an Ising machine, a base solution ( x1 = 1, x3 = 0, x5 = 1) of the subQUBO model is obtained as shown in Fig. 4B. By incorporating the base solution of the subQUBO model (Fig. 4B) into the current tentative solution of the original QUBO model (Fig. 3), a new tentative solution of the original QUBO model can be obtained as shown in Fig. 4C.
<本実施形態の計算方法の理論的背景>
次に、本実施形態の計算方法の理論的背景について説明する。図4Cに示す暫定解は、目的値-11を与えるが、図2のQUBOモデルの基底解ではない。図2のQUBOモデルは、全てのバイナリ変数の値が1のときに基底解となり、その目的値は-14である。元のQUBOモデルの基底解を効率的に得るためには、どのように元のQUBOモデルからsubQUBOモデルを抽出するのかが重要である。
<Theoretical background of the calculation method of this embodiment>
Next, the theoretical background of the calculation method of this embodiment will be described. The provisional solution shown in FIG. 4C gives a target value of -11, but is not the base solution of the QUBO model in FIG. 2. The QUBO model in FIG. 2 becomes the base solution when all binary variables have a value of 1, and its target value is -14. In order to efficiently obtain the base solution of the original QUBO model, it is important how to extract a subQUBO model from the original QUBO model.
例えば、図5Aに示すように、図3の暫定解を与えるQUBOモデルから部分集合S={x3、x4、x5}がsubQUBOモデルとして抽出された場合、このsubQUBOモデルの基底解はx3=x4=x5=1となる。その結果、図5Bに示すように、元のQUBOモデルの基底解(x1=x2=x3=x4=x5=1)を得ることができる。部分集合S={x2、x4、x5}がsubQUBOモデルとして抽出された場合も同様に元のQUBOモデルの基底解を得ることができる。ここで、図3の暫定解を構成するバイナリ変数のうち、図5Bの基底解と異なるバイナリ変数はx4、x5である。よって、subQUBOモデルとして抽出される部分集合Sに基底解と異なるバイナリ変数x4、x5が含まれていれば、元のQUBOモデルの基底解が得られると推測することができる。 For example, as shown in Figure 5A, when a subset S = { x3 , x4 , x5 } is extracted as a subQUBO model from the QUBO model that provides the provisional solution of Figure 3, the base solution of this subQUBO model is x3 = x4 = x5 = 1. As a result, as shown in Figure 5B, the base solution of the original QUBO model ( x1 = x2 = x3 = x4 = x5 = 1) can be obtained. Similarly, when a subset S = { x2 , x4 , x5 } is extracted as a subQUBO model, the base solution of the original QUBO model can be obtained. Here, among the binary variables that make up the provisional solution of Figure 3, the binary variables that differ from the base solution of Figure 5B are x4 and x5 . Therefore, if the subset S extracted as the subQUBO model contains binary variables x 4 and x 5 that are different from the base solution, it can be inferred that the base solution of the original QUBO model can be obtained.
上述の例から、以下の定理を導くことができる:「QUBOモデルを構成するバイナリ変数の中から、QUBOモデルの基底解と異なる値を有するバイナリ変数を全てsubQUBOモデルとして抽出するとき、抽出されたsubQUBOモデルの基底解は元のQUBOモデルの基底解を与える。」 From the above example, the following theorem can be derived: "When all binary variables that make up a QUBO model have values that differ from the base solutions of the QUBO model and are extracted as subQUBO models, the base solutions of the extracted subQUBO model provide the base solutions of the original QUBO model."
この定理を一般化するため、QUBOモデルのバイナリ変数の集合をX={xi}、subQUBOモデルとして抽出される部分集合をS(⊂X)、元のQUBOモデルの暫定解をXt={xi′}、元のQUBOモデルの基底解をX*={xi *}、xi∈Sに対するsubQUBOモデルの基底解をXs *={si *}、QUBOモデルの基底解と異なる値を有するバイナリ変数の集合をNとする。この場合、上述の定理は以下のように一般化することができる:S⊇Nであるとき、fs(Xs *)=f(X*)。 To generalize this theorem, let X = { xi } be the set of binary variables in the QUBO model, S(⊂X) be the subset extracted as the subQUBO model, Xt = { xi '} be the tentative solution of the original QUBO model, X * = { xi * } be the base solution of the original QUBO model, Xs * = { si * } be the base solution of the subQUBO model for xiεS , and N be the set of binary variables that have values different from the base solutions of the QUBO model. In this case, the above theorem can be generalized as follows: when S⊇N, fs ( Xs * ) = f(X * ).
次に、上述の定理を証明する。式(2)より、subQUBOモデルの基底状態の目的値fs(Xs
*)は式(5)のように表される。
同様に、式(1)より、QUBOモデルの基底状態の目的値f(X*)は式(6)のように表される。
S⊇Nであるため、xi′∈X-Sであるとき、xi′∈X-Nである。xi′∈X-Nのとき、xi′=xi
*である。すなわち、暫定解のバイナリ変数(暫定変数)xi′が差集合X-Nに属するとき、その暫定変数xi′の値は、QUBOモデルの基底解のバイナリ変数xi
*の値に一致する。よって、以下の式(7)~式(9)が成り立つ。
したがって、subQUBOモデルの基底状態の目的値fs(Xs
*)は式(10)のようになる。
式(6)及び式(10)より、fs(Xs *)>f(X*)であれば、Xs *={si *}はsubQUBOモデルの基底解を与えず、Xs *がsubQUBOモデルの基底解であるという仮定と矛盾する。fs(Xs *)<f(X*)であれば、X*={xi *}はQUBOモデルの基底解を与えず、X*がQUBOモデルの基底解であるという仮定と矛盾する。したがって、fs(Xs *)=f(X*)である。□ From equations (6) and (10), if fs ( Xs * )>f(X * ), then Xs * = { si * } does not provide a basic solution of the subQUBO model, which contradicts the assumption that Xs * is a basic solution of the subQUBO model. If fs ( Xs * )<f(X * ), then X * = { xi * } does not provide a basic solution of the QUBO model, which contradicts the assumption that X * is a basic solution of the QUBO model. Therefore, fs ( Xs * ) = f(X * ). □
<subQUBOモデルの抽出方法の概要>
次に、subQUBOモデルの抽出方法の流れを説明する。上述の定理に基づいてsubQUBOモデルを抽出するため、QUBOモデルのNI個(≧3)の準基底解(以下、解インスタンスと呼ぶ。)を生成する。これらの解インスタンスは、古典コンピュータ上で任意のQUBO solverを実行することにより得ることができる。NI個の解インスタンスが得られたら、以下の2つのステップを実行する。
<Outline of the method for extracting subQUBO models>
Next, we will explain the flow of the subQUBO model extraction method. To extract a subQUBO model based on the above theorem, N I (≧3) quasi-basis solutions (hereinafter referred to as solution instances) of the QUBO model are generated. These solution instances can be obtained by running any QUBO solver on a classical computer. Once N I solution instances are obtained, the following two steps are performed.
ステップ1:QUBOモデルのn個のバイナリ変数xi(xi=0又はxi=1)のうち、特定のバイナリ変数xiに着目し、NI個の解インスタンスにおいてxi=1となっている解インスタンスの数をカウントする。このカウントは、元のQUBOモデルのバイナリ変数ごとに行う。 Step 1: Focus on a specific binary variable x i among the n binary variables x i (x i = 0 or x i = 1) of the QUBO model, and count the number of solution instances where x i = 1 among the N I solution instances. This counting is performed for each binary variable of the original QUBO model.
ステップ2:バイナリ変数xiのカウントがNI/2である場合、そのバイナリ変数xiの値は、0の数と1の数が同数であり、ばらつきが最大である。バイナリ変数xiのカウントがNI又は0である場合、そのバイナリ変数は、1の数がNI個又は0の数がNI個であり、ばらつきがない。そして、QUBOモデルのn個のバイナリ変数を値のばらつきが大きい順に並べ替え、ばらつきの大きい順にイジングマシンのハードウェアのサイズを超えない数(m個)のバイナリ変数を抽出することでsubQUBOモデルを構築する。 Step 2: When the count of a binary variable x i is N I /2, the value of that binary variable x i has the same number of 0s and 1s and has the maximum variation. When the count of a binary variable x i is N I or 0, the binary variable has N I 1s or N I 0s and has no variation. Then, the n binary variables of the QUBO model are sorted in descending order of value variation, and a number (m) of binary variables in descending order of variation that does not exceed the hardware size of the Ising machine are extracted to construct a subQUBO model.
このように、多くの解インスタンスにおいて特定のバイナリ変数xiの値が0(又は1)に固定されていれば、QUBOモデルの基底解のバイナリ変数xiの値も0(又は1)であると推測することができる。一方、多くの解インスタンスにおいて特定のバイナリ変数xiの値が0(又は1)に固定されなければ(ばらついていれば)、そのバイナリ変数xiの値はQUBOモデルの基底解とは異なる値であると推測することができる。よって、QUBOモデルの基底解とは異なる値をとると見込まれるバイナリ変数を全て含む集合をsubQUBOモデルとして抽出すればよいと思われる。 In this way, if the value of a specific binary variable x i is fixed to 0 (or 1) in many solution instances, it can be inferred that the value of the binary variable x i of the base solution of the QUBO model is also 0 (or 1). On the other hand, if the value of a specific binary variable x i is not fixed to 0 (or 1) in many solution instances (if it varies), it can be inferred that the value of the binary variable x i is a value different from the base solution of the QUBO model. Therefore, it is thought that a set including all binary variables that are expected to take values different from the base solution of the QUBO model should be extracted as a subQUBO model.
しかしながら、上述の手法は、常に全ての解インスタンスを用いてsubQUBOモデルを抽出しているため、固定された1個のsubQUBOモデルが導かれるだけである。そこで、本実施形態では、NI個の解インスタンスのうちNS個(2≦NS<NI)の解インスタンスをランダムに選択してsubQUBOモデルを抽出するプロセスを複数回(NE回)実行し、全ての解インスタンスを十分活用できるようにする。これにより、NE個の様々なsubQUBOモデルを抽出することができるため、元のQUBOモデルのより良い準基底解(準最適解)を求めることができる。 However, the above-mentioned method always extracts a subQUBO model using all solution instances, resulting in only one fixed subQUBO model. Therefore, in this embodiment, the process of randomly selecting N S solution instances (2≦N S <N I ) from the N I solution instances and extracting a subQUBO model is repeated multiple times (N E times) to fully utilize all solution instances. This allows N E various subQUBO models to be extracted, resulting in a better quasi-basis solution (quasi-optimal solution) of the original QUBO model.
このようなsubQUBOモデルの抽出方法に基づいて元のQUBOモデルの基底状態を探索する計算方法の詳細については後述する(図8~図10参照)。 Details of the calculation method for searching the ground state of the original QUBO model based on this subQUBO model extraction method will be described later (see Figures 8 to 10).
<本実施形態の計算システム>
次に、本実施形態の計算方法を実行するハイブリッド計算システムの構成について説明する。図6に示すように、本実施形態のハイブリッド計算システム10は、古典コンピュータ20と、古典コンピュータ20に接続されたイジングマシン30とを備える。古典コンピュータ20は、パーソナルコンピュータなどの従来型のコンピュータである。なお、古典コンピュータ20に複数台のイジングマシン30が接続されていてもよい。
<Computing system of this embodiment>
Next, the configuration of a hybrid computing system that executes the computing method of this embodiment will be described. As shown in Fig. 6, the hybrid computing system 10 of this embodiment includes a classical computer 20 and an Ising machine 30 connected to the classical computer 20. The classical computer 20 is a conventional computer such as a personal computer. Note that multiple Ising machines 30 may be connected to the classical computer 20.
イジングマシン30は、D-Wave 2000Qマシン、CMOSアニーリングマシン、デジタルアニーラ(登録商標)などの公知のイジングマシンである。 The Ising machine 30 is a known Ising machine such as a D-Wave 2000Q machine, a CMOS annealing machine, or a Digital Annealer (registered trademark).
図7に示すように、古典コンピュータ20は、プロセッサ202と、メモリ204と、記憶装置206と、入力部208と、ディスプレイ210と、I/F212とを備え、これらのデバイスはバスを介して接続される。 As shown in FIG. 7, the classical computer 20 comprises a processor 202, memory 204, storage device 206, input unit 208, display 210, and I/F 212, and these devices are connected via a bus.
プロセッサ202は、Central Processing Unit(CPU)等を有し、メモリ204及び記憶装置206に格納されたプログラムに従って各種の処理を実行する。プロセッサ202によって実行される計算方法の詳細については後述する(図8~図10参照)。 The processor 202 includes a central processing unit (CPU) and executes various processes according to programs stored in the memory 204 and storage device 206. Details of the calculation methods executed by the processor 202 will be described later (see Figures 8 to 10).
なお、プロセッサ202として、CPU等の汎用コンピュータの代わりに、本実施形態の計算方法を実行するためのApplication Specific Integrated Circuits(ASIC)、Field Programmable Gate Array(FPGA)等の専用コンピュータを採用してもよい。 In addition, instead of a general-purpose computer such as a CPU, the processor 202 may be a dedicated computer such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA) for executing the calculation method of this embodiment.
メモリ204は、Read Only Memory(ROM)及びRandom Access Memory(RAM)を有する。ROMは、BIOS等のブートプログラムを格納している。プロセッサ202が、ROMに格納されたプログラム又は記憶装置206に格納されたプログラムを読み出す際、これらのプログラムはRAMにロードされる。 Memory 204 includes read-only memory (ROM) and random access memory (RAM). ROM stores boot programs such as the BIOS. When processor 202 reads a program stored in ROM or a program stored in storage device 206, the program is loaded into RAM.
記憶装置206は、非一時的なコンピュータ読み取り可能な記憶媒体を有し、本実施形態の計算方法を実行するためのプログラム、プログラムの実行に必要なデータ等を格納している。コンピュータ読み取り可能な記憶媒体として、Hard Disk Drive(HDD)、Solid State Drive(SSD)、光ディスク等が挙げられる。 The storage device 206 has a non-transitory computer-readable storage medium and stores a program for executing the calculation method of this embodiment, data necessary for executing the program, etc. Examples of computer-readable storage media include a hard disk drive (HDD), a solid state drive (SSD), an optical disk, etc.
なお、プロセッサ202によって実行されるプログラムを、ネットワークを介して接続された他のコンピュータに格納し、プロセッサ202が、他のコンピュータからI/F212を介してプログラムを読み出すようにしてもよい。 In addition, the program executed by the processor 202 may be stored in another computer connected via a network, and the processor 202 may read the program from the other computer via the I/F 212.
入力部208は、マウス、キーボード等の入力デバイスを有する。ディスプレイ210は、Liquid Crystal Display(LCD)等のディスプレイであり、プロセッサ202により実行された処理の結果を表示する。 The input unit 208 includes input devices such as a mouse and keyboard. The display 210 is a display such as a Liquid Crystal Display (LCD), and displays the results of processing performed by the processor 202.
I/F212は、古典コンピュータ20をLocal Area Network(LAN)、Wide Area Network(WAN)、及び/又はインターネット等のネットワークに接続するためのインターフェースである。 I/F212 is an interface for connecting the classical computer 20 to a network such as a local area network (LAN), a wide area network (WAN), and/or the Internet.
<本実施形態の計算方法>
次に、図8に示すアルゴリズムを参照して、ハイブリッド計算システム10によって実行される計算方法(ハイブリッドアニーリング)について説明する。以下の計算方法では、QUBOモデルのサイズをn、イジングマシン30が処理可能なsubQUBOモデルのサイズをm(<n)とする。
<Calculation method of this embodiment>
Next, a calculation method (hybrid annealing) executed by the hybrid calculation system 10 will be described with reference to the algorithm shown in Fig. 8. In the following calculation method, the size of the QUBO model is set to n, and the size of the subQUBO model that can be processed by the Ising machine 30 is set to m (<n).
まず、図9に示すように、古典コンピュータ20上で任意のQUBO solverを実行することにより、QUBOモデルのNI個(≧3)の解インスタンスXi(i=1、…、NI)を生成し、インスタンスプールに登録する(図8の2~4行目)。次に、古典コンピュータ20は、インスタンスプール内の解インスタンスのうち最小の目的値を与える解インスタンスを暫定的に最良解Xbestとして選択する(5行目)。以降のプロセス(6~19行目)は、Xbestが収束するまで繰り返される。 First, as shown in Fig. 9, by executing an arbitrary QUBO solver on the classical computer 20, N I (≥ 3) solution instances X i (i = 1, ..., N I ) of the QUBO model are generated and registered in the instance pool (lines 2 to 4 in Fig. 8). Next, the classical computer 20 selects the solution instance that gives the smallest target value from among the solution instances in the instance pool as the provisional best solution X best (line 5). The subsequent process (lines 6 to 19) is repeated until X best converges.
次に、古典コンピュータ20上で任意のQUBO solverを実行することによって、インスタンスプール内の解インスタンスを最適化して準基底解を求める(7~8行目)。このとき、QUBO solverには、直前に得られた解インスタンスが入力される。イジングマシン30は、n個のバイナリ変数を有するQUBOモデルを処理できないため、このプロセスでは古典コンピュータ20を用いている。 Next, an arbitrary QUBO solver is executed on the classical computer 20 to optimize the solution instances in the instance pool and find a quasi-basis solution (lines 7-8). At this time, the solution instance obtained immediately before is input to the QUBO solver. Because the Ising machine 30 cannot process a QUBO model with n binary variables, the classical computer 20 is used in this process.
次に、ハイブリッド計算システム10は、上述のsubQUBOモデルの抽出方法を用いて、以下のようにNE個のsubQUBOモデルを抽出する(9~17行目)。 Next, the hybrid computing system 10 uses the above-described method for extracting subQUBO models to extract N E subQUBO models as follows (lines 9 to 17).
subQUBOモデルを抽出するため、古典コンピュータ20は、まず、インスタンスプールからNS個(2≦NS<NI)の解インスタンスXi(i=1、…、NS)をランダムに選択する(10行目)。xk,jをk番目の解インスタンス(1≦k≦NS)におけるj番目のバイナリ変数(1≦j≦n)であるものとする。古典コンピュータ20は、選択されたNS個の解インスタンスにおいてj番目のバイナリ変数に着目し、xk,j=1となる個数をカウントし、得られたカウントcjとNS/2との差の絶対値|cj-NS/2|を指標djとして算出する(11~14行目)。図10に、QUBOモデルのn個のバイナリ変数の各々に対するカウントcj及び指標djの例を示す。 To extract a subQUBO model, the classical computer 20 first randomly selects N S (2≦N S <N I ) solution instances X i (i=1, ..., N S ) from the instance pool (line 10). Let x k,j be the j th binary variable (1≦j≦n) in the k th solution instance (1≦k≦N S ). The classical computer 20 focuses on the j th binary variable in the selected N S solution instances, counts the number of instances where x k,j = 1, and calculates the absolute value |c j -N S /2| of the difference between the obtained count c j and N S /2 as the index d j (lines 11 to 14). Figure 10 shows an example of the count c j and index d j for each of the n binary variables in the QUBO model.
次に、古典コンピュータ20は、n個のバイナリ変数x1、…、xnを指標djの小さい順(ばらつきの大きい順)に並べ替え、指標djの小さい方からm個のバイナリ変数の集合を抽出し、NS個の解インスタンスからランダムに選択された一の解インスタンスXtを元のQUBOモデルの暫定解として用いて、抽出したm個のバイナリ変数のみからなるsubQUBOモデルを構築する(15行目、図4A参照)。subQUBOモデルを構築する際、古典コンピュータ20は、subQUBOモデルの各外部磁場係数を式(3)により算出する。 Next, the classical computer 20 sorts the n binary variables x1 , ..., xn in ascending order of index dj (in descending order of variance), extracts a set of m binary variables starting from the smallest index dj , and constructs a subQUBO model consisting only of the extracted m binary variables using one solution instance Xt randomly selected from the N S solution instances as a tentative solution of the original QUBO model (see line 15, Figure 4A). When constructing the subQUBO model, the classical computer 20 calculates each external magnetic field coefficient of the subQUBO model using equation (3).
次に、イジングマシン30は、抽出されたsubQUBOモデルを最適化して基底解を求める(図4B参照)。続いて、古典コンピュータ20は、そのsubQUBOモデルの基底解を現在の暫定解Xtに組み込むことで(図4C参照)、元のQUBOモデルの準基底解X′を得る(16行目)。古典コンピュータ20は、その準基底解X′を新たな解インスタンスとしてインスタンスプールに追加する(17行目)。 Next, the Ising machine 30 optimizes the extracted subQUBO model to obtain a base solution (see FIG. 4B). Subsequently, the classical computer 20 obtains a quasi-base solution X' of the original QUBO model by incorporating the base solution of the subQUBO model into the current tentative solution Xt (see FIG. 4C) (line 16). The classical computer 20 adds the quasi-base solution X' to the instance pool as a new solution instance (line 17).
ハイブリッド計算システム10は、9~17行目のプロセス(NS個の解インスタンスをランダムに選択してsubQUBOモデルを抽出するプロセス)をNE回実行して、NE個のsubQUBOモデルを構築し、得られた準基底解X′をインスタンスプールに追加する。 The hybrid computing system 10 executes the process on lines 9 to 17 (the process of randomly selecting N S solution instances and extracting subQUBO models) N E times to construct N E subQUBO models and add the obtained quasi-basis solution X′ to the instance pool.
9~17行目のプロセスの後、古典コンピュータ20は、現在のインスタンスプール内の解インスタンスのうち最小の目的値を与える解インスタンスを最良解Xbestとして選択する(18行目)。そして、古典コンピュータ20は、インスタンスプール内の上位NI個の解インスタンス(目的値が小さい順にNI個の解インスタンス)をインスタンスプール内の解インスタンスとして再定義する(19行目)。そして、ハイブリッド計算システム10は、最良解Xbestが収束するまで6~19行目のプロセスを繰り返す。 After the process on lines 9 to 17, the classical computer 20 selects the solution instance that provides the smallest objective value from among the solution instances in the current instance pool as the best solution X best (line 18).The classical computer 20 then redefines the top N I solution instances in the instance pool (N I solution instances in order of smallest objective value) as the solution instances in the instance pool (line 19).The hybrid computing system 10 then repeats the process on lines 6 to 19 until the best solution X best converges.
このように、図8に示すアルゴリズムにおいて、16行目のsubQUBOモデルの最適化はイジングマシン30によって実行され、それ以外のプロセスは、古典コンピュータ20によって実行される。 As such, in the algorithm shown in Figure 8, the optimization of the subQUBO model on line 16 is performed by the Ising machine 30, and the other processes are performed by the classical computer 20.
なお、ハイブリッド計算システム10において、古典コンピュータ20にNE台のイジングマシン30が接続されている場合、NE台のイジングマシン30により、NE個のsubQUBOモデルの基底解を同時に得ることができる(16行目)。 In addition, in the hybrid computing system 10, when N E Ising machines 30 are connected to the classical computer 20, the N E Ising machines 30 can simultaneously obtain N E basis solutions of the subQUBO model (line 16).
本実施形態の計算方法(図8のアルゴリズム)による解精度を評価するため、二次割り当て問題(QAP)のベンチマーク問題であるQuadratic Assignment Problem Library(QAPLIB)の3つのQAP(tai20a、tho30、tho40)をQUBOモデルに変換し、イジングマシンとしてD-Wave 2000Qマシンを用いて求解した。tai20a、tho30、及びtho40に対応するQUBOモデルの変数サイズ(変数の数)は、それぞれ、400、900、及び1600であり、D-Wave 2000Qマシンの最大の変数サイズよりも大きい。また、上述の3つのパラメータ(NI、NE、及びNS)を、それぞれ、NI=20、NE=10、NS=5とした。 To evaluate the solution accuracy of the calculation method of this embodiment (the algorithm of FIG. 8), three QAPs (tai20a, tho30, tho40) in the Quadratic Assignment Problem Library (QAPLIB), which are benchmark problems for quadratic assignment problems (QAPs), were converted into QUBO models and solved using a D-Wave 2000Q machine as an Ising machine. The variable sizes (number of variables) of the QUBO models corresponding to tai20a, tho30, and tho40 were 400, 900, and 1600, respectively, which are larger than the maximum variable size of the D-Wave 2000Q machine. In addition, the three parameters (N I , N E , and N S ) mentioned above were set to N I = 20, N E = 10, and N S = 5, respectively.
得られた解をXとし、QAPLIBから得られた基底解をX*とし、解精度をf(X)/f(X*)と定義する。本実施形態の計算方法により求めたtai20a、tho30、及びtho40における解精度の平均値は、それぞれ、0.958、0.955、及び0.963となった。比較のために、非特許文献1に開示されたqbsolv法により求めた3つのQAPにおける解精度の平均値は、それぞれ、0.951、0.943、及び0.935となった。すなわち、いずれのQAPにおいても、本実施形態の計算方法は、qbsolv法より解精度が高いことがわかった。 The obtained solution is defined as X, the base solution obtained from QAPLIB is defined as X * , and the solution accuracy is defined as f(X)/f(X * ). The average values of the solution accuracy at tai20a, tho30, and tho40 obtained by the calculation method of this embodiment were 0.958, 0.955, and 0.963, respectively. For comparison, the average values of the solution accuracy at three QAPs obtained by the qbsolv method disclosed in Non-Patent Document 1 were 0.951, 0.943, and 0.935, respectively. In other words, it was found that the calculation method of this embodiment had higher solution accuracy than the qbsolv method for all QAPs.
また、解インスタンスの数(NI)が大きくなると解精度が高くなり、subQUBOモデルの数(NE)が大きくなるときも解精度が高くなることがわかった。一方、パラメータNSの値は、解精度にほとんど影響を及ぼさないこともわかった。 We also found that the solution accuracy increases as the number of solution instances (N I ) increases, and also increases as the number of subQUBO models (N E ) increases. On the other hand, we also found that the value of the parameter N S has almost no effect on the solution accuracy.
以上のように、本実施形態によれば、定理による理論的裏付けのもとで、イジングマシンが処理可能なサイズよりも大きなイジングモデルを最適化することにより、イジングモデルの最適解を効率よく大域的に得ることができる。 As described above, according to this embodiment, by optimizing an Ising model that is larger than the size that an Ising machine can process, it is possible to efficiently obtain an optimal solution for the Ising model globally, based on theoretical support provided by the theorem.
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変更が可能であり、当業者によってなされる他の実施形態、変形例も本発明に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications are possible without departing from the spirit of the present invention. Other embodiments and modifications made by those skilled in the art are also included in the present invention.
10 ハイブリッド計算システム
20 古典コンピュータ
30 イジングマシン
202 プロセッサ
204 メモリ
206 記憶装置
208 入力部
210 ディスプレイ
212 I/F
10 Hybrid computing system 20 Classical computer 30 Ising machine 202 Processor 204 Memory 206 Storage device 208 Input unit 210 Display 212 I/F
Claims (6)
古典コンピュータにより、
(a)前記イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、
(b)前記複数の解インスタンスにおいて前記複数の変数の各々の値のばらつきを算出し、
(c)前記複数の変数の中から、前記ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、前記複数の解インスタンスからランダムに選択された一の解インスタンスを前記イジングモデルの暫定解として用いて、前記抽出した変数のみからなる部分的イジングモデルを構築し、
前記イジングマシンにより、
(d)前記部分的イジングモデルの基底解を求め、
前記古典コンピュータにより、
(e)前記基底解を前記イジングモデルの前記暫定解に組み込むことで新たな解インスタンスを求め、前記新たな解インスタンスを前記インスタンスプールに追加し、
(f)前記インスタンスプールから前記イジングモデルのエネルギーが最小となる解インスタンスを最良解として選択する、計算方法。 1. A computational method for solving an Ising model having a predetermined number of variables, comprising:
With classical computers,
(a) generating a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registering them in an instance pool;
(b) calculating a variance in the values of each of the plurality of variables across the plurality of solution instances;
(c) extracting a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and constructing a partial Ising model consisting only of the extracted variables by using one solution instance randomly selected from the plurality of solution instances as a provisional solution of the Ising model;
The Ising machine
(d) determining a basis solution of the partial Ising model;
The classical computer
(e) obtaining a new solution instance by incorporating the base solution into the tentative solution of the Ising model, and adding the new solution instance to the instance pool;
(f) A calculation method in which a solution instance that minimizes the energy of the Ising model is selected from the instance pool as a best solution.
前記イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、前記複数の解インスタンスにおいて前記複数の変数の各々の値のばらつきを算出し、前記複数の変数の中から、前記ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、前記複数の解インスタンスからランダムに選択された一の解インスタンスを前記イジングモデルの暫定解として用いて、前記抽出した変数のみからなる部分的イジングモデルを構築するプロセッサを有する古典コンピュータと、
前記部分的イジングモデルの基底解を求めるイジングマシンと、
を備え、
前記プロセッサは、
前記基底解を前記イジングモデルの前記暫定解に組み込むことで新たな解インスタンスを求め、前記新たな解インスタンスを前記インスタンスプールに追加し、前記インスタンスプールから前記イジングモデルのエネルギーが最小となる解インスタンスを最良解として選択する、計算システム。 1. A computational system for solving an Ising model having a predetermined number of variables, comprising:
a classical computer having a processor that generates a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registers them in an instance pool, calculates a variation in the value of each of the plurality of variables in the plurality of solution instances, extracts a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and uses one solution instance randomly selected from the plurality of solution instances as a tentative solution of the Ising model to construct a partial Ising model consisting only of the extracted variables;
an Ising machine that finds a basis solution of the partial Ising model;
Equipped with
The processor:
a computational system that obtains a new solution instance by incorporating the base solution into the tentative solution of the Ising model, adds the new solution instance to the instance pool, and selects, from the instance pool, a solution instance that minimizes the energy of the Ising model as a best solution.
(a)前記イジングモデルの複数の準基底解である複数の解インスタンスを生成してインスタンスプールに登録し、
(b)前記複数の解インスタンスにおいて前記複数の変数の各々の値のばらつきを算出し、
(c)前記複数の変数の中から、前記ばらつきが大きい順にイジングマシンが処理可能な数の変数を抽出し、前記複数の解インスタンスからランダムに選択された一の解インスタンスを前記イジングモデルの暫定解として用いて、前記抽出した変数のみからなる部分的イジングモデルを構築し、
(d)構築された前記部分的イジングモデルについて前記イジングマシンを用いて求められた基底解を前記イジングモデルの前記暫定解に組み込むことで新たな解インスタンスを求め、
(e)前記新たな解インスタンスを前記インスタンスプールに追加し、
(f)前記インスタンスプールから前記イジングモデルのエネルギーが最小となる解インスタンスを最良解として選択するプロセスを実行させるためのプログラム。 A program for causing a classical computer to execute a calculation method for solving an Ising model having a predetermined number of variables in combination with an Ising machine,
(a) generating a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registering them in an instance pool;
(b) calculating a variance in the values of each of the plurality of variables across the plurality of solution instances;
(c) extracting a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and constructing a partial Ising model consisting only of the extracted variables by using one solution instance randomly selected from the plurality of solution instances as a provisional solution of the Ising model;
(d) obtaining a new solution instance by incorporating the basic solution obtained using the Ising machine for the constructed partial Ising model into the tentative solution of the Ising model;
(e) adding the new solution instance to the instance pool;
(f) A program for executing a process of selecting, from the instance pool, a solution instance that minimizes the energy of the Ising model as a best solution.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022125719A JP7795203B2 (en) | 2022-08-05 | 2022-08-05 | Calculation method, calculation system, and program |
| PCT/JP2023/028173 WO2024029539A1 (en) | 2022-08-05 | 2023-08-01 | Calculation method, calculation system, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022125719A JP7795203B2 (en) | 2022-08-05 | 2022-08-05 | Calculation method, calculation system, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024022266A JP2024022266A (en) | 2024-02-16 |
| JP7795203B2 true JP7795203B2 (en) | 2026-01-07 |
Family
ID=89849407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022125719A Active JP7795203B2 (en) | 2022-08-05 | 2022-08-05 | Calculation method, calculation system, and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7795203B2 (en) |
| WO (1) | WO2024029539A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020004387A (en) | 2018-06-20 | 2020-01-09 | 富士通株式会社 | Optimization problem calculation program and optimization problem calculation system |
-
2022
- 2022-08-05 JP JP2022125719A patent/JP7795203B2/en active Active
-
2023
- 2023-08-01 WO PCT/JP2023/028173 patent/WO2024029539A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020004387A (en) | 2018-06-20 | 2020-01-09 | 富士通株式会社 | Optimization problem calculation program and optimization problem calculation system |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024029539A1 (en) | 2024-02-08 |
| JP2024022266A (en) | 2024-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10102038B2 (en) | Data mining method and node | |
| US9652875B2 (en) | Systems and methods for generating a dense graph | |
| US10275423B2 (en) | Method and system for continuous optimization using a binary sampling device | |
| CN114118287B (en) | Sample generation method, device, electronic device and storage medium | |
| CN116306951B (en) | Quantum computing method and device, electronic device and storage medium | |
| CN119862360A (en) | Data processing method, device, electronic equipment and storage medium | |
| JP7795203B2 (en) | Calculation method, calculation system, and program | |
| US9558313B1 (en) | Method and system for providing a game theory based global routing | |
| JP5555238B2 (en) | Information processing apparatus and program for Bayesian network structure learning | |
| US11086679B2 (en) | Determine whether to accelerate a process of a program based on characteristic values associated with strongly connected graphs | |
| Myoupo et al. | Parallel dynamic programming for solving the optimal search binary tree problem on CGM | |
| CN115578583A (en) | Image processing method, image processing device, electronic equipment and storage medium | |
| CN111190967A (en) | User multi-dimensional data processing method, device and electronic device | |
| Villescas et al. | Scaling probabilistic inference through message contraction optimization | |
| CN116509712B (en) | Acupoint detection methods, devices, equipment, and storage media | |
| Haeri et al. | Adaptive granulation: data reduction at the database level | |
| JP7721434B2 (en) | Information processing system, information processing method, and information processing device | |
| TWI696148B (en) | Image analyzing method, electrical device and computer program product | |
| Komiyama et al. | Problem relaxation methods for quantum minimum fill-in algorithm | |
| JP7829925B2 (en) | Calculation method, calculation system, and program | |
| CN117313881B (en) | Quantum circuit classification method and device and electronic equipment | |
| CN113626474B (en) | Database random extraction method, device and equipment | |
| Gunarathne et al. | Distributing deep learning inference on edge devices | |
| CN117952222A (en) | Model deployment method, device, electronic equipment and machine learning inference system | |
| JP2024092146A (en) | Calculation method, calculation system, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20220901 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250501 |
|
| 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: 20251209 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251212 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7795203 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |