Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7461482B2 - 割当問題を解くことを支援する情報処理システム及び方法 - Google Patents
[go: Go Back, main page]

JP7461482B2 - 割当問題を解くことを支援する情報処理システム及び方法 - Google Patents

割当問題を解くことを支援する情報処理システム及び方法 Download PDF

Info

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
Application number
JP2022542566A
Other languages
English (en)
Other versions
JPWO2022034687A1 (ja
Inventor
晶子 加藤
地尋 吉村
拓哉 奥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2022034687A1 publication Critical patent/JPWO2022034687A1/ja
Application granted granted Critical
Publication of JP7461482B2 publication Critical patent/JP7461482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject 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

本発明は、概して、割当問題を解くことを支援する技術に関する。
複数の割当対象を複数の割当先へと割当る割当問題の一つとして、資源割当問題がある。特許文献1は、資源割当問題を表現する方法と解く方法を開示する。
特開2002-133052号公報
汎用コンピュータを用いて割当問題の数理モデルを解くこと、すなわち、全通りの割当の評価をすることが考えられる。しかし、割当対象の数、割当先の数、及び、割当先の許容量(一つの割当先に割当可能な割当対象の数の上限)の少なくとも一つの要素によって、演算量が膨大となり、結果として、現実的な時間内に割当問題を解くことができないことがある。
そこで、全通りの割当の評価を避け現実的な時間内に最適解を得るために、割当問題の数理モデルをアニーリングマシン向けに相互作用モデル(典型的には、イジングモデルのようなアニーリング処理モデル)に変換し、当該相互作用モデルの演算をアニーリングマシンにより行うことが検討される。最適解を得るためには、アニーリングマシン向けの相互作用モデルを最適化する必要がある。
システムが、割当対象の数α(αは自然数)を表す情報割当対象数情報と、割当先の数β(βは自然数)を表す割当先数情報と、一つの割当先に割り当て可能な割当対象の数の上限である許容数L(Lは自然数)とを受け付ける。システムが、αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行う。システムが、次数判定の結果と、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルを決定する。システムが、決定された相互作用モデルを提供する。
本発明によれば、アニーリングマシン向けの相互作用モデルを最適化することができる。
実施形態に係る情報処理システムの構成例を示す。 処理支援部の構成例を示す。 詳細情報に含まれ得る情報であって割当対象と割当先間の関係性を表す情報の一例を示す。 詳細情報に含まれ得る情報であって割当対象間の関係性を表す情報の一例を示す。 情報処理システムが行う処理の流れの一例を示す。 入力UIの一例を示す。 出力UIの一例を示す。
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよい。
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
図1は、実施形態に係る情報処理システムの構成例を示す。
情報処理システム50は、一つ以上の物理的な計算機を備えた計算機システムでよい。情報処理システム50は、インターフェース装置130、記憶装置140、アニーリングマシン100、及びそれらに接続されたプロセッサ150を備える。なお、情報処理システム50は、一つ以上の物理的な計算機を備えた計算機システムに代えて、他種のシステム、例えば、物理的な計算リソース群(例えば、クラウド基盤)上に実現されたシステム(例えば、クラウドコンピューティングシステム)でもよい。
インターフェース装置130を介して、情報処理システム50に対する情報の入出力が行われる。
アニーリングマシン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アニーリングマシン)でよい。
記憶装置140に格納されているコンピュータプログラムをプロセッサ150が実行することにより処理支援部125が実現される。
情報処理システム50では、例えば図示の白色矢印の通りの入力及び処理が行われる。すなわち、処理支援部125が、割当問題入力情報160を受け付け、記憶装置140に格納する。割当問題入力情報160は、割当対象の数α(αは2以上の整数)を表す情報と、割当先の数β(βは2以上の整数)を表す情報とを含む。処理支援部125が、割当問題入力情報160を基に、αの割当対象をβの割当先に割り当てる割当問題の数理モデルを、アニーリングマシン100向けの相互作用モデル(例えば、イジングモデル)に変換する。処理支援部125は、相互作用モデルを含む情報でありアニーリングマシン100への入力情報であるデバイス入力情報170を、アニーリングマシン100に設定する。これにより、アニーリングマシン100が、デバイス入力情報170に基づき、割当問題の最適解を得るための並列処理を実施する。なお、相互作用モデル及び値セットを含んだデバイス入力情報170をアニーリングマシン100に設定することとは、アニーリングマシン100がアクセス可能な記憶領域(例えばメモリ)にデバイス入力情報170を格納することでよい。アニーリングマシン100は、処理支援部125からの明示的な通知を受けることで、又は、当該記憶領域を定期的にアクセスすることで、当該記憶領域に格納されているデバイス入力情報170を当該記憶領域から読み込むことができる。
情報処理システム50では、例えば図示の灰色矢印の通りの出力及び処理が行われる。すなわち、アニーリングマシン100が、並列処理の結果(すなわち、割当問題の最適解)を表す処理結果情報180を処理支援部125に返す。処理支援部125が、処理結果情報180に基づく割当解出力情報190を記憶装置140に格納する。処理支援部125が、割当解出力情報190を、出力する。
割当対象になり得る要素も、割当先になり得る要素も、それぞれユーザ任意の要素とすることができる。
図2は、処理支援部125の構成例を示す。
処理支援部125は、情報処理システム50の外部に対する入出力のための第1のインターフェース部201と、次数判定を行う次数判定部202と、デバイス入力情報170を決定する入力決定部203と、アニーリングマシン100に対する入出力のための第2のインターフェース部204と、割当解出力情報190を決定する出力決定部205とを有する。入力決定部203は、縮約処理を行う縮約部231と、モデルコンパイルを行うモデルコンパイル部232とを有する。情報処理システム50の外部としては、サーバ又は可搬型の記憶媒体といった様々な要素を採用可能である。本実施形態では、情報処理システム50の外部は、ユーザである。
以下、これらの機能の詳細を、処理支援部125が行う処理の流れに沿って説明する。i番目の割当対象を「割当対象i」(例えば、i=1,2,…であり、iの最大値はα)と表現し、j番目の割当先を「割当先j」(例えば、j=1,2,…であり、jの最大値はβ)と表現することができる。
第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に含まれてもよい。
割当問題入力情報160は、基本情報(第1の情報の一例)と詳細情報(第2の情報の一例)とのうち少なくとも基本情報を含む。
基本情報は、下記の情報(A)~(C)を含んだ情報である(一例は図6に示す通り)。下記情報(A)~(C)について、α及びβは、いずれも自然数であるが、典型的には、2以上の整数でよい。Lも、自然数ですが、2以上の整数でよい。つまり、本実施形態では、α、β及びLの少なくとも一つの値が1である比較的簡単な割当問題を解くこともできるが、α、β及びLのいずれの値も2以上の整数である比較的複雑な割当問題を解くことに有用である。
(A)割当対象の数αを表す情報。
(B)割当先の数βを表す情報。
(C)割当先の許容数Lを表す情報。
詳細情報は、割当問題入力情報160のうち基本情報以外の情報である。詳細情報のうちの少なくとも一部の情報のユーザ入力(ユーザによる入力)は、オプションでよい。詳細情報のうちユーザ入力されない情報については、デフォルト情報が採用されてよい。例えば、詳細情報が割当対象と割当先とのペア毎に割当対象から割当先への割当コストを表す情報を含むが各ペアについて割当コストを表す情報がユーザ入力されない場合、各ペアについての割当コストとしてデフォルト値(例えば“1”)が一律で採用されてよい。詳細情報は、下記の情報(D)及び(E)を含む(一例は図6に示す通り)。なお、情報(D)及び(E)のいずれも、後述の(処理A)乃至(処理C)のうちのいずれの処理が採用されるかによって(どのような縮約処理が行われるかによって)、係数影響情報と係数非影響情報のいずれにも該当し得る。例えば、(処理A)が採用される場合、情報(D)及び(E)のいずれも、制約項として採用され得るため、係数影響情報になり得る。一方、(処理B)及び(処理C)のいずれかが採用される場合、情報(D)及び(E)のいずれも、係数非影響情報になり得る。
(D)割当先に関する詳細を表す割当先詳細情報(例えば、割当先の許容量m(m>0)を表す情報)。
(E)割当対象に関する詳細を表す割当対象詳細情報(例えば、割当対象毎の資源量)。
図6が示す例によれば、割当問題入力情報160は、基本情報、割当先詳細情報及び割当対象詳細情報を含む。基本情報が、上述の情報(A)乃至(C)である。割当先詳細情報が、上述の情報(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となる。
詳細情報は、例えば、下記(d1)及び(d2)のうちの少なくとも一つを含む。
(d1)相互作用モデルにおける一つ以上の係数値(一つ以上の割当状態変数の一つ以上の係数値)に影響する情報である係数影響情報。
(d2)相互作用モデルにおける係数値に影響しない情報である係数非影響情報。
「割当状態変数」は、割当対象iと割当先jとのペア毎に存在し、割当対象iの割当先jへの割当状態を表す変数である。例えば、割当状態変数の値は、2値と多値のいずれで表現されてもよい。2値が採用される場合、割当状態は、割当対象iが割当先jに割り当てられているか否か(“1”か“0”)でよい。多値が採用される場合、割当状態として、割当対象iが割当先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)が持つ一つ以上の要素の特徴量との差を採用することができる。
係数非影響情報は、縮約処理(高次の割当問題数理モデルを低次の割当問題数理モデルに変換する処理)で必要になる情報(例えば、補助スピンの数)であり、具体的には、例えば、高次(次数M)の割当問題数理モデルの制約条件を表す情報である。係数非影響情報は、以下で説明する縮約処理後では相互作用モデルの中には明示的に入ってこずとも、縮約処理後の割当問題数理モデルにおける係数値を決定するために使用されるメタ情報として活用される。なお、アニーリングマシン100に読み込まれる段階の相互作用モデル(縮約処理済みの又は縮約処理が不要であった相互作用モデル)についての制約項は、係数影響情報に含まれる情報であるので、本段落における「制約条件」と異なる(区別される)。
第1のインターフェース部201が、α及びβを表す情報と割当問題数理モデルとを、モデルコンパイル部232に入力し、Lを表す情報を次数判定部202に入力する。詳細情報(例えば、許容量mを含んだ情報)があれば、第1のインターフェース部201が、割当問題数理モデルと詳細情報とを縮約部231に入力する。
次数判定部202は、入力された情報が表すLに従う次数M(割当問題数理モデルの目的関数項の次数M)が所定値以下か否かの判定である次数判定を行う。次数判定の結果に応じて、処理支援部125における処理が異なる。次数Mと比較される「所定値」は、例えば第1のインターフェース部201を介してユーザにより設定された値でよい。
次数Mが所定値以下の場合(つまり、次数判定の結果が真の場合)、後述の縮約処理無しに、モデルコンパイルが行われる。すなわち、次数判定部202が、モデルコンパイル部232にモデルコンパイルを指示する。結果として、次数Mが所定値以下の場合、モデルコンパイル部232は、モデルコンパイルの指示を、次数判定部202から受ける。次数判定部202からモデルコンパイルの指示を受けた場合、モデルコンパイル部232は、割当問題数理モデルを相互作用モデルに変換する。割当問題数理モデルの一例が、以下の数1~数4であり、相互作用モデルの一例が、以下の数5である。割当問題数理モデルに関し、数1は、目的関数(最小化)であり、数2~数4は、制約条件である。数1~数5において、σijは、割当対象iの割当先jへの割当状態を表す値である。割当問題数理モデル(例えば数1)では、割当先の負荷が少なくなるように、割当先あたりの割当資源の積を最小化することを想定した。次数Mが所定値以下のケースでは、縮約処理が走らないため、次数Mの低減は不要であり、故に、次数低減を目的として割当状態変数の数を減らすために割当状態変数の値を2値から多値に変換する必要がない。
Figure 0007461482000001
Figure 0007461482000002
Figure 0007461482000003
Figure 0007461482000004
Figure 0007461482000005
次数Mが所定値を超えている場合(つまり、次数判定の結果が偽の場合)、縮約処理を経て、モデルコンパイルが行われる。すなわち、次数判定部202が、縮約部231に縮約処理を指示する。なお、次数Mと比較される所定値は、例えば、下記のうちのいずれかでよい。
・アニーリングマシン1000の設計段階において決定された値であって、次数判定部202に定義されている値。
・ユーザ入力(例えば、入力UI600経由の入力)がされた値。この値は、アニーリングマシン100が対処可能な最大次数を上限とした値である。例えば、入力UI600が、アニーリングマシン100が対処可能な最大次数以下の値を次数Mと比較される所定値として受け付けるGUI部品を有してよい。第1のインターフェース部201が、入力された所定値を、次数判定部202に通知する。
・次数判定部202によって次の処理により特定された値。すなわち、次数判定部202が、アニーリングマシン100の属性(例えば、型番やベンダ)をキーに、アニーリングマシンの属性(例えば型番やベンダ)と次数Mと比較される所定値との関係を表す情報(例えばテーブル)から、該当の所定値を特定する。
縮約部231が、縮約処理の指示を受けて、縮約処理を行う。縮約処理は、割当問題数理モデルの次数Mを次数M´に低減することである。縮約部231が、モデルコンパイルをモデルコンパイル部232に指示し、縮約処理後の数理モデル(次数低減後の数理モデル)をモデルコンパイル部232に入力する。結果として、次数Mが所定値を超えている場合、モデルコンパイル部232は、モデルコンパイルの指示を、縮約部231から受ける。縮約部231からモデルコンパイルの指示を受けた場合、モデルコンパイル部232は、縮約処理後の数理モデルを相互作用モデルに変換する。なお、M´の値は、次数Mと比較される上述の所定値と同じ値(又は、それよりも小さな値)である。すなわち、当該所定値は、縮約処理後の数理モデルについての次数の上限に相当し、縮約処理により、次数Mが、当該上限(又は、それよりも小さな値)にまで低減される。
例えば、縮約処理は、下記(処理A)乃至(処理C)のうちの少なくとも一つの処理を含む。(処理A)乃至(処理C)の少なくとも一つにより、次数Mが次数M´に低減される。
(処理A)HOBO(Higher Order Binary Optimization)形式の数理モデルをQUBO(Quadratic Unconstrained Binary Optimization)形式の数理モデルに変換すること。
(処理B)詳細情報中の係数影響情報(例えば、図3が例示する情報と図4が例示する情報とのうちの少なくとも一方)を基に、相互作用モデルにおける一つ以上の係数値を決定すること。
(処理C)相互作用モデルにおける割当状態変数の値の表現を2値から多値に変えること。
例えば、縮約処理は、下記でよい。
S1:縮約部231が、(処理A)乃至(処理C)のうちS1においていずれかの未選択の処理を選択し、選択した処理を行う。
S2:縮約部231が、S1の結果、M=M´になったか否かを判定する。S2の判定結果が真の場合、処理が終了する。S2の判定結果が偽の場合、縮約部231が、S1を行う。
なお、採択される処理の優先順位は、例えばアニーリングマシン100のメモリが十分にある場合、(処理C)>(処理A)>(処理B)でよい。つまり、(処理C)が優先的に採択されてよい。すなわち、最初にS1で選択される処理は、(処理C)でよい。理由の一例は、下記の通り通りである。
・(処理C)の優先順位が1番目である理由は、例えば次の通りである。(処理C)は、アニーリングマシンのハード依存性が高い(適用可能なマシンの制限が高い)ために適用不可となる可能性も高いが、最もスピン削減効果が高い。
・(処理A)の優先順位が2番目である理由は、例えば次の通りである。4次以上で変換前のスピン数が大きい問題では、精度や変換後のスピン数が急激に悪い方向に振れ得るため、(処理A)は、次数やスピン数を基に採択されるか否かが決まるが、(処理A)は、比較的低負荷で変換可能である。
・(処理B)の優先順位が3番目である理由は、例えば次の通りである。(処理B)は、比較的汎用性が高いが、CPU上で前処理が必要なため処理に時間がかかり得る。
あるいは、(処理A)乃至(処理C)の採択される優先順位は、要求スピン数(変換後のモデルのスピン数、つまり、アニーリングマシンのメモリ使用量)が少ない順でよい。すなわち、(処理A)乃至(処理C)のうち、最初にS1で選択される処理は、要求スピン数が最も少なくなる処理でよい。
(処理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)に変換される。
Figure 0007461482000006
Figure 0007461482000007
Figure 0007461482000008
Figure 0007461482000009
Figure 0007461482000010
Figure 0007461482000011
Figure 0007461482000012
(処理B)の一例は、以下の通りである。
例えば、図3が例示する情報(割当対象と割当先間の関係性を表す情報)を数1~数4での相互作用係数であるとすると、縮約部231は、数1~数4でのスピンσijの値のうち数1~数4での制約条件を必ず満たすN通り(Nは自然数)の組合せを列挙する。縮約部231は、N通りの組合せのうちどの組合せを選択するかを表す数理モデルを、スピンqを変数とする「集合分割問題又は集合被覆問題」の数理モデルに変換する。具体的には、例えば、数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)が対応すれば連続値でもよい。
Figure 0007461482000013
Figure 0007461482000014
Figure 0007461482000015
Figure 0007461482000016
Figure 0007461482000017
また、例えば、図4が例示する情報(割当対象間の関係性を表す情報)を数1~数4での相互作用係数であるとすると、数13~数15と同様、「集合分割問題又は集合被覆問題」の数理モデルへの変換が行われる。例えば、数1~数4が、数18~数20に変換される。数18~数20が、次数低減後の数理モデルの式の一例である。数18は、目的関数(最小化)であり、数19~数20は、制約条件である。数18~数20の導出方法は数13~数15と同様である。このように、結果として、(処理B)が次数低減に寄与する。数18~数20が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数21~数22)に変換される。
Figure 0007461482000018
Figure 0007461482000019
Figure 0007461482000020
Figure 0007461482000021
Figure 0007461482000022
また、例えば、図3が例示する情報と図4が例示する情報の両方を縮約部231が利用することで、例えば数1~数4が数23~数25に変換される。数23~数25が次数低減後の数理モデルの式の一例である。数23は、目的関数(最小化)であり、数24~数25は、制約条件である。数23~数25の導出方法は数13~数15と同様である。このように、結果として、(処理B)が次数低減に寄与する。数23~数25が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数26~数27)に変換される。
Figure 0007461482000023
Figure 0007461482000024
Figure 0007461482000025
Figure 0007461482000026
Figure 0007461482000027
(処理C)の一例は、次の通りである。すなわち、例えば数1~数4が数28に変換される。数28が、数理モデルの次数低減後の式の一例である。ここでは例えば数23~数25の数理モデルをベースに、目的関数のスピンアドレスr及びtが変数とされる。変数の定義域が設定されれば、数23~数25における制約条件(つまり数24及び数25)は不要となる。このように、結果として、(処理C)が次数低減に寄与する。数28が、次数低減後の数理モデルとしてモデルコンパイル部232に入力され、相互作用モデル(数29)に変換される。なお、(処理C)は、スピン値がバイナリ値しか取れないハード上では実行できない。
Figure 0007461482000028
Figure 0007461482000029
以上のように、次数判定の結果が真か偽かに応じて、縮約処理が走らないか走るかが決まる。縮約処理を経ないで或いは経て、モデルコンパイルが実施される。つまり、数6~数11、数13~15、数18~数20、数23~数25、又は数28のような次数低減後の数理モデルが、それぞれ、数12、数16~数17、数21~数22、数26~数27、又は数29のような相互作用モデルに変換される。相互作用モデルは一見それぞれ違う式に見えるが、数理モデルが決定されれば、目的関数と2次式で表した制約項の和としてすべて同一手順で求めることができる。
詳細情報には、図3及び図4が例示する係数影響情報に代えて又は加えて、係数非影響情報が含まれていることがあり得る。係数非影響情報は、縮約部231での処理において縮約された相互作用モデルへの変換のために利用される。
例えば、係数非影響情報は、縮約前のモデルにおける制約条件を表す情報を含む。制約条件は、第1のインターフェース部201において、割当問題数理モデルに反映され、制約条件が反映された割当問題数理モデルが、第1のインターフェース部201から出力される。
また、例えば、係数非影響情報は、K(Kは自然数)を表す情報を含んでよい。Kは、一つの割当対象iから割り当て可能な割当対象i-k(kはN以下の自然数)の最大数である。すなわち、一つの割当対象iから最大Nの割当対象i-kが一つ又は複数の割当先に割り当て可能でもよい。この場合、Kは、縮約処理において、QUBO形式の数理モデルにおけるスピンやペナルティ項として反映される。
モデルコンパイル部232は、相互作用モデルと値セットとを含むデバイス入力情報170を出力する。第2のインターフェース部204が、当該デバイス入力情報170を受けてアニーリングマシン100へ設定する。相互作用モデルは、モデルコンパイルにより得られたモデルである。値セットは、相互作用モデルの演算に使用される値のセットであり、例えば、相互作用モデルにおける割当状態変数毎に、係数値と、アドレス値とを含む。値セットにおける係数値は、アニーリングマシン100における図示しない制御回路により、アニーリングマシン100内(当該係数値に対応したアドレス)にマッピングされる。
アニーリングマシン100が、相互作用モデルのエネルギー基底状態を求めるための演算を実行することで、割当案(割当対象iと割当先jとのペア毎の割当状態値)を算出し、割当案を表す情報である処理結果情報180を、処理支援部125に出力する。なお、この出力は、処理支援部125が、相互作用モデル及び値セットのアニーリングマシン100への設定に対する応答として、受けることができる。処理結果情報180から、処理支援部125は、最終的なスピン値を知ることができる。
第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ファイル)の出力)でもよい。
図5は、情報処理システムが行う処理の流れの一例を示す。
S501で、第1のインターフェース部201が、割当問題入力情報160の入力を受け付ける。第1のインターフェース部201が、割当問題入力情報160を、記憶装置140に格納する。
S502で、次数判定部202が、記憶装置140における割当問題入力情報160のうち次数判定に必要な情報(許容数Lを含む情報)を基に、次数Mを特定し、次数Mが所定値以下か否かを判定する。
S502の判定結果が偽の場合、S503で、縮約部231が、上述した縮約処理を行う。
S502の判定結果が真の場合、又は、S503の縮約処理の後、S504で、モデルコンパイル部232が、モデルコンパイルを行う。モデルコンパイル前のモデルは、縮約処理後の数理モデル(次数M´の数理モデル)、又は、縮約処理がされていない数理モデル(次数Mの数理モデル)である。モデルコンパイル後のモデルは、相互作用モデルである。モデルコンパイルでは、割当問題入力情報160におけるα(割当対象の数)の値とβ(割当先の数)の値も使用される。また、モデルコンパイルでは、割当問題入力情報160における詳細情報のうちの少なくとも一部の情報が使用されてよい。モデルコンパイルにより、相互作用モデルについての値セットも得られる。
S505で、モデルコンパイル部232が、相互作用モデルと値セットとを含むデバイス入力情報170を出力し、第2のインターフェース部204が、当該デバイス入力情報170を受けてアニーリングマシン100へ設定する(書き込む)。
S506で、アニーリングマシン100が、デバイス入力情報170を基に並列処理(値セットを用いて相互作用モデルを並列演算すること)を実施する。
S507で、アニーリングマシン100が、処理結果情報180を出力する。
S508で、第2のインターフェース部204が、アニーリングマシン100から処理結果情報180を受け付け、当該処理結果情報180を出力決定部205に出力する。出力決定部205が、処理結果情報180を基に割当解出力情報190を生成し、割当解出力情報190を第1のインターフェース部201に出力する。第1のインターフェース部201が、割当解出力情報190を、情報処理システム50の外部(例えば、ユーザの情報処理端末)に出力する。
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
例えば、アニーリングマシン100は、ASIC、FPGA又はGPUといったハードウェア回路に限られないでよい。
また、例えば、相互作用モデルは、ニューラルネットワークやボルツマンマシンでよい。
また、上述した数1~数29における「制約条件」は、割当問題入力情報160における詳細情報のうちの係数非影響情報でよい。
また、例えば、ユーザ入力を受け付けるための複数のGUI部品は、一つの入力UI600に存在してもよいし、複数のUIに分散していてもよい(GUI部品はUI部品の一例)。また、例えば、割当解出力情報190を表すUIは、一つの出力UI700であってもよいし、複数のUIであってもよい。
また、例えば、第2のインターフェース部204は、相互作用モデル及び値セットを含んだデバイス入力情報170を、アニーリングマシン100に設定することに代えて又は加えて、情報処理システム50の外部(例えば、ユーザの情報処理端末)に提供してもよい。
50:情報処理システム

Claims (10)

  1. 割当対象の数α(αは自然数)を表す情報割当対象数情報と、割当先の数β(βは自然数)を表す割当先数情報と、一つの割当先に割り当て可能な割当対象の数の上限である許容数L(Lは自然数)とを受け付ける第1のインターフェース部と、
    αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行う次数判定部と、
    前記次数判定の結果が偽の場合、Mより小さい次数M´を決定する縮約処理を行い、当該縮約処理において決定された次数M´での数理モデルと、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルと、当該相互作用モデルの演算に使用される値のセットである値セットを決定する入力決定部と、
    前記決定された相互作用モデル及び値セットを提供する第2のインターフェース部と
    を備える情報処理システム。
  2. 前記第1のインターフェース部は、相互作用モデルにおける一つ以上の割当状態変数の一つ以上の係数値に影響する情報である係数影響情報を更に受け付け、
    前記縮約処理は、前記係数影響情報を基に前記一つ以上の係数値を決定することを含む、
    請求項に記載の情報処理システム。
  3. 前記係数影響情報は、割当対象と割当先との間の関係性を表す数値を含んだ情報を含む、
    請求項に記載の情報処理システム。
  4. 前記係数影響情報は、割当対象と割当対象間の関係性を表す数値を含んだ情報を含む、
    請求項に記載の情報処理システム。
  5. 前記縮約処理は、下記(処理A)乃至(処理C)のうちの少なくとも一つの処理を含み、
    (処理A)HOBO(Higher Order Binary Optimization)形式の数理モデルをQUBO(Quadratic Unconstrained Binary Optimization)形式の数理モデルに変換すること、
    (処理B)相互作用モデルにおける一つ以上の割当状態変数の一つ以上の係数値に影響する情報である係数影響情報を基に、相互作用モデルにおける一つ以上の係数値を決定すること、
    (処理C)相互作用モデルにおける割当状態変数の値の表現を2値から多値に変えること、
    前記入力決定部は、(処理A)乃至(処理C)のうち、次数Mを次数M´に低減可能な処理を選択する、
    請求項に記載の情報処理システム。
  6. (処理A)乃至(処理C)の各々の選択される優先順位は、(処理C)、(処理B)及び(処理A)の順に高い、
    請求項に記載の情報処理システム。
  7. (処理A)乃至(処理C)の各々の選択される優先順位は、変換後のモデルのスピン数でありアニーリングマシンのメモリ使用量である要求スピン数の少ない順に高い、
    請求項に記載の情報処理システム。
  8. 前記第1のインターフェース部は、相互作用モデルにおける一つ以上の割当状態変数の一つ以上の係数値に影響しない情報であり前記縮約処理において使用され次数Mの数理モデルの制約条件を表す情報である係数非影響情報を更に受け付け、
    前記入力決定部は、前記係数非影響情報を利用して前記縮約処理を行う、
    請求項に記載の情報処理システム。
  9. 前記アニーリングマシンを更に備え、
    前記アニーリングマシンが、前記提供された相互作用モデル及び値セットを読み込み、当該相互作用モデルを、当該値セットを用いて演算することにより、前記割当問題を解き、前記割当問題の最適解を表す処理結果情報を出力する、
    請求項1に記載の情報処理システム。
  10. コンピュータが、割当対象の数α(αは自然数)を表す情報割当対象数情報と、割当先の数β(βは自然数)を表す割当先数情報と、一つの割当先に割り当て可能な割当対象の数の上限である許容数L(Lは自然数)とを受け付け、
    コンピュータが、αの割当対象をβの割当先に割り当てる割当問題の数理モデルの次数に該当しLに従うM(Mは自然数)が所定値以下か否かの判定である次数判定を行い、
    コンピュータが、前記次数判定の結果が偽の場合、Mより小さい次数M´を決定する縮約処理を行い、当該縮約処理において決定された次数M´での数理モデルと、α及びβとを基に、相互作用モデルを演算することで割当問題を解くためのアクセラレータであるアニーリングマシン向けの相互作用モデルと、当該相互作用モデルの演算に使用される値のセットである値セットを決定し、
    コンピュータが、前記決定された相互作用モデル及び値セットを提供する、
    情報処理方法。
JP2022542566A 2020-08-14 2020-08-14 割当問題を解くことを支援する情報処理システム及び方法 Active JP7461482B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/030896 WO2022034687A1 (ja) 2020-08-14 2020-08-14 割当問題を解くことを支援する情報処理システム及び方法

Publications (2)

Publication Number Publication Date
JPWO2022034687A1 JPWO2022034687A1 (ja) 2022-02-17
JP7461482B2 true JP7461482B2 (ja) 2024-04-03

Family

ID=80247090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022542566A Active JP7461482B2 (ja) 2020-08-14 2020-08-14 割当問題を解くことを支援する情報処理システム及び方法

Country Status (3)

Country Link
JP (1) JP7461482B2 (ja)
AU (1) AU2020462915B2 (ja)
WO (1) WO2022034687A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018571A1 (ja) * 2022-07-20 2024-01-25 株式会社日立製作所 情報処理装置および処理条件決定システム

Citations (1)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (ja) 2022-02-17
WO2022034687A1 (ja) 2022-02-17
AU2020462915B2 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
CN112561077B (zh) 多任务模型的训练方法、装置及电子设备
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
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 (ja) 計算機システム、推論方法、及びプログラム
WO2020246073A1 (en) Information processing device, pubo solver, information processing method and non-transitory storage medium
CN116070557A (zh) 使用强化学习的数据路径电路设计
US12099904B2 (en) Uniform artificial intelligence model conversion
JP7461482B2 (ja) 割当問題を解くことを支援する情報処理システム及び方法
CN118747534A (zh) 基于大模型的提示词优化方法及相关设备
WO2022089421A1 (en) ReLU COMPRESSION TO REDUCE GPU MEMORY
CN112561500A (zh) 基于用户数据的薪酬数据生成方法、装置、设备及介质
WO2024045175A1 (en) Optimization of executable graph for artificial intelligence model inference
WO2023066716A1 (en) Risk assessment of a container build
CN115827225A (zh) 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质
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 (zh) 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置
US20240248716A1 (en) Predictive Dead Store Elimination
US11775317B2 (en) Locate neural network performance hot spots
JP2024536975A (ja) ビット・スキッピングを用いたアナログ対デジタル変換装置、デバイス、および方法
CN121008936B (zh) 基于混合模型的云桌面资源动态分配方法、装置以及设备
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