JP7182173B2 - Variable embedding method and processing system - Google Patents

Variable embedding method and processing system Download PDF

Info

Publication number
JP7182173B2
JP7182173B2 JP2019058504A JP2019058504A JP7182173B2 JP 7182173 B2 JP7182173 B2 JP 7182173B2 JP 2019058504 A JP2019058504 A JP 2019058504A JP 2019058504 A JP2019058504 A JP 2019058504A JP 7182173 B2 JP7182173 B2 JP 7182173B2
Authority
JP
Japan
Prior art keywords
variable
variables
valued
embedding
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019058504A
Other languages
Japanese (ja)
Other versions
JP2020004384A (en
Inventor
俊太郎 岡田
雅能 寺部
真之 大関
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tohoku University NUC
Denso Corp
Original Assignee
Tohoku University NUC
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tohoku University NUC, Denso Corp filed Critical Tohoku University NUC
Priority to CA3046768A priority Critical patent/CA3046768C/en
Priority to US16/444,472 priority patent/US11715021B2/en
Publication of JP2020004384A publication Critical patent/JP2020004384A/en
Application granted granted Critical
Publication of JP7182173B2 publication Critical patent/JP7182173B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Complex Calculations (AREA)

Description

本発明は、ハードウェアグラフへの変数埋込方法及び処理システムに関する。 The present invention relates to a method and processing system for embedding variables in hardware graphs.

従来より、出願人は、複数の変数を組合せて構成される評価関数の大域的な最適値を探索する最適化問題を高速に解く手法を開発している。このような組合せ最適化問題を高速に解くため、専用のハードウェアが一般に開発されている。
このハードウェアは特定の固定アーキテクチャを備えており、通常の汎用コンピュータよりも組合せ最適化問題を高速に解くことができる。この種のハードウェアは特定の固定アーキテクチャを備えているため、組合せ最適化問題を解くために幾つか制約を生じる。第1制約は、一度に処理可能な変数の絶対数に限度があることである。また第2制約は、当該変数間の相互作用数に限度があることである。専用のハードウェアを用いて最適化問題を効率的に処理するためには、このような制約条件下にて処理を実行することが求められる。
Conventionally, the applicant has developed a technique for quickly solving an optimization problem for searching for a global optimum value of an evaluation function composed of a combination of multiple variables. Dedicated hardware is generally developed to solve such combinatorial optimization problems at high speed.
This hardware has a specific fixed architecture and can solve combinatorial optimization problems faster than ordinary general-purpose computers. Because this kind of hardware has a specific fixed architecture, it imposes some restrictions on solving combinatorial optimization problems. The first constraint is that there is a limit to the absolute number of variables that can be processed at once. A second constraint is that there is a limit to the number of interactions between the variables. In order to efficiently process optimization problems using dedicated hardware, it is required to execute processing under such constraint conditions.

前記の第1制約に対応するため、特許文献1記載の技術は、最適化問題の変数をハードウェアグラフに埋込むことが可能な部分問題に分割し、部分問題の最適化処理を繰り返すことで元の最適化問題の高精度解を取得しようとしている。しかしながら、ハードウェアグラフに可能な限り多くの変数を埋込むための具体的な方法は示されていない。与えられた最適化問題の変数をハードウェアグラフに埋め込むための具体的な方法は、特許文献2に挙げられている。 In order to deal with the first constraint, the technique described in Patent Document 1 divides the variables of the optimization problem into subproblems that can be embedded in the hardware graph, and repeats the optimization process of the subproblems. I'm trying to get a high-precision solution to the original optimization problem. However, no specific method is shown to embed as many variables as possible in the hardware graph. A specific method for embedding the variables of a given optimization problem in a hardware graph is given in Japanese Patent Application Laid-Open No. 2002-200021.

特許文献2記載の技術は、解きたい問題グラフとハードウェアグラフとを参照し当該ハードウェアグラフの各頂点に対し変数を埋込んでいる。この特許文献2記載の変数の埋込処理は前半と後半に分かれている。前半では、ハードウェアグラフの頂点に複数の変数を重複して割り当てることを許容しつつ与えられた問題の全変数を埋込んでいる。またその後半においては、一つの変数だけが、ハードウェアグラフの上の各頂点に割り当てられるようにしている。その他、非特許文献1も参考文献として挙げることができる。 The technique described in Patent Literature 2 refers to a problem graph to be solved and a hardware graph, and embeds variables for each vertex of the hardware graph. The variable embedding process described in Patent Document 2 is divided into a first half and a second half. The first half embeds all the variables of a given problem while allowing redundant assignment of multiple variables to the vertices of the hardware graph. Also in the second half, only one variable is assigned to each vertex on the hardware graph. In addition, Non-Patent Document 1 can also be cited as a reference.

米国公開2017-255629号明細書US Publication No. 2017-255629 米国特許9501747号明細書U.S. Pat. No. 9,501,747

奥山等,「イジング計算機に向けたグラフ埋め込みアルゴリズム」,一般社団法人電子情報通信学会,vol.116,no.116,IEICE Technical Report,COMP2016-11,pp.97-103,2016年6月Okuyama et al., "Graph Embedding Algorithm for Ising Computer", The Institute of Electronics, Information and Communication Engineers, vol.116, no.116, IEICE Technical Report, COMP2016-11, pp.97-103, June 2016

発明者は、背景技術欄に記載された特許文献2記載の技術を採用すると、特に後半の処理において多くの処理時間を要することを確認している。この特許文献2記載の技術は、前半において一旦重複を許容して埋込みしているため、後半にてその修正を図る必要があるためである。したがって、これらの全ての処理を完了するために多大な時間を要してしまう。特に、特許文献1記載の技術のように、大規模な問題を部分問題に分割しながらハードウェアグラフに繰り返し埋込む必要がある場合には、1回当たりの処理時間を短縮することが全体の処理時間を短縮するために重要である。
本発明の目的は、処理時間を短縮できるようにしたハードウェアグラフへの変数埋込方法及び処理システムを提供することにある。
The inventors have confirmed that if the technology described in Patent Document 2 described in the Background Art column is adopted, it takes a long processing time, especially in the latter half of the processing. This is because the technique described in Patent Document 2 permits duplication once and embeds it in the first half, so it is necessary to correct it in the second half. Therefore, it takes a lot of time to complete all these processes. In particular, when it is necessary to repeatedly embed a large-scale problem into a hardware graph while dividing it into subproblems, as in the technique described in Patent Document 1, it is necessary to reduce the processing time for each time. important for reducing processing time.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and processing system for embedding variables in a hardware graph that can shorten the processing time.

請求項1、13に記載した発明によれば、全ての変数のうち少なくとも一部を前記ハードウェアグラフの頂点に埋込むときに、最適化問題の変数をハードウェアグラフの頂点へ重複割当を必要とするか否かを判定し、重複割当を必要とする変数については部分問題の変数として用いることなく、重複割当の不要な変数を選択してハードウェアグラフの頂点に埋込んでいる。このため、重複割当の解消処理に時間を割く必要なく処理できるようになり、処理時間を短縮できるようになる。
例えば、重複割当を必要とするか否かの判断処理は、ハードウェアグラフの上で変数が割当てられていない頂点を始点とし、追加で埋め込みたい変数に隣接する埋込済変数に割当てられた頂点を終点とする経路を、未使用頂点のみを用いてハードウェアグラフ上で構成可能であるかを確認すれば良い。
例えば、上記の経路が存在する場合は、経路上の各頂点に対して追加で埋込みたい変数又は結合した埋込済変数を適切に埋め込むことで、問題グラフにおける変数間の相互作用を再現しながら、ハードウェアグラフに変数を埋込むことができる。この経路は可能な限り短い方が利用するハードウェアグラフ上の頂点数が少なくて済むため、ダイクストラ法等を用いて最短経路を求める方法が考えられる。
According to the inventions described in claims 1 and 13, when embedding at least a part of all variables to the vertices of the hardware graph, it is necessary to duplicately assign the variables of the optimization problem to the vertices of the hardware graph. Then, the variables that do not require overlapping assignment are selected and embedded in the vertices of the hardware graph without using the variables that require overlapping assignment as the variables of the subproblem. For this reason, it becomes possible to perform the processing without spending time for the processing of resolving duplicate assignments, thereby shortening the processing time.
For example, the process of judging whether duplicate assignment is necessary starts from the vertex to which no variable is assigned on the hardware graph, and the vertex assigned to the embedded variable adjacent to the variable to be additionally embedded. can be constructed on the hardware graph using only unused vertices.
For example, if the above path exists, by appropriately embedding additional variables to be embedded or combined embedded variables for each vertex on the path, while reproducing the interaction between variables in the problem graph , can embed variables in the hardware graph. The shorter the route, the fewer the number of vertices on the hardware graph to be used. Therefore, a method of obtaining the shortest route using the Dijkstra method or the like is conceivable.

第1実施形態における電気的構成図Electrical configuration diagram in the first embodiment 機能的構成図Functional configuration diagram 最適化問題から部分問題への分割イメージ図Image diagram of partitioning an optimization problem into subproblems 最適化問題の解導出処理を示すフローチャートFlowchart showing optimization problem solution derivation processing 変数埋込処理を示すフローチャートFlowchart showing variable embedding processing ハードウェアグラフへの変数埋込処理の説明図(その1)Explanatory diagram of embedding variables in hardware graph (Part 1) ハードウェアグラフへの変数埋込処理の説明図(その2)Explanatory diagram of the process of embedding variables in the hardware graph (Part 2) 第2実施形態における完全グラフのハードウェアグラフへの埋込方法の説明図Explanatory diagram of a method of embedding a complete graph into a hardware graph in the second embodiment. ハードウェアグラフへの変数埋込処理の説明図(その3)Explanatory diagram of the process of embedding variables in the hardware graph (Part 3) ハードウェアグラフの頂点の予約処理を示すフローチャートFlowchart showing hardware graph vertex reservation processing キメラグラフにおける頂点の予約処理の説明図(その1)Explanatory diagram of vertex reservation processing in a chimera graph (Part 1) キメラグラフにおける頂点の予約処理の説明図(その2)Explanatory diagram of vertex reservation processing in a chimera graph (Part 2) キメラグラフにおける頂点の予約処理の説明図(その3)Explanatory diagram of vertex reservation processing in a chimera graph (Part 3) キメラグラフにおける頂点の予約処理の説明図(その4)Explanatory diagram of vertex reservation processing in a chimera graph (Part 4) 第3実施形態の最適化問題の解導出処理を示すフローチャートFlowchart showing optimization problem solution derivation processing of the third embodiment 問題グラフの内容説明図Description diagram of the problem graph 問題グラフにおける埋込順序の説明図Illustration of embedding order in problem graph 第4実施形態において二値変数を用いて表現した多値問題の問題グラフProblem graph of multivalued problem expressed using binary variables in the fourth embodiment 二値変数を選択する選択方法の説明図(その1)Illustration of selection method for selecting binary variables (Part 1) 二値変数を選択する選択方法の説明図(その2)Explanation of the selection method for selecting binary variables (Part 2) 多値変数の埋込処理を示すフローチャートFlowchart showing multi-valued variable embedding processing 二値変数の選択優先順位を示す説明図Explanatory diagram showing selection priority of binary variables 第5実施形態において2択最適化問題への変換処理を示すフローチャートFlowchart showing conversion processing to binary optimization problem in the fifth embodiment 2択最適化問題への変換処理の内容説明図Description diagram of conversion process to binary optimization problem

以下、本発明の変数埋込方法及び処理システムの幾つかの実施形態について図面を参照して説明する。以下の実施形態中では、各実施形態間で同一機能又は類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。 Several embodiments of the variable embedding method and processing system of the present invention will be described below with reference to the drawings. In the following embodiments, portions having the same or similar functions are assigned the same reference numerals and explanations are given, and descriptions of configurations having the same or similar functions, their effects, and linkage operations are necessary. abbreviated according to

(第1実施形態)
図1Aから図6は、第1実施形態の説明図を示している。図1Aに示す量子イジングマシン1は、機能特化型のイジング型ハードウェア2を用いて構成され、複数の変数Xの間の相互作用をハードウェアの物理的な制約として構成し、物質の量子力学的な性質を利用して最適化問題と同じ状況を疑似的に再現してシミュレーションを実行するように構成されている。
(First embodiment)
1A to 6 show explanatory diagrams of the first embodiment. Quantum Ising machine 1 shown in FIG. 1A is configured using function-specific Ising hardware 2, and configures interactions between multiple variables X as physical constraints of hardware, It is configured to simulate the same situation as the optimization problem by using dynamic properties.

イジング型ハードウェア2は、特定の固定アーキテクチャにより構成された専用ハードウェアとなる量子プロセッサにより構成されている。このイジング型ハードウェア2は、その仮想ハードウェア上に多数配列状に頂点V(V1~V9)を備え、仮想ハードウェアの頂点V(V1~V9)の間の相互作用に制約を有するようなハードウェアグラフG2により表すことが可能である。以下の説明において、これらの多数の頂点Vの一部を特定するときには、必要に応じて頂点Vに添え数字を付して説明を行う。また、多数の頂点Vの一部又は全部を総じて頂点Vと称することもある。 The Ising type hardware 2 is composed of a quantum processor, which is dedicated hardware configured by a specific fixed architecture. This Ising type hardware 2 has vertices V (V1 to V9) arranged in a large number on the virtual hardware, and has restrictions on interaction between the vertices V (V1 to V9) of the virtual hardware. It can be represented by a hardware graph G2. In the following description, when some of these vertices V are specified, the vertices V are given suffixes as necessary. Also, some or all of the many vertices V may be collectively referred to as vertices V.

これらの頂点Vの間の相互作用の制約は、例えば図1Aに示すように、縦横に隣接する頂点Vの間(例えばV1-V2間、V2-V3間、V1-V4間…)だけ結合し、これ以外の頂点Vの間は、非結合となるように構成する例を挙げることができる。 The interaction constraint between these vertices V is, for example, as shown in FIG. , and other vertices V can be configured so as to be non-bonded.

また、互いに全結合又は一部の相互作用を制約するように結合した複数の頂点Vを備えた単位セルCを構成し、これらの単位セルCを複数グリッド分だけ備えたハードウェアグラフG2を適用し、この場合、隣接するグリッド間において頂点Vの結合に制約を備えるように構成しても良い。 In addition, a hardware graph G2 is applied that configures a unit cell C that includes a plurality of vertices V that are coupled so as to constrain the interaction of all or part of each other, and that includes these unit cells C for a plurality of grids. However, in this case, it may be configured such that there is a constraint on the connection of vertices V between adjacent grids.

単位セルCを複数グリッド分だけ備えたハードウェアグラフG2の代表例として、キメラグラフと称されるハードウェアグラフG2がある(図5の右側、図9、図10等参照)。このキメラグラフは、例えば縦横方向(第1方向、第2方向相当)にn×mの頂点Vを備えた単位セルC(例えばC11、C12、C21、C22)を備え、この単位セルCが、縦横方向に複数のグリッド備えられるハードウェアグラフG2である。以下の説明において、これらの単位セルCの一部を特定するときには、必要に応じて単位セルCに添え数字を付して説明を行う。また単位セルCの一部又は全部を総じて単位セルCと称することもある。 A hardware graph G2 called a chimera graph is a representative example of the hardware graph G2 having unit cells C for a plurality of grids (see the right side of FIG. 5, FIG. 9, FIG. 10, etc.). This chimera graph includes, for example, a unit cell C (eg, C11, C12, C21, C22) having n×m vertices V in the vertical and horizontal directions (corresponding to the first direction and the second direction), and the unit cell C is It is a hardware graph G2 provided with a plurality of grids in the vertical and horizontal directions. In the following description, when some of these unit cells C are specified, the unit cells C will be given suffix numbers as necessary. Also, part or all of the unit cell C may be collectively referred to as the unit cell C.

このキメラグラフは、図5の右側に示すように、各単位セルCの第1列の各頂点V11~V14が第2列の各頂点V21~V24との間で互いに結合されており、各単位セルCを構成する頂点Vが、他の縦横方向に連続して隣接した単位セルCの対応した頂点Vに結合されることで構成されている。このキメラグラフは、前述した以外の他部分が非結合となる制約を備えるハードウェアグラフG2である。図5の右側に示すキメラグラフの結合関係を詳述する。キメラグラフは、第1列の複数の頂点V11~V14がそれぞれ第2列の複数の頂点V21~V24と結合し、第1列の複数の頂点V11~V14が互いに非結合であると共に、第2列の複数の頂点V21~V24が互いに非結合である単位セルC11…C22を縦横方向に沿って複数グリッド分だけ備えている。またこのとき、単位セルC11、C12の第1列の頂点V11~V14が縦方向に沿ってそれぞれ結合すると共に、単位セルC11、C21の第2列の頂点V21~V24が横方向に沿ってそれぞれ結合している。 This chimera graph, as shown on the right side of FIG. The vertices V constituting the cell C are connected to the corresponding vertices V of the other vertically and horizontally adjacent unit cells C. FIG. This chimera graph is a hardware graph G2 having a constraint that other portions than the above are uncoupled. The connectivity of the chimera graph shown on the right side of FIG. 5 is detailed. In the chimeric graph, a plurality of vertices V11 to V14 in the first column are connected to a plurality of vertices V21 to V24 in the second column, respectively, a plurality of vertices V11 to V14 in the first column are not connected to each other, and a plurality of vertices V11 to V14 in the first column A plurality of grids of unit cells C11 . Also, at this time, the vertices V11 to V14 in the first column of the unit cells C11 and C12 are connected in the vertical direction, and the vertices V21 to V24 in the second column of the unit cells C11 and C21 are connected in the horizontal direction. Combined.

図1Aに示すコンピュータ3は変数埋込装置を構成するものであり、この量子イジングマシン1のイジング型ハードウェア2に適合した形態に変数Xを埋込むための機能を備えた装置である。このコンピュータ3は、CPU4と、ROM、RAM等のメモリ5と、入出力インタフェース6とをバス接続した汎用コンピュータを用いて構成される。メモリ5は非遷移的実体的記録媒体として用いられる。このコンピュータ3は、CPU4によりメモリ5に記憶された変数埋込用のプログラムを実行し、各種手順を実行することで最適な変数Xの埋込方法を探索し、量子イジングマシン1のイジング型ハードウェア2に変数Xを埋込む。 A computer 3 shown in FIG. 1A constitutes a variable embedding device, and is a device having a function for embedding a variable X in a form adapted to the Ising type hardware 2 of this quantum Ising machine 1 . The computer 3 is a general-purpose computer in which a CPU 4, a memory 5 such as ROM and RAM, and an input/output interface 6 are connected by a bus. The memory 5 is used as a non-transitional substantive recording medium. The computer 3 executes a variable embedding program stored in the memory 5 by the CPU 4, searches for an optimal variable X embedding method by executing various procedures, The variable X is embedded in the wear 2.

量子イジングマシン1により実行される最適化処理は、1以上のn次元を備えたユークリッド空間からなる探索空間を想定し、この探索空間の中で、複数の要求や制約によって生成された評価関数Hの最小値、又は、評価関数Hが最小値となる条件を満たす変数X、すなわち最適解を求める処理を示す。評価関数Hは、複数の要求や制約によって生成され、1以上のn個の変数Xに基づいて導出される数式による関数を示すものであり、例えば任意の多項式、有理関数、無理関数、指数関数、対数関数やその加減乗除等による組み合わせなどを挙げることができる。以下、n次元問題における各変数をX1、X2…Xnと示し、必要に応じて、これらの変数の一部又は各変数を総称して変数Xと称する。図1Bに示すように、コンピュータ3は、メモリ5に記憶されたプログラムを実行することで実現する機能として、判定部7及び埋込部8などの各種機能を備える。 The optimization process executed by the quantum Ising machine 1 assumes a search space consisting of a Euclidean space with one or more n dimensions, and in this search space, an evaluation function H or the variable X that satisfies the condition that the evaluation function H becomes the minimum value, that is, the processing for obtaining the optimum solution. The evaluation function H is generated by a plurality of requirements and constraints and represents a mathematical function derived based on one or more n variables X, such as an arbitrary polynomial, rational function, irrational function, exponential function , logarithmic functions, and combinations of addition, subtraction, multiplication, and division. Hereinafter, each variable in the n-dimensional problem will be indicated as X1, X2, . As shown in FIG. 1B, the computer 3 has various functions such as a determination unit 7 and an embedding unit 8 as functions realized by executing programs stored in the memory 5 .

図2は、評価関数Hの最適化問題の大規模問題(原問題)を部分問題に分けるイメージを示しており、図3は、コンピュータ3及び量子イジングマシン1により実行される最適化問題の一連の解導出方法をフローチャートにより示している。 FIG. 2 shows an image of dividing a large-scale optimization problem (original problem) of the evaluation function H into subproblems, and FIG. is shown by a flow chart.

図3に示すように、コンピュータ3は問題グラフG1を入力する(S1)。この問題グラフG1は、コンピュータ3が評価関数Hを解析した結果、評価関数Hに対する要求や制約により求められた各変数Xの相互作用の関係性を表している。この問題グラフG1の一例を図5の左側に示している。この問題グラフG1は、変数X1が変数X2~X9に結合する例を示し、他の変数X2~X9は互いに非結合である例を示している。 As shown in FIG. 3, the computer 3 inputs a problem graph G1 (S1). This problem graph G1 represents the interaction relationship of each variable X obtained from the requirements and constraints on the evaluation function H as a result of the analysis of the evaluation function H by the computer 3 . An example of this problem graph G1 is shown on the left side of FIG. This problem graph G1 shows an example in which the variable X1 is connected to the variables X2 to X9, and the other variables X2 to X9 are not connected to each other.

この後、コンピュータ3は問題グラフG1を構成する変数Xをイジング型ハードウェア2のハードウェアグラフG2に埋込む(S2)。同一の変数Xに対応した頂点Vは、ハードウェアグラフG2の上で連結した部分グラフを構成しなければならない。しかも、問題グラフG1にて結合する変数Xは、ハードウェアグラフG2の上では少なくとも一つ以上の結合を備えていなければならない。このルールを満たしていないと、量子イジングマシン1の上で適切に処理させることができない。このためコンピュータ3は、変数Xの埋込処理を適切に行うことが求められる。 After that, the computer 3 embeds the variable X forming the problem graph G1 into the hardware graph G2 of the Ising type hardware 2 (S2). Vertices V corresponding to the same variable X must form connected subgraphs on the hardware graph G2. Moreover, the variable X that is connected in the problem graph G1 must have at least one or more connections on the hardware graph G2. If this rule is not satisfied, the quantum Ising machine 1 cannot be properly processed. For this reason, the computer 3 is required to perform the embedding process of the variable X appropriately.

図4に変数Xの埋込処理のフローチャートを示している。コンピュータ3が、量子イジングマシン1のハードウェアグラフG2に変数Xを埋込むときには、変数Xを選択して仮にハードウェアグラフG2に埋め込んだときに重複割当を生じるか否かを判定し(S12)、重複割当を生じないときにはハードウェアグラフG2に変数Xを埋込み(S13)、重複割当を生じるときにはハードウェアグラフG2に変数Xを埋込まない(S14)。そして、終了条件を満たすまでS11~S14の処理を繰り返す。終了条件は、未埋込の変数Xがなくなったり、これらの処理S11~S14を予め定められた上限回数まで繰り返した結果、変数Xを追加で埋込み不能と判断することなどである。 FIG. 4 shows a flow chart of embedding processing of the variable X. As shown in FIG. When the computer 3 embeds the variable X in the hardware graph G2 of the quantum Ising machine 1, the computer 3 determines whether redundant allocation will occur if the variable X is selected and temporarily embedded in the hardware graph G2 (S12). , the variable X is embedded in the hardware graph G2 when duplicate assignment does not occur (S13), and the variable X is not embedded in the hardware graph G2 when duplicate assignment occurs (S14). Then, the processing of S11 to S14 is repeated until the termination condition is satisfied. The termination condition is, for example, that there is no variable X that has not been embedded, or that it is determined that the variable X cannot be additionally embedded as a result of repeating these processes S11 to S14 up to a predetermined upper limit number of times.

例えば、図5には、コンピュータ3が問題グラフG1の変数Xを量子イジングマシン1のハードウェアグラフG2に埋込むときの例を示している。ハードウェアグラフG2は、図5の右側に示すように前述説明したキメラグラフを用いている。 For example, FIG. 5 shows an example in which the computer 3 embeds the variable X of the problem graph G1 into the hardware graph G2 of the quantum Ising machine 1. In FIG. The hardware graph G2 uses the chimera graph described above as shown on the right side of FIG.

このとき、コンピュータ3は、変数X1~X9をランダムで選択し、選択された変数Xから順にハードウェアグラフG2に変数Xを埋込む。実際には、変数X1~X9をランダムに選択して埋込むことになるが、ここでは、説明を理解しやすくするため、変数X1から変数X9を順に埋込むときの例を示す。
このとき、コンピュータ3は変数X1を埋め込んだ後、変数X2~X9を埋込む。前述したように、変数X2~X9は全て変数X1と結合する必要がある。このため、変数X7~X9より先に選択される変数X2~X6は、変数X1に結合した頂点Vに埋込まれることになる(図5の右側参照)。ここで変数X7~X9は、変数X2~X6が埋込まれた頂点Vに重複割当しなければ変数X1と結合できなくなるため、S15において終了条件を満たしたと判定し、変数X7~X9を埋込むことなく終了する。
At this time, the computer 3 randomly selects the variables X1 to X9 and embeds the variables X in the hardware graph G2 in order from the selected variable X. In practice, the variables X1 to X9 are randomly selected and embedded, but here, in order to facilitate understanding of the explanation, an example of embedding the variables X1 to X9 in order is shown.
At this time, the computer 3 embeds the variables X2 to X9 after embedding the variable X1. As mentioned above, variables X2-X9 must all be combined with variable X1. Therefore, the variables X2 to X6 selected before the variables X7 to X9 are embedded in the vertex V connected to the variable X1 (see the right side of FIG. 5). Here, the variables X7 to X9 cannot be combined with the variable X1 unless they are redundantly assigned to the vertex V in which the variables X2 to X6 are embedded. end without

そして、変数Xの埋込処理を終了すると、量子イジングマシン1が、図3の処理に移行して最適化処理を実行する(S3)。量子イジングマシン1は、最適化処理において変数X1~X6を部分変数として評価関数Hに代入し、勾配法やその他の最適化手法を用いて評価関数Hが所定より低い条件(最適化条件)を満たすように変数X1~X6の値を求める(部分問題の解導出処理)。このとき、量子イジングマシン1は、処理を開始してから所定時間経過したり所定以上の試行回数繰り返したことを条件として変数X1~X6の最適値を決定し、変数X1~X6を更新する(S4)。この場合、他の変数X7~X9としては、固定値を用いて評価関数Hの評価値を求めると良い。これにより部分問題を解くことができる。 After finishing the embedding process of the variable X, the quantum Ising machine 1 shifts to the process of FIG. 3 and executes the optimization process (S3). The quantum Ising machine 1 substitutes the variables X1 to X6 as partial variables into the evaluation function H in the optimization process, and uses the gradient method or other optimization techniques to set conditions (optimization conditions) in which the evaluation function H is lower than a predetermined value. Values of variables X1 to X6 are obtained so as to satisfy (subproblem solution derivation processing). At this time, the quantum Ising machine 1 determines the optimum values of the variables X1 to X6 under the condition that a predetermined time has passed since the start of the process or that the number of trials has been repeated a predetermined number or more, and updates the variables X1 to X6 ( S4). In this case, the evaluation value of the evaluation function H may be obtained using fixed values for the other variables X7 to X9. This solves the subproblem.

その後、S2に処理を戻し、コンピュータ3は、S2において変数Xを再度ランダムに選択し当該選択された変数XをハードウェアグラフG2に埋込み、量子イジングマシン1がこれらの変数Xによる最適化処理を実行し、当該変数Xの組合せの最適値を決定し、S4においてこれらの変数Xを更新する。なお、このとき選択されなかった変数Xは、当該処理以前に最適値として求められた変数X(ここでは、変数X1~X6)の最適値を用いると良い。一度も選択されていない変数Xは、固定値に設定して処理すると良い。そして、量子イジングマシン1は、処理を開始してから所定時間経過したり又は所定以上の試行回数繰り返したことを条件として終了条件を満たしたと判定し(S5でYES)、この変数Xの結果又は評価関数Hの評価値などを出力する。これにより、全体の最適化問題を解くことができる。このように繰返し処理を行うことで、図2にイメージを示すように、原問題を部分問題に分割して解くことができる。 After that, the process returns to S2, the computer 3 randomly selects the variable X again in S2, embeds the selected variable X in the hardware graph G2, and the quantum Ising machine 1 performs optimization processing using these variables X. to determine the optimum values for the combination of variables X and update these variables X in S4. For the variable X not selected at this time, it is preferable to use the optimum value of the variable X (here, variables X1 to X6) obtained as the optimum value before the processing. A variable X that has never been selected should be set to a fixed value for processing. Then, the quantum Ising machine 1 determines that the end condition is satisfied under the condition that a predetermined time has elapsed since the start of processing or that the trial has been repeated a predetermined number of times or more (YES in S5), and the result of this variable X or An evaluation value of the evaluation function H and the like are output. This allows us to solve the overall optimization problem. By performing such iterative processing, the original problem can be divided into subproblems and solved as shown in FIG.

以上説明したように、本実施形態によれば、全ての変数Xのうち一部をハードウェアグラフG2の頂点Vに埋込むときに、最適化問題の変数XをハードウェアグラフG2の頂点Vへ重複割当を必要とするか否かを判定し(S12)、重複割当を必要とする変数X7~X9については部分問題の変数X7~X9として用いることなく、重複割当の不要な変数X1~X6を選択してハードウェアグラフG2の頂点Vに埋込んでいる。したがって、ハードウェアグラフG2の頂点Vに全ての変数Xを埋込不可能な大規模な最適化問題について、当該最適化問題の変数Xの相互関係を問題グラフG1に表して当該大規模な最適化問題を解く場合、問題グラフG1の変数X1~X9をハードウェアグラフG2に埋込むことが可能な部分問題に分割し、部分問題の最適化処理を繰り返すことで大規模な最適化問題を解くことができる。
なお、図5には、説明を簡単化するため問題グラフG1の変数Xを9個とした例を示した。このため、ハードウェアグラフG2の上の頂点Vを一部しか利用できていない。しかし実際には、変数Xが多数存在する大規模な問題を解くときに、コンピュータ3が上記の埋込処理を実行するため、ハードウェアグラフG2の上の頂点Vをより多く利用でき、より大きな部分問題の変数Xを埋込み可能であることに留意する。
As described above, according to this embodiment, when embedding a part of all the variables X in the vertices V of the hardware graph G2, the variables X of the optimization problem are embedded in the vertices V of the hardware graph G2. It is determined whether or not overlapping assignment is required (S12), variables X7 to X9 that require overlapping assignment are not used as variables X7 to X9 of the partial problem, and variables X1 to X6 that do not require overlapping assignment are used. It is selected and embedded in the vertex V of the hardware graph G2. Therefore, for a large-scale optimization problem in which all the variables X cannot be embedded in the vertices V of the hardware graph G2, the interrelationships of the variables X of the optimization problem are expressed in the problem graph G1 to solve the problem of the large-scale optimization problem. When solving the optimization problem, the variables X1 to X9 of the problem graph G1 are divided into subproblems that can be embedded in the hardware graph G2, and the optimization of the subproblems is repeated to solve a large-scale optimization problem. be able to.
Note that FIG. 5 shows an example in which the number of variables X in the problem graph G1 is nine in order to simplify the explanation. Therefore, only some of the vertices V on the hardware graph G2 can be used. However, in practice, when solving a large-scale problem with many variables X, the computer 3 executes the embedding process described above, so that more vertices V on the hardware graph G2 can be used and a larger Note that the subproblem variable X can be embedded.

<比較例>
図6は、例えば特許文献2記載の技術を適用し、重複割当を許容した場合の比較例を示している。このようなとき、変数X1を埋込済の単位セルC11の頂点V11に結合した頂点Vは5つしかないため変数X2~X6を重複割当なくハードウェアグラフG2に埋込むことができる。しかし、変数X7~X9が頂点V21~V23に重複割当して埋込まれることになる。このような処理を適用すると、この重複割当を解消しながら最適値を算出するため、多大な時間を必要としてしまう。
<Comparative example>
FIG. 6 shows a comparative example when, for example, the technology described in Patent Document 2 is applied and duplicate allocation is allowed. In such a case, since there are only five vertices V that connect the variable X1 to the vertex V11 of the unit cell C11 in which the variable X1 has been embedded, the variables X2 to X6 can be embedded in the hardware graph G2 without redundant assignment. However, the variables X7 to X9 are redundantly assigned and embedded in the vertices V21 to V23. If such a process is applied, it will take a long time to calculate the optimal value while resolving this duplicate allocation.

<本実施形態のまとめ、効果>
本実施形態によれば、コンピュータ3は、変数Xの埋込処理を行うときに、重複割当を必要とするか否かを判定し(S12)、重複割当を必要とする変数X7~X9を部分問題の変数Xとして用いることなく、重複割当の不要な変数X1~X6を選択してハードウェアグラフG2の頂点Vに埋込んでいる。このため、従来技術に示されるような重複割当を許容することなく処理できるようになり、重複割当の解消処理を一切行う必要がなくなり、処理時間を大幅に短縮できる。
<Summary and effects of the present embodiment>
According to this embodiment, the computer 3 determines whether or not redundant assignment is required when performing the embedding process of the variable X (S12), and divides the variables X7 to X9 that require redundant assignment into partial Variables X1 to X6 that do not require redundant assignment are selected and embedded in the vertex V of the hardware graph G2 without using them as the variable X in question. For this reason, it becomes possible to perform processing without permitting overlapping assignments as shown in the prior art, and there is no need to perform processing to eliminate overlapping assignments, thereby significantly shortening the processing time.

(第2実施形態)
図7から図10は、第2実施形態の追加説明図を示している。本実施形態では、コンピュータ3はメモリ5に記憶されたプログラムを実行することで予約部、選択部、禁止部、紐付け部、解消部として機能する。第1実施形態の方法によれば、問題グラフG1の結合数が比較的小さければ、重複割当が不要な変数Xだけを用いて、ハードウェアグラフG2の上に大きな部分問題を構成する変数Xを埋込むことが可能である。しかし、図5に示すように、多くの変数X2~X9と結合する変数X1が、問題グラフG1の中に多数存在するような場合には、ハードウェアグラフG2の上の頂点Vを使い切る前に部分問題の成長が止まってしまう。
(Second embodiment)
7 to 10 show additional explanatory diagrams of the second embodiment. In this embodiment, the computer 3 functions as a reservation unit, a selection unit, a prohibition unit, a linking unit, and a cancellation unit by executing programs stored in the memory 5 . According to the method of the first embodiment, if the problem graph G1 has a relatively small number of connections, only the variables X that do not require overlapping assignments are used, and the variables X that form a large subproblem are placed on the hardware graph G2. It can be embedded. However, as shown in FIG. 5, if there are many variables X1 connected to many variables X2 to X9 in the problem graph G1, before using up the vertices V on the hardware graph G2, The subproblem stops growing.

コンピュータ3は、各変数XをハードウェアグラフG2の上に埋込むときに、各変数Xに割当てられたハードウェアグラフG2の上の部分グラフに含まれる頂点Vの中から少なくとも一つを選択し、選択した頂点VとハードウェアグラフG2の上で結合すると共に、ハードウェアグラフG2の上において他の変数Xとの結合数を効率的に増加させることができる方向に辿る頂点Vに対して該当変数X以外の変数Xの埋込みを禁止し、ハードウェアグラフG2の上で該当変数Xの連結した部分グラフを伸ばすことができる余地を残すことが望ましい。以降、この操作を「予約」と呼ぶ。
図8は、ハードウェアグラフG2の上の頂点Vの埋込処理のフローチャートを示している。図8に示すように、まずコンピュータ3は、完全グラフG1aの変数XをハードウェアグラフG2への埋込方法を用いて(参考にして)予約方法(紐付方法)を設定する(S21)。
When embedding each variable X on the hardware graph G2, the computer 3 selects at least one vertex V included in the subgraph on the hardware graph G2 assigned to each variable X. , for a vertex V that connects with the selected vertex V on the hardware graph G2 and follows a direction that can efficiently increase the number of connections with other variables X on the hardware graph G2. It is desirable to prohibit the embedding of variables X other than the variables X, and to leave room for extending the subgraphs to which the relevant variables X are connected on the hardware graph G2. Hereinafter, this operation is called "reservation".
FIG. 8 shows a flowchart of embedding processing of the vertex V on the hardware graph G2. As shown in FIG. 8, the computer 3 first sets the reservation method (association method) by using (referring to) the method of embedding the variable X of the complete graph G1a into the hardware graph G2 (S21).

具体的な予約方法、所謂紐付方法は、ハードウェアグラフG2の種類により異なる。問題グラフG1として想定される中で最も結合数が多い完全グラフG1a(図7A参照)の変数XをハードウェアグラフG2に埋込む方法を用いる(すなわち参考にする)ことが望ましい。 A specific reservation method, a so-called linking method, differs depending on the type of hardware graph G2. It is desirable to use a method of embedding the variable X of the complete graph G1a (see FIG. 7A), which is assumed to be the problem graph G1 and has the largest number of connections, into the hardware graph G2 (that is, use it as a reference).

図7Aには、この予約方法の設定処理を理解し易くするため、完全グラフG1aをハードウェアグラフG2(キメラグラフ)に埋込む一般的な方法を示しており、太線にて結合するグラフは各変数に割当てられた連結した部分グラフを表している。完全グラフG1aの変数X1~X4は、単位セルC11の頂点V21~V24を含む部分グラフに埋込まれる。変数X5~X8は、単位セルC22の頂点V21~V24を含む部分グラフに埋込まれる。変数X9~X12は、単位セルC33の頂点V21~V24を含む部分グラフに埋め込まれる。
図7Aに示すように、ハードウェアグラフG2の上で連結した部分グラフ(図7A中の太線にて結合するグラフ)は単位セルCの間を縦方向と横方向とに結合した構造となる。コンピュータ3は、この変数X1~X12の埋込方法を用いて(参考にして)、S21において単位セルCの間を跨ぐ方向に辿った各頂点Vに紐付ける。言い換えると、コンピュータ3は、S21においてある頂点Vに対応して縦方向又は/及び横方向の単位セルCに含まれる頂点Vに紐付ける。
FIG. 7A shows a general method of embedding the complete graph G1a in the hardware graph G2 (chimera graph) in order to facilitate understanding of this reservation method setting process. Represents connected subgraphs assigned to variables. Variables X1 to X4 of complete graph G1a are embedded in a subgraph including vertices V21 to V24 of unit cell C11. Variables X5-X8 are embedded in a subgraph containing vertices V21-V24 of unit cell C22. Variables X9-X12 are embedded in a subgraph containing vertices V21-V24 of unit cell C33.
As shown in FIG. 7A, subgraphs connected on the hardware graph G2 (graphs connected by thick lines in FIG. 7A) have a structure in which the unit cells C are connected vertically and horizontally. The computer 3 uses this method of embedding variables X1 to X12 (as a reference) to link each vertex V traced across the unit cells C in S21. In other words, the computer 3 associates a certain vertex V with the vertex V included in the unit cell C in the vertical direction and/or the horizontal direction in S21.

図7Aの右図中に付した単位セルC11の頂点V21(変数X1の埋込頂点V)について、ハードウェアグラフG2へ紐付ける各単位セルCの頂点V11、V21に符号を付すと共に、図7Aの右図中に付した頂点V22(変数X6の埋込頂点V)についてハードウェアグラフG2へ紐付ける各単位セルCの頂点V12、V22に符号を付している。 Regarding the vertex V21 (embedded vertex V of the variable X1) of the unit cell C11 attached in the right diagram of FIG. Vertices V12 and V22 of each unit cell C linked to the hardware graph G2 with respect to the vertex V22 (embedded vertex V of the variable X6) attached in the right figure of FIG.

コンピュータ3が、ハードウェアグラフG2の上で単位セルC11の頂点V21に対応して、単位セルC11、C12、C13…の頂点V11に紐付けると共に、単位セルC21、C31…の頂点V21に紐付ける。またコンピュータ3は、ハードウェアグラフG2の上で単位セルC22の頂点V22に対応して、単位セルC22、C23…の頂点V12に紐付けると共に、単位セルC31、C41…の頂点V22に紐付ける。 The computer 3 associates the vertex V21 of the unit cell C11 on the hardware graph G2 with the vertex V11 of the unit cells C11, C12, C13, . . Further, the computer 3 links the vertex V22 of the unit cell C22 on the hardware graph G2 to the vertex V12 of the unit cells C22, C23, .

さらにコンピュータ3は、このような完全グラフG1aの変数XのハードウェアグラフG2への埋込方法を用いて(参考にして)、その埋込方法の一部を用いて頂点Vを紐付けるようにしても良い。この例を図9A、図9B、図10A、図10Bに示している。これらの図9A~図10Bは、2×4の頂点Vを結合した単位セルCを4×4の複数グリッド分だけ備えたキメラグラフをハードウェアグラフG2として示しており、ハードウェアグラフG2の上における頂点Vの間を紐付ける例を示している。また図9A、図9Bは、縦方向に跨ぐ方向に辿った頂点Vに紐付ける例を示しており、図10A、図10Bは、横方向に跨ぐ方向に辿った頂点Vに紐付ける例を示している。 Furthermore, the computer 3 uses such a method of embedding the variable X of the complete graph G1a into the hardware graph G2 (as a reference), and uses a part of the embedding method to link the vertex V. can be An example of this is shown in FIGS. 9A, 9B, 10A and 10B. These FIGS. 9A to 10B show a chimera graph having unit cells C connecting 2×4 vertices V for a plurality of 4×4 grids as a hardware graph G2. shows an example of linking vertices V in . 9A and 9B show an example of tying to the vertex V traced in the direction straddling the vertical direction, and FIGS. 10A and 10B show an example of tying to the vertex V traced in the direction straddling the horizontal direction. ing.

図9Aに示すように、コンピュータ3は、基点として選択した単位セルC11の頂点V11(第1頂点相当)に対応して、隣接する方向(この場合、縦方向)に連続結合した単位セルC12、C13、C14…の各頂点V11(第2頂点相当)を紐付けても良いし、図9Bに示すように、コンピュータ3は、基点として選択した単位セルC33の頂点V13(第1頂点相当)に対応して、隣接する方向(この場合、縦方向)に連続結合した単位セルC31、C32、C34の頂点V13(第2頂点相当)に紐付けても良い。 As shown in FIG. 9A, the computer 3 connects the unit cells C12 continuously in the adjacent direction (vertical direction in this case) corresponding to the vertex V11 (corresponding to the first vertex) of the unit cell C11 selected as the base point. Each vertex V11 (corresponding to the second vertex) of C13, C14, . Correspondingly, it may be linked to the vertex V13 (corresponding to the second vertex) of the unit cells C31, C32, and C34 that are continuously connected in the adjacent direction (vertical direction in this case).

また図10Aに示すように、コンピュータ3は、基点として選択した単位セルC11の頂点V21(第1頂点相当)に対応して、隣接する横方向に連続結合した単位セルC21、C31、C41の各頂点V21(第2頂点相当)に紐付けても良いし、図10Bに示すように、コンピュータ3は、基点として選択した単位セルC23の頂点V22(第2頂点相当)に対応して、隣接する横方向に連続結合した単位セルC13、C33、C43の各頂点V22(第2頂点相当)に紐付けても良い。 Further, as shown in FIG. 10A, the computer 3 selects the vertex V21 (corresponding to the first vertex) of the unit cell C11 selected as the base point, and calculates each of the unit cells C21, C31, and C41 that are continuously connected in the horizontal direction. Alternatively, as shown in FIG. 10B, the computer 3 selects the vertex V22 (corresponding to the second vertex) of the unit cell C23 selected as the base point and connects Each vertex V22 (corresponding to the second vertex) of unit cells C13, C33, and C43 that are continuously connected in the horizontal direction may be linked.

すると、コンピュータ3が変数Xを選択し(図8のS22)、重複割当を必要とするか否かを判定し(S23)、重複割当を必要とする場合には変数Xを埋め込まない(S24)が、重複割当を必要としないときに変数Xを埋め込んだ(S25)としても、その後、変数Xを埋め込んだ頂点Vの中から一つ以上を選択し(S26)、選択した頂点Vを基点として他の頂点Vを予約することになる(S27)。そして、コンピュータ3は予約された頂点Vへの埋込禁止を解除(解消)するか否かを判定し(S28)、予約解除するのであれば予約解除(解消)し(S29)、終了条件を満たしたか否かを判定し(S30)、条件を満たしていなければS22に処理を戻して再度変数Xを選択してS23~S30の処理を実行する。 Then, the computer 3 selects the variable X (S22 in FIG. 8), determines whether or not redundant assignment is required (S23), and does not embed the variable X when redundant assignment is required (S24). However, even if the variable X is embedded when duplicate assignment is not required (S25), one or more of the vertices V in which the variable X is embedded are selected (S26), and the selected vertex V is used as a base point. Another vertex V is reserved (S27). Then, the computer 3 determines whether or not to cancel (cancel) the prohibition of embedding to the reserved vertex V (S28). It is determined whether or not the condition is satisfied (S30), and if the condition is not satisfied, the process returns to S22, the variable X is selected again, and the processes of S23 to S30 are executed.

例えば、問題グラフG1が図7Bの左側の構成であった場合、コンピュータ3が、例えばハードウェアグラフG2の上の単位セルC11の頂点V11に変数X1を埋込むと、例えば、S21において図9Aに示すように各単位セルC12、C13、C14の頂点V11が紐付けられていたときには、単位セルC11の頂点V11に対し縦方向に隣接して連続結合した単位セルC12、C13、…の各頂点V11(第2頂点相当)を変数X1の埋込用として予約できる(S26~S27)。 For example, if the problem graph G1 has the configuration on the left side of FIG. 7B, and the computer 3 embeds the variable X1 in the vertex V11 of the unit cell C11 on the hardware graph G2, for example, in S21, FIG. When the vertices V11 of the unit cells C12, C13, and C14 are linked as shown, the vertices V11 of the unit cells C12, C13, . (corresponding to the second vertex) can be reserved for embedding the variable X1 (S26-S27).

このため、例えば図7Bの右側に示すように、ハードウェアグラフG2の上で、単位セルC11の頂点V11が変数X1により埋込まれると、単位セルC12の頂点V11が変数X1用に予約、確保されることになる。このとき、変数X2~X9が全て埋め込まれるまで、単位セルC12の頂点V11には変数X1しか埋込みが許されない。
この後、コンピュータ3が、変数X1の埋込処理の後に例えば変数X2~X9をこの順に選択してハードウェアグラフG2の頂点Vに埋込むときには、図7Bの右側に示すように、単位セルC11の頂点V11に結合した頂点V21~V24に変数X2~X5を順に埋込む。
Therefore, for example, as shown on the right side of FIG. 7B, when the vertex V11 of the unit cell C11 is embedded with the variable X1 on the hardware graph G2, the vertex V11 of the unit cell C12 is reserved and secured for the variable X1. will be At this time, only the variable X1 is allowed to be embedded in the vertex V11 of the unit cell C12 until all the variables X2 to X9 are embedded.
After that, when the computer 3 selects the variables X2 to X9 in this order and embeds them in the vertex V of the hardware graph G2 after embedding the variable X1, the unit cell C11 The variables X2 to X5 are embedded in order in the vertices V21 to V24 connected to the vertex V11 of .

次に、コンピュータ3がハードウェアグラフG2に変数X6を埋込むときには、単位セルC12の頂点V11は変数X1用に予約されており、変数X6を単位セルC12の頂点V11に埋込むことが禁止されている。このため、コンピュータ3は、単位セルC12の頂点V11に変数X1を埋込むと共に、変数X6を単位セルC12の頂点V21に埋込む。これにより、変数X1が単位セルC12の頂点V11に埋込まれることにより、変数X1と結合可能な変数Xを増やすことができ、変数X7~X9を単位セルC12の頂点V22~V24にそれぞれ埋込むことができる。 Next, when the computer 3 embeds the variable X6 in the hardware graph G2, the vertex V11 of the unit cell C12 is reserved for the variable X1, and embedding the variable X6 in the vertex V11 of the unit cell C12 is prohibited. ing. Therefore, the computer 3 embeds the variable X1 in the vertex V11 of the unit cell C12 and embeds the variable X6 in the vertex V21 of the unit cell C12. Thus, by embedding the variable X1 at the vertex V11 of the unit cell C12, the variable X that can be combined with the variable X1 can be increased, and the variables X7 to X9 are respectively embedded at the vertices V22 to V24 of the unit cell C12. be able to.

以上示したように、ハードウェアグラフG2の上の部分グラフを伸ばす余地を残しながら変数Xを埋込むことで、重複割当をしなくても変数X1~X9を埋込むことが可能となる。今回の例では、変数X1の予約のみに着目したが、変数X2~X9を追加で埋込むときには、S25~S27において全ての変数Xに対して頂点Vの予約を実行する。そして、コンピュータ3は予約を解除すべきときに該当変数Xの予約を解除すると良い(S28~S29)。この結果、結合数が多い問題グラフG1でも部分問題を効率的に成長させることが可能となる。 As described above, by embedding the variable X while leaving room for extending the subgraph above the hardware graph G2, it is possible to embed the variables X1 to X9 without redundant assignment. In this example, only the reservation of the variable X1 is focused, but when additionally embedding the variables X2 to X9, the reservation of the vertex V is executed for all the variables X in S25 to S27. Then, the computer 3 preferably cancels the reservation of the variable X when the reservation should be canceled (S28-S29). As a result, it is possible to efficiently grow subproblems even in the problem graph G1 having a large number of connections.

その後、図8には示していないが、図3のS3と同様に量子イジングマシン1が最適化処理を実行することで、これらの全変数X1~X9の最適値を素早く的確に求めることができる。本実施形態では説明を簡単化するため、9つの変数X1~X9を用いて説明した。このため、1ルーチンの埋込処理にて全変数X1~X9をハードウェアグラフG2に埋込可能な簡単な例を示したが、実際にはより多数の変数Xを用いて最適化問題の大規模問題(原問題)を解くことになる。 After that, although not shown in FIG. 8, the quantum Ising machine 1 executes optimization processing in the same manner as in S3 of FIG. . In this embodiment, nine variables X1 to X9 have been used to simplify the explanation. For this reason, a simple example has been shown in which all variables X1 to X9 can be embedded in the hardware graph G2 in one routine embedding process. The scale problem (original problem) is to be solved.

このとき、第1実施形態でも説明したように、多数の変数Xのうち一回の埋込処理において一部の変数Xを埋込んで部分問題を解くことになる。このような場合においても、本実施形態で説明した埋込方法を適用すれば、前述の第1実施形態に比較してより多くの変数Xを頂点Vに埋込むことができる。このため、ハードウェアリソースを有効活用できるようになり、最適値の計算時間を短縮できる。 At this time, as described in the first embodiment, a partial problem is solved by embedding some of the variables X in one embedding process. Even in such a case, if the embedding method described in this embodiment is applied, more variables X can be embedded in vertices V than in the first embodiment. As a result, hardware resources can be effectively used, and the optimum value calculation time can be shortened.

<本実施形態のまとめ、効果>
以上説明したように、本実施形態によれば、完全グラフG1aをハードウェアグラフG2に埋込むときの埋込方法に基づいてハードウェアグラフG2の頂点Vを紐付け(予約方法を設定し)ておき(S21)、ハードウェアグラフG2上の頂点Vから部分グラフにより連結された少なくとも一つ以上の頂点Vを選択し(S26)、ハードウェアグラフG2に各変数Xを埋込むときにこの紐付けの内容(予約方法)に基づいて、選択した単位セルC11の頂点V11から結合し且つその他の変数X2~X9との結合を増加させる単位セルC12の頂点V11を、S25にて埋込む変数X1に対応して予約することで当該埋込む変数X1以外のその他の変数X2~X9の埋込みを禁止する(S27)ようにしている。
<Summary and effects of the present embodiment>
As described above, according to this embodiment, the vertices V of the hardware graph G2 are linked (the reservation method is set) based on the embedding method for embedding the complete graph G1a in the hardware graph G2. (S21), at least one or more vertices V connected by subgraphs are selected from the vertices V on the hardware graph G2 (S26), and when each variable X is embedded in the hardware graph G2, this linkage is performed. (reservation method), the vertex V11 of the unit cell C12, which is connected from the vertex V11 of the selected unit cell C11 and increases the connection with the other variables X2 to X9, is embedded in the variable X1 in S25. By making a corresponding reservation, the embedding of variables X2 to X9 other than the embedding variable X1 is prohibited (S27).

このため、ハードウェアグラフG2上において変数Xの結合を伸長する余地が生まれる。また、紐付けられる頂点Vは、問題グラフG1の中で最も結合濃度が濃い完全グラフG1aの埋込方法に基づいて予め定められるため、たとえ最適化問題の原問題が、結合濃度の高い問題であっても、部分問題を拡大、成長させることが可能となる。このため、部分問題を繰り返し解いて全体の大規模問題(原問題)を解くときに、第1実施形態の方法に比較しても一回の部分問題を解く際に変数Xをより多く頂点Vに埋込むことができ、原問題を解くための時間を削減できる。ハードウェアグラフG2としてキメラグラフを適用した例を示したが、他の構造のハードウェアグラフG2を用いても良く、紐付ける頂点Vは、各ハードウェアグラフG2に完全グラフG1aを埋込む方法に基づいて決定すれば良い。 For this reason, there is room for extending the coupling of the variable X on the hardware graph G2. In addition, since the vertices V to be linked are predetermined based on the embedding method of the complete graph G1a with the highest connectivity density in the problem graph G1, even if the original problem of the optimization problem is a problem with high connectivity density, Even if there is, it is possible to expand and grow the partial problem. For this reason, when solving the entire large-scale problem (original problem) by repeatedly solving the partial problems, even when compared to the method of the first embodiment, when solving the partial problems one time, the variable X is used to solve more vertices V can be embedded in the original problem, reducing the time to solve the original problem. Although an example in which a chimera graph is applied as the hardware graph G2 has been shown, hardware graphs G2 with other structures may be used, and the vertices V to be linked are determined by embedding the complete graph G1a in each hardware graph G2. should be decided based on

(第3実施形態)
図11から図13は、第3実施形態の追加説明図を示している。本実施形態においては、コンピュータ3が、評価関数Hの変数Xの相互関係を導出した結果、図12に示すように、問題グラフG1における変数Xが格子状に互いに結合していることを想定して説明する。
またコンピュータ3及び量子イジングマシン1は、第1実施形態の変数Xの埋込処理、及び、第2実施形態にて説明したハードウェアグラフG2上の紐付け処理、及び予約処理を実行することを前提として説明する。本実施形態では、コンピュータ3はメモリ5に記憶されたプログラムを実行することで、禁止部、解消部、選択部として機能する。
(Third Embodiment)
11 to 13 show additional explanatory diagrams of the third embodiment. In the present embodiment, as a result of the computer 3 deriving the correlation of the variables X of the evaluation function H, as shown in FIG. to explain.
Further, the computer 3 and the quantum Ising machine 1 execute the embedding process of the variable X of the first embodiment, the linking process on the hardware graph G2 and the reservation process described in the second embodiment. It is explained as a premise. In this embodiment, the computer 3 executes programs stored in the memory 5 to function as a prohibition unit, a cancellation unit, and a selection unit.

初期状態において、コンピュータ3は、問題グラフG1を入力し(S31)、問題グラフG1の変数Xをランダムに選択し(S32)、ハードウェアグラフG2に埋込む(S33)。このとき、ハードウェアグラフG2上においては、第2実施形態にて説明したように、頂点Vに対応した他の単位セルCの頂点Vを予約、確保する。例えば、ハードウェアグラフG2が、図9又は図10に示したキメラグラフにより構成されているときには、単位セルC11の頂点V11に変数Xaを埋込んだときに、選択した単位セルC11の頂点V11から結合し、その他の変数X(例えばXb,Xc)との結合を増加させる単位セルC12、C13、…の頂点V11を、埋込む変数Xaに対応して予約する。これにより、単位セルC12、C13、…の頂点V11が変数Xaに対応して予約、確保されることになり、その他の変数X(例えばXb,Xc)の埋込みを禁止する。 In the initial state, the computer 3 inputs the problem graph G1 (S31), randomly selects the variable X of the problem graph G1 (S32), and embeds it in the hardware graph G2 (S33). At this time, on the hardware graph G2, as described in the second embodiment, the vertex V of another unit cell C corresponding to the vertex V is reserved and secured. For example, when the hardware graph G2 is composed of the chimera graph shown in FIG. 9 or 10, when the variable Xa is embedded in the vertex V11 of the unit cell C11, Vertices V11 of unit cells C12, C13, . As a result, the vertex V11 of the unit cells C12, C13, .

その後、コンピュータ3は、問題グラフG1の中で埋込済変数Xaを選択し(S34)、この埋込済変数Xaに結合された未埋込の変数Xbを選択し(S35)、変数XbをハードウェアグラフG2に埋込む(S36)。図12には、処理途中における埋込済変数Xaと追加する変数Xbの候補を示している。この図12に示すように、コンピュータ3は、問題グラフG1上の変数Xを選択するときに、S35において埋込済変数Xaに結合する変数Xbを選択しS36においてハードウェアグラフG2に埋込む。このときコンピュータ3は、図4のS12~S14に示すように、重複割当するものについてハードウェアグラフG2に埋込みせず、重複割当していなければハードウェアグラフG2に埋込む。 After that, the computer 3 selects the embedded variable Xa in the problem graph G1 (S34), selects the non-embedded variable Xb coupled to this embedded variable Xa (S35), and selects the variable Xb. It is embedded in the hardware graph G2 (S36). FIG. 12 shows candidates for the embedded variable Xa and the variable Xb to be added during processing. As shown in FIG. 12, when the computer 3 selects the variable X on the problem graph G1, the computer 3 selects the variable Xb linked to the embedded variable Xa in S35 and embeds it in the hardware graph G2 in S36. At this time, as shown in S12 to S14 in FIG. 4, the computer 3 does not embed duplicate allocations in the hardware graph G2, and embeds duplicate allocations in the hardware graph G2.

また、コンピュータ3は、埋込済変数Xaに結合した全ての変数Xbの埋込処理を完了したか否かを判定し(S37)、完了していなければ(S37でNO)、埋込済変数Xaに結合された変数XbがなくなるまでS35にて変数Xbを選択してS36にて変数Xbを埋込む。そしてコンピュータ3は、この変数Xbがなくなると(S37でYES)、埋込済変数Xaに紐付けて予約された頂点Vへの埋込禁止を解除する(S38)。すなわち、S33においてハードウェアグラフG2の特定の頂点Vに対して埋込済変数Xa以外のその他の変数Xの埋込みを禁止しているため、コンピュータ3がこのS38の処理を実行する直前までは、S34にて選択された埋込済変数Xaに予約された頂点Vにその他の変数Xを埋込むことが禁止されていたが、S38の処理が実行された後は、その他の変数Xを埋込むことができる。 Computer 3 also determines whether or not the embedding process for all variables Xb linked to embedded variable Xa has been completed (S37). The variable Xb is selected in S35 and the variable Xb is embedded in S36 until the variable Xb coupled to Xa disappears. Then, when the variable Xb disappears (YES in S37), the computer 3 releases the prohibition of embedding in the vertex V reserved in association with the embedded variable Xa (S38). That is, in S33, embedding of other variables X than the embedded variable Xa is prohibited for a specific vertex V of the hardware graph G2. It was prohibited to embed another variable X in the vertex V reserved for the embedded variable Xa selected in S34. be able to.

したがって、この時点で未埋込の変数Xb又はXcは、ハードウェアグラフG2において、S38において予約解除(解消)された頂点Vを用いて埋込むことができ、ハードウェアグラフG2を効率良く利用できる。そして、コンピュータ3は、これらのS34~S38の処理を終了条件を満たすまで繰り返し実行する。このときの終了条件は、埋込済変数Xaがなくなる、未埋込の変数Xb,Xcがなくなる、所定回数以上の試行を重ねた、などである。 Therefore, the variable Xb or Xc not yet embedded at this point can be embedded in the hardware graph G2 using the vertex V whose reservation was released (canceled) in S38, and the hardware graph G2 can be used efficiently. . Then, the computer 3 repeats these processes of S34 to S38 until the end condition is satisfied. The end condition at this time is that the embedded variable Xa disappears, that the non-embedded variables Xb and Xc disappear, or that a predetermined number of trials or more have been repeated.

これらのS35~S39の処理内容の具体例を図13に示している。図13の中央に示すように、コンピュータ3は、ある一つの埋込済変数Xaを選択し、この埋込済変数Xaに結合した変数Xbを選択するが、これらの結合した変数Xbを全て埋込んだ後、選択した埋込済変数Xaに対応したハードウェアグラフG2の頂点Vの予約を解消する。そして図13の右側に示すように、コンピュータ3は、他の埋込済変数Xaを選択し、さらにこの他の埋込済変数Xaに結合した未埋込の変数Xbをさらに選択する。これによりハードウェアグラフG2に設定された予約を解消しながら、未埋込の変数Xb、Xcを埋込むことができ、第2実施形態に比較して部分問題の解導出処理における変数Xの埋込数を増やすことができる。 A specific example of the processing contents of these S35 to S39 is shown in FIG. As shown in the center of FIG. 13, computer 3 selects one embedded variable Xa and selects variable Xb coupled to this embedded variable Xa. After embedding, the reservation of the vertex V of the hardware graph G2 corresponding to the selected embedded variable Xa is cancelled. Then, as shown on the right side of FIG. 13, the computer 3 selects another embedded variable Xa, and further selects a non-embedded variable Xb coupled to this other embedded variable Xa. As a result, the unembedded variables Xb and Xc can be embedded while canceling the reservation set in the hardware graph G2. You can increase the number of entries.

その後、量子イジングマシン1が部分問題に係る最適化処理を実行し(S40)た後、コンピュータ3は、その量子イジングマシン1の処理結果に基づいて変数Xを更新し(S41)、終了条件を満たすか否かを判定する(S42)。終了条件を満たしていなければ、S32に処理を戻し、コンピュータ3が、問題グラフG1の変数Xを新たに選択するところから再度繰り返し実行する。そしてコンピュータ3は、S42の終了条件を満たしたときに変数Xの解を出力する(S43)。S42の終了条件としては、第1実施形態のS5の終了条件と同一条件を用いれば良いため説明を省略する。 After that, after the quantum Ising machine 1 executes the optimization process related to the partial problem (S40), the computer 3 updates the variable X based on the processing result of the quantum Ising machine 1 (S41), and sets the termination condition. It is determined whether or not the condition is satisfied (S42). If the end condition is not satisfied, the process returns to S32, and the computer 3 repeats the process from newly selecting the variable X of the problem graph G1. Then, the computer 3 outputs the solution of the variable X when the termination condition of S42 is satisfied (S43). As the end condition of S42, the same condition as the end condition of S5 of the first embodiment may be used, so the explanation is omitted.

<本実施形態のまとめ、効果>
本実施形態によれば、コンピュータ3は、埋込済変数Xaを一つ選択し、問題グラフG1の上で埋込済変数Xaに結合した全ての変数Xbの埋込処理を一通り完了した後に予約を解消している。これにより、ハードウェアグラフG2における予約を効率的に解消しながら変数Xbの埋込処理を実行でき、予約された頂点Vを減らすことでハードリソースを有効に活用できる。しかも、一回の部分問題の解導出処理においてより多くの変数Xb、XcをハードウェアグラフG2に埋込むことができる。
<Summary and effects of the present embodiment>
According to this embodiment, the computer 3 selects one embedded variable Xa, and after completing the embedding process for all variables Xb linked to the embedded variable Xa on the problem graph G1, I have canceled the reservation. As a result, the embedding process of the variable Xb can be executed while efficiently resolving the reservation in the hardware graph G2, and the hardware resources can be effectively used by reducing the number of reserved vertices V. FIG. Moreover, more variables Xb and Xc can be embedded in the hardware graph G2 in one partial problem solution derivation process.

またコンピュータ3が、追加して埋込む変数Xを選択するときには、すでに埋込みされた埋込済変数Xaに結合された未埋込の変数Xbの中から選択するようにしているため、埋込済変数Xaに相互作用していない独立な変数Xcを選択することがなくなる。この結果、フラストレーション等の最適化が難しい問題グラフG1の構造を残したまま、変数XをハードウェアグラフG2に埋込みできる。 In addition, when the computer 3 selects the variable X to be additionally embedded, it selects from among the non-embedded variables Xb linked to the already embedded embedded variable Xa. It eliminates the selection of an independent variable Xc that does not interact with the variable Xa. As a result, the variable X can be embedded in the hardware graph G2 while leaving the structure of the problem graph G1, which is difficult to optimize due to frustration.

(第4実施形態)
図14から図18は、第4実施形態の追加説明図を示している。本形態では、ワンホット(one-hot)表示を用いて多値問題を表現した場合の変数の埋込方法について説明するが、前述実施形態、特に第1実施形態と同一部分については同一符号を付して説明を省略し、前述実施形態と異なる部分を中心に説明する。コンピュータ3は、メモリ5に記憶されたプログラムを実行することで実現する機能として、無効化処理部、変換部としての各種機能を備える。
(Fourth embodiment)
14 to 18 show additional explanatory diagrams of the fourth embodiment. In this embodiment, a method of embedding variables when expressing a multivalued problem using one-hot display will be described. The description will be omitted, and the description will focus on the parts that differ from the above-described embodiment. The computer 3 has various functions as an invalidation processing unit and a conversion unit as functions realized by executing the programs stored in the memory 5 .

ワンホット表示手法は、多値変数S1~SNを用いた大規模問題を2値表現する代表的な方法として知られている。以下では、多値変数S1~SNの一部の変数又は全変数を必要に応じて、多値変数Siと表記する。多値変数S1~SNを二値変数x1 (q)~xN (q)を用いてワンホット表示する場合、各多値変数Siがとり得る状態の数だけ二値変数xi (q)~xi (q)を設けることで実現できる。但しq=1~Qである。以下では、二値変数xi (q)~xi (q)の一部の変数又は全変数を必要に応じて二値変数xiと表記する。簡単な例として、1次元のポッツ(Potts)模型の評価関数H0を(1)式に示すが、評価関数H0は、この例に限られるものではない。

Figure 0007182173000001
The one-hot display method is known as a representative method for binary representation of a large-scale problem using multivalued variables S 1 to S N . Hereinafter, some or all of the multi-valued variables S 1 to S N will be referred to as multi-valued variables S i as required. When multi-valued variables S 1 to S N are one-hot displayed using binary variables x 1 (q) to x N (q) , binary variables x i It can be realized by providing ( q) to x i (q) . However, q=1 to Q. In the following, some or all of the binary variables x i (q) to x i (q) will be referred to as binary variables x i as required. As a simple example, the evaluation function H 0 of the one-dimensional Potts model is shown in equation (1), but the evaluation function H 0 is not limited to this example.
Figure 0007182173000001

(1)式の評価関数H0は、多値変数Siが1からQのQ個の状態を取ることが可能な制約の下で、評価関数H0が最も小さくなるように1からQのQ個の中から1個の状態を多値変数Siにより選択する最適化問題を表している。
下記の(2)式は、(1)式の評価関数H0についてワンホット制約に基づき二値変数xiを用いて変換した変換式を表している。図14は、(2)式の評価関数H0に係る最適化問題の問題グラフG1を示す。評価関数H0に係る最適化問題をワンホット表示するときに、評価関数H0を表現するための二値変数xiは、図14に示すようにN×Q個存在する。

Figure 0007182173000002
The evaluation function H 0 in equation (1) is a multi-valued variable S i of 1 to Q so that the evaluation function H 0 is the smallest under the constraint that it can take Q states from 1 to Q. It represents an optimization problem in which one state is selected from Q states by a multi-valued variable S i .
The following equation (2) represents a transformation equation obtained by transforming the evaluation function H 0 of equation (1) using the binary variable x i based on the one-hot constraint. FIG. 14 shows a problem graph G1 of an optimization problem related to the evaluation function H 0 of formula (2). When the optimization problem related to the evaluation function H 0 is one-hot displayed, there are N×Q binary variables x i for expressing the evaluation function H 0 as shown in FIG.
Figure 0007182173000002

(2)式の評価関数H0の右辺第1項は、図14に示す問題グラフG1にて結合した多値変数Si、Sjの同じ状態qを示す二値変数xi (q)、xj (q)がホット状態値「1」となる条件を満たす場合に積算される項であり、(1)式で表される多値最適化問題のコスト部分を示している。ここで、j=i+1又はi-1である。この(2)式の右辺第1項では、隣接する二値変数xi、xjの相互作用係数Jiが正のときに評価関数H0を低下させることでより最適化できるようになっている。また(2)式の右辺第1項の相互作用係数Jiが負のときに、評価関数H0を低下させるように(2)式中の符号を変更しても良い。また評価関数H0が高い方がより最適化されるように数式を変更しても良い。 The first term on the right side of the evaluation function H 0 in equation (2 ) is binary variables x i ( q) , It is a term that is accumulated when x j (q) satisfies the condition that the hot state value is "1", and indicates the cost part of the multi-valued optimization problem represented by equation (1). where j=i+1 or i−1. In the first term on the right side of this equation (2), when the interaction coefficient J i of the adjacent binary variables x i and x j is positive, the evaluation function H 0 is lowered to enable further optimization. there is Further, when the interaction coefficient J i in the first term on the right side of the equation (2) is negative, the sign in the equation (2) may be changed so as to reduce the evaluation function H 0 . Also, the formula may be changed so that the higher the evaluation function H 0 is, the more optimized it is.

ワンホット制約は、各多値変数Siを表す二値変数xiの中でホット状態値「1」がそれぞれ1つだけ現れる制約を示しており、評価関数H0の右辺第2項が、この制約を表している。評価関数H0の右辺第2項は、各多値変数Siの中でそれぞれ二値変数xiを1つだけホット状態値「1」とした場合、評価関数H0が最低となるように追加した制約項を示す。(2)式の右辺第2項のλは、当該(2)式の右辺第1項と右辺第2項との影響の割合を表すパラメータであり、パラメータλを大きく設定すれば右辺第2項の影響を大きくでき、二値変数xiを1つだけホット状態値「1」とする制約条件を強めることができ、逆にパラメータλを小さく設定することで、(2)式の右辺第1項の影響を大きくできる。 The one-hot constraint indicates a constraint that only one hot state value "1" appears in each binary variable x i representing each multi-valued variable S i , and the second term on the right side of the evaluation function H 0 is represents this constraint. The second term on the right side of the evaluation function H 0 is set so that the evaluation function H 0 is the lowest when only one binary variable x i among the multi-valued variables S i is set to the hot state value “1”. Shows additional constraint terms. λ in the second term on the right side of equation (2) is a parameter that represents the ratio of the influence of the first term on the right side and the second term on the right side in equation (2). can be increased, and the constraint condition that only one binary variable x i has a hot state value of “1” can be strengthened. Conversely, by setting the parameter λ small, the first can increase the effect of the term.

ワンホット制約を含む最適化問題の部分問題をハードウェアグラフG2に埋込む場合、部分問題が、ワンホット制約を満たす解を可能な限り多く含むように選択しないと最適解の探索を効率的に実行できなくなる。例えば図15に示すように、コンピュータ3が、ある一つの多値変数Siの中で全てコールド状態値「0」とされている二値変数xiを部分的に選択した場合、図15に示すようにワンホット制約を満たす解が1個しか存在しない。図15に示す二値変数xiの部分選択変数Saを参照。このため、たとえ量子イジングマシン1が最適化処理を実行しても、全てコールド状態値「0」とされている二値変数xiに対応した解に部分問題の最適解が固定されてしまう。つまりこの場合、全体の二値変数xiのより良い解を探索できなくなる。 When subproblems of an optimization problem containing one-hot constraints are embedded in the hardware graph G2, the search for the optimal solution must be chosen such that the subproblem contains as many solutions as possible that satisfy the one-hot constraints. cannot be executed. For example, as shown in FIG. 15, when the computer 3 partially selects binary variables x i that are all set to the cold state value “0” in one multi-valued variable S i , There is only one solution that satisfies the one-hot constraint as shown. See partial selection variable Sa of binary variable x i shown in FIG. Therefore, even if the quantum Ising machine 1 executes the optimization process, the optimal solution of the partial problem is fixed to the solution corresponding to the binary variables x i all of which are set to the cold state value "0". In other words, in this case, it becomes impossible to search for a better solution for the overall binary variable x i .

そこで、二値変数xiの最適化処理が繰り返される一連の処理の中で、図16に示すように、コンピュータ3が多値変数Siの二値変数xiを参照した時点において、ホット状態値「1」とされている二値変数xiを必ず含むように部分問題を選択することが望ましい。コンピュータ3は、ホット状態値「1」とされた二値変数xiを含むように二値変数xiを部分問題の変数として選択することで、部分問題がワンホット制約を満たす状態を多数含むように構成できる。図16に示す二値変数xiの部分選択変数Sb1、Sb2、Sb3を参照。この結果、部分問題の最適化によりワンホット制約を満たすより高精度な解を効率的に探索できる。 Therefore, in a series of processes in which the optimization process of the binary variable x i is repeated, as shown in FIG . It is desirable to choose the subproblems to necessarily contain binary variables x i that have the value "1". Computer 3 selects the binary variables x i as variables of the subproblem to include the binary variables x i with the hot state value "1" so that the subproblem contains many states that satisfy the one-hot constraint. can be configured as Refer to the partial selection variables Sb1, Sb2, and Sb3 of the binary variable x i shown in FIG. As a result, subproblem optimization can efficiently search for a more accurate solution that satisfies the one-hot constraint.

以下、多値変数Siの埋込方法について図3及び図17を参照しながら説明する。
最初に、コンピュータ3は、図3のS1において問題グラフG1を入力し、S2において2値変数xiの埋込処理を実行する。図17に2値変数xiの埋込処理のフローチャートを前述実施形態の図4に対応して示している。コンピュータ3が、量子イジングマシン1のハードウェアグラフG2に2値変数xiを埋込むときには、多値変数S1~SNの中からランダムに一つの多値変数Siを選択し、選択した多値変数Siに割当てられた2値変数xiを埋込む(S61)。ここでは、i番目の多値変数Siを選択する例を示す。なおコンピュータ3は、S61において多値変数Siを選択し、後述するS70の終了条件でNOと判定してS61に処理を戻した後に選択する多値変数Sjは、問題グラフG1上で埋込済の多値変数Siに隣接、結合する未埋込の多値変数Sj(但しjはi-1かi+1)を対象とする。
A method of embedding the multi-valued variable S i will be described below with reference to FIGS. 3 and 17. FIG.
First, the computer 3 inputs the problem graph G1 in S1 of FIG. 3, and executes the embedding process of the binary variable x i in S2. FIG. 17 shows a flowchart of embedding processing of the binary variable x i corresponding to FIG. 4 of the above-described embodiment. When the computer 3 embeds the binary variables x i in the hardware graph G2 of the quantum Ising machine 1, it randomly selects one multi-valued variable S i from the multi-valued variables S 1 to S N and selects The binary variable x i assigned to the multi-valued variable S i is embedded (S61). Here, an example of selecting the i-th multivalued variable S i is shown. It should be noted that the computer 3 selects the multi-valued variable S i in S61, and the multi-valued variable S j selected after returning to S61 after judging NO in the end condition of S70, which will be described later, is filled in the problem graph G1. The non-embedded multi-valued variable S j (where j is i −1 or i+1) adjacent to and connected to the embedded multi-valued variable S i is targeted.

i番目の多値変数Siの中の二値変数xiは、1からQのQ個存在するため、コンピュータ3は、S62においてハードウェアグラフG2に対する二値変数xiの埋込順序を決定する。コンピュータ3が二値変数xiをハードウェアグラフG2に埋込みする優先順位は、次の制約に基づいて決定することが望ましい。
コンピュータ3が、ある多値変数Siの中で最初に埋込むべき二値変数xiは、既に埋込済の二値変数xj(但しjはi-1かi+1)に隣接、結合している二値変数xiとすることが望ましい。コンピュータ3は、この結合条件を満たす二値変数xiの中でもホット状態値「1」とされている二値変数xiを最優先とし、コールド状態値「0」とされている二値変数xiを次の優先順位として選択すると良い。
Since there are Q binary variables x i from 1 to Q in the i-th multi-valued variable S i , the computer 3 determines the embedding order of the binary variables x i in the hardware graph G2 in S62. do. The order of priority with which the computer 3 embeds the binary variables x i in the hardware graph G2 is desirably determined based on the following constraints.
A binary variable x i to be embedded first in a certain multi-valued variable S i by the computer 3 is adjacent to and connected to an already embedded binary variable x j (where j is i−1 or i+1). is preferably a binary variable x i . The computer 3 gives the highest priority to the binary variable x i whose hot state value is “1” among the binary variables x i that satisfy this combination condition, and gives the highest priority to the binary variable x whose cold state value is “0”. You should choose i as the next priority.

また、コンピュータ3が、ある多値変数Siの中で2番目以降に埋込むべき二値変数xiは、ホット状態値「1」とされている二値変数xiを最優先とし、コールド状態値「0」とされている二値変数xiを次の優先順位とすることが望ましい。コンピュータ3は、コールド状態値「0」の条件を満たす二値変数xiの中でも埋込済の二値変数xjに隣接、結合している二値変数xiを優先的に埋込対象とすることが望ましく、埋込済の二値変数xjに隣接、結合していない二値変数xiを次の優先順位として選択すると良い。なお、優先順位の具体例は後述する。 In addition, the computer 3 gives the highest priority to the binary variable x i whose hot state value is “1” and the cold It is desirable to give the next priority to the binary variables x i that have a state value of "0". The computer 3 preferentially selects the binary variable x i that is adjacent to and connected to the embedded binary variable x j among the binary variables x i that satisfy the condition of the cold state value “0” as the embedding target. It is preferable to select the binary variable x i adjacent to and not connected to the embedded binary variable x j as the next priority. A specific example of priority will be described later.

コンピュータ3は、S63において前述した優先順位にて二値変数xiを選択した後、S64において二値変数xiをハードウェアグラフG2に埋込む際に重複割当を生じるか否かを判定する。コンピュータ3は、対象となる二値変数xiをハードウェアグラフG2に埋込む際に、重複割当を必要とすればS65においてハードウェアグラフG2に埋込みしない。逆に、コンピュータ3は、重複割当を必要としなければS66においてハードウェアグラフG2に埋込む。コンピュータ3は重複割当を必要としなければ、前述実施形態にて説明したように、二値変数xiを埋め込んだ頂点Vを基点としてハードウェアグラフG2の他の頂点Vを予約することになる。 After the computer 3 selects the binary variables x i in the order of priority described above in S63, in S64 the computer 3 determines whether or not redundant allocation occurs when embedding the binary variables x i in the hardware graph G2. When the computer 3 embeds the target binary variable x i in the hardware graph G2, if duplicate assignment is required, the computer 3 does not embed it in the hardware graph G2 in S65. Conversely, computer 3 embeds in hardware graph G2 in S66 if duplicate allocation is not required. If the computer 3 does not require redundant allocation, it reserves another vertex V of the hardware graph G2 with the vertex V in which the binary variable xi is embedded as the base point, as described in the above embodiment.

ここでコンピュータ3は、対象となる二値変数xiをハードウェアグラフG2に埋込む際に重複割当を必要とすればS65において埋込みしないと判定するが、この埋込みしない二値変数xiがホット状態値「1」であった場合には、S69において選択した多値変数Siの埋込を無効、すなわちキャンセルとし、次の多値変数Sjの埋込処理に移ることが望ましい。すなわち、ホット状態値「1」の二値変数xiがハードウェアグラフG2に埋込不能であれば、コールド状態値「0」を満たす二値変数xiしか埋込不能となるためである。これにより、ワンホット制約を満たす状態を部分問題に一つしか含まない多値変数Siを部分問題から排除できる。 Here, the computer 3 determines not to embed the target binary variable x i in S65 if duplicate assignment is required when embedding the target binary variable x i in the hardware graph G2. If the status value is "1", it is preferable to invalidate, ie cancel, the embedding of the selected multi-valued variable S i in S69, and proceed to the embedding process of the next multi-valued variable S j . That is, if a binary variable x i with a hot state value of "1" cannot be embedded in the hardware graph G2, only a binary variable x i with a cold state value of "0" can be embedded. As a result, the multivalued variable S i whose subproblem contains only one state that satisfies the one-hot constraint can be excluded from the subproblem.

そしてコンピュータ3は、S67において、S61にて選択した多値変数Siに割当てられた全ての二値変数xiの埋込処理を終了したか否かを判定し、全ての二値変数xiの埋込処理を終了するまでS63~S66の処理を繰り返す。 Then, in S67, the computer 3 determines whether or not the embedding process for all the binary variables x i assigned to the multi-valued variable S i selected in S61 has been completed . The processes of S63 to S66 are repeated until the embedding process of .

コンピュータ3は、選択した多値変数Siに割当てられた全ての二値変数xiの埋込処理を終了した結果、全ての二値変数xiの中で2つ以上埋込みできた場合には、そのままS70に移行し処理を継続する。しかしコンピュータ3は、選択した多値変数Siの中で二値変数xiを1つ以下、すなわちホット状態値「1」又はコールド状態値「0」を示す二値変数xiしか埋込みできないときには、S69において選択した多値変数Siの全ての埋込を無効、すなわちキャンセルする。このとき、コンピュータ3は、既に埋込まれた二値変数xiをハードウェアグラフG2の頂点Vから除去すると共に、他の頂点Vの予約を解除することで、量子イジングマシン1のハードウェアリソースの予約を取り消す。これにより、ワンホット制約を満たさない多値変数Siを部分問題を表す変数から排除できる。 When the computer 3 finishes embedding all the binary variables x i assigned to the selected multi-valued variable S i , when two or more of all the binary variables x i can be embedded, , the process proceeds directly to S70 to continue the process. However, when the computer 3 can only embed one or less binary variables x i among the selected multi-valued variables S i , i.e., binary variables x i indicating a hot state value of "1" or a cold state value of "0". , invalidates, that is, cancels the embedding of all the multi-valued variables S i selected in S69. At this time, the computer 3 removes the already-embedded binary variables x i from the vertices V of the hardware graph G2, and cancels the reservation of the other vertices V, so that the hardware resources of the quantum Ising machine 1 are cancel the reservation of As a result, the multi-valued variables S i that do not satisfy the one-hot constraint can be excluded from the variables representing the subproblems.

コンピュータ3は、S70において終了条件を満たすか否かを判定し、終了条件を満たすまで多値変数Siに隣接、結合した他の多値変数Sj(但しjはi-1又はi+1)を選択するところから処理を繰り返す。コンピュータ3が、多値変数Sjを表現する二値変数xjが、その前に埋込まれた多値変数Siの二値変数xiにハードウェアグラフG2上で結合できなくなると、S70において終了条件を満たしたと判定し、他の多値変数Sjの埋込みを終了する。 The computer 3 determines in S70 whether or not the end condition is satisfied, and sets another multi-valued variable S j (where j is i−1 or i+1) adjacent to or connected to the multi-valued variable S i until the end condition is satisfied. Repeat the process from where you choose. When the computer 3 can no longer connect the binary variable x j representing the multi-valued variable S j to the binary variable x i of the previously embedded multi-valued variable S i on the hardware graph G2, S70 , the embedding of other multi-valued variables S j is terminated.

そしてコンピュータ3が、全ての多値変数Siの埋込処理を終了すると、量子イジングマシン1は、図3のS3において最適化処理を実行する。量子イジングマシン1は、最適化処理において埋め込まれた部分問題を勾配法やその他の最適化手法を用いて最適化し、評価関数H0が所定より低い最適化条件を満たすように二値変数xiの値を求める。このとき量子イジングマシン1は、処理を開始してから所定時間経過したり所定以上の試行回数繰り返したことを条件として二値変数xiの最適値を決定し更新する(S4)。この場合、他の埋込不能な二値変数xiとしては、これまでに得られた最適解又は初期値など固定値を用いて評価関数H0の評価値を求めると良い。これにより、部分問題を解くことができる。 After the computer 3 completes the embedding process for all multi-valued variables S i , the quantum Ising machine 1 executes the optimization process at S3 in FIG. The quantum Ising machine 1 optimizes the subproblems embedded in the optimization process using the gradient method or other optimization techniques, and uses the binary variables x i to find the value of At this time, the quantum Ising machine 1 determines and updates the optimum value of the binary variable x i under the condition that a predetermined time has passed since the start of processing or that the trial has been repeated a predetermined number of times or more (S4). In this case, it is preferable to obtain the evaluation value of the evaluation function H 0 using a fixed value such as an optimal solution or an initial value obtained so far as another non-embeddable binary variable x i . This allows us to solve the subproblem.

その後、コンピュータ3はS2に処理を戻し、S2において多値変数Siを再度選択し当該選択された多値変数Siの中の二値変数xiをハードウェアグラフG2に埋込むと、量子イジングマシン1がこれらの二値変数xiによる最適化処理を実行し、当該二値変数xiの組合せの最適値を決定し、S4においてこれらの二値変数xiを更新する。なお、このとき選択されなかった二値変数xiは、当該処理以前に最適値として求められた二値変数xiの最適値を用いると良い。一度も選択されていない多値変数Siの中の二値変数xiは、固定値に設定して処理すると良い。 Thereafter, the computer 3 returns to S2, selects the multi-valued variable S i again in S2, and embeds the binary variable x i in the selected multi-valued variable S i in the hardware graph G2. The Ising machine 1 executes optimization processing using these binary variables x i , determines the optimum value of the combination of the binary variables x i , and updates these binary variables x i in S4. For the binary variable x i not selected at this time, it is preferable to use the optimum value of the binary variable x i obtained as the optimum value before the processing. Binary variables x i in multi-valued variables S i that have never been selected should be set to fixed values for processing.

そして量子イジングマシン1は、処理を開始してから所定時間経過したり又は所定以上の試行回数繰り返したことを条件として終了条件を満たしたと判定し(S5でYES)、これらの多値変数Siの結果又は評価関数H0の評価値などを出力する。これにより、全体の最適化問題を解くことができる。このように繰返し処理を行うことで、原問題を部分問題に分割して解くことができる。 Then, the quantum Ising machine 1 judges that the termination condition is satisfied (YES in S5) under the condition that a predetermined time has passed since the start of processing or that the trial has been repeated a predetermined number of times or more, and these multi-valued variables S i or the evaluation value of the evaluation function H 0 is output. This allows us to solve the overall optimization problem. By performing iterative processing in this way, the original problem can be divided into subproblems and solved.

<ステップS62の埋込方法の具体例>
二値変数xiをハードウェアグラフG2へ埋込むときのステップS62の具体例について図18を参照しながら説明する。ここではQ=4の簡単な例を示している。コンピュータ3が、量子イジングマシン1のハードウェアグラフG2に多値変数S1のうち二値変数x1 (1)、x1 (2)を埋込んだものの、他の二値変数x1 (3)、x1 (4)をハードウェアグラフG2に埋込む際に重複割当が生じ、埋込不可能とされた場合を想定する。図18の中には、ハードウェアグラフG2の頂点Vに埋込済の二値変数x1 (1)、x1 (2)を「Z1」と符号を付している。
<Specific example of embedding method in step S62>
A specific example of step S62 when embedding the binary variable x i in the hardware graph G2 will be described with reference to FIG. A simple example with Q=4 is shown here. Although the computer 3 embeds the binary variables x 1 (1) and x 1 (2) out of the multi-valued variables S 1 in the hardware graph G2 of the quantum Ising machine 1, the other binary variables x 1 (3 ) , x 1 (4) are embedded in the hardware graph G2, duplicate assignments occur and the embedding is disabled. In FIG. 18, the binary variables x 1 (1) and x 1 (2) already embedded in the vertex V of the hardware graph G2 are denoted by "Z1".

このとき、埋込まれた二値変数x1 (2)がホット状態値「1」とされていることを想定している。図18の中には、コンピュータ3が、多値変数S1に隣接して結合した多値変数S2の中の二値変数x2 (1)、x2 (2)、x2 (3)、x2 (4)を埋込む際の優先順位「1st」~「4th」を示している。 It is then assumed that the embedded binary variable x 1 (2) has a hot state value of "1". In FIG. 18, the computer 3 computes the binary variables x 2 (1) , x 2 ( 2 ) , x 2 (3) in the multi-valued variable S 2 adjacently connected to the multi-valued variable S 1 . , x 2 (4) are shown as priorities "1st" to "4th".

前述のS62の説明でも示したように、最初に埋込むべき二値変数x2は、埋込済の二値変数x1に結合している二値変数x2とすることが望ましい。二値変数x2の中でもホット状態値「1」とされている二値変数x2を最優先とすることが望ましい。図18に示す例の場合、埋込済の二値変数x1に結合している二値変数x2 (1)、x2 (2)は両者共にコールド状態値「0」であるため、二値変数x2 (1)、x2 (2)の何れの変数を選択しても良いが、ここでは二値変数x2 (1)をランダムで選択している例を示している。 As described in S62 above, the binary variable x2 to be embedded first is preferably the binary variable x2 that is linked to the embedded binary variable x1. Among the binary variables x2, it is desirable to give the highest priority to the binary variable x2 having a hot state value of "1". In the case of the example shown in FIG. 18, the binary variables x 2 (1) and x 2 (2) that are linked to the embedded binary variable x 1 are both cold state values “0”. Either of the value variables x 2 (1) and x 2 (2) may be selected, but here an example of randomly selecting the binary variable x 2 (1) is shown.

また2番目以降に埋込むべき二値変数xiは、ホット状態値「1」とされている二値変数xiを最優先とし、コールド状態値「0」とされている二値変数xiを次の優先順位とすることが望ましい。図18に示す例の場合、二値変数x2 (4)がホット状態値「1」とされているため、ホット状態値「1」の二値変数x2 (4)を2番目の埋込対象とする。またコンピュータ3は、コールド状態値「0」の条件を満たす二値変数xiの中でも埋込済の二値変数xjに結合している二値変数xiを優先的に埋込対象とする。このため図18に示す例では、二値変数x2 (2)を3番目の埋込対象とする。またコンピュータ3は、埋込済の二値変数xjに結合していない二値変数xiを次の優先順位として選択する。図18に示す例の場合、二値変数x2 (3)を最後の埋込対象としている。このような順序にて二値変数xiを埋込むことが望ましい。 As for the binary variables x i to be embedded secondly and thereafter, the binary variables x i with the hot state value “1” are given the highest priority, and the binary variables x i with the cold state value “0” are given the highest priority. should be the next priority. In the example shown in FIG. 18, since the binary variable x 2 (4) has the hot state value “1”, the binary variable x 2 ( 4) with the hot state value “1” is used as the second embedded variable. set to target. Further, the computer 3 preferentially selects the binary variable x i linked to the embedded binary variable x j among the binary variables x i satisfying the condition of the cold state value “0” as the embedding target. . Therefore, in the example shown in FIG. 18, the binary variable x 2 (2) is the third embedding target. The computer 3 also selects the binary variable x i that is not linked to the embedded binary variable x j as the next priority. In the example shown in FIG. 18, the binary variable x 2 (3) is the final embedding target. It is desirable to embed the binary variables x i in such order.

<本実施形態のまとめ、効果>
本実施形態によれば、多値変数Siにより定義された評価関数H0をワンホット制約により2値変数xiを用いて表現した大規模な最適化問題を解く場合に、部分問題の変数として多値変数Siの中の少なくとも一部の二値変数xiを含むように選択するときには、ホット状態値「1」(第一値相当)とされている二値変数xiが含まれるように選択してハードウェアグラフG2に埋込処理している。これにより、各多値変数Siは複数個のワンホット制約を満たす状態を部分問題に含むようになり、より高精度な解を効率的に探索することが可能となる。
<Summary and effects of the present embodiment>
According to this embodiment, when solving a large-scale optimization problem in which an evaluation function H 0 defined by a multi-valued variable S i is expressed using a binary variable x i by a one-hot constraint, the subproblem variable When selecting to include at least some of the binary variables x i in the multi-valued variables S i as are selected and embedded in the hardware graph G2. As a result, each multi-valued variable S i includes a state that satisfies a plurality of one-hot constraints in the subproblem, making it possible to efficiently search for a more accurate solution.

またコンピュータ3は、既に埋込まれた多値変数S1に問題グラフ上で結合する多値変数S2の二値変数x2を追加で埋込処理するときには、多値変数S2を表現する二値変数x2の中で、埋込済の二値変数x1 (1)に問題グラフG1の上で結合している二値変数x2 (1)を優先的に埋込むようにしている。すると、問題グラフG1の上で結合する多値変数Si、Sjの間の相互作用を可能な限り多く含むように部分問題を構築できる。 Further, when the computer 3 additionally embeds the binary variable x2 of the multi-valued variable S2 that is combined on the problem graph with the already embedded multi - valued variable S1, the computer 3 expresses the multi-valued variable S2. Among the binary variables x 2 , the binary variable x 2 (1) connected to the embedded binary variable x 1 (1) on the problem graph G1 is preferentially embedded. Then, a subproblem can be constructed so as to include as many interactions as possible between the multi-valued variables S i and S j that are connected on the problem graph G1.

またコンピュータ3は、既に埋込まれた多値変数S1に問題グラフ上で結合する多値変数S2の二値変数x2を追加で埋込処理するときには、多値変数S2を表現する二値変数x2の中で、ホット状態値「1」とされている条件を満たす二値変数x2 (4)、を優先的に埋込むようにしている。すると、ホット状態値「1」とされている二値変数x2 (4)を優先的にハードウェアグラフG2に対し優先的に埋込むことができる。 Further, when the computer 3 additionally embeds the binary variable x2 of the multi-valued variable S2 that is combined on the problem graph with the already embedded multi - valued variable S1, the computer 3 expresses the multi-valued variable S2. Among the binary variables x 2 , the binary variable x 2 (4) that satisfies the hot state value “1” is preferentially embedded. Then, the binary variable x 2 (4) having a hot state value of "1" can be preferentially embedded in the hardware graph G2.

またコンピュータ3は、ホット状態値「1」とされている二値変数xiを埋込不能と判定した場合には、当該二値変数xiにより表現される多値変数Siの全体の埋込みを無効とし、先に埋込まれた二値変数xiをハードウェアグラフG2の頂点Vから除去している。これにより、ワンホット制約を満たす状態を部分問題の中に1個しかもたない多値変数Siを部分問題から除外できる。しかも量子イジングマシン1のハードウェアリソースの予約を取り消すことができる。 When the computer 3 determines that the binary variable x i with the hot state value “1” cannot be embedded, the computer 3 embeds the entire multi-valued variable S i represented by the binary variable x i . is invalidated, and the previously embedded binary variable x i is removed from the vertex V of the hardware graph G2. As a result, the multivalued variable S i having only one state satisfying the one-hot constraint can be excluded from the subproblem. Moreover, the reservation of the hardware resource of the quantum Ising machine 1 can be cancelled.

またコンピュータ3は、選択した多値変数Siの全ての二値変数xiの中で2つ以上埋込不能と判定した場合には、当該二値変数xiにより表現される多値変数Siの全体の埋込みを無効とし、先に埋込まれた二値変数xiをハードウェアグラフG2の頂点Vから除去している。ホット状態値「1」及びコールド状態値「0」の双方を埋込不能な多値変数Siを部分問題から排除でき、ワンホット制約を満たす状態を部分問題の中に1個しかもたない多値変数Siを部分問題から排除できる。 Further, when the computer 3 determines that two or more of all the binary variables x i of the selected multi-valued variables S i cannot be embedded, the computer 3 determines that the multi-valued variables S We invalidate the entire embedding of i and remove the previously embedded binary variable x i from the vertex V of the hardware graph G2. A multi-valued variable S i in which both a hot state value of “1” and a cold state value of “0” cannot be embedded can be excluded from the subproblem, and a multi-valued variable S i that has only one state that satisfies the one-hot constraint in the subproblem. The value variables S i can be eliminated from the subproblem.

(第5実施形態)
図19及び図20は、第5実施形態の追加説明図を示している。評価関数H0は、パラメータλを用いて(2)式のように構成すれば良いものの、(2)式の右辺第2項の影響の割合をパラメータλにより変数定義することは、量子イジングマシン1がワンホット制約を満たさない解も全体の最適化問題の解として導出する可能性を高くする。またパラメータλを最適値に調整するため、計算処理量がより増加してしまう可能性がある。
(Fifth embodiment)
19 and 20 show additional explanatory diagrams of the fifth embodiment. Although the evaluation function H 0 may be configured as in Equation (2) using the parameter λ, defining the ratio of the influence of the second term on the right side of Equation (2) as a variable using the parameter λ is a quantum Ising machine 1 makes it more likely that solutions that do not satisfy the one-hot constraint will also be derived as solutions to the overall optimization problem. Moreover, since the parameter λ is adjusted to the optimum value, there is a possibility that the amount of calculation processing will increase.

このようなことが想定されるときには、コンピュータ3が、量子イジングマシン1に部分問題を実装する前に、多値変数Siの多値状態「1」~「Q」を2択により選択する2択最適化問題に変換すると良い。コンピュータ3が、2択最適化問題への変換処理を事前に実行することで、ワンホット制約を満たさない多値変数Siの解を排除した部分問題を量子イジングマシン1に実装できる。この場合、前述した(2)式の右辺第2項に相当する制約を排除でき、(2)式の右辺第2項のパラメータλを変数定義する必要がなくなる。コンピュータ3及び量子イジングマシン1は、(2)式の右辺第1項に相当するコスト部分の最適化処理を実行することで、二値変数xiの最適解を求めることができ、計算処理量を大幅に削減できるようになる。 When such a situation is assumed, before the computer 3 implements the partial problem in the quantum Ising machine 1, the multi-valued state "1" to "Q" of the multi-valued variable S i is selected from two options 2 It is better to convert it to a choice optimization problem. By having the computer 3 perform conversion processing to a binary optimization problem in advance, it is possible to implement a partial problem in the quantum Ising machine 1 excluding solutions for the multi-valued variables S i that do not satisfy the one-hot constraint. In this case, the constraint corresponding to the second term on the right side of formula (2) can be eliminated, and the parameter λ in the second term on the right side of formula (2) need not be defined as a variable. The computer 3 and the quantum Ising machine 1 can obtain the optimum solution for the binary variable x i by executing the optimization process of the cost part corresponding to the first term on the right side of the equation (2), and the calculation processing amount is can be significantly reduced.

例えばコンピュータ3は、図19に示す手順を用いて、全多値変数Siについて、現状の多値状態「1」~「Q」を維持するか、現状の多値状態「1」~「Q」を遷移させるか、を選択する2択最適化問題に変換した後に、当該2択最適化問題に係る部分問題を量子イジングマシン1に実装して最適化処理を実行させることが望ましい。 For example, the computer 3 uses the procedure shown in FIG. 19 to maintain the current multi-valued states “1” to “Q” for all multi-valued variables S i , or maintain the current multi-valued states “1” to “Q”. , is converted into a binary optimization problem that selects , and then the subproblems related to the binary optimization problem are implemented in the quantum Ising machine 1 to execute the optimization process.

図19に示すように、コンピュータ3は、S51において多値変数S1~SNを順番に選択し、S52にて選択した多値変数Siの中でホット状態値「1」の遷移先候補をランダムに選択する。コンピュータ3は、全ての多値変数S1~SNについてステップS51~S53の処理を繰り返すことで、最終的にS54に示すように、多値変数Siの現状の多値状態「1」~「Q」を維持するか、現状の多値状態「1」~「Q」を遷移させるか、を2択により選択する2択最適化問題に変換できる。 As shown in FIG. 19, the computer 3 sequentially selects the multivalued variables S 1 to S N in S51, and selects the transition destination candidate of the hot state value "1" among the multivalued variables S i selected in S52. randomly select. The computer 3 repeats the processing of steps S51 to S53 for all the multivalued variables S 1 to S N , so that, as shown in S54, the current multivalued states of the multivalued variable S i to It can be converted into a two-choice optimization problem in which "Q" is maintained or the current multi-valued state "1" to "Q" is transitioned.

図20に具体例を示す。コンピュータ3は、図19に示す処理を実行する時点で多値変数Siが多値状態「1」にされていると仮定した場合、遷移先の候補として多値状態「2」~「Q」のうち一つをランダムに選択する。仮にコンピュータ3が、遷移先として多値状態「3」を選択した場合、多値変数Siを現状の多値状態「1」か遷移先の多値状態「3」とするかの2択の判断を量子イジングマシン1に委ねることになる。この結果、多値変数Siが現状の多値状態「1」を維持、又は、多値状態「3」に遷移、の2択による2択最適化問題に変換できる。この2択最適化問題は、二択変数yiにより定義され、例えば二択変数yi=0は維持、二択変数yi=1は遷移を表す。 A specific example is shown in FIG. Assuming that the multi-valued variable S i is set to the multi-valued state "1" at the time of executing the processing shown in FIG. Randomly select one of If the computer 3 selects the multi-valued state "3" as the transition destination, the multi-valued variable S i is set to either the current multi-valued state "1" or the transition destination multi-valued state "3". The decision is entrusted to the quantum Ising machine 1 . As a result, the multi-valued variable S i can be converted into a two-choice optimization problem in which the multi-valued variable S i maintains the current multi-valued state "1" or transitions to the multi-valued state "3". This binary optimization problem is defined by a binary variable y i , eg a binary variable y i =0 represents maintenance and a binary variable y i =1 represents transition.

またコンピュータ3は、問題グラフG1上で結合する多値変数Si、Sjが同一の多値状態とされたときに評価関数H0がより最適化されることを認識している場合、一の多値変数Siの現状の多値状態「1」か遷移先の多値状態「3」の何れか少なくとも一以上が、一の多値変数Siと結合する他の多値変数Sjの現状の多値状態又は遷移先の多値状態の何れか少なくとも一以上と同一状態となるように2択最適化問題を構築することが望ましい。すると、量子イジングマシン1が2択最適化問題を最適化したときに、評価関数H0を最適化する二値変数xiを効率的に求めることができる。 Further, if the computer 3 recognizes that the evaluation function H 0 is more optimized when the multi-valued variables S i and S j connected on the problem graph G1 are set to the same multi-valued state, then At least one of the current multi-valued state "1" and the multi-valued state "3" of the transition destination of the multi-valued variable S i is combined with one multi-valued variable S i of another multi-valued variable S j It is desirable to construct the binary optimization problem so that the state is the same as at least one of the current multi-valued state and the multi-valued state of the transition destination. Then, when the quantum Ising machine 1 optimizes the binary optimization problem, it is possible to efficiently obtain the binary variable x i that optimizes the evaluation function H 0 .

多値変数Siの表現に代えて、二値変数xiの2値状態値を用いて言い換えると、二値変数xiの2値状態値が問題グラフG1上で結合した二値変数xjと同一の2値状態値となる状態を2択最適化問題が含むように、二値変数xiが現状の2値状態値(ホット状態値「1」又はコールド状態値「0」)かこれとは異なる遷移先の2値状態値かが、隣接して結合した二値変数xjの現状の2値状態値かこれとは異なる遷移先の2値状態値の何れか少なくとも一以上と同一となるように選択すると良い。 In other words, using the binary state values of the binary variables x i instead of the expression of the multi-valued variables S i , the binary variables x j The binary variable x i is either the current binary state value (hot state value '1' or cold state value '0') or this so that the binary optimization problem contains states that result in the same binary state value is the same as at least one of the current binary state value of the adjacently coupled binary variable x j or the binary state value of the transition destination different from this It is better to select so that

逆に、コンピュータ3は、問題グラフG1上で隣接して結合する多値変数Si、Sjが異なる多値状態とされたときに評価関数H0が小さくなることを認識している場合、一の多値変数Siの現状の多値状態「1」か遷移先の多値状態「3」の何れか又は双方が、隣接する他の多値変数Sjの現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように2択最適化問題を構築することが望ましい。すると、量子イジングマシン1が2択最適化問題を最適化したときに、評価関数H0を最適化した条件を満たした二値変数xiを高精度に求めることができる。 Conversely, when the computer 3 recognizes that the evaluation function H 0 becomes smaller when the adjacent multi-valued variables S i and S j connected on the problem graph G1 are set to different multi-valued states, Either or both of the current multi-valued state “1” and the transition destination multi-valued state “3” of one multi-valued variable S i is the current multi-valued state and transition of another adjacent multi-valued variable S j . It is desirable to construct the binary optimization problem such that the multi-valued state is different from both of the previous multi-valued states. Then, when the quantum Ising machine 1 optimizes the binary optimization problem, the binary variable x i that satisfies the conditions for optimizing the evaluation function H 0 can be obtained with high accuracy.

多値変数Siの表現に代えて、二値変数xiの状態値を用いて言い換えると、二値変数xiの2値状態値が問題グラフG1上で結合した二値変数xjと異なる2値状態値を2択最適化問題が含むように、二値変数xiが現状の2値状態値(ホット状態値「1」又はコールド状態値「0」)か、これとは異なる遷移先の2値状態値かが、隣接して結合した二値変数xjの現状の2値状態値及び遷移先の2値状態値の両方と異なるように選択すると良い。 In other words, the binary state value of the binary variable x i is different from the binary variable x j connected on the problem graph G1. The binary variable x i is either the current binary state value (hot state value '1' or cold state value '0') or a different transition destination, such that the binary state value is included in the binary optimization problem. is different from both the current binary state value and the transition destination binary state value of the adjacently connected binary variable x j .

コンピュータ3は、二択変数yiにより定義される2択最適化問題の部分問題をハードウェアグラフG2に埋込むことで部分問題を実装する。そして、量子イジングマシン1が、埋込まれた2択最適化問題の部分問題を最適化し二択変数yiを決定する。コンピュータ3は、部分問題を最小化する量子イジングマシン1による二択変数yiの出力と、各変数の現状の2値状態と遷移先の2値状態を参照して二値変数xiを更新する。コンピュータ3とイジングマシン1により2択最適化問題を生成し、二値変数xiの更新処理を繰り返すことで、全体の二値変数xiの最適解を得ることができる。 The computer 3 implements a subproblem of the binary optimization problem defined by the binary variable y i by embedding it in the hardware graph G2. Quantum Ising machine 1 then optimizes subproblems of the embedded binary optimization problem to determine binary variables y i . The computer 3 updates the binary variable x i by referring to the output of the binary variable y i by the quantum Ising machine 1 that minimizes the subproblem, the current binary state of each variable, and the binary state of the transition destination. do. By generating a binary optimization problem using the computer 3 and the Ising machine 1 and repeating update processing of the binary variables x i , it is possible to obtain the optimum solution for the entire binary variables x i .

多値問題の多値変数Siを最適化する際に、コンピュータ3は多値変数Siによる多値状態「1」~「Q」を2択により選択する2択最適化問題に変換した後、2択最適化問題の二択変数yiを部分的にハードウェアグラフG2の頂点Vに埋込んでいる。コンピュータ3が、2択最適化問題への変換処理を事前に実行することで、ワンホット制約を満たさない多値変数Siの解を排除した部分問題を構築でき、この結果、計算処理量を大幅に削減できる。さらに、部分問題は、ワンホット制約を満たした状態しか含まないため、ワンホット制約の強さを決定するパラメータλを調整する必要がなくなる。特に、現状の多値状態「1」~「Q」を維持する(二択変数yi=0)か、現状の多値状態「1」を遷移させる(二択変数yi=1)か、を選択する2択最適化問題に変換することが望ましい。 When optimizing the multi-valued variable S i of the multi-valued problem, the computer 3 converts the multi-valued state "1" to "Q" by the multi-valued variable S i into a two-choice optimization problem. , partially embeds the binary variables y i of the binary optimization problem into the vertices V of the hardware graph G2. By the computer 3 executing the conversion process to the binary optimization problem in advance, it is possible to construct a partial problem excluding the solutions of the multi-valued variables S i that do not satisfy the one-hot constraint. can be significantly reduced. Furthermore, since the subproblem only contains states that satisfy the one-hot constraint, there is no need to adjust the parameter λ that determines the strength of the one-hot constraint. In particular, whether to maintain the current multi-valued state “1” to “Q” (binary variable y i =0) or transition the current multi-valued state “1” (binary variable y i =1), It is desirable to transform it into a binary optimization problem that selects .

また、問題グラフG1上で隣接して結合する多値変数Si、Sjが同一の多値状態とされたときに評価関数H0がより最適化される場合、一の多値変数Siの現状の多値状態か遷移先の多値状態の何れか少なくとも一以上が、隣接する他の多値変数Sjの現状の多値状態又は遷移先の多値状態と同一状態となるように2択最適化問題を構築することが望ましい。これにより、量子イジングマシン1が2択最適化問題を最適化したときに評価関数H0をより最適化できる。 Further, when the evaluation function H 0 is more optimized when the multi-valued variables S i and S j that are adjacently connected on the problem graph G1 are in the same multi-valued state, one multi-valued variable S i At least one of the current multi-valued state and transition destination multi-valued state of S j is the same as the current multi-valued state or transition destination multi-valued state of another adjacent multi-valued variable S j It is desirable to construct a binary optimization problem. As a result, the evaluation function H 0 can be further optimized when the quantum Ising machine 1 optimizes the binary optimization problem.

また、問題グラフG1上で隣接して結合する多値変数Si、Sjが異なる多値状態とされたときに評価関数H0がより最適化される場合、一の多値変数Siの現状の多値状態か遷移先の多値状態の何れか又は双方が、隣接する他の多値変数Sjの現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように2択最適化問題を構築することが望ましい。これにより、量子イジングマシン1が2択最適化問題を最適化したときに評価関数H0をより最適化できる。 Further, when the evaluation function H 0 is further optimized when the multi-valued variables S i and S j that are adjacently connected on the problem graph G1 are set to different multi-valued states, one multi-valued variable S i Either or both of the current multi-valued state and the transition destination multi-valued state are different from both the current multi-valued state and the transition destination multi-valued state of another adjacent multi-valued variable S j It is desirable to construct the binary optimization problem as follows. As a result, the evaluation function H 0 can be further optimized when the quantum Ising machine 1 optimizes the binary optimization problem.

(他の実施形態)
本開示は、前述実施形態に限定されるものではなく、例えば、以下に示す変形又は拡張が可能である。ハードウェアグラフG2は、キメラグラフを用いて説明したが、これに限定されるものではない。
(Other embodiments)
The present disclosure is not limited to the above-described embodiments, and can be modified or expanded, for example, as follows. Although the hardware graph G2 has been described using a chimera graph, it is not limited to this.

第4実施形態では、ホット状態値「1」(第一値相当)が一つだけ設けられたワンホット制約を例に挙げて説明したが、逆に、コールド状態値「0」(第一値相当)が一つだけ設けられたワンコールド制約に適用しても良い。第4実施形態では、評価関数H0の評価式として(2)式を例示したが、ワンコールド表示を適用した場合には、下記の(3)式のように第2項内の数式を変換すると良い。

Figure 0007182173000003
In the fourth embodiment, a one-hot constraint in which only one hot state value "1" (equivalent to the first value) is provided has been described as an example. equivalent) may be applied to a one-cold constraint provided with only one. In the fourth embodiment, the formula (2) is exemplified as the evaluation formula of the evaluation function H 0 , but when one-cold display is applied, the formula in the second term is converted as in the following formula (3) good to do
Figure 0007182173000003

第一値がその他全ての第二値と異なるように二値変数xiを表示できれば、どのような二値変数xiを用いても良い。なお、多値変数Siがワンホット表示される場合にはホット状態値「1」が第一値に相当すると共にコールド状態値「0」が第二値に相当する。多値変数Siがワンコールド表示される場合にはコールド状態値「0」が第一値に相当すると共にホット状態値「1」が第二値に相当する。 Any binary variable x i can be used as long as the binary variable x i can be represented such that the first value is different from all other second values. When the multi-valued variable S i is displayed in one-hot mode, the hot state value "1" corresponds to the first value and the cold state value "0" corresponds to the second value. When the multi-valued variable S i is displayed one-cold, the cold state value "0" corresponds to the first value and the hot state value "1" corresponds to the second value.

前述実施形態の構成、処理内容を組み合わせて構成することもできる。また、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。 It is also possible to combine the configurations and processing contents of the above-described embodiments. In addition, the reference numerals in parentheses in the claims indicate the corresponding relationship with the specific means described in the embodiment described above as one aspect of the present invention, and the technical scope of the present invention is defined by It is not limited. A mode in which part of the above embodiment is omitted as long as the problem can be solved can also be regarded as an embodiment. In addition, all conceivable aspects can be regarded as embodiments as long as they do not deviate from the essence of the invention specified by the language in the claims.

また本発明は、前述した実施形態に準拠して記述したが、本発明は当該実施形態や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。 Moreover, although the present invention has been described in accordance with the above-described embodiments, it is understood that the present invention is not limited to such embodiments or structures. The present invention includes various modifications and modifications within the equivalent range. In addition, various combinations and configurations, as well as other combinations and configurations including one, more, or less elements thereof, are within the scope and spirit of this disclosure.

図面中、1は量子イジングマシン(専用ハードウェア)、3はコンピュータ(予約部、禁止部、解消部、選択部、無効化処理部、変換部)、7は判定部、8は埋込部、V、V11~14、V21~V24は頂点、を示す。 In the drawing, 1 is a quantum Ising machine (dedicated hardware), 3 is a computer (reservation unit, prohibition unit, cancellation unit, selection unit, invalidation processing unit, conversion unit), 7 is a determination unit, 8 is an embedding unit, V, V11-14 and V21-V24 indicate vertices.

Claims (24)

頂点(V)の間の相互作用を表すハードウェアグラフ(G2)が特定の固定アーキテクチャにより構成された最適化問題の専用ハードウェア(1)を用いて、当該最適化問題の全ての変数を埋込不可能な大規模問題を解く場合について、当該最適化問題の変数の相互作用を問題グラフ(G1)に表して解く場合に、前記問題グラフの変数を前記専用ハードウェアの前記ハードウェアグラフの頂点に埋込むことが可能な部分問題に分割し、前記部分問題の最適化処理を繰り返すことで前記大規模問題を解くときに用いられる変数埋込方法であって、
前記全ての変数のうち少なくとも一部を前記ハードウェアグラフの頂点に埋込むときに、
前記最適化問題の変数を前記ハードウェアグラフの頂点へ重複割当を必要とするか否かを判定する過程(S12)と、
前記重複割当を必要とする前記変数については前記部分問題の変数として用いることなく、前記重複割当の不要な前記変数を選択して前記ハードウェアグラフの頂点に埋込む過程(S13)と、
を備える変数埋込方法。
A hardware graph (G2) representing the interaction between vertices (V) is constructed by a specific fixed architecture, using dedicated hardware (1) for the optimization problem to embed all the variables of the optimization problem. In the case of solving a large-scale problem that cannot be embedded, when the interaction of the variables of the optimization problem is expressed in a problem graph (G1) and solved, the variables of the problem graph are converted to the hardware graph of the dedicated hardware A variable embedding method used when solving the large-scale problem by dividing it into subproblems that can be embedded in vertices and repeating optimization processing of the subproblems,
when embedding at least a portion of all the variables into the vertices of the hardware graph;
a step of determining (S12) whether the variables of the optimization problem require redundant assignment to the vertices of the hardware graph;
a step of selecting the variables that do not require overlapping assignment and embedding them in the vertices of the hardware graph without using the variables that require overlapping assignment as variables of the partial problem (S13);
A variable embedding method with
完全グラフ(G1a)を前記ハードウェアグラフに埋込むときの埋込方法に基づいて前記ハードウェアグラフの頂点を紐付ける過程(S21)と、
前記ハードウェアグラフの上に前記変数を埋込むときに、当該変数が埋込まれる前記ハードウェアグラフの上で連結された部分グラフの中から少なくとも一つ以上の前記頂点を選択する過程(S26)と、
前記ハードウェアグラフに前記変数(X1,Xa)を埋込むときに、前記紐付けの内容に基づいて、前記選択した前記頂点から結合し且つその他の前記変数(X2~X9,Xb,Xc)との結合を増加させる前記頂点を、前記埋込む変数(X1,Xa)に対応して予約することで当該埋込む変数(X1,Xa)以外の前記その他の変数(X2~X9,X)の埋込みを禁止する過程(S27)と、をさらに備える請求項1記載の変数埋込方法。
a step (S21) of linking the vertices of the hardware graph based on an embedding method when embedding the complete graph (G1a) in the hardware graph;
selecting at least one or more of the vertices from subgraphs connected on the hardware graph in which the variable is embedded when embedding the variable on the hardware graph (S26); When,
When embedding the variables (X1, Xa) in the hardware graph, based on the contents of the linkage, combine from the selected vertices and combine with the other variables (X2 to X9, Xb, Xc) embedding the other variables (X2 to X9, X) other than the embedding variable (X1, Xa) by reserving the vertex that increases the coupling of the embedding variable (X1, Xa) 2. The variable embedding method according to claim 1, further comprising a step of prohibiting (S27).
前記その他の変数(X)の埋込みを禁止する過程を実行した後、前記問題グラフの上で埋込済の前記変数(Xa)に結合した全ての前記変数(Xb)の埋込処理が完了した後に前記予約を解消する過程(S37,S38)、をさらに備える請求項2記載の変数埋込方法。 After executing the process of prohibiting the embedding of the other variables (X), the embedding process of all the variables (Xb) connected to the embedded variables (Xa) on the problem graph is completed. 3. The variable embedding method according to claim 2, further comprising a step of canceling said reservation later (S37, S38). 前記ハードウェアグラフが、複数の頂点を備えた単位セル(C、C11…C44)を第1方向及び第2方向に沿って複数グリッド分だけ備えたキメラグラフにより構成される場合、一つの前記単位セル(C11,C33)の第1頂点(V11,V13)を基点として前記第1方向又は前記第2方向に結合する他の前記単位セル(C12,C13…,C31,C32,C34…)に対応した頂点を第2頂点(V11,V13)として予約する過程(S22)をさらに備える請求項2又は3記載の変数埋込方法。 When the hardware graph is composed of a chimera graph including unit cells (C, C11 . Corresponding to the other unit cells (C12, C13, . . . , C31, C32, C34, . 4. The variable embedding method according to claim 2 or 3, further comprising a step (S22) of reserving the vertices obtained as second vertices (V11, V13). 前記問題グラフの中で追加して埋込む前記変数を選択するときには、
すでに埋込みされた埋込済の前記変数に結合された未埋込の前記変数の中から選択する請求項1から4の何れか一項に記載の変数埋込方法。
When selecting the variables to be added and embedded in the problem graph,
5. A variable embedding method according to any one of claims 1 to 4, wherein the variable is selected from among the non-embedded variables linked to the embedded variables that have already been embedded.
前記問題グラフの中で追加して埋込む前記変数を選択して前記ハードウェアグラフに埋込むときには、
すでに埋込みされた埋込済の前記変数(Xa)を一つ選択し(S34)、前記選択した埋込済の変数に結合した前記変数(Xb)を選択して埋込処理を完了した後(S35~S37)、他の埋込済の前記変数を選択し(S34)、当該選択した埋込済の変数(Xa)に結合した前記変数(Xb)の埋込処理を繰り返す請求項1から5の何れか一項に記載の変数埋込方法。
When selecting the variable to be added and embedded in the problem graph and embedding it in the hardware graph,
Select one of the embedded variables (Xa) already embedded (S34), select the variable (Xb) linked to the selected embedded variable, and complete the embedding process ( S35 to S37), selecting another embedded variable (S34), and repeating the embedding process of the variable (Xb) linked to the selected embedded variable (Xa). The variable embedding method according to any one of .
前記大規模問題が、ワンホット(one-hot)制約又はワンコールド(one-cold)制約など一つだけ設けられた第一値がその他の全ての第二値と異なるように制約が設けられた二値変数(x1 (1)~x1 (Q):xN (1)~xN (Q))により表現される多値変数(S1:SN)を適用した多値問題であり、
前記部分問題の変数として前記多値変数の中の少なくとも一部の前記二値変数を含むように選択して前記ハードウェアグラフの頂点に埋込むときには、前記第一値とされている前記二値変数が含まれるように前記二値変数を選択して前記ハードウェアグラフの頂点に埋込処理する請求項1から6の何れか一項に記載の変数埋込方法。
The large-scale problem is constrained such that only one first value is different from all other second values, such as a one-hot constraint or a one-cold constraint It is a multi-valued problem applying multi-valued variables (S 1 : S N ) represented by binary variables (x 1 (1) to x 1 (Q) : x N (1) to x N (Q) ). ,
the binary variable set as the first value when selecting to include at least part of the binary variables from the multi-valued variables as the variables of the subproblem and embedding them in the vertices of the hardware graph 7. The variable embedding method according to any one of claims 1 to 6, wherein the binary variables are selected so as to be included in the variables and embedded in the vertices of the hardware graph.
既に埋込処理が実行された前記多値変数(S1)に前記問題グラフ上で結合する前記多値変数(S2)の二値変数(x2)を前記ハードウェアグラフの頂点に追加で埋込処理するときには、
前記多値変数を表現する前記二値変数の中で、前記埋込済の前記二値変数に前記問題グラフ上で結合している前記二値変数、又は、前記第一値とされている条件を満たす前記二値変数、を優先的に埋込む請求項7記載の変数埋込方法。
A binary variable (x 2 ) of the multi-valued variable (S 2 ) that is linked on the problem graph to the multi-valued variable (S 1 ) already embedded can be added to the vertices of the hardware graph. When embedding
Among the binary variables expressing the multivalued variable, the binary variable linked to the embedded binary variable on the problem graph, or the condition that is the first value 8. The variable embedding method according to claim 7, wherein the binary variable satisfying the following is preferentially embedded.
前記第一値とされている前記二値変数を埋込不能と判定した場合(S65aでNO)、又は、前記選択した多値変数を表現する全ての前記二値変数の中で2つ以上埋込不能と判定した場合(S68でNO)には、当該二値変数により表現される前記多値変数の全体の埋込みを無効とし、先に埋込まれた前記二値変数を前記部分問題から除去する(S69)請求項7又は8記載の変数埋込方法。 If it is determined that the binary variable set as the first value cannot be embedded (NO in S65a), or if two or more of all the binary variables representing the selected multivalued variable are embedded If it is determined that the embedding is not possible (NO in S68), the embedding of the entire multi-valued variable represented by the binary variable is invalidated, and the previously embedded binary variable is removed from the partial problem. (S69) The variable embedding method according to claim 7 or 8. 前記大規模問題が、ワンホット(one-hot)制約又はワンコールド(one-cold)制約など一つだけ設けられた第一値がその他の全ての第二値と異なるように制約が設けられた二値変数(x1 (1)~x1 (Q):xN (1)~xN (Q))により表現される多値変数(S1:SN)を適用した多値問題であり、
前記多値問題の多値変数(Si)を最適化する際に、前記多値変数による多値状態を二択変数(yi)を用いて2択により選択する2択最適化問題に変換した(S51~S54)後、
請求項1から6の何れか一項に示す変数埋込方法を用いて前記ハードウェアグラフの頂点に前記二択変数を前記変数として埋込む変数埋込方法。
The large-scale problem is constrained such that only one first value is different from all other second values, such as a one-hot constraint or a one-cold constraint It is a multi-valued problem applying multi-valued variables (S 1 : S N ) represented by binary variables (x 1 (1) to x 1 (Q) : x N (1) to x N (Q) ). ,
When optimizing the multi-valued variable (S i ) of the multi-valued problem, the multi-valued state of the multi-valued variable is converted into a binary optimization problem in which a binary variable (y i ) is used to select two alternatives. After doing (S51 to S54),
A variable embedding method for embedding the binary variable as the variable at the vertex of the hardware graph using the variable embedding method according to any one of claims 1 to 6.
前記多値問題の各多値変数について現状の多値状態を維持するか、又は、各多値変数についてランダムに選択した他の多値状態に遷移するか(S51、S52)の2択による前記2択最適化問題に変換する請求項10記載の変数埋込方法。 The two options of maintaining the current multi-valued state for each multi-valued variable of the multi-valued problem, or transitioning to another multi-valued state randomly selected for each multi-valued variable (S51, S52) 11. The variable embedding method according to claim 10, wherein the problem is converted into a binary optimization problem. 前記問題グラフ上で結合する前記多値変数(Si、Sj)が同一の値である方が前記多値問題を評価する評価関数が最適化される場合、一の多値変数(Si)の前記現状の多値状態か遷移先の前記他の多値状態の何れか少なくとも一以上が、前記一の多値変数(Si)と結合する他の多値変数(Sj)の現状の多値状態又は遷移先の多値状態の何れか少なくとも一以上と同一状態となるように前記2択最適化問題を構築し、
前記問題グラフ上で結合する前記多値変数が異なる値である方が前記評価関数が最適化される場合、一の多値変数の現状の多値状態か遷移先の前記他の多値状態の何れか又は双方が、前記一の多値変数と結合する他の多値変数の現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように前記2択最適化問題を構築する請求項11記載の変数埋込方法。
When the evaluation function for evaluating the multi-valued problem is optimized when the multi-valued variables (S i , S j ) connected on the problem graph have the same value, one multi-valued variable (S i ) at least one of the current multi-valued state and the other multi-valued state of the transition destination is combined with the one multi-valued variable (S i ) . Construct the binary optimization problem so that the state is the same as at least one of the multi-valued state of or the multi-valued state of the transition destination,
When the evaluation function is optimized when the multi-valued variables connected on the problem graph have different values, the current multi-valued state of one multi-valued variable or the other multi-valued state of the transition destination Either or both of the above-mentioned binary optimization problems are different from both the current multi-valued state and the transition destination multi-valued state of the other multi-valued variable coupled with the one multi-valued variable. 12. The variable embedding method according to claim 11, wherein
頂点(V)の間の相互作用を表すハードウェアグラフ(G2)が特定の固定アーキテクチャにより構成された最適化問題の専用ハードウェア(1)を用いて、当該最適化問題の全ての変数を埋込不可能な大規模問題を解く場合について、当該最適化問題の変数の相互作用を問題グラフ(G1)に表して解く場合に、前記問題グラフの変数を前記専用ハードウェアの前記ハードウェアグラフの頂点に埋込むことが可能な部分問題に分割し、前記部分問題の最適化処理を繰り返すことで前記大規模問題を解くときに用いられる前記変数の埋込に係る処理システムであって、
前記全ての変数のうち少なくとも一部を前記ハードウェアグラフの頂点に埋込むときに、
前記最適化問題の変数を前記ハードウェアグラフの頂点へ重複割当を必要とするか否かを判定する判定部(7,S12)と、
前記重複割当を必要とする前記変数については前記部分問題の変数として用いることなく、前記重複割当の不要な前記変数を選択して前記ハードウェアグラフの頂点に埋込む埋込部(8,S13)と、を備える処理システム。
A hardware graph (G2) representing the interaction between vertices (V) is constructed by a specific fixed architecture, using dedicated hardware (1) for the optimization problem to embed all the variables of the optimization problem. In the case of solving a large-scale problem that cannot be embedded, when the interaction of the variables of the optimization problem is expressed in a problem graph (G1) and solved, the variables of the problem graph are converted to the hardware graph of the dedicated hardware A processing system for embedding variables used when solving the large-scale problem by dividing the problem into subproblems that can be embedded in vertices and repeating optimization processing of the subproblems,
when embedding at least a portion of all the variables into the vertices of the hardware graph;
a determination unit (7, S12) that determines whether or not it is necessary to duplicately assign variables of the optimization problem to vertices of the hardware graph;
An embedding unit (8, S13) that selects the variables that do not require overlapping assignment and embeds them in vertices of the hardware graph without using the variables that require overlapping assignment as variables of the partial problem. and a processing system comprising:
完全グラフ(G1a)を前記ハードウェアグラフに埋込むときの埋込方法に基づいて前記ハードウェアグラフの頂点を紐付ける紐付け部(S21)と、
前記ハードウェアグラフの上に前記変数を埋込むときに、当該変数が埋込まれる前記ハードウェアグラフの上で連結された部分グラフの中から少なくとも一つ以上の前記頂点を選択する選択部(S26)と、
前記ハードウェアグラフに前記変数(X1,Xa)を埋込むときに、前記紐付けの内容に基づいて、前記選択した前記頂点から結合し且つその他の前記変数(X2~X9,Xb,Xc)との結合を増加させる前記頂点を、前記埋込む変数(X1,Xa)に対応して予約することで当該埋込む変数(X1,Xa)以外の前記その他の変数(X2~X9,X)の埋込みを禁止する禁止部(S27)と、
をさらに備える請求項13記載の処理システム。
a linking unit (S21) that links vertices of the hardware graph based on an embedding method when embedding the complete graph (G1a) in the hardware graph;
When embedding the variable in the hardware graph, the selection unit (S26 )When,
When embedding the variables (X1, Xa) in the hardware graph, based on the contents of the linkage, combine from the selected vertices and combine with the other variables (X2 to X9, Xb, Xc) embedding the other variables (X2 to X9, X) other than the embedding variable (X1, Xa) by reserving the vertex that increases the coupling of the embedding variable (X1, Xa) a prohibition unit (S27) for prohibiting
14. The processing system of claim 13, further comprising:
前記その他の変数(X)の埋込みを禁止する過程を実行した後、前記問題グラフの上で埋込済変数(Xa)に結合した全ての変数(Xb)の埋込処理が完了した後に前記予約を解消する解消部(S37,S38)、
をさらに備える請求項14記載の処理システム。
After executing the process of prohibiting the embedding of the other variables (X), the reservation is performed after the embedding process of all the variables (Xb) connected to the embedded variables (Xa) on the problem graph is completed. Resolving unit (S37, S38) for resolving
15. The processing system of claim 14, further comprising:
前記ハードウェアグラフが、複数の頂点を備えた単位セル(C、C11…C44)を第1方向及び第2方向に沿って複数グリッド分だけ備えたキメラグラフにより構成される場合、一つの前記単位セル(C11,C33)の第1頂点(V11,V13)を基点として前記第1方向又は前記第2方向に結合する他の前記単位セル(C12,C13…、C31,C32,C34…)に対応した頂点を第2頂点(V11,V13)として予約する予約部(S22)をさらに備える請求項14又は15記載の処理システム。 When the hardware graph is composed of a chimera graph including unit cells (C, C11 . Corresponding to the other unit cells (C12, C13, . . . , C31, C32, C34, . 16. The processing system according to claim 14 or 15, further comprising a reservation unit (S22) for reserving the vertices obtained as second vertices (V11, V13). 前記問題グラフの中で追加して埋込む前記変数を選択するときには、
すでに埋込みされた埋込済の前記変数に結合された未埋込の前記変数の中から選択する請求項13から16の何れか一項に記載の処理システム。
When selecting the variables to be added and embedded in the problem graph,
17. A processing system according to any one of claims 13 to 16, wherein it selects among the non-embedded variables linked to the already embedded embedded variables.
前記問題グラフの中で追加して埋込む前記変数を選択して前記ハードウェアグラフに埋込むときには、
すでに埋込みされた埋込済の前記変数(Xa)を一つ選択し(S34)、前記選択した埋込済の変数に結合した前記変数(Xb)を選択して埋込処理を完了した後(S35~S37)、他の埋込済の前記変数を選択し(S34)、当該選択した埋込済の変数(Xa)に結合した前記変数(Xb)の埋込処理を繰り返す請求項13から17の何れか一項に記載の処理システム。
When selecting the variable to be added and embedded in the problem graph and embedding it in the hardware graph,
Select one of the embedded variables (Xa) already embedded (S34), select the variable (Xb) linked to the selected embedded variable, and complete the embedding process ( S35 to S37), selecting another embedded variable (S34), and repeating the embedding process of the variable (Xb) linked to the selected embedded variable (Xa). A processing system according to any one of Claims 1 to 3.
前記大規模問題が、ワンホット制約又はワンコールド制約など一つだけ設けられた第一値がその他の全ての第二値と異なるように制約が設けられた二値変数(x1 (1)~x1 (Q):xN (1)~xN (Q))により表現される多値変数(S1:SN)を適用した多値問題であり、
前記埋込部は、前記部分問題の変数として前記多値変数の中の少なくとも一部の前記二値変数を含むように選択して前記ハードウェアグラフの頂点に埋込むときには、前記第一値とされている前記二値変数が含まれるように前記二値変数を選択して前記ハードウェアグラフの頂点に埋込処理する請求項13から18の何れか一項に記載の処理システム。
The large-scale problem is a binary variable (x 1 (1) ∼ x 1 (Q) : x N (1) to x N (Q) ) is a multi-valued problem to which a multi-valued variable (S 1 : S N ) is applied,
When the embedding unit selects to include at least some of the binary variables among the multi-valued variables as the variables of the subproblem and embeds them in the vertices of the hardware graph, the embedding unit includes the first value and 19. The processing system according to any one of claims 13 to 18, wherein the binary variables are selected and embedded in the vertices of the hardware graph so as to include the binary variables that are set.
前記埋込部は、
既に埋込処理が実行された前記多値変数(S1)に前記問題グラフ上で結合する前記多値変数(S2)の二値変数(x2)を前記ハードウェアグラフの頂点に追加で埋込処理するときには、
前記多値変数を表現する前記二値変数の中で、前記埋込済の前記二値変数に前記問題グラフ上で結合している前記二値変数、又は、前記第一値とされている条件を満たす前記二値変数、を優先的に埋込む請求項19記載の処理システム。
The embedding part is
A binary variable (x 2 ) of the multi-valued variable (S 2 ) that is linked on the problem graph to the multi-valued variable (S 1 ) already embedded can be added to the vertices of the hardware graph. When embedding
Among the binary variables expressing the multivalued variable, the binary variable linked to the embedded binary variable on the problem graph, or the condition that is the first value 20. The processing system of claim 19, wherein said binary variables that satisfy:
前記第一値とされている前記二値変数を埋込不能と判定した場合(S65aでNO)、又は、前記選択した多値変数を表現する全ての前記二値変数の中で2つ以上埋込不能と判定した場合(S68でNO)には、当該二値変数により表現される前記多値変数の全体の前記埋込部による埋込みを無効とし、先に埋込まれた前記二値変数を前記部分問題から除去する無効化処理部(S69)をさらに備える請求項19又は20記載の処理システム。 If it is determined that the binary variable set as the first value cannot be embedded (NO in S65a), or if two or more of all the binary variables representing the selected multivalued variable are embedded If it is determined that the embedding is not possible (NO in S68), embedding by the embedding unit of the entire multi-valued variable represented by the binary variable is invalidated, and the previously embedded binary variable is replaced. 21. The processing system according to claim 19 or 20, further comprising an invalidation processing unit (S69) for removing from said partial problem. 前記大規模問題が、ワンホット(one-hot)制約又はワンコールド(one-cold)制約など一つだけ設けられた第一値がその他の全ての第二値と異なるように制約が設けられた二値変数(x1 (1)~x1 (Q):xN (1)~xN (Q))により表現される多値変数(S1:SN)を適用した多値問題であり、
前記多値問題の多値変数(Si)を最適化する際に、前記多値変数による多値状態を二択変数(yi)を用いて2択により選択する2択最適化問題に変換する変換部(S51~S54)を備え、
前記変換部が前記多値問題を前記2択最適化問題に変換した後、前記埋込部は請求項13から18の何れか一項に示す処理システムを用いて前記ハードウェアグラフの頂点に前記二択変数を前記変数として埋込む処理システム。
The large-scale problem is constrained such that only one first value is different from all other second values, such as a one-hot constraint or a one-cold constraint It is a multi-valued problem applying multi-valued variables (S 1 : S N ) represented by binary variables (x 1 (1) to x 1 (Q) : x N (1) to x N (Q) ). ,
When optimizing the multi-valued variable (S i ) of the multi-valued problem, the multi-valued state of the multi-valued variable is converted into a binary optimization problem in which a binary variable (y i ) is used to select two alternatives. A conversion unit (S51 to S54) for
After the transforming unit transforms the multi-valued problem into the binary optimization problem, the embedding unit uses the processing system according to any one of claims 13 to 18 to add the vertices of the hardware graph to the A processing system that embeds a binary variable as said variable.
前記多値問題の各多値変数について現状の多値状態を維持するか、又は、各多値変数についてランダムに選択した他の多値状態に遷移するか(S51、S52)の2択による前記2択最適化問題に変換する請求項22記載の処理システム。 The two options of maintaining the current multi-valued state for each multi-valued variable of the multi-valued problem, or transitioning to another multi-valued state randomly selected for each multi-valued variable (S51, S52) 23. The processing system of claim 22, which converts to a binary optimization problem. 前記問題グラフ上で結合する前記多値変数が同一の値である方が前記多値問題を評価する評価関数が最適化される場合、前記一の多値変数(Si)の現状の多値状態か遷移先の前記他の多値状態の何れか少なくとも一以上が、前記一の多値変数と結合する他の多値変数(Sj)の現状の多値状態又は遷移先の多値状態の何れか少なくとも一以上と同一状態となるように前記2択最適化問題を構築し、
前記問題グラフ上で結合する前記多値変数が異なる値である方が前記評価関数が最適化される場合、一の多値変数の現状の多値状態か遷移先の前記他の多値状態の何れか又は双方が、前記一の多値変数と結合する他の多値変数の現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように前記2択最適化問題を構築する請求項23記載の処理システム。
When the evaluation function for evaluating the multi-valued problem is optimized when the multi-valued variables connected on the problem graph have the same value, the current multi-valued variable (S i ) of the one multi-valued variable (S i ) At least one of the state and the other multi-valued state of the transition destination is the current multi-valued state or the multi-valued state of the transition destination of another multi-valued variable (S j ) that is combined with the one multi-valued variable Construct the binary optimization problem so that it is in the same state as at least one or more of
When the evaluation function is optimized when the multi-valued variables connected on the problem graph have different values, the current multi-valued state of one multi-valued variable or the other multi-valued state of the transition destination Either or both of the above-mentioned binary optimization problems are different from both the current multi-valued state and the transition destination multi-valued state of the other multi-valued variable coupled with the one multi-valued variable. 24. The processing system of claim 23, wherein the processing system comprises:
JP2019058504A 2018-06-20 2019-03-26 Variable embedding method and processing system Active JP7182173B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA3046768A CA3046768C (en) 2018-06-20 2019-06-17 Variable embedding method and processing system
US16/444,472 US11715021B2 (en) 2018-06-20 2019-06-18 Variable embedding method and processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018117045 2018-06-20
JP2018117045 2018-06-20

Publications (2)

Publication Number Publication Date
JP2020004384A JP2020004384A (en) 2020-01-09
JP7182173B2 true JP7182173B2 (en) 2022-12-02

Family

ID=69100152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019058504A Active JP7182173B2 (en) 2018-06-20 2019-03-26 Variable embedding method and processing system

Country Status (1)

Country Link
JP (1) JP7182173B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022094763A (en) 2020-12-15 2022-06-27 富士通株式会社 Optimization device, optimization program, and optimization method
CN113313261B (en) * 2021-06-08 2023-07-28 北京百度网讯科技有限公司 Function processing method and device and electronic equipment
JPWO2023047462A1 (en) * 2021-09-21 2023-03-30

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524026A (en) 2008-03-24 2011-08-25 ディー−ウェイブ システムズ,インコーポレイテッド System, apparatus, and method for analog processing
US20140324933A1 (en) 2012-12-18 2014-10-30 D-Wave Systems Inc. Systems and methods that formulate problems for solving by a quantum processor using hardware graph decomposition
JP2017151810A (en) 2016-02-25 2017-08-31 新日鉄住金ソリューションズ株式会社 Information processing device, information processing method, and program
JP2017219979A (en) 2016-06-06 2017-12-14 日本電信電話株式会社 Optimization problem solving apparatus, method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524026A (en) 2008-03-24 2011-08-25 ディー−ウェイブ システムズ,インコーポレイテッド System, apparatus, and method for analog processing
US20140324933A1 (en) 2012-12-18 2014-10-30 D-Wave Systems Inc. Systems and methods that formulate problems for solving by a quantum processor using hardware graph decomposition
JP2017151810A (en) 2016-02-25 2017-08-31 新日鉄住金ソリューションズ株式会社 Information processing device, information processing method, and program
JP2017219979A (en) 2016-06-06 2017-12-14 日本電信電話株式会社 Optimization problem solving apparatus, method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大関 真之,「量子アニーリングによる組合せ最適化」,オペレーションズ・リサーチ,公益社団法人日本オペレーションズ・リサーチ学会,2018年06月01日,第63巻, 第6号,pp.326-334
奥山 拓哉 外4名,「イジング計算機に向けたグラフ埋め込みアルゴリズム」,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2016年06月17日,第116巻, 第116号,pp.97-103

Also Published As

Publication number Publication date
JP2020004384A (en) 2020-01-09

Similar Documents

Publication Publication Date Title
JP7182173B2 (en) Variable embedding method and processing system
JP2023139057A (en) Resource constrained neural network architecture search
CN113449857A (en) Data processing method and data processing equipment
KR102140996B1 (en) Method and device for neural architecture search optimized for binary neural network
CN112101525A (en) Method, device and system for designing neural network through NAS
KR20210032266A (en) Electronic device and Method for controlling the electronic device thereof
JP7131393B2 (en) Information processing device, information processing method and program
CN111104124B (en) Pythrch framework-based rapid deployment method of convolutional neural network on FPGA
US20210124860A1 (en) High-throughput computational material simulation optimisation method and apparatus based on time prediction
CA3046768C (en) Variable embedding method and processing system
JP2019046038A (en) Evaluation function converter and program
JP6325762B1 (en) Information processing apparatus, information processing method, and information processing program
CN113037800A (en) Job scheduling method and job scheduling device
CN112001491A (en) Search method and device for determining neural network architecture for processor
JPWO2018087814A1 (en) Multitask relationship learning system, method and program
CN116738246A (en) Combined service dynamic reconstruction method and system for service demand change
CN114662204B (en) Elastic bar system structure system data processing method and device based on graph neural network
JP4643586B2 (en) Optimal design management device, optimal design calculation system, optimal design management method, optimal design management program
WO2022252694A1 (en) Neural network optimization method and apparatus
US20230086727A1 (en) Method and information processing apparatus that perform transfer learning while suppressing occurrence of catastrophic forgetting
JPWO2019077933A1 (en) Arithmetic circuit and arithmetic method
JP2018156619A (en) Global search device and program for consecutive optimization problem
CN111369035B (en) Service encapsulation method, system, medium and equipment based on graph planning
US20230125436A1 (en) Method for generating neural network architecture and computing apparatus executing the same
CN110456985B (en) Hierarchical storage method and system for big data of multi-mode network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220921

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221111

R150 Certificate of patent or registration of utility model

Ref document number: 7182173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150