JP7461482B2 - Information processing system and method for supporting solving assignment problems - Google Patents
Information processing system and method for supporting solving assignment problems Download PDFInfo
- Publication number
- JP7461482B2 JP7461482B2 JP2022542566A JP2022542566A JP7461482B2 JP 7461482 B2 JP7461482 B2 JP 7461482B2 JP 2022542566 A JP2022542566 A JP 2022542566A JP 2022542566 A JP2022542566 A JP 2022542566A JP 7461482 B2 JP7461482 B2 JP 7461482B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- allocation
- model
- assignment
- order
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Communication Control (AREA)
Description
本発明は、概して、割当問題を解くことを支援する技術に関する。 The present invention generally relates to techniques that assist in solving assignment problems.
複数の割当対象を複数の割当先へと割当る割当問題の一つとして、資源割当問題がある。特許文献1は、資源割当問題を表現する方法と解く方法を開示する。
A resource allocation problem is one of the allocation problems in which multiple allocation targets are allocated to multiple allocation destinations.
汎用コンピュータを用いて割当問題の数理モデルを解くこと、すなわち、全通りの割当の評価をすることが考えられる。しかし、割当対象の数、割当先の数、及び、割当先の許容量(一つの割当先に割当可能な割当対象の数の上限)の少なくとも一つの要素によって、演算量が膨大となり、結果として、現実的な時間内に割当問題を解くことができないことがある。It is possible to solve the mathematical model of the allocation problem using a general-purpose computer, i.e., to evaluate all possible allocations. However, depending on at least one of the factors of the number of allocation targets, the number of allocation destinations, and the capacity of the allocation destinations (the upper limit of the number of allocation targets that can be assigned to one destination), the amount of calculations becomes enormous, and as a result, it may not be possible to solve the allocation problem within a realistic amount of time.
そこで、全通りの割当の評価を避け現実的な時間内に最適解を得るために、割当問題の数理モデルをアニーリングマシン向けに相互作用モデル(典型的には、イジングモデルのようなアニーリング処理モデル)に変換し、当該相互作用モデルの演算をアニーリングマシンにより行うことが検討される。最適解を得るためには、アニーリングマシン向けの相互作用モデルを最適化する必要がある。 Therefore, in order to avoid evaluating all assignments and obtain an optimal solution within a realistic time, the mathematical model of the assignment problem is converted into an interaction model (typically an annealing processing model such as the Ising model) for an annealing machine. ), and calculating the interaction model using an annealing machine is being considered. In order to obtain the optimal solution, it is necessary to optimize the interaction model for the annealing machine.
システムが、割当対象の数α(αは自然数)を表す情報割当対象数情報と、割当先の数β(βは自然数)を表す割当先数情報と、一つの割当先に割り当て可能な割当対象の数の上限である許容数L(Lは自然数)とを受け付ける。システムが、αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行う。システムが、次数判定の結果と、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルを決定する。システムが、決定された相互作用モデルを提供する。 The system collects information such as information on the number of allocation targets α (α is a natural number), information on the number of allocation targets representing the number β (β is a natural number) of assignment targets, and information on the number of assignment targets that can be assigned to one assignment target. The allowable number L (L is a natural number) which is the upper limit of the number is accepted. The system performs a degree determination to determine whether M (M is a natural number), which corresponds to the degree of the mathematical model of the assignment problem of allocating the assignment target of α to the assignment target of β, and follows L (M is a natural number) is less than or equal to a predetermined value. The system determines an interaction model for the annealing machine, which is an accelerator for solving the assignment problem, by calculating the interaction model based on the result of the order determination and α and β. A system provides the determined interaction model.
本発明によれば、アニーリングマシン向けの相互作用モデルを最適化することができる。 According to the present invention, an interaction model for an annealing machine can be optimized.
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
In the following description, an "interface device" may be one or more interface devices. The one or more interface devices may be at least one of the following:
- One or more I/O (Input/Output) interface devices. The I/O (Input/Output) interface device is an interface device for at least one of an I/O device and a remote display computer. The I/O interface device for the display computer may be a communication interface device. The at least one I/O device may be a user interface device, eg, an input device such as a keyboard and pointing device, or an output device such as a display device.
- One or more communication interface devices. The one or more communication interface devices may be one or more of the same type of communication interface device (for example, one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (for example, one or more NICs (Network Interface Cards)). It may also be an HBA (Host Bus Adapter).
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one of the memory devices in the memory may be a volatile memory device or a non-volatile memory device.
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。 Also, in the following description, "persistent storage" may be one or more persistent storage devices, which is an example of one or more storage devices. Persistent storage devices typically may be non-volatile storage devices (e.g. auxiliary storage devices), and specifically include, for example, HDDs (Hard Disk Drives), SSDs (Solid State Drives), NVMEs (Non-Volatile Memory Express) drive or SCM (Storage Class Memory).
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。 Also, in the following description, "storage device" may be at least one of memory and persistent storage device.
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよい。Also, in the following description, a "processor" may be one or more processor devices. At least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit).
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。In the following description, functions are sometimes described using the expression "yyy part", but the functions may be realized by one or more computer programs being executed by a processor, or by one or more hardware circuits (e.g., FPGAs or ASICs), or by a combination thereof. When a function is realized by a program being executed by a processor, the function may be at least a part of the processor, since the specified processing is performed using a storage device and/or an interface device, etc., as appropriate. Processing described with a function as the subject may be processing performed by a processor or a device having the processor. A program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (e.g., a non-transitory recording medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.
図1は、実施形態に係る情報処理システムの構成例を示す。 FIG. 1 shows a configuration example of an information processing system according to an embodiment.
情報処理システム50は、一つ以上の物理的な計算機を備えた計算機システムでよい。情報処理システム50は、インターフェース装置130、記憶装置140、アニーリングマシン100、及びそれらに接続されたプロセッサ150を備える。なお、情報処理システム50は、一つ以上の物理的な計算機を備えた計算機システムに代えて、他種のシステム、例えば、物理的な計算リソース群(例えば、クラウド基盤)上に実現されたシステム(例えば、クラウドコンピューティングシステム)でもよい。The
インターフェース装置130を介して、情報処理システム50に対する情報の入出力が行われる。
Information is input and output to and from the
アニーリングマシン100は、並列処理デバイス(並列処理が可能なデバイス)の一例であり、相互作用モデル(典型的には、イジングモデルのようなアニーリング処理モデル)を演算することで割当問題を解くためのアクセラレータである。アニーリングマシン100は、複数の物理的な又は仮想的なコアを有するCPU(Central Processing Unit)により実現されてもよいが、典型的には、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)又はGPU(Graphics Processing Unit)のようなハードウェア回路である。アニーリングマシン100は、例えば、半導体回路(例えばCMOS(Complementary Metal Oxide Semiconductor)回路)でイジングモデルの動作を疑似的に再現した半導体コンピュータ(例えばCMOSアニーリングマシン)でよい。 The annealing machine 100 is an example of a parallel processing device (a device capable of parallel processing), and is used to solve an assignment problem by calculating an interaction model (typically, an annealing processing model such as an Ising model). It is an accelerator. The annealing machine 100 may be realized by a CPU (Central Processing Unit) having multiple physical or virtual cores, but is typically implemented by an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate). It is a hardware circuit such as a GPU (Graphics Processing Unit) or a GPU (Graphics Processing Unit). The annealing machine 100 may be, for example, a semiconductor computer (for example, a CMOS annealing machine) that simulates the operation of the Ising model using a semiconductor circuit (for example, a CMOS (Complementary Metal Oxide Semiconductor) circuit).
記憶装置140に格納されているコンピュータプログラムをプロセッサ150が実行することにより処理支援部125が実現される。
The processing support unit 125 is realized by the
情報処理システム50では、例えば図示の白色矢印の通りの入力及び処理が行われる。すなわち、処理支援部125が、割当問題入力情報160を受け付け、記憶装置140に格納する。割当問題入力情報160は、割当対象の数α(αは2以上の整数)を表す情報と、割当先の数β(βは2以上の整数)を表す情報とを含む。処理支援部125が、割当問題入力情報160を基に、αの割当対象をβの割当先に割り当てる割当問題の数理モデルを、アニーリングマシン100向けの相互作用モデル(例えば、イジングモデル)に変換する。処理支援部125は、相互作用モデルを含む情報でありアニーリングマシン100への入力情報であるデバイス入力情報170を、アニーリングマシン100に設定する。これにより、アニーリングマシン100が、デバイス入力情報170に基づき、割当問題の最適解を得るための並列処理を実施する。なお、相互作用モデル及び値セットを含んだデバイス入力情報170をアニーリングマシン100に設定することとは、アニーリングマシン100がアクセス可能な記憶領域(例えばメモリ)にデバイス入力情報170を格納することでよい。アニーリングマシン100は、処理支援部125からの明示的な通知を受けることで、又は、当該記憶領域を定期的にアクセスすることで、当該記憶領域に格納されているデバイス入力情報170を当該記憶領域から読み込むことができる。
In the
情報処理システム50では、例えば図示の灰色矢印の通りの出力及び処理が行われる。すなわち、アニーリングマシン100が、並列処理の結果(すなわち、割当問題の最適解)を表す処理結果情報180を処理支援部125に返す。処理支援部125が、処理結果情報180に基づく割当解出力情報190を記憶装置140に格納する。処理支援部125が、割当解出力情報190を、出力する。
The
割当対象になり得る要素も、割当先になり得る要素も、それぞれユーザ任意の要素とすることができる。 Both the elements that can be the target of assignment and the elements that can be assigned to can be any element selected by the user.
図2は、処理支援部125の構成例を示す。 Figure 2 shows an example configuration of the processing support unit 125.
処理支援部125は、情報処理システム50の外部に対する入出力のための第1のインターフェース部201と、次数判定を行う次数判定部202と、デバイス入力情報170を決定する入力決定部203と、アニーリングマシン100に対する入出力のための第2のインターフェース部204と、割当解出力情報190を決定する出力決定部205とを有する。入力決定部203は、縮約処理を行う縮約部231と、モデルコンパイルを行うモデルコンパイル部232とを有する。情報処理システム50の外部としては、サーバ又は可搬型の記憶媒体といった様々な要素を採用可能である。本実施形態では、情報処理システム50の外部は、ユーザである。
The processing support unit 125 includes a first interface unit 201 for input/output to the outside of the
以下、これらの機能の詳細を、処理支援部125が行う処理の流れに沿って説明する。i番目の割当対象を「割当対象i」(例えば、i=1,2,…であり、iの最大値はα)と表現し、j番目の割当先を「割当先j」(例えば、j=1,2,…であり、jの最大値はβ)と表現することができる。 The details of these functions will be explained below along with the flow of processing performed by the processing support unit 125. The i-th assignment target is expressed as "assignment target i" (for example, i = 1, 2, ..., and the maximum value of i is α), and the j-th assignment target is expressed as "assignment target j" (for example, j =1, 2, ..., and the maximum value of j can be expressed as β).
第1のインターフェース部201は、割当問題入力情報160の入力UI(User Interface)を提供する。入力UIは、例えばGUI(Graphical User Interface)である。図6に入力UI600が例示される。入力UI600を介して、割当問題入力情報160が入力される。なお、割当問題入力情報160の入力は、入力UI600経由の入力に代えて又は加えて他種の入力(例えば、割当問題入力情報160の少なくとも一部を含んだファイル(例えばCSVファイル)の入力)でもよい。また、第1のインターフェース部201は、割当問題の数理モデルを予め管理してよい。割当問題数理モデルは、本実施形態のように予め処理支援部125に設定されていてもよいが(例えば、割当問題数理モデルを表す情報が記憶装置140に格納されていてもよいが)、他の方法で処理支援部125に入力されてもよい。例えば、割当問題数理モデルを表す情報が、割当問題入力情報160に含まれてもよい。The first interface unit 201 provides an input UI (User Interface) for the assignment problem input information 160. The input UI is, for example, a GUI (Graphical User Interface). FIG. 6 illustrates an input UI 600. The assignment problem input information 160 is input via the input UI 600. The input of the assignment problem input information 160 may be another type of input (for example, input of a file (for example, a CSV file) containing at least a part of the assignment problem input information 160) instead of or in addition to the input via the input UI 600. The first interface unit 201 may also manage a mathematical model of the assignment problem in advance. The assignment problem mathematical model may be set in advance in the processing support unit 125 as in this embodiment (for example, information representing the assignment problem mathematical model may be stored in the storage device 140), or may be input to the processing support unit 125 in another manner. For example, information representing the assignment problem mathematical model may be included in the assignment problem input information 160.
割当問題入力情報160は、基本情報(第1の情報の一例)と詳細情報(第2の情報の一例)とのうち少なくとも基本情報を含む。The assignment problem input information 160 includes at least basic information (an example of first information) and detailed information (an example of second information).
基本情報は、下記の情報(A)~(C)を含んだ情報である(一例は図6に示す通り)。下記情報(A)~(C)について、α及びβは、いずれも自然数であるが、典型的には、2以上の整数でよい。Lも、自然数ですが、2以上の整数でよい。つまり、本実施形態では、α、β及びLの少なくとも一つの値が1である比較的簡単な割当問題を解くこともできるが、α、β及びLのいずれの値も2以上の整数である比較的複雑な割当問題を解くことに有用である。
(A)割当対象の数αを表す情報。
(B)割当先の数βを表す情報。
(C)割当先の許容数Lを表す情報。
The basic information is information including the following information (A) to (C) (an example is shown in FIG. 6). In the following information (A) to (C), α and β are all natural numbers, but typically may be an integer of 2 or more. L is also a natural number, but may be an integer of 2 or more. In other words, this embodiment can solve a relatively simple assignment problem in which at least one of α, β, and L has a value of 1, but is also useful for solving a relatively complicated assignment problem in which all of α, β, and L have an integer value of 2 or more.
(A) Information indicating the number α of allocation targets.
(B) Information indicating the number β of allocation destinations.
(C) Information indicating the allowable number L of allocation destinations.
詳細情報は、割当問題入力情報160のうち基本情報以外の情報である。詳細情報のうちの少なくとも一部の情報のユーザ入力(ユーザによる入力)は、オプションでよい。詳細情報のうちユーザ入力されない情報については、デフォルト情報が採用されてよい。例えば、詳細情報が割当対象と割当先とのペア毎に割当対象から割当先への割当コストを表す情報を含むが各ペアについて割当コストを表す情報がユーザ入力されない場合、各ペアについての割当コストとしてデフォルト値(例えば“1”)が一律で採用されてよい。詳細情報は、下記の情報(D)及び(E)を含む(一例は図6に示す通り)。なお、情報(D)及び(E)のいずれも、後述の(処理A)乃至(処理C)のうちのいずれの処理が採用されるかによって(どのような縮約処理が行われるかによって)、係数影響情報と係数非影響情報のいずれにも該当し得る。例えば、(処理A)が採用される場合、情報(D)及び(E)のいずれも、制約項として採用され得るため、係数影響情報になり得る。一方、(処理B)及び(処理C)のいずれかが採用される場合、情報(D)及び(E)のいずれも、係数非影響情報になり得る。
(D)割当先に関する詳細を表す割当先詳細情報(例えば、割当先の許容量m(m>0)を表す情報)。
(E)割当対象に関する詳細を表す割当対象詳細情報(例えば、割当対象毎の資源量)。
The detailed information is information other than the basic information among the assignment problem input information 160. User input (input by the user) of at least some of the detailed information may be optional. For information not input by the user among the detailed information, default information may be adopted. For example, when the detailed information includes information representing the allocation cost from the allocation target to the allocation destination for each pair of the allocation target and the allocation destination, but the information representing the allocation cost for each pair is not input by the user, a default value (for example, "1") may be uniformly adopted as the allocation cost for each pair. The detailed information includes the following information (D) and (E) (an example is shown in FIG. 6). Note that both of the information (D) and (E) may correspond to either the coefficient influence information or the coefficient non-influence information depending on which of the processes (processing A) to (processing C) described later is adopted (depending on what kind of contraction process is performed). For example, when (processing A) is adopted, both of the information (D) and (E) may be adopted as constraint terms, and therefore may become coefficient influence information. On the other hand, when either (Process B) or (Process C) is adopted, both of the information (D) and (E) can be coefficient non-influencing information.
(D) Allottee detailed information indicating details regarding the allottee (for example, information indicating the allowable capacity m (m>0) of the allottee).
(E) Allocation target detailed information indicating details regarding the allocation target (for example, the amount of resources for each allocation target).
図6が示す例によれば、割当問題入力情報160は、基本情報、割当先詳細情報及び割当対象詳細情報を含む。基本情報が、上述の情報(A)乃至(C)である。割当先詳細情報が、上述の情報(D)である。 According to the example shown in FIG. 6, the assignment question input information 160 includes basic information, assignee detailed information, and assignment target detailed information. The basic information is the above information (A) to (C). The allocation destination detailed information is the above information (D).
許容数Lは、一つの割当先に割り当て可能な割当対象の数の上限であり、割当問題数理モデルの目的関数項の次数Mそれ自体である。許容量mは、割当先の種類に応じた種類の値であり割当対象の割り当ての制約に関わる値であり、具体的には、M次相互作用モデルの制約項、もしくは後述する処理によりアニーリングマシンに入力される際の次数削減後のモデルの制約条件として用いられる。例えば、図6に例示するように、割当対象が仮想OS(Operating System)であって割当先がサーバの場合、許容数Lは、サーバの資源量(例えばメモリ容量)から決定してよい。例えば、各仮想OSが必要とする資源量がm=30で、サーバの資源量(詳細情報に含まれる)が90の場合、L=3(90÷30)でよく、Lは次数Mと等しい。なお、本実施形態では、許容数L及び許容量mは、全ての割当先に共通であるが、全ての割当先で、許容数L及び許容量mが同じである必要は無い。例えば、許容数L又は許容量mを表す情報が、割当先毎に存在してもよい。この場合、許容量Lの最大値が次数Mとなる。 The allowable number L is the upper limit of the number of assignment targets that can be assigned to one assignment destination, and is the order M of the objective function term of the assignment problem mathematical model itself. The allowable amount m is a type of value depending on the type of allocation destination, and is a value related to the allocation constraints of the allocation target. Specifically, it is a constraint term of the M-order interaction model, or an annealing machine It is used as a constraint condition for the model after order reduction when input to . For example, as illustrated in FIG. 6, when the assignment target is a virtual OS (Operating System) and the assignment destination is a server, the allowable number L may be determined from the resource amount (for example, memory capacity) of the server. For example, if the amount of resources required by each virtual OS is m = 30, and the amount of resources of the server (included in the detailed information) is 90, then L = 3 (90÷30) is sufficient, and L is equal to the degree M. . Note that in this embodiment, the allowable number L and the allowable amount m are common to all the allocation destinations, but the allowable number L and the allowable amount m do not need to be the same for all the allocation destinations. For example, information representing the allowable number L or the allowable amount m may exist for each allocation destination. In this case, the maximum value of the allowable amount L becomes the order M.
詳細情報は、例えば、下記(d1)及び(d2)のうちの少なくとも一つを含む。
(d1)相互作用モデルにおける一つ以上の係数値(一つ以上の割当状態変数の一つ以上の係数値)に影響する情報である係数影響情報。
(d2)相互作用モデルにおける係数値に影響しない情報である係数非影響情報。
The detailed information includes, for example, at least one of the following (d1) and (d2).
(d1) Coefficient influence information, which is information that influences one or more coefficient values (one or more coefficient values of one or more assigned state variables) in the interaction model.
(d2) Coefficient non-influencing information, which is information that does not affect the coefficient values in the interaction model.
「割当状態変数」は、割当対象iと割当先jとのペア毎に存在し、割当対象iの割当先jへの割当状態を表す変数である。例えば、割当状態変数の値は、2値と多値のいずれで表現されてもよい。2値が採用される場合、割当状態は、割当対象iが割当先jに割り当てられているか否か(“1”か“0”)でよい。多値が採用される場合、割当状態として、割当対象iが割当先jに割り当てられているか否かに加えて他種の状態を表現することができる。 An "allocation state variable" exists for each pair of allocation target i and allocation destination j, and is a variable that represents the allocation state of allocation target i to allocation destination j. For example, the value of the allocation state variable may be expressed as either a binary value or multiple values. When a binary value is used, the allocation state may be whether or not allocation target i is assigned to allocation destination j ("1" or "0"). When a multiple value is used, the allocation state can represent other types of states in addition to whether or not allocation target i is assigned to allocation destination j.
係数影響情報は、例えば、下記(x)及び(y)のうちの少なくとも一方の情報でよい。なお、以下の(x)及び(y)において、「関係性」としては、類似性或いは適切性といった任意の関係性を採用することができる。割当状態変数の係数値としては、例えば、相互作用係数(例えば、C(σij×σi’j’)におけるC)の値、又は、外場係数(1次式における係数、若しくは、D(σij×σij)におけるD)の値がある。なお、「σij」は、割当対象iの割当先jへの割当状態を表す変数である。「σij×σi’j’」は、割当対象と割当先との組が異なる割当状態同士の積を意味する。「σij×σij」は、割当対象と割当先との組が同じ割当状態同士の積を意味する。
(x)割当対象と割当先との間の関係性を表す数値を含んだ情報(例えば、図3が例示する情報)。例えば、割当対象iと割当先jとの関係性を表す数値の一例として、割当対象iが割当先jに割り当てられた場合に所与の結果が得られる確率を採用することができる。
(y)割当対象と割当対象間の関係性を表す数値を含んだ情報(例えば、図4が例示する情報)。例えば、割当対象iと割当対象(i+u)間との関係性を表す数値の一例として(u>0)、割当対象iが持つ一つ以上の要素の特徴量と割当対象(i+u)が持つ一つ以上の要素の特徴量との差を採用することができる。
The coefficient influence information may be, for example, at least one of the following information (x) and (y). In the following (x) and (y), any relationship such as similarity or appropriateness may be adopted as the "relationship". The coefficient value of the allocation state variable may be, for example, the value of the interaction coefficient (e.g., C in C(σ ij ×σ i'j' )) or the value of the external field coefficient (coefficient in a linear expression, or D in D(σ ij ×σ ij )). Note that "σ ij " is a variable that represents the allocation state of the allocation target i to the allocation destination j. "σ ij ×σ i'j' " means the product of the allocation states in which the pairs of the allocation target and the allocation destination are different. "σ ij ×σ ij " means the product of the allocation states in which the pairs of the allocation target and the allocation destination are the same.
(x) Information including a numerical value representing the relationship between an allocation target and an allocation destination (for example, information exemplified in FIG. 3). For example, as an example of a numerical value representing the relationship between an allocation target i and an allocation destination j, the probability that a given result will be obtained when the allocation target i is allocated to the allocation destination j can be used.
(y) Information including a numerical value representing the relationship between assignment targets (for example, information exemplified in FIG. 4). For example, as an example of a numerical value representing the relationship between assignment target i and assignment target (i+u) (u>0), the difference between the feature amount of one or more elements of assignment target i and the feature amount of one or more elements of assignment target (i+u) can be used.
係数非影響情報は、縮約処理(高次の割当問題数理モデルを低次の割当問題数理モデルに変換する処理)で必要になる情報(例えば、補助スピンの数)であり、具体的には、例えば、高次(次数M)の割当問題数理モデルの制約条件を表す情報である。係数非影響情報は、以下で説明する縮約処理後では相互作用モデルの中には明示的に入ってこずとも、縮約処理後の割当問題数理モデルにおける係数値を決定するために使用されるメタ情報として活用される。なお、アニーリングマシン100に読み込まれる段階の相互作用モデル(縮約処理済みの又は縮約処理が不要であった相互作用モデル)についての制約項は、係数影響情報に含まれる情報であるので、本段落における「制約条件」と異なる(区別される)。The coefficient non-influence information is information (e.g., the number of auxiliary spins) required for the reduction process (the process of converting a high-order assignment problem mathematical model into a low-order assignment problem mathematical model), and specifically, for example, is information that represents the constraints of a high-order (order M) assignment problem mathematical model. Although the coefficient non-influence information is not explicitly included in the interaction model after the reduction process described below, it is utilized as meta-information used to determine the coefficient values in the assignment problem mathematical model after the reduction process. Note that the constraint terms for the interaction model (an interaction model that has been reduced or that did not require reduction) at the stage when it is loaded into the annealing machine 100 are information included in the coefficient influence information, and are therefore different (distinguished) from the "constraints" in this paragraph.
第1のインターフェース部201が、α及びβを表す情報と割当問題数理モデルとを、モデルコンパイル部232に入力し、Lを表す情報を次数判定部202に入力する。詳細情報(例えば、許容量mを含んだ情報)があれば、第1のインターフェース部201が、割当問題数理モデルと詳細情報とを縮約部231に入力する。The first interface unit 201 inputs information representing α and β and the assignment problem mathematical model to the model compilation unit 232, and inputs information representing L to the
次数判定部202は、入力された情報が表すLに従う次数M(割当問題数理モデルの目的関数項の次数M)が所定値以下か否かの判定である次数判定を行う。次数判定の結果に応じて、処理支援部125における処理が異なる。次数Mと比較される「所定値」は、例えば第1のインターフェース部201を介してユーザにより設定された値でよい。
The
次数Mが所定値以下の場合(つまり、次数判定の結果が真の場合)、後述の縮約処理無しに、モデルコンパイルが行われる。すなわち、次数判定部202が、モデルコンパイル部232にモデルコンパイルを指示する。結果として、次数Mが所定値以下の場合、モデルコンパイル部232は、モデルコンパイルの指示を、次数判定部202から受ける。次数判定部202からモデルコンパイルの指示を受けた場合、モデルコンパイル部232は、割当問題数理モデルを相互作用モデルに変換する。割当問題数理モデルの一例が、以下の数1~数4であり、相互作用モデルの一例が、以下の数5である。割当問題数理モデルに関し、数1は、目的関数(最小化)であり、数2~数4は、制約条件である。数1~数5において、σijは、割当対象iの割当先jへの割当状態を表す値である。割当問題数理モデル(例えば数1)では、割当先の負荷が少なくなるように、割当先あたりの割当資源の積を最小化することを想定した。次数Mが所定値以下のケースでは、縮約処理が走らないため、次数Mの低減は不要であり、故に、次数低減を目的として割当状態変数の数を減らすために割当状態変数の値を2値から多値に変換する必要がない。
次数Mが所定値を超えている場合(つまり、次数判定の結果が偽の場合)、縮約処理を経て、モデルコンパイルが行われる。すなわち、次数判定部202が、縮約部231に縮約処理を指示する。なお、次数Mと比較される所定値は、例えば、下記のうちのいずれかでよい。
・アニーリングマシン1000の設計段階において決定された値であって、次数判定部202に定義されている値。
・ユーザ入力(例えば、入力UI600経由の入力)がされた値。この値は、アニーリングマシン100が対処可能な最大次数を上限とした値である。例えば、入力UI600が、アニーリングマシン100が対処可能な最大次数以下の値を次数Mと比較される所定値として受け付けるGUI部品を有してよい。第1のインターフェース部201が、入力された所定値を、次数判定部202に通知する。
・次数判定部202によって次の処理により特定された値。すなわち、次数判定部202が、アニーリングマシン100の属性(例えば、型番やベンダ)をキーに、アニーリングマシンの属性(例えば型番やベンダ)と次数Mと比較される所定値との関係を表す情報(例えばテーブル)から、該当の所定値を特定する。
If the order M exceeds a predetermined value (that is, if the result of order determination is false), model compilation is performed through reduction processing. That is, the
- A value determined at the design stage of the annealing machine 1000 and defined in the
- A value input by the user (for example, input via the input UI 600). This value is a value whose upper limit is the maximum order that the annealing machine 100 can handle. For example, the input UI 600 may include a GUI component that accepts a value less than or equal to the maximum degree that can be handled by the annealing machine 100 as a predetermined value to be compared with the degree M. The first interface unit 201 notifies the
- A value specified by the
縮約部231が、縮約処理の指示を受けて、縮約処理を行う。縮約処理は、割当問題数理モデルの次数Mを次数M´に低減することである。縮約部231が、モデルコンパイルをモデルコンパイル部232に指示し、縮約処理後の数理モデル(次数低減後の数理モデル)をモデルコンパイル部232に入力する。結果として、次数Mが所定値を超えている場合、モデルコンパイル部232は、モデルコンパイルの指示を、縮約部231から受ける。縮約部231からモデルコンパイルの指示を受けた場合、モデルコンパイル部232は、縮約処理後の数理モデルを相互作用モデルに変換する。なお、M´の値は、次数Mと比較される上述の所定値と同じ値(又は、それよりも小さな値)である。すなわち、当該所定値は、縮約処理後の数理モデルについての次数の上限に相当し、縮約処理により、次数Mが、当該上限(又は、それよりも小さな値)にまで低減される。 The reduction unit 231 receives the instruction for reduction processing and performs the reduction processing. The reduction process is to reduce the order M of the assignment problem mathematical model to the order M'. The reduction unit 231 instructs the model compilation unit 232 to compile the model, and inputs the mathematical model after reduction processing (the mathematical model after order reduction) to the model compilation unit 232. As a result, if the order M exceeds the predetermined value, the model compile unit 232 receives an instruction to compile the model from the reduction unit 231. When receiving a model compilation instruction from the reduction unit 231, the model compile unit 232 converts the reduced mathematical model into an interaction model. Note that the value of M' is the same value (or a smaller value) than the above-mentioned predetermined value with which the order M is compared. That is, the predetermined value corresponds to the upper limit of the degree of the mathematical model after the reduction process, and the degree M is reduced to the upper limit (or a smaller value) by the reduction process.
例えば、縮約処理は、下記(処理A)乃至(処理C)のうちの少なくとも一つの処理を含む。(処理A)乃至(処理C)の少なくとも一つにより、次数Mが次数M´に低減される。
(処理A)HOBO(Higher Order Binary Optimization)形式の数理モデルをQUBO(Quadratic Unconstrained Binary Optimization)形式の数理モデルに変換すること。
(処理B)詳細情報中の係数影響情報(例えば、図3が例示する情報と図4が例示する情報とのうちの少なくとも一方)を基に、相互作用モデルにおける一つ以上の係数値を決定すること。
(処理C)相互作用モデルにおける割当状態変数の値の表現を2値から多値に変えること。
For example, the reduction process includes at least one of the following processes (process A) to (process C). The order M is reduced to the order M' by at least one of (processing A) to (processing C).
(Processing A) Converting a mathematical model in HOBO (Higher Order Binary Optimization) format to a mathematical model in QUBO (Quadratic Unconstrained Binary Optimization) format.
(Processing B) Determine one or more coefficient values in the interaction model based on the coefficient influence information in the detailed information (for example, at least one of the information illustrated in FIG. 3 and the information illustrated in FIG. 4) to do.
(Process C) Changing the representation of the value of the assigned state variable in the interaction model from binary to multivalued.
例えば、縮約処理は、下記でよい。
S1:縮約部231が、(処理A)乃至(処理C)のうちS1においていずれかの未選択の処理を選択し、選択した処理を行う。
S2:縮約部231が、S1の結果、M=M´になったか否かを判定する。S2の判定結果が真の場合、処理が終了する。S2の判定結果が偽の場合、縮約部231が、S1を行う。
For example, the reduction process may be as follows.
S1: The reduction unit 231 selects any unselected process in S1 from among (processing A) to (processing C), and performs the selected process.
S2: The reduction unit 231 determines whether M=M' as a result of S1. If the determination result in S2 is true, the process ends. If the determination result in S2 is false, the reduction unit 231 performs S1.
なお、採択される処理の優先順位は、例えばアニーリングマシン100のメモリが十分にある場合、(処理C)>(処理A)>(処理B)でよい。つまり、(処理C)が優先的に採択されてよい。すなわち、最初にS1で選択される処理は、(処理C)でよい。理由の一例は、下記の通り通りである。
・(処理C)の優先順位が1番目である理由は、例えば次の通りである。(処理C)は、アニーリングマシンのハード依存性が高い(適用可能なマシンの制限が高い)ために適用不可となる可能性も高いが、最もスピン削減効果が高い。
・(処理A)の優先順位が2番目である理由は、例えば次の通りである。4次以上で変換前のスピン数が大きい問題では、精度や変換後のスピン数が急激に悪い方向に振れ得るため、(処理A)は、次数やスピン数を基に採択されるか否かが決まるが、(処理A)は、比較的低負荷で変換可能である。
・(処理B)の優先順位が3番目である理由は、例えば次の通りである。(処理B)は、比較的汎用性が高いが、CPU上で前処理が必要なため処理に時間がかかり得る。
The priority order of the processes to be adopted may be, for example, (Process C)>(Process A)>(Process B) if the annealing machine 100 has sufficient memory. In other words, (Process C) may be adopted preferentially. That is, the process selected first in S1 may be (Process C). One example of the reason is as follows.
The reason why (Process C) has the highest priority is, for example, as follows: (Process C) is highly dependent on the hardware of the annealing machine (there are high limitations on the machines to which it can be applied), so it is highly likely that it cannot be applied, but it has the highest spin reduction effect.
The reason why (Processing A) has the second highest priority is, for example, as follows: In problems with a fourth-order or higher order and a large number of spins before conversion, the accuracy and the number of spins after conversion can suddenly swing in a negative direction, so whether or not (Processing A) is adopted is determined based on the order and the number of spins, but (Processing A) can be converted with a relatively low load.
The reason why (Process B) has the third highest priority is, for example, as follows: (Process B) is relatively versatile, but requires preprocessing on the CPU, so that the processing may take a long time.
あるいは、(処理A)乃至(処理C)の採択される優先順位は、要求スピン数(変換後のモデルのスピン数、つまり、アニーリングマシンのメモリ使用量)が少ない順でよい。すなわち、(処理A)乃至(処理C)のうち、最初にS1で選択される処理は、要求スピン数が最も少なくなる処理でよい。 Alternatively, (processing A) to (processing C) may be prioritized in order of decreasing number of required spins (number of spins of the model after conversion, that is, memory usage of the annealing machine). That is, among (processing A) to (processing C), the process selected first in S1 may be the process that requires the least number of spins.
(処理A)の一例は、次の通りである。すなわち、σijがバイナリ変数であることを利用し、HOBO形式の数理モデル(例えば数1~数4)がQUBO形式の数理モデル(例えば数6~数11)に変換される。例えばM≦4の時に、(処理A)が適用される(Mと比較される値“4”は一例であり、比較される値は、“4”に近い値(“4”との差が所定値以下の値)でもよい)。QUBO形式の数理モデルに関し、数6は、目的関数(最小化)であり、数7は、第1の制約条件であり、数8~数11は、第2の制約条件である。数6~数11によれば、補助スピンqijと、QUBOモデルが元のHOBOモデルを再現するためのペナルティ係数νとが導入されている。なお、数6~数11は一般的な形式で書かれており、QUBO変換後の補助スピン数γやペナルティ係数νは変換方法によって異なる。ペナルティ係数ν及びν´は、第1の制約条件を数6(目的関数)に代入したときに矛盾が生じないように設定される。ペナルティ係数の決定方法は任意性があるためユーザが状況に応じて任意に設定可能である(例えば、入力UI600が、ペナルティ係数ν及びν´の入力を受け付けるGUI部品を有してよい)。数6~数11が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数13)に変換される。
(処理B)の一例は、以下の通りである。 An example of (Process B) is as follows.
例えば、図3が例示する情報(割当対象と割当先間の関係性を表す情報)を数1~数4での相互作用係数であるとすると、縮約部231は、数1~数4でのスピンσijの値のうち数1~数4での制約条件を必ず満たすN通り(Nは自然数)の組合せを列挙する。縮約部231は、N通りの組合せのうちどの組合せを選択するかを表す数理モデルを、スピンqtを変数とする「集合分割問題又は集合被覆問題」の数理モデルに変換する。具体的には、例えば、数1~数4が、数13~数15に変換される。数13~数15が、次数低減後の数理モデルの一例である。数13は、目的関数(最小化)であり、数14~数15は、制約条件である。数13~数15でのσr´tは、元のモデル(数1~数4)のスピンに対応するものではあるが、変数ではなく定数である。この変換後のモデルでの変数はqtである。変数qの数Nは全組合せのうち、Cが閾値より小さいものや、制約を破る組合せとなるrを排除して残った組合せの数となる。このように、結果として、(処理B)が次数低減に寄与する。数13~数15が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数16~数17)に変換される。(処理B)はM>4の時も有効である。また、以下の例では、補助スピンは、バイナリ値であるが、ハード(アニーリングマシン100)が対応すれば連続値でもよい。
また、例えば、図4が例示する情報(割当対象間の関係性を表す情報)を数1~数4での相互作用係数であるとすると、数13~数15と同様、「集合分割問題又は集合被覆問題」の数理モデルへの変換が行われる。例えば、数1~数4が、数18~数20に変換される。数18~数20が、次数低減後の数理モデルの式の一例である。数18は、目的関数(最小化)であり、数19~数20は、制約条件である。数18~数20の導出方法は数13~数15と同様である。このように、結果として、(処理B)が次数低減に寄与する。数18~数20が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数21~数22)に変換される。
また、例えば、図3が例示する情報と図4が例示する情報の両方を縮約部231が利用することで、例えば数1~数4が数23~数25に変換される。数23~数25が次数低減後の数理モデルの式の一例である。数23は、目的関数(最小化)であり、数24~数25は、制約条件である。数23~数25の導出方法は数13~数15と同様である。このように、結果として、(処理B)が次数低減に寄与する。数23~数25が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数26~数27)に変換される。
(処理C)の一例は、次の通りである。すなわち、例えば数1~数4が数28に変換される。数28が、数理モデルの次数低減後の式の一例である。ここでは例えば数23~数25の数理モデルをベースに、目的関数のスピンアドレスr及びtが変数とされる。変数の定義域が設定されれば、数23~数25における制約条件(つまり数24及び数25)は不要となる。このように、結果として、(処理C)が次数低減に寄与する。数28が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数29)に変換される。なお、(処理C)は、スピン値がバイナリ値しか取れないハード上では実行できない。
以上のように、次数判定の結果が真か偽かに応じて、縮約処理が走らないか走るかが決まる。縮約処理を経ないで或いは経て、モデルコンパイルが実施される。つまり、数6~数11、数13~15、数18~数20、数23~数25、又は数28のような次数低減後の数理モデルが、それぞれ、数12、数16~数17、数21~数22、数26~数27、又は数29のような相互作用モデルに変換される。相互作用モデルは一見それぞれ違う式に見えるが、数理モデルが決定されれば、目的関数と2次式で表した制約項の和としてすべて同一手順で求めることができる。
As described above, depending on whether the result of the order determination is true or false, it is determined whether the reduction process is executed or not. Model compilation is performed without or after reduction processing. In other words, the mathematical models after order reduction such as
詳細情報には、図3及び図4が例示する係数影響情報に代えて又は加えて、係数非影響情報が含まれていることがあり得る。係数非影響情報は、縮約部231での処理において縮約された相互作用モデルへの変換のために利用される。The detailed information may include coefficient non-affected information instead of or in addition to the coefficient affected information illustrated in Figures 3 and 4. The coefficient non-affected information is used for conversion to a reduced interaction model in the processing in the reduction unit 231.
例えば、係数非影響情報は、縮約前のモデルにおける制約条件を表す情報を含む。制約条件は、第1のインターフェース部201において、割当問題数理モデルに反映され、制約条件が反映された割当問題数理モデルが、第1のインターフェース部201から出力される。For example, the coefficient non-influence information includes information representing constraint conditions in the model before reduction. The constraint conditions are reflected in the assignment problem mathematical model in the first interface unit 201, and the assignment problem mathematical model reflecting the constraint conditions is output from the first interface unit 201.
また、例えば、係数非影響情報は、K(Kは自然数)を表す情報を含んでよい。Kは、一つの割当対象iから割り当て可能な割当対象i-k(kはN以下の自然数)の最大数である。すなわち、一つの割当対象iから最大Nの割当対象i-kが一つ又は複数の割当先に割り当て可能でもよい。この場合、Kは、縮約処理において、QUBO形式の数理モデルにおけるスピンやペナルティ項として反映される。 Furthermore, for example, the coefficient non-influence information may include information representing K (K is a natural number). K is the maximum number of assignment targets i-k (k is a natural number equal to or less than N) that can be assigned from one assignment target i. In other words, up to N assignment targets i-k may be assignable from one assignment target i to one or more assignment destinations. In this case, K is reflected as a spin or penalty term in the QUBO format mathematical model in the contraction process.
モデルコンパイル部232は、相互作用モデルと値セットとを含むデバイス入力情報170を出力する。第2のインターフェース部204が、当該デバイス入力情報170を受けてアニーリングマシン100へ設定する。相互作用モデルは、モデルコンパイルにより得られたモデルである。値セットは、相互作用モデルの演算に使用される値のセットであり、例えば、相互作用モデルにおける割当状態変数毎に、係数値と、アドレス値とを含む。値セットにおける係数値は、アニーリングマシン100における図示しない制御回路により、アニーリングマシン100内(当該係数値に対応したアドレス)にマッピングされる。 The model compiler 232 outputs device input information 170 including an interaction model and a value set. The second interface unit 204 receives the device input information 170 and sets it to the annealing machine 100. The interaction model is a model obtained by model compilation. The value set is a set of values used for calculation of the interaction model, and includes, for example, a coefficient value and an address value for each assigned state variable in the interaction model. The coefficient values in the value set are mapped within the annealing machine 100 (addresses corresponding to the coefficient values) by a control circuit (not shown) in the annealing machine 100.
アニーリングマシン100が、相互作用モデルのエネルギー基底状態を求めるための演算を実行することで、割当案(割当対象iと割当先jとのペア毎の割当状態値)を算出し、割当案を表す情報である処理結果情報180を、処理支援部125に出力する。なお、この出力は、処理支援部125が、相互作用モデル及び値セットのアニーリングマシン100への設定に対する応答として、受けることができる。処理結果情報180から、処理支援部125は、最終的なスピン値を知ることができる。The annealing machine 100 executes a calculation to find the energy ground state of the interaction model, thereby calculating an allocation plan (allocation state value for each pair of allocation target i and allocation destination j), and outputs processing result information 180, which is information representing the allocation plan, to the processing support unit 125. Note that this output can be received by the processing support unit 125 as a response to setting the interaction model and value set in the annealing machine 100. From the processing result information 180, the processing support unit 125 can know the final spin value.
第2のインターフェース部204が、アニーリングマシン100から処理結果情報180を受け付け、当該処理結果情報180を出力決定部205に出力する。出力決定部205が、処理結果情報180を基に割当解出力情報190を生成し、割当解出力情報190を第1のインターフェース部201に出力する。第1のインターフェース部201が、割当解出力情報190を、情報処理システム50の外部(例えばユーザの情報処理端末)に提供する。例えば、図7に示すように、割当解出力情報190が表す割当解を表示した出力UI700が、提供される。出力UI700は、割当解出力情報190が表す割当結果(いずれの割当対象がいずれの割当先にどのような割当コストで割り当てられるかを表す結果)を表示する。割当解出力情報190の出力は、出力UI700経由の出力に代えて又は加えて他種の出力(例えば、割当解出力情報190の少なくとも一部を含んだファイル(例えばCSVファイル)の出力)でもよい。The second interface unit 204 receives the processing result information 180 from the annealing machine 100 and outputs the processing result information 180 to the
図5は、情報処理システムが行う処理の流れの一例を示す。 FIG. 5 shows an example of the flow of processing performed by the information processing system.
S501で、第1のインターフェース部201が、割当問題入力情報160の入力を受け付ける。第1のインターフェース部201が、割当問題入力情報160を、記憶装置140に格納する。
In S501, the first interface unit 201 receives input of assignment question input information 160. The first interface unit 201 stores the assignment question input information 160 in the
S502で、次数判定部202が、記憶装置140における割当問題入力情報160のうち次数判定に必要な情報(許容数Lを含む情報)を基に、次数Mを特定し、次数Mが所定値以下か否かを判定する。
In S502, the
S502の判定結果が偽の場合、S503で、縮約部231が、上述した縮約処理を行う。 If the judgment result of S502 is false, in S503, the contraction unit 231 performs the above-mentioned contraction processing.
S502の判定結果が真の場合、又は、S503の縮約処理の後、S504で、モデルコンパイル部232が、モデルコンパイルを行う。モデルコンパイル前のモデルは、縮約処理後の数理モデル(次数M´の数理モデル)、又は、縮約処理がされていない数理モデル(次数Mの数理モデル)である。モデルコンパイル後のモデルは、相互作用モデルである。モデルコンパイルでは、割当問題入力情報160におけるα(割当対象の数)の値とβ(割当先の数)の値も使用される。また、モデルコンパイルでは、割当問題入力情報160における詳細情報のうちの少なくとも一部の情報が使用されてよい。モデルコンパイルにより、相互作用モデルについての値セットも得られる。If the judgment result in S502 is true, or after the reduction process in S503, in S504, the model compilation unit 232 performs model compilation. The model before model compilation is a mathematical model after reduction process (mathematical model of order M'), or a mathematical model that has not been subjected to reduction process (mathematical model of order M). The model after model compilation is an interaction model. In model compilation, the values of α (number of allocation targets) and β (number of allocation destinations) in the assignment problem input information 160 are also used. In addition, in model compilation, at least a part of the detailed information in the assignment problem input information 160 may be used. A value set for the interaction model is also obtained by model compilation.
S505で、モデルコンパイル部232が、相互作用モデルと値セットとを含むデバイス入力情報170を出力し、第2のインターフェース部204が、当該デバイス入力情報170を受けてアニーリングマシン100へ設定する(書き込む)。At S505, the model compilation unit 232 outputs device input information 170 including the interaction model and a value set, and the second interface unit 204 receives the device input information 170 and sets (writes) it to the annealing machine 100.
S506で、アニーリングマシン100が、デバイス入力情報170を基に並列処理(値セットを用いて相互作用モデルを並列演算すること)を実施する。 In S506, the annealing machine 100 performs parallel processing (computing the interaction model in parallel using the value set) based on the device input information 170.
S507で、アニーリングマシン100が、処理結果情報180を出力する。 At S507, the annealing machine 100 outputs processing result information 180.
S508で、第2のインターフェース部204が、アニーリングマシン100から処理結果情報180を受け付け、当該処理結果情報180を出力決定部205に出力する。出力決定部205が、処理結果情報180を基に割当解出力情報190を生成し、割当解出力情報190を第1のインターフェース部201に出力する。第1のインターフェース部201が、割当解出力情報190を、情報処理システム50の外部(例えば、ユーザの情報処理端末)に出力する。
In S<b>508 , the second interface unit 204 receives the processing result information 180 from the annealing machine 100 and outputs the processing result information 180 to the
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。 Although one embodiment has been described above, this is an illustration for explaining the present invention, and is not intended to limit the scope of the present invention only to this embodiment. The invention can also be implemented in various other forms.
例えば、アニーリングマシン100は、ASIC、FPGA又はGPUといったハードウェア回路に限られないでよい。 For example, annealing machine 100 may not be limited to hardware circuits such as ASICs, FPGAs, or GPUs.
また、例えば、相互作用モデルは、ニューラルネットワークやボルツマンマシンでよい。 Also, for example, the interaction model can be a neural network or a Boltzmann machine.
また、上述した数1~数29における「制約条件」は、割当問題入力情報160における詳細情報のうちの係数非影響情報でよい。
Further, the "constraint conditions" in
また、例えば、ユーザ入力を受け付けるための複数のGUI部品は、一つの入力UI600に存在してもよいし、複数のUIに分散していてもよい(GUI部品はUI部品の一例)。また、例えば、割当解出力情報190を表すUIは、一つの出力UI700であってもよいし、複数のUIであってもよい。
Further, for example, a plurality of GUI components for accepting user input may exist in one input UI 600 or may be distributed among a plurality of UIs (the GUI component is an example of a UI component). Further, for example, the UI representing the allocation
また、例えば、第2のインターフェース部204は、相互作用モデル及び値セットを含んだデバイス入力情報170を、アニーリングマシン100に設定することに代えて又は加えて、情報処理システム50の外部(例えば、ユーザの情報処理端末)に提供してもよい。 Further, for example, the second interface unit 204 may input device input information 170 including an interaction model and a value set to an external part of the information processing system 50 (for example, The information may be provided to the user's information processing terminal).
50:情報処理システム 50: Information processing system
Claims (10)
αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行う次数判定部と、
前記次数判定の結果が偽の場合、Mより小さい次数M´を決定する縮約処理を行い、当該縮約処理において決定された次数M´での数理モデルと、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルと、当該相互作用モデルの演算に使用される値のセットである値セットを決定する入力決定部と、
前記決定された相互作用モデル及び値セットを提供する第2のインターフェース部と
を備える情報処理システム。 Information on the number of assignment targets α (α is a natural number), information on the number of assignment targets representing the number of assignment targets β (β is a natural number), and information on the number of assignment targets that can be assigned to one assignment target. a first interface unit that accepts an upper limit of the allowable number L (L is a natural number);
an order determination unit that performs order determination to determine whether M (M is a natural number) that corresponds to the order of the mathematical model of the assignment problem of assigning the assignment target of α to the assignment destination of β and that follows L is less than or equal to a predetermined value;
If the result of the degree determination is false, perform a reduction process to determine a degree M' smaller than M, and based on the mathematical model at the degree M' determined in the reduction process and α and β, An interaction model for an annealing machine that is an accelerator for solving an assignment problem by calculating an interaction model, and an input determining unit that determines a value set that is a set of values used for calculating the interaction model. ,
and a second interface unit that provides the determined interaction model and value set.
前記縮約処理は、前記係数影響情報を基に前記一つ以上の係数値を決定することを含む、
請求項1に記載の情報処理システム。 The first interface unit further receives coefficient influence information, which is information that influences one or more coefficient values of one or more assigned state variables in the interaction model;
the contraction process includes determining values of the one or more coefficients based on the coefficient influence information.
The information processing system according to claim 1 .
請求項2に記載の情報処理システム。 The coefficient influence information includes information including a numerical value representing a relationship between an allocation target and an allocation destination.
The information processing system according to claim 2 .
請求項2に記載の情報処理システム。 The coefficient influence information includes information including a numerical value representing a relationship between the allocation targets and the allocation targets.
The information processing system according to claim 2 .
(処理A)HOBO(Higher Order Binary Optimization)形式の数理モデルをQUBO(Quadratic Unconstrained Binary Optimization)形式の数理モデルに変換すること、
(処理B)相互作用モデルにおける一つ以上の割当状態変数の一つ以上の係数値に影響する情報である係数影響情報を基に、相互作用モデルにおける一つ以上の係数値を決定すること、
(処理C)相互作用モデルにおける割当状態変数の値の表現を2値から多値に変えること、
前記入力決定部は、(処理A)乃至(処理C)のうち、次数Mを次数M´に低減可能な処理を選択する、
請求項1に記載の情報処理システム。 The contraction process includes at least one of the following processes (Process A) to (Process C):
(Process A) Converting a mathematical model in HOBO (Higher Order Binary Optimization) format into a mathematical model in QUBO (Quadratic Unconstrained Binary Optimization) format;
(Process B) determining one or more coefficient values in the interaction model based on coefficient influence information, which is information that influences one or more coefficient values of one or more assigned state variables in the interaction model;
(Process C) Changing the representation of the value of the assigned state variable in the interaction model from binary to multi-valued;
The input determination unit selects a process capable of reducing the order M to the order M' from among (processing A) to (processing C).
The information processing system according to claim 1 .
請求項5に記載の情報処理システム。 The priority order of the processes A to C is as follows: process C, process B, and process A.
The information processing system according to claim 5 .
請求項5に記載の情報処理システム。 The priority order of each of (Process A) to (Process C) is as follows: the number of spins required for the transformed model, which is the memory usage of the annealing machine, is smallest, and the number of required spins is smallest.
The information processing system according to claim 5 .
前記入力決定部は、前記係数非影響情報を利用して前記縮約処理を行う、
請求項1に記載の情報処理システム。 The first interface unit further receives coefficient non-influence information, which is information that does not affect one or more coefficient values of one or more assigned state variables in an interaction model and is used in the reduction process and represents a constraint condition of a mathematical model of order M;
The input determination unit performs the contraction process by using the coefficient non-influence information.
The information processing system according to claim 1 .
前記アニーリングマシンが、前記提供された相互作用モデル及び値セットを読み込み、当該相互作用モデルを、当該値セットを用いて演算することにより、前記割当問題を解き、前記割当問題の最適解を表す処理結果情報を出力する、
請求項1に記載の情報処理システム。 further comprising the annealing machine,
A process in which the annealing machine reads the provided interaction model and value set, calculates the interaction model using the value set, solves the assignment problem, and represents an optimal solution to the assignment problem. Output result information,
The information processing system according to claim 1.
コンピュータが、αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行い、
コンピュータが、前記次数判定の結果が偽の場合、Mより小さい次数M´を決定する縮約処理を行い、当該縮約処理において決定された次数M´での数理モデルと、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルと、当該相互作用モデルの演算に使用される値のセットである値セットを決定し、
コンピュータが、前記決定された相互作用モデル及び値セットを提供する、
情報処理方法。 The computer receives allocation target number information indicating the number of allocation targets α (α is a natural number), allocation destination number information indicating the number of allocation recipients β (β is a natural number), and an allowable number L (L is a natural number) that is an upper limit of the number of allocation targets that can be allocated to one allocation recipient,
the computer performs an order determination to determine whether M (M is a natural number) which corresponds to the order of a mathematical model of an assignment problem for assigning the allocation targets of α to the allocation destinations of β and follows L is equal to or smaller than a predetermined value;
When the result of the degree determination is false, the computer performs a reduction process to determine an order M' smaller than M, and determines an interaction model for an annealing machine, which is an accelerator for solving the assignment problem by calculating an interaction model, based on a mathematical model at the order M' determined in the reduction process and α and β, and a value set, which is a set of values used in the calculation of the interaction model;
The computer provides the determined interaction model and value set.
Information processing methods.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2020/030896 WO2022034687A1 (en) | 2020-08-14 | 2020-08-14 | Information processing system for assisting in solving allocation problems, and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2022034687A1 JPWO2022034687A1 (en) | 2022-02-17 |
| JP7461482B2 true JP7461482B2 (en) | 2024-04-03 |
Family
ID=80247090
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022542566A Active JP7461482B2 (en) | 2020-08-14 | 2020-08-14 | Information processing system and method for supporting solving assignment problems |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP7461482B2 (en) |
| AU (1) | AU2020462915B2 (en) |
| WO (1) | WO2022034687A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024018571A1 (en) * | 2022-07-20 | 2024-01-25 | 株式会社日立製作所 | Information processing device and processing condition determination system |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170264373A1 (en) | 2016-03-10 | 2017-09-14 | Raytheon Bbn Technologies Corp. | Optical ising-model solver using quantum annealing |
-
2020
- 2020-08-14 AU AU2020462915A patent/AU2020462915B2/en active Active
- 2020-08-14 JP JP2022542566A patent/JP7461482B2/en active Active
- 2020-08-14 WO PCT/JP2020/030896 patent/WO2022034687A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170264373A1 (en) | 2016-03-10 | 2017-09-14 | Raytheon Bbn Technologies Corp. | Optical ising-model solver using quantum annealing |
Non-Patent Citations (1)
| Title |
|---|
| 川合 遼 ほか,組合せ最適化問題を高速に解くデジタルアニーラの活用技術,技術解説書 拡大する量子コンピューティング その社会実装ポテンシャル [online],モバイルコンピューティング推進コンソーシアム,2020年03月,pp.28-33,[検索日 2020.10.20], インターネット:<URL:https://www.mcpc-jp.org/news/pdf/20200325_potential.pdf> |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2020462915A1 (en) | 2023-03-09 |
| JPWO2022034687A1 (en) | 2022-02-17 |
| WO2022034687A1 (en) | 2022-02-17 |
| AU2020462915B2 (en) | 2023-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112561077B (en) | Training method and device of multi-task model and electronic equipment | |
| TWI620075B (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
| US20180357541A1 (en) | Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same | |
| US9798782B2 (en) | Re-sizing data partitions for ensemble models in a mapreduce framework | |
| US10585718B2 (en) | Hybrid acceleration in a processing environment | |
| US20210182024A1 (en) | Mixed precision floating-point multiply-add operation | |
| JP7280921B2 (en) | Computer system, reasoning method, and program | |
| WO2020246073A1 (en) | Information processing device, pubo solver, information processing method and non-transitory storage medium | |
| CN116070557A (en) | Datapath Circuit Design Using Reinforcement Learning | |
| US12099904B2 (en) | Uniform artificial intelligence model conversion | |
| JP7461482B2 (en) | Information processing system and method for supporting solving assignment problems | |
| CN118747534A (en) | Prompt word optimization method and related equipment based on large model | |
| WO2022089421A1 (en) | ReLU COMPRESSION TO REDUCE GPU MEMORY | |
| CN112561500A (en) | Salary data generation method, device, equipment and medium based on user data | |
| WO2024045175A1 (en) | Optimization of executable graph for artificial intelligence model inference | |
| WO2023066716A1 (en) | Risk assessment of a container build | |
| CN115827225A (en) | Heterogeneous computing distribution method, model training method, device, chip, equipment and medium | |
| US11995422B2 (en) | Microservice deployment in integration and API layers using Augmented Reality | |
| US11410023B2 (en) | Lexicographic deep reinforcement learning using state constraints and conditional policies | |
| CN115412401B (en) | Method and device for training virtual network embedding model and virtual network embedding | |
| US20240248716A1 (en) | Predictive Dead Store Elimination | |
| US11775317B2 (en) | Locate neural network performance hot spots | |
| JP2024536975A (en) | Analog-to-digital conversion apparatus, device and method using bit skipping - Patents.com | |
| CN121008936B (en) | A method, apparatus, and device for dynamic allocation of cloud desktop resources based on a hybrid model. | |
| US20250004838A1 (en) | Instruction merging and induction variable replacement |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221221 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231222 |
|
| 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: 20240319 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240322 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7461482 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |