JP7182173B2 - Variable embedding method and processing system - Google Patents
Variable embedding method and processing system Download PDFInfo
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
- Image Processing (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
特許文献2記載の技術は、解きたい問題グラフとハードウェアグラフとを参照し当該ハードウェアグラフの各頂点に対し変数を埋込んでいる。この特許文献2記載の変数の埋込処理は前半と後半に分かれている。前半では、ハードウェアグラフの頂点に複数の変数を重複して割り当てることを許容しつつ与えられた問題の全変数を埋込んでいる。またその後半においては、一つの変数だけが、ハードウェアグラフの上の各頂点に割り当てられるようにしている。その他、非特許文献1も参考文献として挙げることができる。
The technique described in
発明者は、背景技術欄に記載された特許文献2記載の技術を採用すると、特に後半の処理において多くの処理時間を要することを確認している。この特許文献2記載の技術は、前半において一旦重複を許容して埋込みしているため、後半にてその修正を図る必要があるためである。したがって、これらの全ての処理を完了するために多大な時間を要してしまう。特に、特許文献1記載の技術のように、大規模な問題を部分問題に分割しながらハードウェアグラフに繰り返し埋込む必要がある場合には、1回当たりの処理時間を短縮することが全体の処理時間を短縮するために重要である。
本発明の目的は、処理時間を短縮できるようにしたハードウェアグラフへの変数埋込方法及び処理システムを提供することにある。
The inventors have confirmed that if the technology described in
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
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.
以下、本発明の変数埋込方法及び処理システムの幾つかの実施形態について図面を参照して説明する。以下の実施形態中では、各実施形態間で同一機能又は類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。 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.
イジング型ハードウェア2は、特定の固定アーキテクチャにより構成された専用ハードウェアとなる量子プロセッサにより構成されている。このイジング型ハードウェア2は、その仮想ハードウェア上に多数配列状に頂点V(V1~V9)を備え、仮想ハードウェアの頂点V(V1~V9)の間の相互作用に制約を有するようなハードウェアグラフG2により表すことが可能である。以下の説明において、これらの多数の頂点Vの一部を特定するときには、必要に応じて頂点Vに添え数字を付して説明を行う。また、多数の頂点Vの一部又は全部を総じて頂点Vと称することもある。
The Ising
これらの頂点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
量子イジングマシン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
図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
この後、コンピュータ3は問題グラフG1を構成する変数Xをイジング型ハードウェア2のハードウェアグラフG2に埋込む(S2)。同一の変数Xに対応した頂点Vは、ハードウェアグラフG2の上で連結した部分グラフを構成しなければならない。しかも、問題グラフG1にて結合する変数Xは、ハードウェアグラフG2の上では少なくとも一つ以上の結合を備えていなければならない。このルールを満たしていないと、量子イジングマシン1の上で適切に処理させることができない。このためコンピュータ3は、変数Xの埋込処理を適切に行うことが求められる。
After that, the
図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
例えば、図5には、コンピュータ3が問題グラフG1の変数Xを量子イジングマシン1のハードウェアグラフG2に埋込むときの例を示している。ハードウェアグラフG2は、図5の右側に示すように前述説明したキメラグラフを用いている。
For example, FIG. 5 shows an example in which the
このとき、コンピュータ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
At this time, the
そして、変数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
その後、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
以上説明したように、本実施形態によれば、全ての変数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
<比較例>
図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
<本実施形態のまとめ、効果>
本実施形態によれば、コンピュータ3は、変数Xの埋込処理を行うときに、重複割当を必要とするか否かを判定し(S12)、重複割当を必要とする変数X7~X9を部分問題の変数Xとして用いることなく、重複割当の不要な変数X1~X6を選択してハードウェアグラフG2の頂点Vに埋込んでいる。このため、従来技術に示されるような重複割当を許容することなく処理できるようになり、重複割当の解消処理を一切行う必要がなくなり、処理時間を大幅に短縮できる。
<Summary and effects of the present embodiment>
According to this embodiment, the
(第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
コンピュータ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
FIG. 8 shows a flowchart of embedding processing of the vertex V on the hardware graph G2. As shown in FIG. 8, the
具体的な予約方法、所謂紐付方法は、ハードウェアグラフ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
図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
さらにコンピュータ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
図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
また図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
すると、コンピュータ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
例えば、問題グラフ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
このため、例えば図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
次に、コンピュータ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
以上示したように、ハードウェアグラフ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
その後、図8には示していないが、図3のS3と同様に量子イジングマシン1が最適化処理を実行することで、これらの全変数X1~X9の最適値を素早く的確に求めることができる。本実施形態では説明を簡単化するため、9つの変数X1~X9を用いて説明した。このため、1ルーチンの埋込処理にて全変数X1~X9をハードウェアグラフG2に埋込可能な簡単な例を示したが、実際にはより多数の変数Xを用いて最適化問題の大規模問題(原問題)を解くことになる。
After that, although not shown in FIG. 8, the
このとき、第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
Further, the
初期状態において、コンピュータ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
その後、コンピュータ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
また、コンピュータ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を埋込むことができる。
したがって、この時点で未埋込の変数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
これらの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,
その後、量子イジングマシン1が部分問題に係る最適化処理を実行し(S40)た後、コンピュータ3は、その量子イジングマシン1の処理結果に基づいて変数Xを更新し(S41)、終了条件を満たすか否かを判定する(S42)。終了条件を満たしていなければ、S32に処理を戻し、コンピュータ3が、問題グラフG1の変数Xを新たに選択するところから再度繰り返し実行する。そしてコンピュータ3は、S42の終了条件を満たしたときに変数Xの解を出力する(S43)。S42の終了条件としては、第1実施形態のS5の終了条件と同一条件を用いれば良いため説明を省略する。
After that, after the
<本実施形態のまとめ、効果>
本実施形態によれば、コンピュータ3は、埋込済変数Xaを一つ選択し、問題グラフG1の上で埋込済変数Xaに結合した全ての変数Xbの埋込処理を一通り完了した後に予約を解消している。これにより、ハードウェアグラフG2における予約を効率的に解消しながら変数Xbの埋込処理を実行でき、予約された頂点Vを減らすことでハードリソースを有効に活用できる。しかも、一回の部分問題の解導出処理においてより多くの変数Xb、XcをハードウェアグラフG2に埋込むことができる。
<Summary and effects of the present embodiment>
According to this embodiment, the
またコンピュータ3が、追加して埋込む変数Xを選択するときには、すでに埋込みされた埋込済変数Xaに結合された未埋込の変数Xbの中から選択するようにしているため、埋込済変数Xaに相互作用していない独立な変数Xcを選択することがなくなる。この結果、フラストレーション等の最適化が難しい問題グラフG1の構造を残したまま、変数XをハードウェアグラフG2に埋込みできる。
In addition, when the
(第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
ワンホット表示手法は、多値変数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は、この例に限られるものではない。
(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個存在する。
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.
(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
そこで、二値変数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".
以下、多値変数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
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
A binary variable x i to be embedded first in a certain multi-valued variable S i by the
また、コンピュータ3が、ある多値変数Siの中で2番目以降に埋込むべき二値変数xiは、ホット状態値「1」とされている二値変数xiを最優先とし、コールド状態値「0」とされている二値変数xiを次の優先順位とすることが望ましい。コンピュータ3は、コールド状態値「0」の条件を満たす二値変数xiの中でも埋込済の二値変数xjに隣接、結合している二値変数xiを優先的に埋込対象とすることが望ましく、埋込済の二値変数xjに隣接、結合していない二値変数xiを次の優先順位として選択すると良い。なお、優先順位の具体例は後述する。
In addition, the
コンピュータ3は、S63において前述した優先順位にて二値変数xiを選択した後、S64において二値変数xiをハードウェアグラフG2に埋込む際に重複割当を生じるか否かを判定する。コンピュータ3は、対象となる二値変数xiをハードウェアグラフG2に埋込む際に、重複割当を必要とすればS65においてハードウェアグラフG2に埋込みしない。逆に、コンピュータ3は、重複割当を必要としなければS66においてハードウェアグラフG2に埋込む。コンピュータ3は重複割当を必要としなければ、前述実施形態にて説明したように、二値変数xiを埋め込んだ頂点Vを基点としてハードウェアグラフG2の他の頂点Vを予約することになる。
After the
ここでコンピュータ3は、対象となる二値変数xiをハードウェアグラフG2に埋込む際に重複割当を必要とすればS65において埋込みしないと判定するが、この埋込みしない二値変数xiがホット状態値「1」であった場合には、S69において選択した多値変数Siの埋込を無効、すなわちキャンセルとし、次の多値変数Sjの埋込処理に移ることが望ましい。すなわち、ホット状態値「1」の二値変数xiがハードウェアグラフG2に埋込不能であれば、コールド状態値「0」を満たす二値変数xiしか埋込不能となるためである。これにより、ワンホット制約を満たす状態を部分問題に一つしか含まない多値変数Siを部分問題から排除できる。
Here, the
そしてコンピュータ3は、S67において、S61にて選択した多値変数Siに割当てられた全ての二値変数xiの埋込処理を終了したか否かを判定し、全ての二値変数xiの埋込処理を終了するまでS63~S66の処理を繰り返す。
Then, in S67, the
コンピュータ3は、選択した多値変数Siに割当てられた全ての二値変数xiの埋込処理を終了した結果、全ての二値変数xiの中で2つ以上埋込みできた場合には、そのままS70に移行し処理を継続する。しかしコンピュータ3は、選択した多値変数Siの中で二値変数xiを1つ以下、すなわちホット状態値「1」又はコールド状態値「0」を示す二値変数xiしか埋込みできないときには、S69において選択した多値変数Siの全ての埋込を無効、すなわちキャンセルする。このとき、コンピュータ3は、既に埋込まれた二値変数xiをハードウェアグラフG2の頂点Vから除去すると共に、他の頂点Vの予約を解除することで、量子イジングマシン1のハードウェアリソースの予約を取り消す。これにより、ワンホット制約を満たさない多値変数Siを部分問題を表す変数から排除できる。
When the
コンピュータ3は、S70において終了条件を満たすか否かを判定し、終了条件を満たすまで多値変数Siに隣接、結合した他の多値変数Sj(但しjはi-1又はi+1)を選択するところから処理を繰り返す。コンピュータ3が、多値変数Sjを表現する二値変数xjが、その前に埋込まれた多値変数Siの二値変数xiにハードウェアグラフG2上で結合できなくなると、S70において終了条件を満たしたと判定し、他の多値変数Sjの埋込みを終了する。
The
そしてコンピュータ3が、全ての多値変数Siの埋込処理を終了すると、量子イジングマシン1は、図3のS3において最適化処理を実行する。量子イジングマシン1は、最適化処理において埋め込まれた部分問題を勾配法やその他の最適化手法を用いて最適化し、評価関数H0が所定より低い最適化条件を満たすように二値変数xiの値を求める。このとき量子イジングマシン1は、処理を開始してから所定時間経過したり所定以上の試行回数繰り返したことを条件として二値変数xiの最適値を決定し更新する(S4)。この場合、他の埋込不能な二値変数xiとしては、これまでに得られた最適解又は初期値など固定値を用いて評価関数H0の評価値を求めると良い。これにより、部分問題を解くことができる。
After the
その後、コンピュータ3はS2に処理を戻し、S2において多値変数Siを再度選択し当該選択された多値変数Siの中の二値変数xiをハードウェアグラフG2に埋込むと、量子イジングマシン1がこれらの二値変数xiによる最適化処理を実行し、当該二値変数xiの組合せの最適値を決定し、S4においてこれらの二値変数xiを更新する。なお、このとき選択されなかった二値変数xiは、当該処理以前に最適値として求められた二値変数xiの最適値を用いると良い。一度も選択されていない多値変数Siの中の二値変数xiは、固定値に設定して処理すると良い。
Thereafter, the
そして量子イジングマシン1は、処理を開始してから所定時間経過したり又は所定以上の試行回数繰り返したことを条件として終了条件を満たしたと判定し(S5でYES)、これらの多値変数Siの結果又は評価関数H0の評価値などを出力する。これにより、全体の最適化問題を解くことができる。このように繰返し処理を行うことで、原問題を部分問題に分割して解くことができる。
Then, the
<ステップ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
このとき、埋込まれた二値変数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
前述の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
<本実施形態のまとめ、効果>
本実施形態によれば、多値変数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
またコンピュータ3は、選択した多値変数Siの全ての二値変数xiの中で2つ以上埋込不能と判定した場合には、当該二値変数xiにより表現される多値変数Siの全体の埋込みを無効とし、先に埋込まれた二値変数xiをハードウェアグラフG2の頂点Vから除去している。ホット状態値「1」及びコールド状態値「0」の双方を埋込不能な多値変数Siを部分問題から排除でき、ワンホット制約を満たす状態を部分問題の中に1個しかもたない多値変数Siを部分問題から排除できる。
Further, when the
(第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
このようなことが想定されるときには、コンピュータ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
例えばコンピュータ3は、図19に示す手順を用いて、全多値変数Siについて、現状の多値状態「1」~「Q」を維持するか、現状の多値状態「1」~「Q」を遷移させるか、を選択する2択最適化問題に変換した後に、当該2択最適化問題に係る部分問題を量子イジングマシン1に実装して最適化処理を実行させることが望ましい。
For example, the
図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
図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
またコンピュータ3は、問題グラフG1上で結合する多値変数Si、Sjが同一の多値状態とされたときに評価関数H0がより最適化されることを認識している場合、一の多値変数Siの現状の多値状態「1」か遷移先の多値状態「3」の何れか少なくとも一以上が、一の多値変数Siと結合する他の多値変数Sjの現状の多値状態又は遷移先の多値状態の何れか少なくとも一以上と同一状態となるように2択最適化問題を構築することが望ましい。すると、量子イジングマシン1が2択最適化問題を最適化したときに、評価関数H0を最適化する二値変数xiを効率的に求めることができる。
Further, if the
多値変数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
多値変数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
多値問題の多値変数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
また、問題グラフ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
また、問題グラフ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
(他の実施形態)
本開示は、前述実施形態に限定されるものではなく、例えば、以下に示す変形又は拡張が可能である。ハードウェアグラフ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項内の数式を変換すると良い。
第一値がその他全ての第二値と異なるように二値変数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)
前記全ての変数のうち少なくとも一部を前記ハードウェアグラフの頂点に埋込むときに、
前記最適化問題の変数を前記ハードウェアグラフの頂点へ重複割当を必要とするか否かを判定する過程(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
前記ハードウェアグラフの上に前記変数を埋込むときに、当該変数が埋込まれる前記ハードウェアグラフの上で連結された部分グラフの中から少なくとも一つ以上の前記頂点を選択する過程(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).
すでに埋込みされた埋込済の前記変数に結合された未埋込の前記変数の中から選択する請求項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 .
前記部分問題の変数として前記多値変数の中の少なくとも一部の前記二値変数を含むように選択して前記ハードウェアグラフの頂点に埋込むときには、前記第一値とされている前記二値変数が含まれるように前記二値変数を選択して前記ハードウェアグラフの頂点に埋込処理する請求項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.
前記多値変数を表現する前記二値変数の中で、前記埋込済の前記二値変数に前記問題グラフ上で結合している前記二値変数、又は、前記第一値とされている条件を満たす前記二値変数、を優先的に埋込む請求項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.
前記多値問題の多値変数(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.
前記問題グラフ上で結合する前記多値変数が異なる値である方が前記評価関数が最適化される場合、一の多値変数の現状の多値状態か遷移先の前記他の多値状態の何れか又は双方が、前記一の多値変数と結合する他の多値変数の現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように前記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
前記全ての変数のうち少なくとも一部を前記ハードウェアグラフの頂点に埋込むときに、
前記最適化問題の変数を前記ハードウェアグラフの頂点へ重複割当を必要とするか否かを判定する判定部(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:
前記ハードウェアグラフの上に前記変数を埋込むときに、当該変数が埋込まれる前記ハードウェアグラフの上で連結された部分グラフの中から少なくとも一つ以上の前記頂点を選択する選択部(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:
をさらに備える請求項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:
すでに埋込みされた埋込済の前記変数に結合された未埋込の前記変数の中から選択する請求項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.
前記埋込部は、前記部分問題の変数として前記多値変数の中の少なくとも一部の前記二値変数を含むように選択して前記ハードウェアグラフの頂点に埋込むときには、前記第一値とされている前記二値変数が含まれるように前記二値変数を選択して前記ハードウェアグラフの頂点に埋込処理する請求項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:
前記多値問題の多値変数(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.
前記問題グラフ上で結合する前記多値変数が異なる値である方が前記評価関数が最適化される場合、一の多値変数の現状の多値状態か遷移先の前記他の多値状態の何れか又は双方が、前記一の多値変数と結合する他の多値変数の現状の多値状態及び遷移先の多値状態の両方と異なる多値状態となるように前記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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7524754B2 (en) | 2020-12-15 | 2024-07-30 | 富士通株式会社 | Optimization device, optimization program, and optimization method |
CN113313261B (en) * | 2021-06-08 | 2023-07-28 | 北京百度网讯科技有限公司 | Function processing method and device and electronic equipment |
JP7563619B2 (en) * | 2021-09-21 | 2024-10-08 | 日本電気株式会社 | Sub-problem generating device and sub-problem generating method |
Citations (4)
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 |
-
2019
- 2019-03-26 JP JP2019058504A patent/JP7182173B2/en active Active
Patent Citations (4)
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)
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 | |
CA3046768C (en) | Variable embedding method and processing system | |
CN113449857A (en) | Data processing method and data processing equipment | |
KR102140996B1 (en) | Method and device for neural architecture search optimized for binary neural network | |
CN111104124B (en) | Pythrch framework-based rapid deployment method of convolutional neural network on FPGA | |
CN113128678A (en) | Self-adaptive searching method and device for neural network | |
JP7131393B2 (en) | Information processing device, information processing method and program | |
JP6951155B2 (en) | Evaluation function converter and program | |
CN112001491A (en) | Search method and device for determining neural network architecture for processor | |
WO2022252694A1 (en) | Neural network optimization method and apparatus | |
JP6325762B1 (en) | Information processing apparatus, information processing method, and information processing program | |
CN112436992A (en) | Virtual network mapping method and device based on graph convolution network | |
CN117634586A (en) | Diffusion model light weight method, diffusion model light weight device, electronic equipment and storage medium | |
JP6645509B2 (en) | Structure analysis method and structure analysis program | |
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 | |
US20230086727A1 (en) | Method and information processing apparatus that perform transfer learning while suppressing occurrence of catastrophic forgetting | |
JPWO2019077933A1 (en) | Arithmetic circuit and arithmetic method | |
CN110456985B (en) | Hierarchical storage method and system for big data of multi-mode network | |
CN115713466A (en) | Image denoising method and device and storage medium | |
JP2022540584A (en) | Method and apparatus for exploring neural network architecture | |
JP6701937B2 (en) | Search processing optimization program, search processing optimization method, and search processing optimization device | |
CN113177212B (en) | Joint prediction method and device |
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 |