JP7513198B2 - 関数変換装置、関数変換方法、およびプログラム - Google Patents
関数変換装置、関数変換方法、およびプログラム Download PDFInfo
- Publication number
- JP7513198B2 JP7513198B2 JP2023514268A JP2023514268A JP7513198B2 JP 7513198 B2 JP7513198 B2 JP 7513198B2 JP 2023514268 A JP2023514268 A JP 2023514268A JP 2023514268 A JP2023514268 A JP 2023514268A JP 7513198 B2 JP7513198 B2 JP 7513198B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- multivariate
- variables
- polynomial
- multivariable
- 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
- 238000006243 chemical reaction Methods 0.000 title claims description 37
- 238000000034 method Methods 0.000 title description 34
- 230000009466 transformation Effects 0.000 claims description 31
- 238000011426 transformation method Methods 0.000 claims 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 154
- 239000013598 vector Substances 0.000 description 51
- 238000005457 optimization Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 9
- 238000000137 annealing Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- HMUNWXXNJPVALC-UHFFFAOYSA-N 1-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)C(CN1CC2=C(CC1)NN=N2)=O HMUNWXXNJPVALC-UHFFFAOYSA-N 0.000 description 1
- LDXJRKWFNNFDSA-UHFFFAOYSA-N 2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-1-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]ethanone Chemical compound C1CN(CC2=NNN=C21)CC(=O)N3CCN(CC3)C4=CN=C(N=C4)NCC5=CC(=CC=C5)OC(F)(F)F LDXJRKWFNNFDSA-UHFFFAOYSA-N 0.000 description 1
- YLZOPXRUQYQQID-UHFFFAOYSA-N 3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-1-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]propan-1-one Chemical compound N1N=NC=2CN(CCC=21)CCC(=O)N1CCN(CC1)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F YLZOPXRUQYQQID-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Description
本発明は、制約条件付き多変数関数を多変数多項式に変換する技術に関する。
現在広く利用されているノイマン型コンピュータでは、組合せ最適化問題を効率的に解くことが難しいとされている。そこで、近年、組合せ最適化問題をノイマン型コンピュータよりも効率的に解くことが可能な計算機である、量子アニーリングマシンやイジングマシンなどの研究開発が進められている。
これらの新たな計算機は、対象とする組合せ最適化問題の目的関数をQUBO(Quadratic Unconstrained Binary Optimization)の目的関数やそれと等価なイジングハミルトニアンとして表現した最適化関数を入力とし、高速にその問題の解を計算することができる。組合せ最適化問題の目的関数は、例えば、組合せ最適化問題としての有効な解を表現するための制約条件関数と、有効な解の中でより適した解を表現するためのコスト関数とを加算した制約条件付き多変数関数である。例えば、制約条件関数は、有効な解のときにゼロ、無効な解のときに大きな値を取る形式で表現され、コスト関数は、制約条件関数に比べて小さな値で解の評価を表す。
QUBOの目的関数やそれと等価なイジングハミルトニアンは0か1を取る二値変数(0-1変数)に関する多変数2次多項式であるが、0-1変数に関する任意の多変数多項式をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する手法が存在する(例えば、非特許文献1および2等参照)。
Nike Dattani,"Quadratization in Discrete Optimization and Quantum Mechanics",[online],arXiv:1901.04405v2 [quant-ph] 23 Sep 2019,[2021年3月30日検索],インターネット<https://arxiv.org/pdf/1901.04405.pdf>
Endre Boros, Yves Crama, Elisabeth Rodriguez-Heck,"Quadratizations of symmetric pseudo-Boolean functions: sub-linear bounds on the number of auxiliary variables",[online],International Symposium on Artificial Intelligence and Mathematics (ISAIM 2018),4-Jan-2018,[2021年3月30日検索],インターネット<https://orbi.uliege.be/handle/2268/220766>
上述のように、量子アニーリングマシンやイジングマシンなどを用いて組み合わせ最適化問題を解くには、その問題の目的関数をQUBOの目的関数やそれと等価なイジングハミルトニアンの形式で表現する必要があるが、この表現は自明なものではない。すなわち、前述のように0-1変数に関する任意の多変数多項式をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する手法が存在する。しかしながら、組み合わせ最適化問題の目的関数を表す、0-1変数に関する任意の制約条件付き多変数関数を、0-1変数に関する次数の多変数多項式に変換する手法は知られていない。特に、有理関数、指数関数、または対数関数のような加減乗算でない形式で定義された制約条件付き多変数関数については、多項式としての表現を直接得ることはできない。
このような問題は、組み合わせ最適化問題を量子コンピュータで解くための最適化関数を生成する場合のみならず、任意の制約条件付き多変数関数を多変数多項式に変換する際に共通するものである。
本発明はこのような点に鑑みてなされたものであり、任意の制約条件付き多変数関数を多変数多項式に変換する技術を提供することを目的とする。
N個の変数x1,…,xNに関する任意の制約条件付き多変数関数f(x1,…,xN)を、変数x1,…,xNに関する多変数多項式q(x1,…,xN)に変換する。Nは1以上の整数とする。、変換部は、制約条件付き多変数関数f(x1,…,xN)を入力とし、多変数多項式q(x1,…,xN)を出力する。このときq(x1,…,xN)は、f’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせたものとして表現される。このときP(s1,…,sN,x1,…,xN)は、(s1,…,sN)=(x1,…,xN)のときに1を、(s1,…,sN)≠(x1,…,xN)のときに0をとる関数であり、s1,…,sNはN個の変数である。また、f’(s1,…,sN)は(x1,…,xN)が制約条件を満たすときにf(x1,…,xN)を、(x1,…,xN)が制約条件を満たさないときにf”(x1,…,xN)をとる多変数関数である。ただし、多変数多項式q(x1,…,xN)の項数は、f(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない。
以上のように、本発明では、任意の多変数関数を多変数多項式に変換することができる。
以下、図面を参照して本発明の実施形態を説明する。
[原理]
まず、各実施形態の原理を説明する。
各実施形態では、N個の変数x1,…,xNに関する任意の多変数関数f(x1,…,xN)を、変数x1,…,xNに関する多変数多項式g(x1,…,xN)に変換する。ここでNは1以上の整数である。また、変数x1,…,xNはどのようなものであってもよいが、例えば、変数x1,…,xNのそれぞれは二値変数xi∈{b0,b1}であり、b0≠b1である。ただし、i=1,…,Nである。特に、二値変数xiが0-1変数である場合、b0=0であり、b1=1である。各変数xiについて取り得る値がiごとに個別に設定されてもよい。例えば、変数x1,…,xNのそれぞれが二値変数xi∈{b0,i,b1,i}であり、各{b0,i,b1,i}がiにより異なっていてもよい。特に、二値変数xiが0-1変数である場合、(b0,i,b1,i)=(0,1)であるか(b0,i,b1,i)=(1,0)であるかが、iにより異なっていてもよい。
[原理]
まず、各実施形態の原理を説明する。
各実施形態では、N個の変数x1,…,xNに関する任意の多変数関数f(x1,…,xN)を、変数x1,…,xNに関する多変数多項式g(x1,…,xN)に変換する。ここでNは1以上の整数である。また、変数x1,…,xNはどのようなものであってもよいが、例えば、変数x1,…,xNのそれぞれは二値変数xi∈{b0,b1}であり、b0≠b1である。ただし、i=1,…,Nである。特に、二値変数xiが0-1変数である場合、b0=0であり、b1=1である。各変数xiについて取り得る値がiごとに個別に設定されてもよい。例えば、変数x1,…,xNのそれぞれが二値変数xi∈{b0,i,b1,i}であり、各{b0,i,b1,i}がiにより異なっていてもよい。特に、二値変数xiが0-1変数である場合、(b0,i,b1,i)=(0,1)であるか(b0,i,b1,i)=(1,0)であるかが、iにより異なっていてもよい。
第1実施形態では、N個の変数s1,…,sNを要素とするベクトル(s1,…,sN)のそれぞれについて、当該ベクトル(s1,…,sN)およびN個の変数x1,…,xNを要素とするベクトル(x1,…,xN)が(s1,…,sN)=(x1,…,xN)を満たすときにP(s1,…,sN,x1,…,xN)=1となり、(s1,…,sN)≠(x1,…,xN)を満たすときにP(s1,…,sN,x1,…,xN)=0となる多項式P(s1,…,sN,x1,…,xN)を定義し、それらを組み合わせることで上記の変換を実現する。すなわち、各ベクトル(s1,…,sN)についての多項式P(s1,…,sN,x1,…,xN)は、(s1,…,sN)=(x1,…,xN)となる変数x1,…,xNが入力された場合に1となり、それ以外の場合に0となる。この多項式P(s1,…,sN,x1,…,xN)を単位多項式と呼ぶことにする。ここで、変数s1,…,sNはどのようなものであってもよいが、例えば、変数s1,…,sNのそれぞれは二値変数si∈{b0,b1}である。特に、二値変数siが0-1変数である場合、b0=0であり、b1=1である。
二値変数xiおよびsi(ただし、i=1,…,N)が0-1変数である場合の単位多項式P(s1,…,sN,x1,…,xN)を例示する。まず、が0-1変数xiについて、変数xiの否定形を以下のように定義する。
xi -=1-xi
なお、xi -の右上添え字の「-」は本来「xi」の真上に記載されるべきであるが、記載表記の制約上、「xi」の右上に記載する場合がある。
次に、0-1変数xiおよびsiについて、以下の演算(+)を定義する。
すなわち、si=1のときxi(+)si=xiであり、si=0のときxi(+)si=xi -である。このとき、各ベクトル(s1,…,sN)についての単位多項式P(s1,…,sN,x1,…,xN)は以下のようになる。
P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si) (2)
=(x1(+)s1)…(xN(+)sN)
この多項式P(s1,…,sN,x1,…,xN)は、(s1,…,sN)=(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=1となり、(s1,…,sN)≠(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=0となる。
xi -=1-xi
なお、xi -の右上添え字の「-」は本来「xi」の真上に記載されるべきであるが、記載表記の制約上、「xi」の右上に記載する場合がある。
次に、0-1変数xiおよびsiについて、以下の演算(+)を定義する。
すなわち、si=1のときxi(+)si=xiであり、si=0のときxi(+)si=xi -である。このとき、各ベクトル(s1,…,sN)についての単位多項式P(s1,…,sN,x1,…,xN)は以下のようになる。
P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si) (2)
=(x1(+)s1)…(xN(+)sN)
この多項式P(s1,…,sN,x1,…,xN)は、(s1,…,sN)=(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=1となり、(s1,…,sN)≠(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=0となる。
入力となる多変数関数f(x1,…,xN)は部分関数であってもよい。すなわち、多変数関数f(x1,…,xN)の定義域dxは変数xi上のすべての組み合わせを含まなくてもよい。この場合、単位多項式P(s1,…,sN,x1,…,xN)は、少なくともベクトル(x1,…,xN)の定義域dxに属する各ベクトル(s1,…,sN)∈dxについて設定すればよい。すなわち、少なくとも一部のベクトル(s1,…,sN)(s1,…,sNの列)について単位多項式f(s1,…,sN)が設定されればよい。また定義域dxがベクトル(x1,…,xN)の全領域(全空間)uxである場合、すべてのベクトル(s1,…,sN)∈uxについて単位多項式f(s1,…,sN)が設定される。例えば、二値変数xiおよびsiが0-1変数であり、定義域dxがベクトル(x1,…,xN)の全領域である場合、定義域dxには2N通りのベクトル(x1,…,xN)が存在する。この場合には2N通りのベクトル(s1,…,sN)∈{0,1}Nについて、それぞれ単位多項式f(s1,…,sN)が設定される。
この前提のもと、第1実施形態の変換部は、変換対象の多変数関数f(x1,…,xN)を入力とし、少なくとも定義域dxに属するベクトル(s1,…,sN)∈dx(少なくとも一部の組(s1,…,sN))についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力する。例えば、変換部は、以下の式(3)で得られる多変数多項式g(x1,…,xN)を出力する。
この多変数多項式g(x1,…,xN)は、少なくとも定義域dxに属するベクトル(x1,…,xN)において、g(x1,…,xN)=f(x1,…,xN)の関係を満たす。すなわち、少なくとも定義域dxにおいて、変換対象の多変数関数f(x1,…,xN)と同一の値を返す多変数多項式g(x1,…,xN)を生成することができる。式(2)の単位多項式P(s1,…,sN,x1,…,xN)を用いる場合、式(3)は、例えば、以下の式(4)のようになる。
ただし、si,xi∈{0,1}である。
この多変数多項式g(x1,…,xN)は、少なくとも定義域dxに属するベクトル(x1,…,xN)において、g(x1,…,xN)=f(x1,…,xN)の関係を満たす。すなわち、少なくとも定義域dxにおいて、変換対象の多変数関数f(x1,…,xN)と同一の値を返す多変数多項式g(x1,…,xN)を生成することができる。式(2)の単位多項式P(s1,…,sN,x1,…,xN)を用いる場合、式(3)は、例えば、以下の式(4)のようになる。
ただし、si,xi∈{0,1}である。
特に定義域dxがベクトル(x1,…,xN)の全領域uxである場合、変換部は、すべてのベクトル(s1,…,sN)∈ux(すべての組(s1,…,sN))についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力する。すなわち変換部は、以下の式(5)で得られる多変数多項式g(x1,…,xN)を出力する。
この多変数多項式g(x1,…,xN)は、すべてのベクトル(x1,…,xN)∈uxにおいて、g(x1,…,xN)=f(x1,…,xN)の関係を満たす。すなわち、すべての入力に対して変換対象の多変数関数f(x1,…,xN)と同一の値を返す多変数多項式g(x1,…,xN)を生成することができる。式(2)の単位多項式P(s1,…,sN,x1,…,xN)を用いる場合、式(5)は以下の式(6)のようになる。
この多変数多項式g(x1,…,xN)は、すべてのベクトル(x1,…,xN)∈uxにおいて、g(x1,…,xN)=f(x1,…,xN)の関係を満たす。すなわち、すべての入力に対して変換対象の多変数関数f(x1,…,xN)と同一の値を返す多変数多項式g(x1,…,xN)を生成することができる。式(2)の単位多項式P(s1,…,sN,x1,…,xN)を用いる場合、式(5)は以下の式(6)のようになる。
このように得られた多変数多項式g(x1,…,xN)は、例えば、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
しかしながら、上述のようにN個の変数x1,…,xNに関する任意の多変数関数f(x1,…,xN)から変換された多変数多項式g(x1,…,xN)には多くの単項式が含まれる。例えば、変数x1,…,xNが二値変数である場合、多変数多項式g(x1,…,xN)には2N個の最大N次の単項式が出現する。非特許文献1および2等に記載された方法によって、多変数多項式g(x1,…,xN)をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する場合、多変数多項式g(x1,…,xN)に含まれる単項式1つについて追加変数が1つ以上追加される。したがって、この変換にはO(2N)個の追加変数が追加されてしまう。そのため、第1実施形態では、変数の種類Nに対して指数的に増加する追加変数が必要となる。現在提供されている、量子アニーリングマシンやイジングマシンでは入力可能な変数の個数が限られているため、追加変数の爆発的な増加は入力可能な問題サイズを大きく制限してしまうという。
このような問題は量子アニーリングマシンやイジングマシンで組合せ最適化問題を解く場合に限定されるものではない。すなわち、多項式の項数の増加は演算に必要なリソースの増加につながるものであり、多項式の項数の増加はどのような演算においても好ましくない。
このような点に鑑み、第2実施形態では、N個の変数x1,…,xNに関する任意の多変数関数f(x1,…,xN)を、上述の多変数多項式g(x1,…,xN)よりも項数の小さな(含まれる単項式の個数が少ない)多変数多項式q(x1,…,xN)に変換する方式を示す。ただし、第2実施形態では、多変数関数f(x1,…,xN)が制約条件を含む制約条件付き多変数関数であることを前提とする。すなわち、多変数関数f(x1,…,xN)が制約条件付き多変数関数である場合、特定の制約条件を満たす(x1,…,xN)は有効であるが、当該制約条件を満たさない(x1,…,xN)は無効である。例えば、組合せ最適化問題の目的関数やそれに対応するQUBOの目的関数やイジングハミルトニアンは、組合せ最適化問題として有効な解を表現するための制約条件関数と、有効な解の中でより適した解を表現するためのコスト関数とを加算したものとなる。例えば、制約条件関数は、有効な解(制約条件を満たす(x1,…,xN))のときにゼロ、無効な解(制約条件を満たさない(x1,…,xN))のときに大きな値を取り、コスト関数は、制約条件関数に比べて小さな値で解の評価を表す。組合せ最適化問題の解は、このような目的関数やイジングハミルトニアンを最小化するように求められる。この場合、無効な解(制約条件を満たさない(x1,…,xN))に対する制約条件関数の値は大きくなり、コスト関数の値は意味をなさない。制約条件を満たさない(x1,…,xN)に対する制約条件付き多変数関数f(x1,…,xN)の値は意味をなさず、このような制約条件付き多変数関数f(x1,…,xN)の値にはどのような値を設定しても実用上問題ない。例えば、制約条件付き多変数関数f(x1,…,xN)がコスト関数Cost(x1,x2,x3)および制約条件関数Constraint(x1,x2,x3)の和で表され、制約条件関数が表す制約条件が「x1,x2,x3のうち、2つが1」である場合を考える。このような制約条件付き多変数関数f(x1,…,xN)から変換された多変数関数g(x1,x2,x3)のうち、以下の下線が付されたコスト関数値にはどのような値を設定してもよい。
g(x1,x2,x3)
=Cost(0,0,0)x1 -x2 -x3 -+Cost(0,0,1)x1 -x2 -x3+Cost(0,1,0)x1 -x2x3 -+Cost(0,1,1)x1 -x2x3+Cost(1,0,0)x1x2 -x3 -+Cost(1,0,1)x1x2 -x3+Cost(1,1,0)x1x2x3 -+Cost(1,1,1)x1x2x3+Constraint(x1,x2,x3)
このような条件のもと、実用上問題のない多変数関数f(x1,…,xN)の値を変更し、多変数多項式q(x1,…,xN)を展開した際の項数(xiに関する項および定数項の合計数)が、多変数多項式g(x1,…,xN)を展開した際の項数(xiに関する項および定数項の合計数)よりも少なくする。
g(x1,x2,x3)
=Cost(0,0,0)x1 -x2 -x3 -+Cost(0,0,1)x1 -x2 -x3+Cost(0,1,0)x1 -x2x3 -+Cost(0,1,1)x1 -x2x3+Cost(1,0,0)x1x2 -x3 -+Cost(1,0,1)x1x2 -x3+Cost(1,1,0)x1x2x3 -+Cost(1,1,1)x1x2x3+Constraint(x1,x2,x3)
このような条件のもと、実用上問題のない多変数関数f(x1,…,xN)の値を変更し、多変数多項式q(x1,…,xN)を展開した際の項数(xiに関する項および定数項の合計数)が、多変数多項式g(x1,…,xN)を展開した際の項数(xiに関する項および定数項の合計数)よりも少なくする。
すなわち、第2実施形態でも、N個の変数s1,…,sNを要素とするベクトル(s1,…,sN)のそれぞれについて、当該ベクトル(s1,…,sN)およびN個の変数x1,…,xNを要素とするベクトル(x1,…,xN)が(s1,…,sN)=(x1,…,xN)を満たすときにP(s1,…,sN,x1,…,xN)=1となり、(s1,…,sN)≠(x1,…,xN)を満たすときにP(s1,…,sN,x1,…,xN)=0となる多項式P(s1,…,sN,x1,…,xN)を定義し、それらを組み合わせることで変換を実現するが、以下の点で第1実施形態と相違する。すなわち、第2実施形態の変換部は、制約条件付き多変数関数f(x1,…,xN)を入力とし、制約条件を満たすベクトル(組)(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf(s1,…,sN)とし、制約条件を満たさないベクトル(組)(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf”(s1,…,sN)とし、少なくとも定義域dxに属するベクトル(s1,…,sN)∈dx(少なくとも一部の組(s1,…,sN))についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力する。ただし、多変数多項式q(x1,…,xN)の項数は、上述した少なくとも定義域dxに属するベクトル(s1,…,sN)∈dx(少なくとも一部の組(s1,…,sN))についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない。
特に定義域dxがベクトル(x1,…,xN)の全領域uxである場合、変換部は、制約条件付き多変数関数f(x1,…,xN)を入力とし、すべてのベクトル(s1,…,sN)∈ux(すべての組(s1,…,sN))についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力する。ただし、多変数多項式q(x1,…,xN)の項数は、すべてのベクトル(s1,…,sN)∈ux(すべての組(s1,…,sN))についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない。
例えば、第2実施形態の変換部は、前述した式(3)-(6)の何れかのf(s1,…,sN)をf’(s1,…,sN)に置換した式に従って、多変数多項式q(x1,…,xN)を得て出力する。
特に、変数x1,…,xNおよび変数s1,…,sNが0-1変数である場合、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、定義域dxがベクトル(x1,…,xN)の全領域uxである場合、f”(s1,…,sN)は以下の式(7)によって再帰的に定義される。これにより、多項式の項数が制約条件を満たす(x1,…,xN)の個数(例えば、有効な解の個数)にまで削減される。
このように得られた多変数多項式q(x1,…,xN)も、例えば、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
[第1実施形態]
次に、第1実施形態を説明する。以降、説明済の事項については同じ記号を用いて説明を省略する。
<構成>
図1Aに例示するように、本実施形態の関数変換装置1は、変換部10、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部10は、多変数関数値生成部11および多変数多項式生成部12を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部12は乗算部121および加算部122を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
次に、第1実施形態を説明する。以降、説明済の事項については同じ記号を用いて説明を省略する。
<構成>
図1Aに例示するように、本実施形態の関数変換装置1は、変換部10、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部10は、多変数関数値生成部11および多変数多項式生成部12を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部12は乗算部121および加算部122を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
<処理>
本実施形態の関数変換処理を例示する。
関数変換装置1の変換部10には、変換対象の多変数関数f(x1,…,xN)が入力される。多変数関数f(x1,…,xN)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x1,…,xN)が入力される。また、多変数関数f(x1,…,xN)の定義域dxも変換部10に入力されてもよい。しかし、定義域dxが関数変換装置1に入力されなくてもよい。例えば、定義域dxが全領域uxの場合や定義域dxが既知の場合には、定義域dxの入力が省略可能である。
本実施形態の関数変換処理を例示する。
関数変換装置1の変換部10には、変換対象の多変数関数f(x1,…,xN)が入力される。多変数関数f(x1,…,xN)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x1,…,xN)が入力される。また、多変数関数f(x1,…,xN)の定義域dxも変換部10に入力されてもよい。しかし、定義域dxが関数変換装置1に入力されなくてもよい。例えば、定義域dxが全領域uxの場合や定義域dxが既知の場合には、定義域dxの入力が省略可能である。
変換部10は、少なくとも一部のベクトル(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力する。変換部10は、例えば、少なくとも定義域dxに属するベクトル(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力してもよい。
図2を用いて、本実施形態の関数変換処理を例示する。
変換部10の多変数関数値生成部11には、多変数関数f(x1,…,xN)が入力される。定義域dxが入力される場合には、この定義域dxも多変数関数値生成部11に入力される。多変数関数値生成部11は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についての多変数関数値f(s1,…,sN)を得て出力する。例えば、多変数関数値生成部11は、少なくとも定義域dxに属するベクトル(s1,…,sN)について多変数関数値f(s1,…,sN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)について多変数関数値f(s1,…,sN)を得て出力してもよい(ステップS11)。
変換部10の多変数関数値生成部11には、多変数関数f(x1,…,xN)が入力される。定義域dxが入力される場合には、この定義域dxも多変数関数値生成部11に入力される。多変数関数値生成部11は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についての多変数関数値f(s1,…,sN)を得て出力する。例えば、多変数関数値生成部11は、少なくとも定義域dxに属するベクトル(s1,…,sN)について多変数関数値f(s1,…,sN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)について多変数関数値f(s1,…,sN)を得て出力してもよい(ステップS11)。
ステップS11で得られた多変数関数値f(s1,…,sN)は多変数多項式生成部12に入力される。多変数多項式生成部12は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力する。例えば、多変数多項式生成部12は、少なくとも定義域dxに属するベクトル(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)を得て出力してもよい。例えば、多変数多項式生成部12は、前述した式(3)-(6)の何れかに従って多変数多項式g(x1,…,xN)を生成して出力する。また、多変数多項式g(x1,…,xN)の計算過程に限定はないが、例えば、乗算部121(図1B)がf(s1,…,sN)とP(s1,…,sN,x1,…,xN)とを入力としてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を得、加算部122が得られたf(s1,…,sN)P(s1,…,sN,x1,…,xN)を累積的に加算するか、まとめて加算して多変数多項式g(x1,…,xN)を得て出力する(ステップS12)。
<具体例1>
以下に、N=3であり、変数si及びxiが0-1変数である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)
変換された多変数多項式:
g(x1,x2,x3)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2+
(f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x1x2x3
以下に、N=3であり、変数si及びxiが0-1変数である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)
変換された多変数多項式:
g(x1,x2,x3)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2+
(f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x1x2x3
<本実施形態の特徴>
上述のように得られた多変数多項式g(x1,…,xN)は、少なくとも定義域dxに属するベクトル(x1,…,xN)において、変換対象の任意の多変数関数f(x1,…,xN)と等しくなる。定義域dxが全領域uxであれば、すべてのベクトル(x1,…,xN)においてg(x1,…,xN)=f(x1,…,xN)となる。このように、本実施形態では、任意の多変数関数f(x1,…,xN)を多変数多項式g(x1,…,xN)に変換することができる。
上述のように得られた多変数多項式g(x1,…,xN)は、少なくとも定義域dxに属するベクトル(x1,…,xN)において、変換対象の任意の多変数関数f(x1,…,xN)と等しくなる。定義域dxが全領域uxであれば、すべてのベクトル(x1,…,xN)においてg(x1,…,xN)=f(x1,…,xN)となる。このように、本実施形態では、任意の多変数関数f(x1,…,xN)を多変数多項式g(x1,…,xN)に変換することができる。
[第2実施形態]
次に、第2実施形態を説明する。
<構成>
図1Aに例示するように、本実施形態の関数変換装置2は、変換部20、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部20は、多変数関数値生成部21および多変数多項式生成部22を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部22は乗算部221および加算部222を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
次に、第2実施形態を説明する。
<構成>
図1Aに例示するように、本実施形態の関数変換装置2は、変換部20、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部20は、多変数関数値生成部21および多変数多項式生成部22を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部22は乗算部221および加算部222を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
<処理>
本実施形態の関数変換処理を例示する。
関数変換装置2の変換部20には、変換対象の制約条件付き多変数関数f(x1,…,xN)が入力される。制約条件付き多変数関数f(x1,…,xN)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x1,…,xN)が入力される。また、多変数関数f(x1,…,xN)の定義域dxも変換部20に入力されてもよい。しかし、定義域dxが関数変換装置2に入力されなくてもよい。例えば、定義域dxが全領域uxの場合や定義域dxが既知の場合には、定義域dxの入力が省略可能である。
本実施形態の関数変換処理を例示する。
関数変換装置2の変換部20には、変換対象の制約条件付き多変数関数f(x1,…,xN)が入力される。制約条件付き多変数関数f(x1,…,xN)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x1,…,xN)が入力される。また、多変数関数f(x1,…,xN)の定義域dxも変換部20に入力されてもよい。しかし、定義域dxが関数変換装置2に入力されなくてもよい。例えば、定義域dxが全領域uxの場合や定義域dxが既知の場合には、定義域dxの入力が省略可能である。
変換部20は、制約条件を満たす組(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf(s1,…,sN)とし、制約条件を満たさないベクトル(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf”(s1,…,sN)とし、少なくとも一部のベクトル(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力する。変換部20は、例えば、少なくとも定義域dxに属するベクトル(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力してもよい。このように得られたq(x1,…,xN)は、制約条件を満たす組(x1,…,xN)について、q(x1,…,xN)=f(x1,…,xN)を満たす。
図2を用いて、本実施形態の関数変換処理を例示する。
変換部20の多変数関数値生成部21には、制約条件付き多変数関数f(x1,…,xN)が入力される。定義域dxが入力される場合には、この定義域dxも多変数関数値生成部21に入力される。多変数関数値生成部21は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についての多変数関数値f’(s1,…,sN)を得て出力する。前述のように、制約条件を満たすベクトル(x1,…,xN)と同一の(s1,…,sN)についてはf’(s1,…,sN)=f(s1,…,sN)であり、制約条件を満たさないベクトル(x1,…,xN)と同一の(s1,…,sN)についてはf’(s1,…,sN)=f”(s1,…,sN)である。変数x1,…,xNおよび変数s1,…,sNが0-1変数である場合、f”(s1,…,sN)は式(7)によって再帰的に定義される。例えば、多変数関数値生成部21は、少なくとも定義域dxに属するベクトル(s1,…,sN)について多変数関数値f’(s1,…,sN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)について多変数関数値f’(s1,…,sN)を得て出力してもよい(ステップS21)。
変換部20の多変数関数値生成部21には、制約条件付き多変数関数f(x1,…,xN)が入力される。定義域dxが入力される場合には、この定義域dxも多変数関数値生成部21に入力される。多変数関数値生成部21は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についての多変数関数値f’(s1,…,sN)を得て出力する。前述のように、制約条件を満たすベクトル(x1,…,xN)と同一の(s1,…,sN)についてはf’(s1,…,sN)=f(s1,…,sN)であり、制約条件を満たさないベクトル(x1,…,xN)と同一の(s1,…,sN)についてはf’(s1,…,sN)=f”(s1,…,sN)である。変数x1,…,xNおよび変数s1,…,sNが0-1変数である場合、f”(s1,…,sN)は式(7)によって再帰的に定義される。例えば、多変数関数値生成部21は、少なくとも定義域dxに属するベクトル(s1,…,sN)について多変数関数値f’(s1,…,sN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)について多変数関数値f’(s1,…,sN)を得て出力してもよい(ステップS21)。
ステップS21で得られた多変数関数値f’(s1,…,sN)は多変数多項式生成部22に入力される。多変数多項式生成部22は、少なくとも一部のベクトル(s1,…,sN)(組(s1,…,sN))についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力する。例えば、変数x1,…,xNおよび変数s1,…,sNが0-1変数である場合、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)である。例えば、多変数多項式生成部22は、少なくとも定義域dxに属するベクトル(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力してもよいし、すべてのベクトル(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式q(x1,…,xN)を得て出力してもよい。例えば、多変数多項式生成部22は、前述した式(3)-(6)の何れかのf(s1,…,sN)をf’(s1,…,sN)に置換した式に従って多変数多項式q(x1,…,xN)を生成して出力する。また、多変数多項式q(x1,…,xN)の計算過程に限定はないが、例えば、乗算部221(図1B)がf’(s1,…,sN)とP(s1,…,sN,x1,…,xN)とを用いてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を得、加算部222が得られたf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を累積的に加算するか、まとめて加算して多変数多項式q(x1,…,xN)を得て出力する(ステップS22)。
<具体例2-1>
以下に、N=3であり、変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「x1,x2,x3のうち、2つが1」である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)
多変数関数値:
f’(0,0,0)=0
f’(0,0,1)=f’(0,0,0)=0
f’(0,1,0)=f’(0,0,0)=0
f’(1,0,0)=f’(0,0,0)=0
f’(0,1,1)=f(0,1,1)
f’(1,0,1)=f(1,0,1)
f’(1,1,0)=f(1,1,0)
f’(1,1,1)=f’(0,1,1)+f’(1,0,1)+f’(1,1,0)-f’(0,0,1)-f’(0,1,0)-f’(1,0,0)+f’(0,0,0)=f(0,1,1)+f(1,0,1)+f(1,1,0)
変換された多変数多項式:
q(x1,x2,x3)
=f’(0,0,0)x1 -x2 -x3 -+f’(0,0,1)x1 -x2 -x3+f’(0,1,0)x1 -x2x3 -+f’(0,1,1)x1 -x2x3+f’(1,0,0)x1x2 -x3 -+f’(1,0,1)x1x2 -x3+f’(1,1,0)x1x2x3 -+f’(1,1,1)x1x2x3
=f’(0,0,0)+
(f’(0,0,1)-f’(0,0,0))x3+
(f’(0,1,0)-f’(0,0,0))x2+
(f’(1,0,0)-f’(0,0,0))x1+
(f’(0,1,1)-f’(0,1,0)-f’(0,0,1)+f’(0,0,0))x2x3+
(f’(1,0,1)-f’(1,0,0)-f’(0,0,1)+f’(0,0,0))x1x3+
(f’(1,1,0)-f’(1,0,0)-f’(0,1,0)+f’(0,0,0))x1x2+
(f’(1,1,1)-f’(1,1,0)-f’(1,0,1)-f’(0,1,1)+
f’(1,0,0)+f’(0,1,0)+f’(0,0,1)-f’(0,0,0))x1x2x3
=f(0,1,1)x2x3+f(1,0,1)x1x3+f(1,1,0)x1x2
このように、q(x1,x2,x3)の項数が制約条件を満たす(x1,…,xN)の個数(例えば、有効な解の個数)にまで削減される。また、このように得られたq(x1,x2,x3)は、制約条件を満たす組(x1,x2,x3)について、q(x1,x2,x3)=f(x1,x2,x3)を満たす。
以下に、N=3であり、変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「x1,x2,x3のうち、2つが1」である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)
多変数関数値:
f’(0,0,0)=0
f’(0,0,1)=f’(0,0,0)=0
f’(0,1,0)=f’(0,0,0)=0
f’(1,0,0)=f’(0,0,0)=0
f’(0,1,1)=f(0,1,1)
f’(1,0,1)=f(1,0,1)
f’(1,1,0)=f(1,1,0)
f’(1,1,1)=f’(0,1,1)+f’(1,0,1)+f’(1,1,0)-f’(0,0,1)-f’(0,1,0)-f’(1,0,0)+f’(0,0,0)=f(0,1,1)+f(1,0,1)+f(1,1,0)
変換された多変数多項式:
q(x1,x2,x3)
=f’(0,0,0)x1 -x2 -x3 -+f’(0,0,1)x1 -x2 -x3+f’(0,1,0)x1 -x2x3 -+f’(0,1,1)x1 -x2x3+f’(1,0,0)x1x2 -x3 -+f’(1,0,1)x1x2 -x3+f’(1,1,0)x1x2x3 -+f’(1,1,1)x1x2x3
=f’(0,0,0)+
(f’(0,0,1)-f’(0,0,0))x3+
(f’(0,1,0)-f’(0,0,0))x2+
(f’(1,0,0)-f’(0,0,0))x1+
(f’(0,1,1)-f’(0,1,0)-f’(0,0,1)+f’(0,0,0))x2x3+
(f’(1,0,1)-f’(1,0,0)-f’(0,0,1)+f’(0,0,0))x1x3+
(f’(1,1,0)-f’(1,0,0)-f’(0,1,0)+f’(0,0,0))x1x2+
(f’(1,1,1)-f’(1,1,0)-f’(1,0,1)-f’(0,1,1)+
f’(1,0,0)+f’(0,1,0)+f’(0,0,1)-f’(0,0,0))x1x2x3
=f(0,1,1)x2x3+f(1,0,1)x1x3+f(1,1,0)x1x2
このように、q(x1,x2,x3)の項数が制約条件を満たす(x1,…,xN)の個数(例えば、有効な解の個数)にまで削減される。また、このように得られたq(x1,x2,x3)は、制約条件を満たす組(x1,x2,x3)について、q(x1,x2,x3)=f(x1,x2,x3)を満たす。
<具体例2-2>
変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「N個の変数x1,…,xN中J個ちょうどが1になる(個数固定制約)」である場合の具体例を示す。ただし、Jは0以上N以下の整数である。個数固定制約はQUBOの制約に頻出するものである。制約条件が個数固定制約である場合、変換後のq(x1,…,xN)は次数がJの項のみとなり、(s1,…,sN)のうちsi=1である個数がJ未満のf’(s1,…,sN)を0にする。これにより、q(x1,…,xN)の項数はN個からJ個取る組み合わせの個数
となり、O(NJ)個となる。例えば、N=4,J=2の場合には以下のようになる。
q(x1,x2,x3,x4)
=f(0,0,1,1)x3x4+f(0,1,0,1)x2x4+f(0,1,1,0)x2x3+f(1,0,0,1)x1x4+f(1,0,1,0)x1x3+f(1,1,0,0)x1x2
変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「N個の変数x1,…,xN中J個ちょうどが1になる(個数固定制約)」である場合の具体例を示す。ただし、Jは0以上N以下の整数である。個数固定制約はQUBOの制約に頻出するものである。制約条件が個数固定制約である場合、変換後のq(x1,…,xN)は次数がJの項のみとなり、(s1,…,sN)のうちsi=1である個数がJ未満のf’(s1,…,sN)を0にする。これにより、q(x1,…,xN)の項数はN個からJ個取る組み合わせの個数
となり、O(NJ)個となる。例えば、N=4,J=2の場合には以下のようになる。
q(x1,x2,x3,x4)
=f(0,0,1,1)x3x4+f(0,1,0,1)x2x4+f(0,1,1,0)x2x3+f(1,0,0,1)x1x4+f(1,0,1,0)x1x3+f(1,1,0,0)x1x2
<具体例2-3>
変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「N個の変数x1,…,xN中J個以下が1になる(個数上限制約)」である場合の具体例を示す。個数上限制約もQUBOの制約に頻出するものである。制約条件が個数上限制約である場合、変換後のq(x1,…,xN)は次数がJ以下の項のみとなる。これにより、q(x1,…,xN)の項数は
となり、O(NJ)個となる。例えば、N=3,J=2の場合には以下のようになる。
変換された多変数多項式:
q(x1,x2,x3)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2
変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「N個の変数x1,…,xN中J個以下が1になる(個数上限制約)」である場合の具体例を示す。個数上限制約もQUBOの制約に頻出するものである。制約条件が個数上限制約である場合、変換後のq(x1,…,xN)は次数がJ以下の項のみとなる。これにより、q(x1,…,xN)の項数は
となり、O(NJ)個となる。例えば、N=3,J=2の場合には以下のようになる。
変換された多変数多項式:
q(x1,x2,x3)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2
<実験結果>
本実施形態において、変数si及びxiを0-1変数とし、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)とし、f”(s1,…,sN)を式(7)によって再帰的に定義した場合における、多変数多項式q(x1,…,xN)(3次以上)を、非特許文献1の手法によってQUBOの目的関数等に変換する際の追加変数個数の削減効果を実験によって確認した。図4にこの実験結果を示す。この実験では、第1実施形態の場合(一点鎖線)、第2実施形態において個数上限制約(J=4)を採用した場合(二点鎖線)、および第2実施形態において個数固定制約(J=4)を採用した場合(実線)を比較した。図4の横線は変数の種類数Nを表し、縦軸は追加変数の個数を表す。図4に例示するように、第2実施形態の手法の方が第1実施形態の手法よりも追加変数の個数を削減できることが分かる。
本実施形態において、変数si及びxiを0-1変数とし、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)とし、f”(s1,…,sN)を式(7)によって再帰的に定義した場合における、多変数多項式q(x1,…,xN)(3次以上)を、非特許文献1の手法によってQUBOの目的関数等に変換する際の追加変数個数の削減効果を実験によって確認した。図4にこの実験結果を示す。この実験では、第1実施形態の場合(一点鎖線)、第2実施形態において個数上限制約(J=4)を採用した場合(二点鎖線)、および第2実施形態において個数固定制約(J=4)を採用した場合(実線)を比較した。図4の横線は変数の種類数Nを表し、縦軸は追加変数の個数を表す。図4に例示するように、第2実施形態の手法の方が第1実施形態の手法よりも追加変数の個数を削減できることが分かる。
[第3実施形態]
変換対象の任意の多変数関数の一部の項のみが多変数多項式に変換されてもよい。第3実施形態では、このような例を示す。
<構成>
図3に例示するように、本実施形態の関数変換装置3は、分離部31、関数変換装置1または2、および合成部32を有する。
変換対象の任意の多変数関数の一部の項のみが多変数多項式に変換されてもよい。第3実施形態では、このような例を示す。
<構成>
図3に例示するように、本実施形態の関数変換装置3は、分離部31、関数変換装置1または2、および合成部32を有する。
<処理>
本実施形態の関数変換処理を例示する。
関数変換装置3の分離部31には、変換対象の多変数関数または制約条件付き多変数関数f(x1,…,xN)を項に含む関数が入力される。このような関数の例はf(x1,…,xN)と、変数x1,…,xN,wに関する多変数関数h(x1,…,xN,w)とを加算したf(x1,…,xN)+h(x1,…,xN,w)である。しかし、これは本発明を限定するものではない。分離部31は、f(x1,…,xN)+h(x1,…,xN,w)をf(x1,…,xN)と残りの項(例えば、h(x1,…,xN,w))とに分離し、f(x1,…,xN)を関数変換装置1または2に入力し、残りの項(例えば、h(x1,…,xN,w))を合成部32に入力する。
本実施形態の関数変換処理を例示する。
関数変換装置3の分離部31には、変換対象の多変数関数または制約条件付き多変数関数f(x1,…,xN)を項に含む関数が入力される。このような関数の例はf(x1,…,xN)と、変数x1,…,xN,wに関する多変数関数h(x1,…,xN,w)とを加算したf(x1,…,xN)+h(x1,…,xN,w)である。しかし、これは本発明を限定するものではない。分離部31は、f(x1,…,xN)+h(x1,…,xN,w)をf(x1,…,xN)と残りの項(例えば、h(x1,…,xN,w))とに分離し、f(x1,…,xN)を関数変換装置1または2に入力し、残りの項(例えば、h(x1,…,xN,w))を合成部32に入力する。
関数変換装置1または2は、第1または2実施形態で説明したように、f(x1,…,xN)を多変数多項式g(x1,…,xN)またはq(x1,…,xN)に変換して出力する。得られたg(x1,…,xN)またはq(x1,…,xN)は合成部32に入力される。
合成部32は、入力されたg(x1,…,xN)またはq(x1,…,xN)と前述した残りの項(例えば、h(x1,…,xN,w))とを加算して得られる関数(例えば、g(x1,…,xN)+h(x1,…,xN,w)またはq(x1,…,xN)+h(x1,…,xN,w))を出力する。
<具体例3-1>
以下に、N=3であり、変数si及びxiが0-1変数であり、f(x1,x2,x3)がg(x1,x2,x3)に変換される場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)+h(x1,x2,x3,w)
変換された多変数多項式:
g(x1,x2,x3)+h(x1,x2,x3,w)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2+
(f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x1x2x3
+h(x1,x2,x3,w)
以下に、N=3であり、変数si及びxiが0-1変数であり、f(x1,x2,x3)がg(x1,x2,x3)に変換される場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)+h(x1,x2,x3,w)
変換された多変数多項式:
g(x1,x2,x3)+h(x1,x2,x3,w)
=f(0,0,0)x1 -x2 -x3 -+f(0,0,1)x1 -x2 -x3+f(0,1,0)x1 -x2x3 -+f(0,1,1)x1 -x2x3+f(1,0,0)x1x2 -x3 -+f(1,0,1)x1x2 -x3+f(1,1,0)x1x2x3 -+f(1,1,1)x1x2x3
=f(0,0,0)+
(f(0,0,1)-f(0,0,0))x3+
(f(0,1,0)-f(0,0,0))x2+
(f(1,0,0)-f(0,0,0))x1+
(f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x2x3+
(f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x1x3+
(f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x1x2+
(f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x1x2x3
+h(x1,x2,x3,w)
<具体例3-2>
N=3であり、変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「x1,x2,x3のうち、2つが1」である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)+h(x1,x2,x3,w)
変換された多変数多項式:
q(x1,x2,x3)+h(x1,x2,x3,w)
=f(0,1,1)x2x3+f(1,0,1)x1x3+f(1,1,0)x1x2+h(x1,x2,x3,w)
N=3であり、変数si及びxiが0-1変数であり、P(s1,…,sN,x1,…,xN)=Π1≦i≦N(xi(+)si)であり、f”(s1,…,sN)が式(7)によって再帰的に定義され、制約条件が「x1,x2,x3のうち、2つが1」である場合の具体例を示す。
入力の多変数関数:f(x1,x2,x3)+h(x1,x2,x3,w)
変換された多変数多項式:
q(x1,x2,x3)+h(x1,x2,x3,w)
=f(0,1,1)x2x3+f(1,0,1)x1x3+f(1,1,0)x1x2+h(x1,x2,x3,w)
[ハードウェア構成]
各実施形態における関数変換装置1,2,3は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における関数変換装置1,2,3は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
各実施形態における関数変換装置1,2,3は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における関数変換装置1,2,3は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
図5は、各実施形態における関数変換装置1,2,3のハードウェア構成を例示したブロック図である。図5に例示するように、この例の関数変換装置1,2,3は、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、関数変換装置1,2,3の機能構成が実現される。
上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
本発明は、例えば、量子アニーリングマシンやイジングマシンなどで組合せ最適化問題を解く際に利用できる。例えば、本発明によって、組合せ最適化問題の目的関数やそれと等価な0-1変数に関する多変数関数f(x1,…,xN)を0-1変数に関する多変数多項式q(x1,…,xN)に変換できる。得られた多変数多項式q(x1,…,xN)は、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
1,2,3 関数変換装置
10,20 変換部
11,21 多変数関数値生成部
12,22 多変数多項式生成部
10,20 変換部
11,21 多変数関数値生成部
12,22 多変数多項式生成部
Claims (6)
- N個の変数x1,…,xNに関する任意の制約条件付き多変数関数f(x1,…,xN)を、前記変数x1,…,xNに関する多変数多項式q(x1,…,xN)に変換する関数変換装置であって、
Nが1以上の整数であり、N個のs1,…,sNが変数であり、(s1,…,sN)=(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=1であり、(s1,…,sN)≠(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=0であり、
前記制約条件付き多変数関数f(x1,…,xN)を入力とし、制約条件を満たす組(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf(s1,…,sN)とし、前記制約条件を満たさない組(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf”(s1,…,sN)とし、少なくとも一部の組(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた前記多変数多項式q(x1,…,xN)を得て出力する変換部を有し、
前記多変数多項式q(x1,…,xN)の項数は、前記少なくとも一部の組(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない、関数変換装置。 - 請求項1の関数変換装置であって、
前記変換部は、
前記制約条件付き多変数関数f(x1,…,xN)を入力とし、前記少なくとも一部の組(s1,…,sN)についての前記多変数関数値f’(s1,…,sN)を得る多変数関数値生成部と、
前記多変数関数値f’(s1,…,sN)を入力とし、前記少なくとも一部の組(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた前記多変数多項式q(x1,…,xN)を得て出力する多変数多項式生成部と、
を有する関数変換装置。 - 請求項1または2の関数変換装置であって、
前記変換部は、
すべての組(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた前記多変数多項式q(x1,…,xN)を得て出力し、
前記多変数多項式q(x1,…,xN)の項数は、前記すべての組(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない、関数変換装置。 - N個の変数x1,…,xNに関する任意の制約条件付き多変数関数f(x1,…,xN)を、前記変数x1,…,xNに関する多変数多項式q(x1,…,xN)に変換する関数変換装置の関数変換方法であって、
Nが1以上の整数であり、N個のs1,…,sNが変数であり、(s1,…,sN)=(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=1であり、(s1,…,sN)≠(x1,…,xN)のときにP(s1,…,sN,x1,…,xN)=0であり、
前記関数変換装置の変換部が、前記制約条件付き多変数関数f(x1,…,xN)を入力とし、制約条件を満たす組(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf(s1,…,sN)とし、前記制約条件を満たさない組(x1,…,xN)と同一の(s1,…,sN)についての多変数関数値f’(s1,…,sN)をf”(s1,…,sN)とし、少なくとも一部の組(s1,…,sN)についてf’(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた前記多変数多項式q(x1,…,xN)を得て出力する変換ステップを有し、
前記多変数多項式q(x1,…,xN)の項数は、前記少なくとも一部の組(s1,…,sN)についてf(s1,…,sN)P(s1,…,sN,x1,…,xN)を足し合わせた多変数多項式g(x1,…,xN)の項数よりも少ない、関数変換方法。 - 請求項1から4の何れかの関数変換装置としてコンピュータを機能させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/015549 WO2022219770A1 (ja) | 2021-04-15 | 2021-04-15 | 関数変換装置、関数変換方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022219770A1 JPWO2022219770A1 (ja) | 2022-10-20 |
JP7513198B2 true JP7513198B2 (ja) | 2024-07-09 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197851A (ja) | 2007-02-09 | 2008-08-28 | Hideaki Okazaki | プログラム論理の検証方法、プログラム論理の検証プログラム |
WO2015190593A1 (ja) | 2014-06-12 | 2015-12-17 | 学校法人早稲田大学 | 情報処理方法、情報処理装置およびそのプログラム |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197851A (ja) | 2007-02-09 | 2008-08-28 | Hideaki Okazaki | プログラム論理の検証方法、プログラム論理の検証プログラム |
WO2015190593A1 (ja) | 2014-06-12 | 2015-12-17 | 学校法人早稲田大学 | 情報処理方法、情報処理装置およびそのプログラム |
Non-Patent Citations (1)
Title |
---|
VERMA, Amit et al.,Penalty and partitioning techniques to improve performance of QUBO solvers [online],2020年05月19日,[retrieved on 2021.05.11], Retrieved from the Internet; <URL: https://www.researchgate.net/publication/342539451_Penalty_and_partitioning_techniques_to_improve_performance_of_QUBO_solvers> |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7471736B2 (ja) | 量子系の基底状態エネルギーの推定方法、およびシステム | |
CN114372577B (zh) | 用于管理量子系统的状态的方法、设备、装置和介质 | |
JP2023541741A (ja) | 量子状態準備回路の生成方法、装置、チップ、機器及びプログラム | |
Yuan et al. | Quantum morphology operations based on quantum representation model | |
WO2022097230A1 (ja) | 予測方法、予測装置及びプログラム | |
Orts et al. | An optimized quantum circuit for converting from sign–magnitude to two’s complement | |
D. Ahle et al. | Similarity search with tensor core units | |
JP7513198B2 (ja) | 関数変換装置、関数変換方法、およびプログラム | |
US11615306B2 (en) | Statically generated compiled representations for processing data in neural networks | |
Tanaka | Generation of point sets by convex optimization for interpolation in reproducing kernel Hilbert spaces | |
Yang et al. | Explicit deferred correction methods for second-order forward backward stochastic differential equations | |
Maliţa et al. | Heterogeneous computing system for deep learning | |
WO2022219770A1 (ja) | 関数変換装置、関数変換方法、およびプログラム | |
JP3033511B2 (ja) | 大規模積和演算処理方法及び装置 | |
WO2022219768A1 (ja) | 関数変換装置、関数変換方法、およびプログラム | |
JP7457325B2 (ja) | 最適化装置、評価装置、それらの方法、およびプログラム | |
CN111194448A (zh) | 伪数据生成装置及其方法和程序 | |
WO2022219769A1 (ja) | 多項式変換装置、多項式変換方法、およびプログラム | |
JP7205623B2 (ja) | 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム | |
JP6825119B2 (ja) | 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム | |
Bakin et al. | Parallel MARS algorithm based on B-splines | |
WO2021157008A1 (ja) | 最適化関数生成装置、最適化関数生成方法、プログラム | |
WO2023281742A1 (ja) | 最適化装置、最適化方法、およびプログラム | |
WO2020072619A1 (en) | Addressing bottlenecks for deep neural network execution of a graphics processor unit | |
Mariano et al. | A vectorized, cache efficient LLL implementation |