JP7468938B2 - 乱数生成器、乱数生成方法、及びプログラム - Google Patents

乱数生成器、乱数生成方法、及びプログラム Download PDF

Info

Publication number
JP7468938B2
JP7468938B2 JP2022577000A JP2022577000A JP7468938B2 JP 7468938 B2 JP7468938 B2 JP 7468938B2 JP 2022577000 A JP2022577000 A JP 2022577000A JP 2022577000 A JP2022577000 A JP 2022577000A JP 7468938 B2 JP7468938 B2 JP 7468938B2
Authority
JP
Japan
Prior art keywords
random number
value
subinterval
annealing
ising
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
JP2022577000A
Other languages
English (en)
Other versions
JPWO2022158104A1 (ja
JPWO2022158104A5 (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.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Publication of JPWO2022158104A1 publication Critical patent/JPWO2022158104A1/ja
Publication of JPWO2022158104A5 publication Critical patent/JPWO2022158104A5/ja
Application granted granted Critical
Publication of JP7468938B2 publication Critical patent/JP7468938B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は乱数生成器、乱数生成方法、及びプログラムに関する。
セキュアなデータ通信などにおいて、高品質な乱数を得ることは重要である。しかし、通常の計算機において関数呼び出しで得られる乱数は周期性がある。また、物理的なノイズを利用した乱数生成器により生成された乱数は、物理現象を観察及び再現することで、予測が可能である。したがって、これらの乱数では高いセキュリティを担保できない。
近年、量子コンピュータの利用が広まりつつあり、インターネットを介して、一般の利用者でも、量子コンピュータにアクセスし、利用可能となっている。量子コンピュータ技術は発展途上であるが、量子アニーリング方式と呼ばれる量子コンピュータ(以下、量子アニーリングマシンと称す)は利用可能となっている。量子アニーリングマシンは、イジングモデルと呼ばれる定式化された問題を求解することに特化した計算機であり、組合せ最適化問題の求解などに使われている(特許文献1参照)。
イジングモデルで表現された系における、安定した状態の量子ビット(0,1)の組合せを量子アニーリングマシンにより得ることができる。ただし、量子ゆらぎと呼ばれる特性のため、常に同じ組み合わせが得られるわけではなく、安定した状態近辺の量子ビットの様々な組合せが得られる。量子ビットの様々な組合せの発生確率は、原理的にはボルツマン分布に従う。そのため、量子アニーリングマシンを用いた場合、最適化問題の最適解近辺の解を得ることはできるが、ボルツマン分布以外の利用者が指定する任意の分布に従う解(数値)を得ることはできない。このため、利用者が指定する任意の分布に従う乱数の生成には量子アニーリングマシンを利用することができなかった。
一方、利用者が指定する分布に従う乱数を得るための技術に関して、特許文献2に開示された技術がある。この文献に記載された技術では、疑似乱数生成器により生成された数値に所定の処理を行うことにより所定の分布に従う乱数を得ている。疑似乱数には周期性があるため、この技術により得られる乱数は、高品質の乱数とならない。
特表2008-525873号公報 特開2019-79523号公報
上述した通り、所望の分布に従う高品質な乱数を生成する技術の提供が求められている。
そこで、本明細書に開示される実施形態が達成しようとする目的の1つは、所望の分布に従う高品質な乱数を生成することができる乱数生成器、乱数生成方法、及びプログラムを提供することである。
本開示の第1の態様にかかる乱数生成器は、
乱数の確率分布を指定する入力を受付ける入力受付部と、
乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成するモデル生成部と、
前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得するアニーリング結果取得部と、
前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する乱数出力部と
を有する。
本開示の第2の態様にかかる乱数生成方法では、
乱数生成器が、
乱数の確率分布を指定する入力を受付け、
乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成し、
前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得し、
前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する。
本開示の第3の態様にかかるプログラムは、
乱数の確率分布を指定する入力を受付ける入力受付ステップと、
乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成するモデル生成ステップと、
前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得するアニーリング結果取得ステップと、
前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する乱数出力ステップと
をコンピュータに実行させる。
上述の態様によれば、所望の分布に従う高品質な乱数を生成することができる乱数生成器、乱数生成方法、及びプログラムを提供することができる。
実施形態の概要にかかる乱数生成器の構成の一例を示すブロック図である。 実施の形態1にかかる乱数生成システムの構成の一例を示すブロック図である。 実施の形態1にかかる乱数生成器のハードウェア構成の一例を示すブロック図である。 実施の形態1にかかる乱数生成器の動作の一例を示すフローチャートである。 実施の形態2にかかる乱数生成システムの構成の一例を示すブロック図である。 実施の形態2にかかる乱数生成器の動作の一例を示すフローチャートである。 実施の形態3にかかる乱数生成システムの構成の一例を示すブロック図である。 実施の形態3にかかる乱数生成器の動作の一例を示すフローチャートである。
<実施の形態の概要>
実施形態の詳細を説明する前に、まず、実施形態の概要について説明する。
図1は、実施形態の概要にかかる乱数生成器1の構成の一例を示すブロック図である。乱数生成器1は、量子アニーリングの結果を用いて乱数を生成する装置であり、図1に示すように入力受付部2、モデル生成部3、アニーリング結果取得部4、及び乱数出力部5を有する。
入力受付部2は、乱数の確率分布を指定する入力を受付ける。ユーザ等は、所望の確率分布に従う乱数を乱数生成器1に出力させるために、この所望の確率分布を指定する入力を乱数生成器1に与える。
モデル生成部3は、乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、入力受付部2が受付けた確率分布に基づいて生成する。ここで、乱数の数値範囲とは、生成されうる乱数の最小値と最大値により定まる範囲をいう。すなわち、乱数生成器1は、この数値範囲に属する乱数を生成する。また、上述した二値変数の値は、この数値範囲に属する部分区間を選択するか否かを表す。換言すると、この二値変数は、当該二値変数が割り当てられた部分区間に含まれる値を乱数として採用するか否かを表す。
アニーリング結果取得部4は、モデル生成部3が生成したイジングモデルについての量子アニーリングの実行結果であるn個の二値変数の値を取得する。すなわち、アニーリング結果取得部4は、量子アニーリングマシンに、モデル生成部3が生成したイジングモデルについての量子アニーリングを実行させ、その実行結果を量子アニーリングマシンから取得する。
乱数出力部5は、実行結果として得られた値が所定の値(例えば、1)である二値変数に割り当てられている部分区間に含まれる値を乱数として出力する。
このように、乱数生成器1は、指定された確率分布に基づいてイジングモデルを生成し、このイジングモデルについての量子アニーリングの結果にしたがって、乱数を出力する。量子アニーリングの実行結果は、予測が困難であるため、乱数生成器1が出力する乱数の予測も困難である。このため、乱数生成器1によれば、所望の分布に従う高品質な乱数を生成することができる。
<実施の形態1>
次に、実施の形態1について説明する。
図2は、実施の形態1にかかる乱数生成システム10の構成の一例を示すブロック図である。図2に示すように、乱数生成システム10は、乱数生成器100と量子アニーリングマシン200とを備える。乱数生成器100と量子アニーリングマシン200とは、例えば、有線又は無線のネットワークを介して、相互に通信可能に接続されている。なお、図2に示した構成では、量子アニーリングマシン200は、乱数生成器100とは別の装置として図示されているが、乱数生成器100に含まれてもよい。
乱数生成器100は、図1に示した乱数生成器1に対応している。量子アニーリングマシン200は、量子ビットと量子ビット間の結合とを実現する量子チップを備え、イジングモデルについての量子アニーリングを行ない各量子ビットの値を決定する。なお、量子チップは、量子力学における量子状態を用いて動作するチップである。なお、乱数生成システム10の量子アニーリングマシン200としては、公知のマシンを用いることができるため、その具体的な構成及び処理についての詳細な説明は割愛する。
以下、乱数生成器100の具体的な構成及び処理について説明する。
乱数生成器100は、図2に示すように、処理制御部101、入力受付部102、モデル生成部103、アニーリング結果取得部104、疑似乱数生成部105、及び乱数出力部106を有する。
処理制御部101は、乱数生成器100の上述した構成要素の処理を制御する。本実施の形態では、特に、処理制御部101は、生成すべき乱数の個数に応じて、アニーリング結果取得部104及び疑似乱数生成部105の処理の実行回数を制御する。
入力受付部102は、図1の入力受付部2に対応しており、乱数の確率分布を指定する入力を受付ける。入力受付部102は、例えば、乱数生成器100が備える入力インタフェースを介してユーザが入力した確率分布を受付けてもよいし、乱数生成器100が備えるメモリなどの記憶装置から確率分布を読み出すことにより、これを受付けてもよい。また、入力受付部102は、他の装置から送信された確率分布を受信することにより、これを受付けてもよい。
本実施の形態では、入力受付部102は、乱数の確率分布を指定する入力として、部分区間ごとの確率の設定値を受付ける。この部分区間は、確率変数の定義域を区分したものであるが、乱数の数値範囲を分割したものとも言うことができる。例えば、乱数生成器100により生成したい乱数の最小値をRMIN、最大値をRMAXとする。すなわち、乱数生成器100により、RMIN以上、RMAX以下の乱数を生成する場合を例に説明する。この場合、乱数生成器100は、RMINを下限としRMAXを上限とする数値範囲をn(nは2以上の整数)等分して得られるn個の部分区間ごとの確率の設定値を受付ける。つまり、入力受付部102は、部分区間ごとの確率pの指定を受付ける。ここで、添え字iは、部分区間の識別番号であり、1以上n以下の整数である。例えば、ある部分区間に属する数値が最も乱数として出力されやすいようにしたい場合、当該部分区間の確率pの値は、他の部分区間の確率pの値よりも大きい値が設定されることとなる。なお、pからpの総和は1となる。
上述したn、RMIN、及びRMAXのそれぞれの値は、予め定められていてもよいし、入力受付部102が受付けてもよい。このように、n、RMIN、及びRMAXの指定も可能とすることにより、乱数生成器100の運用における利便性を向上することができる。
なお、本実施の形態では、入力受付部102は、部分区間ごとの確率の設定値を受付けるが、確率分布を指定する入力はこれに限られない。例えば、入力受付部102は、乱数の確率分布を指定する入力として、確率分布の種類(例えば、正規分布など)を指定する情報と、分布のパラメータ(平均及び分散など)とを受付けてもよいし、確率分布を表す数式を受付けてもよい。
なお、入力受付部102は、さらに、生成すべき乱数の個数の指定を受付けてもよい。
モデル生成部103は、図1のモデル生成部3に対応しており、n個の部分区間のそれぞれに割り当てられるn個の二値変数(量子ビット変数)を用いたイジングモデルを、入力受付部102が受付けた確率分布に基づいて生成する。ここでは、n個の二値変数(量子ビット変数)をx、x、・・・、xとする。すなわち、i番目の部分区間には、二値変数xが割り当てられる。したがって、i番目の部分区間には、確率pと二値変数xが関連づけられる。
モデル生成部103は、具体的には、例えば以下の式(1)で表されるモデルH(x)を生成する。
<式(1)>
Figure 0007468938000001
ここで、上述の通り、iは、n個の部分区間を識別する番号である。xは、i番目の部分区間に割り当てられた二値変数であり、0または1の値をとる。pは、xが割り当てられた部分区間における確率分布の値である。
式(1)において、右辺の第一項で表される関数(第一の関数とも称す)は、目的関数である。量子アニーリングマシン200によって、関数HOnehot(第二の関数とも称す)で表される制約を満たしつつこの目的関数の値が最小となるような近似解(すなわち、二値変数x、x、・・・、xの値の組み合わせ)が探索される。また、右辺の第二項で表される関数HOnehotは、n個の二値変数x、x、・・・、xのいずれか一つが所定の値(具体的には、1)となり、それ以外の二値変数が当該所定の値以外の値(具体的には、0)となるようにするための制約項である。関数HOnehotは、具体的には、以下の式(2)で表される。なお、wは、重みを表す係数であり、モデル生成部103は、wの値として正の所定値を設定する。
<式(2)>
Figure 0007468938000002
モデル生成部103は、上記数式で表されるモデルのpの値を入力受付部102が受付けた乱数の確率分布の指定にしたがって決定することにより、当該確率分布にしたがった乱数を生成するためのイジングモデルを生成する。なお、入力受付部102が、部分区間ごとの確率pの設定値ではなく、確率分布を表す数式を受付けた場合及び確率分布の種類及びパラメータを受付けた場合には、モデル生成部103は、次のように上記のイジングモデルを生成する。この場合、モデル生成部103は、n、RMIN、及びRMAXを用いて、各部分区間の確率pを特定することにより、上記のイジングモデルを生成する。このとき、部分区間において確率分布の値が一定でない場合には、モデル生成部103は、例えば、当該部分区間における確率分布の値の平均値、最小値、又は最大値などを用いて、確率pを決定してもよい。
上記数式からわかるように、モデル生成部103は、次のようなイジングモデルを生成すると説明することもできる。モデル生成部103は、二値変数xについての第一の関数と二値変数xについての第二の関数とを用いて表されるイジングモデルを生成する。ここで、第一の関数は、二値変数xが割り当てられた部分区間における確率分布の値pが大きいほど値が小さくなる関数の値と当該二値変数xの値との積の総和で表される関数である。また、第二の関数は、n個の二値変数x、x、・・・、xのいずれか一つが所定の値である場合に最小値となる関数であり、この条件が満たされない場合、重みwに依存した正の値をとる。
アニーリング結果取得部104は、図1のアニーリング結果取得部4に対応しており、モデル生成部103が生成したイジングモデルについての量子アニーリングの実行結果であるn個の二値変数x、x、・・・、xのそれぞれの値を取得する。アニーリング結果取得部104は、量子アニーリングマシン200に処理を実行させるために、モデル生成部103が生成したイジングモデルに基づいて、量子アニーリングマシン200による量子アニーリングの実行条件を設定する。具体的には、アニーリング結果取得部104は、モデル生成部103が生成したイジングモデルに基づいて、二値変数に対応する量子ビットと、量子ビット間の相互作用の強さを設定する。そして、アニーリング結果取得部104は、量子アニーリングマシン200に当該イジングモデルについての量子アニーリングの実行を指示する。
これに対し、量子アニーリングマシン200は、量子アニーリングの実行結果、すなわちn個の二値変数x、x、・・・、xのそれぞれの値を乱数生成器100に対して出力し、アニーリング結果取得部104がこれを取得する。量子アニーリングマシン200は、式(1)で示したH(x)を最小にする近似解を量子アニーリングの実行結果として出力する。具体的には、アニーリング結果取得部104は、式(1)で表されるイジングモデルに対する量子アニーリングの実行結果として、次のような実行結果を取得する。すなわち、アニーリング結果取得部104は、n個の二値変数x、x、・・・、xのうちの一つの二値変数の値が所定の値(具体的には1)であり、他の二値変数の値が他の値(具体的には0)である実行結果を取得する。
ここで、二値変数xの値が1となる確率は、pである。したがって、乱数生成器100は、値が所定の値(具体的には1)である二値変数xに対応する部分区間に属する値を乱数として出力することで、指定された確率分布にしたがった乱数を生成することができる。乱数生成器100は、値が所定の値である二値変数xに対応する部分区間内の所定値を乱数として出力してもよいが、本実施の形態では、より様々な値を乱数として出力できるように、乱数生成器100は疑似乱数生成部105を備えている。なお、部分区間内の所定値とは、例えば、当該部分区間の中央の値、最大値、又は最小値などである。
疑似乱数生成部105は、量子アニーリングの実行結果として得られた値が所定の値(具体的には1)である二値変数xに割り当てられている部分区間に収まる疑似乱数(一様乱数)を生成する。すなわち、当該部分区間の最小値を疑似乱数の最小値とし、当該部分区間の最大値を疑似乱数の最大値とする疑似乱数を生成する。疑似乱数生成部105は、疑似乱数を生成する公知の関数を用いて疑似乱数を生成する。例えば、疑似乱数生成部105は、乱数値を返す組み込み関数の呼び出しにより、疑似乱数を得てもよい。
乱数出力部106は、図1の乱数出力部5に対応しており、量子アニーリングの実行結果にしたがって選択された部分区間に含まれる値を乱数として出力する。本実施の形態では、選択された部分区間に含まれる値として、疑似乱数生成部105により生成された疑似乱数を出力する。なお、このように、本実施の形態では、乱数出力部106は、量子アニーリングの実行結果にしたがって選択された部分区間における疑似乱数を出力するが、上述の通り、当該部分区間内の所定値を出力してもよい。この場合、乱数生成器100は、疑似乱数生成部105を有さなくてもよい。乱数出力部106は、任意の出力先に乱数を出力する。乱数出力部106は、例えば、乱数をディスプレイに出力してもよいし、暗号化処理などの所定の処理を行う装置又は処理部などに乱数を送信してもよい。
乱数生成器100は、複数の乱数を生成してもよく、この場合、乱数出力部106は、生成された複数の乱数を出力する。処理制御部101は、生成する乱数の数に応じて、アニーリング結果取得部104及び疑似乱数生成部105の処理の実行回数を制御する。上述の通り、式(1)で表されるイジングモデルについて量子アニーリングを実行するたびに、1つの乱数を生成することができる。したがって、例えば、処理制御部101は、m(mは正整数)個の乱数を生成する場合、アニーリング結果取得部104及び疑似乱数生成部105の処理をm回繰り返すよう処理を制御する。なお、mの値は、予め定められていてもよいし、入力受付部102が受付けてもよい。このように、乱数生成器100は、同一のイジングモデルについての複数回の量子アニーリングの実行結果を取得することにより、複数の乱数を出力する。これにより、任意の個数の乱数を得ることができる。
図3は、乱数生成器100のハードウェア構成の一例を示すブロック図である。図3に示すように、乱数生成器100は、ネットワークインタフェース150、メモリ151、及びプロセッサ152を含む。ネットワークインタフェース150、メモリ151、及びプロセッサ152は、データバスなどを介して相互に接続されている。
ネットワークインタフェース150は、量子アニーリングマシン200を含む他の任意の装置と通信するために使用される。ネットワークインタフェース150は、例えば、ネットワークインタフェースカード(NIC)を含んでもよい。
メモリ151は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ151は、プロセッサ152により実行される、1以上の命令を含むソフトウェア(コンピュータプログラム)、及び乱数生成器100の各種処理に用いるデータなどを格納するために使用される。
プロセッサ152は、メモリ151からソフトウェア(コンピュータプログラム)を読み出して実行することで、図2に示した各構成要素の処理を行う。
プロセッサ152は、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPU(Central Processing Unit)などであってもよい。プロセッサ152は、複数のプロセッサを含んでもよい。
このように、乱数生成器100は、コンピュータとして機能する装置であり、情報処理装置とも称される。
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
次に、乱数生成器100の動作の流れについて説明する。
図4は、乱数生成器100の動作の一例を示すフローチャートである。以下、図4を参照しつつ、乱数生成器100による乱数の生成動作について説明する。
ステップS100において、入力受付部102は、乱数の出力についての設定情報の入力を受付ける。具体的には、入力受付部102は、乱数の確率分布を指定する入力を受付ける。また、上述の通り、入力受付部102は、さらに、分割数n、乱数の最小値RMIN、乱数の最大値RMAX、及び生成すべき乱数の個数mのいずれかまたは全てについて指定する入力を受付けてもよい。
次に、ステップS101において、モデル生成部103は、ステップS100で指定された確率分布に基づいて、イジングモデルを生成する。
次に、ステップS102において、アニーリング結果取得部104は、ステップS101で生成したイジングモデルについての量子アニーリングの実行結果を量子アニーリングマシン200から取得する。すなわち、アニーリング結果取得部104は、n個の二値変数x、x、・・・、xのそれぞれの値を取得する。
次に、ステップS103において、疑似乱数生成部105は、ステップS102で取得した実行結果に基づいて選択される部分区間内で、疑似乱数を生成する。すなわち、疑似乱数生成部105は、値が1であるxに対応する部分区間に収まる疑似乱数を生成する。
次に、ステップS104において、処理制御部101は、指定された個数の乱数が得られたか否かを判定する。指定された個数の乱数が得られていない場合には、処理制御部101は、ステップS102及びステップS103の処理を再度行うよう制御する。これに対し、指定された個数の乱数が得られた場合には、処理はステップS105へ移行する。
ステップS105において、乱数出力部106は、ステップS102及びステップS103の処理により得られた乱数を出力する。
以上、実施の形態1について説明した。本実施の形態では、量子アニーリングの結果に基づいて部分区間が選択される。このため、選択される部分区間の予測は困難である。また、各部分区間が選択される確率は、指定された確率分布にしたがう。このため、本実施の形態によれば、所望の分布に従う高品質な乱数を生成することができる。
<実施の形態2>
次に、実施の形態2について説明する。
量子アニーリングマシン200が備える量子ビットの数をk(kは2以上の整数)とする。この場合、実施の形態1で示した乱数生成器100では、量子の特性を利用した部分区間の選択、すなわち予測が困難な部分区間の選択は、最大でもk個の部分区間の中から行われることとなる。すなわち、設定可能な部分区間の数が量子ビットの数に依存してしまう。本実施の形態では、部分区間の選択を階層的に繰り返すことにより、より多くの部分区間の中から部分区間を選択する。これにより、量子アニーリングマシン200の量子ビット数が限られていても、より多くの部分区間の中から選択した乱数を出力することができる。
図5は、実施の形態2にかかる乱数生成システム10aの構成の一例を示すブロック図である。図5に示すように、実施の形態2にかかる乱数生成システム10aは、乱数生成器100が乱数生成器100aに置き換わった点で、実施の形態1にかかる乱数生成システム10と異なっている。
以下、実施の形態1と異なる構成及び処理について説明し、実施の形態1と同様な構成及び処理については適宜説明を省略する。
図5に示されるように、実施の形態2にかかる乱数生成器100aは、主に、処理制御部101が処理制御部101aに置き換わった点で、実施の形態1にかかる乱数生成器100と異なっている。また、図5に示した構成例では疑似乱数生成部105が省略されている。ただし、本実施の形態でも、乱数生成器100aは、疑似乱数生成部105を備えていてもよい。すなわち、本実施の形態において最終的に選択された部分区間に含まれる数値を乱数として出力する際に、この部分区間に含まれる所定値ではなく、疑似乱数生成部105により生成した乱数を出力してもよい。
なお、図5に示した構成においても、量子アニーリングマシン200は、乱数生成器100aとは別の装置として図示されているが、乱数生成器100aに含まれてもよい。
処理制御部101aは、処理制御部101と同様、図5に示した乱数生成器100aの各構成要素の処理を制御する。特に、処理制御部101aは、所定の回数だけ、部分区間の階層的な選択を行うよう、モデル生成部103及びアニーリング結果取得部104の処理を制御する。ここで、部分区間の階層的な選択とは、n個の部分区間の中から量子アニーリング結果にしたがって部分区間を選択し、その後、選択された部分区間に設定されたn個のより細かい部分区間の中から量子アニーリング結果にしたがって部分区間をさらに選択することをいう。処理制御部101aは、量子アニーリングによる部分区間の階層的な選択をq回(qは整数)繰り返すよう制御する。なお、q=0の場合、実施の形態1と同様、部分区間の階層的な選択、すなわち部分区間の再選択を行わずに乱数を出力することとなる。なお、このqの値は、予め定められていてもよいし、入力受付部102が受付けてもよい。
部分区間の階層的な選択を行うために、本実施の形態のモデル生成部103は、処理制御部101aの制御にしたがい、次のような処理を行う。モデル生成部103は、モデル生成後にさらに、量子アニーリングの実行により選択された部分区間をさらに分割したn個の新たな部分区間のそれぞれに割り当てられるn個の二値変数を用いた新たなイジングモデルを、指定された確率分布に基づいて生成する。具体的には、モデル生成部103は、部分区間の階層的な選択を行うために、式(1)で示したイジングモデルを新たに生成する。ただし、新たなイジングモデルにおいて、n個の二値変数xは、選択された部分区間をさらに分割したn個の新たな部分区間のそれぞれに割り当てられた変数である。また、確率pは、新たな部分区間における確率分布の値である。
例えば、入力受付部102が、確率分布を表す数式を受付けた場合及び確率分布の種類及びパラメータを受付けた場合には、モデル生成部103は、分割数n、及び、選択された部分区間の範囲を用いて、新たな部分区間の確率pを特定する。このとき、新たな部分区間において確率分布の値が一定でない場合には、モデル生成部103は、例えば、当該部分区間における確率分布の値の平均値、最小値、又は最大値などを用いて、新たな部分区間の確率pを決定してもよい。また、入力受付部102は、新たな部分区間の確率pの設定値をそれぞれ指定する入力を受付けてもよい。なお、モデル生成部103は、新たな部分区間の確率pの総和が1でない場合には、総和が1となるように確率pの値を正規化した上で、新たなイジングモデルを生成する。
部分区間の階層的な選択を行うために、本実施の形態のアニーリング結果取得部104は、処理制御部101aの制御にしたがい、次のような処理を行う。アニーリング結果取得部104は、モデル生成部103が、上述した新たなイジングモデルを生成した場合、この新たなイジングモデルについての量子アニーリングの実行結果であるn個の二値変数の値を取得する。取得されるn個の二値変数の値は、細分化された部分区間のうちどの部分区間を選択するべきかを示す。
本実施の形態の乱数出力部106は、部分区間の階層的な選択が終了すると、最終的に選択された部分区間に含まれる値を乱数として出力する。すなわち、乱数出力部106は、新たなイジングモデルについての量子アニーリングの実行結果として得られた値が所定の値(具体的には1)である二値変数xに割り当てられている新たな部分区間に含まれる値を乱数として出力する。なお、本実施の形態では乱数出力部106は、選択された部分区間内の所定値(例えば、当該部分区間の中央の値、最大値、又は最小値など)を乱数として出力するが、疑似乱数生成部105が生成した値を出力してもよい。
次に、乱数生成器100aの動作の流れについて説明する。
図6は、乱数生成器100aの動作の一例を示すフローチャートである。以下、図6を参照しつつ、乱数生成器100aによる乱数の生成動作について説明する。
ステップS200において、図4のステップS100と同様、入力受付部102は、乱数の出力についての設定情報の入力を受付ける。
次に、ステップS201において、図4のステップS101と同様、モデル生成部103は、ステップS200で指定された確率分布に基づいて、イジングモデルを生成する。
次に、ステップS202において、図4のステップS102と同様、アニーリング結果取得部104は、ステップS201で生成したイジングモデルについての量子アニーリングの実行結果を量子アニーリングマシン200から取得する。
次に、ステップS203において、処理制御部101aは、部分区間の細分化を所定の回数行ったか否かを判定する。すなわち、処理制御部101aは、部分区間の階層的な選択をq回行ったか否かを判定する。部分区間の細分化が所定の回数行われていない場合には、処理制御部101aは、イジングモデルの生成及び量子アニーリングの実行を再度行うよう制御する。すなわち、この場合、処理はステップS204へ移行する。これに対し、部分区間の細分化が所定の回数行われた場合には、処理はステップS205へ移行する。
ステップS204において、部分区間の階層的な選択を行うために、モデル生成部103は、新たな部分区間についてのイジングモデルを生成する。すなわち、モデル生成部103は、ステップS202において量子アニーリングの実行結果として得られた値が所定の値である二値変数xに割り当てられている部分区間をさらに分割したn個の新たな部分区間についてのイジングモデルを生成する。ステップS204の処理の後、処理は、ステップS202に戻り、アニーリング結果取得部104は、ステップS204で生成されたイジングモデルについての量子アニーリングの実行結果を量子アニーリングマシン200から取得する。その後、再びステップS203の判定処理が行われる。
部分区間の細分化が所定の回数行われると、一つの乱数が得られる。ステップS205では、処理制御部101aは、指定された個数の乱数が得られたか否かを判定する。指定された個数の乱数が得られていない場合には、処理制御部101aは、ステップS202からステップS204の処理を再度行うよう制御する。このとき、ステップS202では、アニーリング結果取得部104は、細分化されていない初期状態の部分区間に割り当てられた二値変数xを用いたイジングモデルについての量子アニーリングの実行結果を取得する。すなわち、以降の処理において、部分区間の階層的な選択が新規に繰り返されることとなる。これに対し、指定された個数の乱数が得られた場合には、処理はステップS206へ移行する。
ステップS206において、乱数出力部106は、ステップS202からステップS204の処理により得られた乱数を出力する。
以上、実施の形態2について説明した。本実施の形態では、部分区間の選択を階層的に繰り返すことにより、より多くの部分区間の中から部分区間が選択される。これにより、量子アニーリングマシン200の量子ビット数が限られていても、より多くの部分区間の中から選択した乱数を出力することができる。
<実施の形態3>
次に、実施の形態3について説明する。
本実施の形態は、量子アニーリングマシン200が、乱数を生成するための複数のイジングモデルについて同時に量子アニーリングを行う点で、上述した実施の形態と異なっている。量子アニーリングマシン200が備える量子ビット数に余裕があれば、量子アニーリングマシン200は、複数のイジングモデルについての解を得ることが可能である。そこで、本実施の形態では、複数のイジングモデルに対する1回の量子アニーリングの実行により、効率的に複数の乱数を得ることができる乱数生成器100bについて説明する。
図7は、実施の形態3にかかる乱数生成システム10bの構成の一例を示すブロック図である。図7に示すように、実施の形態3にかかる乱数生成システム10bは、乱数生成器100が乱数生成器100bに置き換わった点で、実施の形態1にかかる乱数生成システム10と異なっている。なお、図7に示した構成では、乱数生成器100bは、疑似乱数生成部105を備えるが、乱数生成器100bが部分区間内の所定値を乱数として出力する場合には、疑似乱数生成部105が省略されてもよい。
以下、実施の形態1と異なる構成及び処理について説明し、実施の形態1と同様な構成及び処理については適宜説明を省略する。
図7に示されるように、実施の形態3にかかる乱数生成器100bは、主に、モデル生成部103がモデル生成部103bに置き換わり、アニーリング結果取得部104がアニーリング結果取得部104bに置き換わった点で、実施の形態1にかかる乱数生成器100と異なっている。なお、図7に示した構成においても、量子アニーリングマシン200は、乱数生成器100bとは別の装置として図示されているが、乱数生成器100bに含まれてもよい。
モデル生成部103bは、モデル生成部103と同様、入力受付部102が受付けた確率分布に基づいてイジングモデルを生成する。本実施の形態においても、モデル生成部103bは、式(1)で表されるモデルH(x)を生成する。ただし、モデル生成部103bは、同時に量子アニーリングが実行される複数のイジングモデルを生成する。ここでは、同時に量子アニーリングが実行されるイジングモデルの数をs(sは2以上の整数)とする。つまり、モデル生成部103bは、s個のイジングモデルを生成する。ここで、s個のイジングモデルは同一であってもよいし、異なってもよい。このため、各イジングモデルは、二値変数xの数(つまり、nの値)が異なってもよいし、確率値pの値(つまり、確率分布)が異なってもよいし、二値変数xに割り当てられる部分区間が異なってもよい。説明のため、s個のイジングモデルにおける二値変数xの総数をtとする。なお、それぞれのイジングモデルにおける二値変数の数xをn、n、・・・、nとすると、t=n+n+・・・+nとなる。ここで、n、n、・・・、nがいずれも2以上の整数であるとすると、sが2以上の整数であることを考慮すると、tは4以上の整数である。
モデル生成部103bが生成したs個のイジングモデルの合計t個の二値変数xのそれぞれは、異なる量子ビットに対応付けられることとなる。このため、量子アニーリングマシン200が備える量子ビットの数をkとすると、tの値はk以下である。
アニーリング結果取得部104bは、s個のイジングモデルにおける二値変数xの集合であるt個の二値変数xを同一の量子アニーリングマシン200のt個の量子ビットに対応させる。量子アニーリングマシン200は、s個のイジングモデルについての量子アニーリングを同時に実行し、s個のイジングモデルの解を得る。これにより、アニーリング結果取得部104bは、s個のイジングモデルについての量子アニーリングの実行結果であるt個の二値変数xの値を取得する。
次に、乱数生成器100bの動作の流れについて説明する。
図8は、乱数生成器100bの動作の一例を示すフローチャートである。以下、図8を参照しつつ、乱数生成器100bによる乱数の生成動作について説明する。
ステップS300において、図4のステップS100と同様、入力受付部102は、乱数の出力についての設定情報の入力を受付ける。本ステップにおいて、入力受付部102は、複数のイジングモデルそれぞれを生成するために必要な情報を受付ける。
次に、ステップS301において、モデル生成部103bは、ステップS300で指定された確率分布に基づいて、複数のイジングモデルを生成する。
次に、ステップS302において、アニーリング結果取得部104bは、ステップS301で生成した複数のイジングモデルについての同時に実行された量子アニーリングの結果を量子アニーリングマシン200から取得する。すなわち、アニーリング結果取得部104bは、各イジングモデルの二値変数xの値を取得する。これにより、各イジングモデルにおいて、部分区間の選択が可能となる。
次に、ステップS303において、疑似乱数生成部105は、ステップS302で取得した実行結果に基づいて選択される部分区間内で、疑似乱数を生成する。疑似乱数生成部105は、生成したイジングモデル毎に疑似乱数を生成する。
次に、ステップS304において、処理制御部101は、指定された個数の乱数が得られたか否かを判定する。本実施の形態では、複数のイジングモデルについての量子アニーリングを同時に行っているため、ステップS302及びステップS303の処理を1回行うだけで、複数の乱数を得ることができる。しかしながら、それでも得られた乱数の数が指定された個数に達していない場合には、再度、量子アニーリングを行う。このため、指定された個数の乱数が得られていない場合には、処理制御部101は、ステップS302及びステップS303の処理を再度行うよう制御する。これに対し、指定された個数の乱数が得られた場合には、処理はステップS305へ移行する。
ステップS305において、乱数出力部106は、ステップS302及びステップS303の処理により得られた乱数を出力する。
以上、実施の形態3について説明した。本実施の形態では、複数のイジングモデルについて同時に実行された量子アニーリングの結果を用いて乱数が生成される。このため、量子アニーリングマシン200を用いた効率的な乱数の生成が可能となる。
なお、本実施の形態は、実施の形態2と組み合わせることができる。すなわち、本実施の形態において、実施の形態2と同様に、部分区間の選択を階層的に繰り返してもよい。この場合、モデル生成部103bは、部分区間を細分化した新たな部分区間に割り当てられる二値変数を用いた新たなイジングモデルを、s個の既存のイジングモデル毎に1つずつ生成する。そして、アニーリング結果取得部104bは、さらにs個の新たなイジングモデルについての量子アニーリングの実行結果であるt個の二値変数の値を取得する。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した乱数生成器を含む情報処理装置は、生成した乱数を用いた所定の処理を行う処理部を有してもよい。例えば、処理部は、乱数を用いる公知の所定の暗号化処理を行ってもよいし、モンテカルロシミュレーションなどの乱数を用いるシミュレーション処理を行ってもよい。なお、この処理部も、例えば、プロセッサがメモリに格納されたプログラムを実行することにより実現されてもよい。
なお、上述した実施の形態では、イジングモデルに対する量子アニーリングの実行結果を用いて乱数の生成を行ったが、量子アニーリングの代わりにシミュレーティッドアニーリングの実行結果が用いられてもよい。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2021年1月22日に出願された日本出願特願2021-008663を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 乱数生成器
2 入力受付部
3 モデル生成部
4 アニーリング結果取得部
5 乱数出力部
10 乱数生成システム
10a 乱数生成システム
10b 乱数生成システム
100 乱数生成器
100a 乱数生成器
100b 乱数生成器
101 処理制御部
101a 処理制御部
102 入力受付部
103 モデル生成部
103b モデル生成部
104 アニーリング結果取得部
104b アニーリング結果取得部
105 疑似乱数生成部
106 乱数出力部
150 ネットワークインタフェース
151 メモリ
152 プロセッサ
200 量子アニーリングマシン

Claims (9)

  1. 乱数の確率分布を指定する入力を受付ける入力受付手段と、
    乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成するモデル生成手段と、
    前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得するアニーリング結果取得手段と、
    前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する乱数出力手段と
    を有する乱数生成器。
  2. 前記イジングモデルは、前記二値変数についての第一の関数と前記二値変数についての第二の関数とを用いて表されるモデルであり、
    前記第一の関数は、前記二値変数が割り当てられた前記部分区間における前記確率分布の値が大きいほど値が小さくなる関数の値と当該二値変数の値との積の総和で表される関数であり、
    前記第二の関数は、n個の前記二値変数のいずれか一つが前記所定の値である場合に最小値となる関数である
    請求項1に記載の乱数生成器。
  3. 前記モデル生成手段は、さらに、前記実行結果として得られた値が前記所定の値である前記二値変数に割り当てられている前記部分区間をさらに分割したn個の新たな部分区間のそれぞれに割り当てられるn個の二値変数を用いた新たなイジングモデルを、前記確率分布に基づいて生成し、
    前記アニーリング結果取得手段は、さらに前記新たなイジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得し、
    前記乱数出力手段は、前記新たなイジングモデルについての量子アニーリングの前記実行結果として得られた値が前記所定の値である前記二値変数に割り当てられている前記新たな部分区間に含まれる値を乱数として出力する
    請求項1又は2に記載の乱数生成器。
  4. 同一の前記イジングモデルについての複数回の量子アニーリングの実行結果を取得することにより、複数の乱数を出力する
    請求項1乃至3のいずれか一項に記載の乱数生成器。
  5. 前記モデル生成手段は、s個(sは2以上の整数)の前記イジングモデルを生成し、
    前記アニーリング結果取得手段は、s個の前記イジングモデルにおける前記二値変数の集合であるt個(tは4以上の整数)の前記二値変数を同一の量子アニーリングマシンのt個の量子ビットに対応させることにより、s個の前記イジングモデルについての量子アニーリングの実行結果であるt個の前記二値変数の値を取得する
    請求項1乃至4のいずれか一項に記載の乱数生成器。
  6. 前記実行結果として得られた値が前記所定の値である前記二値変数に割り当てられている前記部分区間に収まる疑似乱数を生成する疑似乱数生成手段をさらに有し、
    前記乱数出力手段は、前記実行結果にしたがって選択された前記部分区間における前記疑似乱数を出力する
    請求項1乃至5のいずれか一項に記載の乱数生成器。
  7. 前記部分区間を指定する入力を受付ける
    請求項1乃至6のいずれか一項に記載の乱数生成器。
  8. 乱数生成器が、
    乱数の確率分布を指定する入力を受付け、
    乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成し、
    前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得し、
    前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する
    乱数生成方法。
  9. 乱数の確率分布を指定する入力を受付ける入力受付ステップと、
    乱数の数値範囲を分割したn(nは2以上の整数)個の部分区間のそれぞれに割り当てられるn個の二値変数を用いたイジングモデルを、前記確率分布に基づいて生成するモデル生成ステップと、
    前記イジングモデルについての量子アニーリングの実行結果であるn個の前記二値変数の値を取得するアニーリング結果取得ステップと、
    前記実行結果として得られた値が所定の値である前記二値変数に割り当てられている前記部分区間に含まれる値を乱数として出力する乱数出力ステップと
    をコンピュータに実行させるプログラム。
JP2022577000A 2021-01-22 2021-11-22 乱数生成器、乱数生成方法、及びプログラム Active JP7468938B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021008663 2021-01-22
JP2021008663 2021-01-22
PCT/JP2021/042759 WO2022158104A1 (ja) 2021-01-22 2021-11-22 乱数生成器、乱数生成方法、及びプログラムが格納された非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2022158104A1 JPWO2022158104A1 (ja) 2022-07-28
JPWO2022158104A5 JPWO2022158104A5 (ja) 2023-09-22
JP7468938B2 true JP7468938B2 (ja) 2024-04-16

Family

ID=82548710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022577000A Active JP7468938B2 (ja) 2021-01-22 2021-11-22 乱数生成器、乱数生成方法、及びプログラム

Country Status (4)

Country Link
US (1) US20240303042A1 (ja)
JP (1) JP7468938B2 (ja)
DE (1) DE112021006880T5 (ja)
WO (1) WO2022158104A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323292A (ja) 2002-04-30 2003-11-14 Ntt Docomo Inc 乱数列生成装置及び乱数列生成方法、並びに伝搬モデルシミュレーション装置及び方法
US20100033228A1 (en) 2008-04-11 2010-02-11 Massachusetts Institute Of Technology Analog Logic Automata
WO2019245041A1 (ja) 2018-06-22 2019-12-26 株式会社リクルートコミュニケーションズ データ管理システム、データ管理装置、データ管理方法及びデータ管理プログラム
WO2020170410A1 (ja) 2019-02-22 2020-08-27 株式会社 東芝 情報処理システム、情報処理方法およびプログラム
CN112650472A (zh) 2020-12-15 2021-04-13 中国科学院上海微系统与信息技术研究所 构造赝自旋的装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533068B2 (en) 2004-12-23 2009-05-12 D-Wave Systems, Inc. Analog processor comprising quantum devices
GB2568660B (en) 2017-10-20 2020-10-14 Graphcore Ltd Generating Random Numbers Based on a Predetermined Probaility Distribution in an Execution Unit
JP7024807B2 (ja) 2019-06-28 2022-02-24 Jfeスチール株式会社 缶用鋼板およびその製造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323292A (ja) 2002-04-30 2003-11-14 Ntt Docomo Inc 乱数列生成装置及び乱数列生成方法、並びに伝搬モデルシミュレーション装置及び方法
US20100033228A1 (en) 2008-04-11 2010-02-11 Massachusetts Institute Of Technology Analog Logic Automata
WO2019245041A1 (ja) 2018-06-22 2019-12-26 株式会社リクルートコミュニケーションズ データ管理システム、データ管理装置、データ管理方法及びデータ管理プログラム
WO2020170410A1 (ja) 2019-02-22 2020-08-27 株式会社 東芝 情報処理システム、情報処理方法およびプログラム
CN112650472A (zh) 2020-12-15 2021-04-13 中国科学院上海微系统与信息技术研究所 构造赝自旋的装置

Also Published As

Publication number Publication date
JPWO2022158104A1 (ja) 2022-07-28
WO2022158104A1 (ja) 2022-07-28
US20240303042A1 (en) 2024-09-12
DE112021006880T5 (de) 2023-11-16

Similar Documents

Publication Publication Date Title
JP6954003B2 (ja) データベースのための畳み込みニューラルネットワークモデルの決定装置及び決定方法
US8250007B2 (en) Method of generating precedence-preserving crossover and mutation operations in genetic algorithms
US20220182406A1 (en) Analysis apparatus, analysis system, analysis method, and non-transitory computer readable medium storing program
JP2014206870A (ja) プラントモデル管理装置及び方法
US9626155B2 (en) Determining recommended optimization strategies for software development
JP2020060922A (ja) ハイパーパラメータチューニング方法、装置及びプログラム
JP2020204929A (ja) サンプリング装置およびサンプリング方法
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
JP7468938B2 (ja) 乱数生成器、乱数生成方法、及びプログラム
Kirui et al. Scentrees. jl: A julia package for generating scenario trees and scenario lattices for multistage stochastic programming
US20240112055A1 (en) Computer-readable recording medium storing node allocation program at the time of quantum simulation execution, node allocation method at the time of quantum simulation execution, and information processing device
CN116388864B (zh) 量子网络设备性能预测方法、装置、电子设备及存储介质
US9841990B2 (en) Encoding of a schedule into a binary structure
JP5596612B2 (ja) 復号制御システム、および復号制御方法
Okada et al. A random key-based genetic algorithm approach for resource-constrained project scheduling problem with multiple modes
Ruijl et al. HEPGAME and the Simplification of Expressions
CN110032832B (zh) 一种Web应用程序的处理方法及装置
KR102046249B1 (ko) 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치
JP2006031178A (ja) 負荷テスト実施装置、負荷テスト実施方法、負荷テスト実施プログラム
JP6333213B2 (ja) 生成装置、生成方法、及び生成プログラム
WO2024078096A1 (zh) 针对网络流问题的处理方法和装置
JP2019067327A (ja) 学習プログラム、学習装置及び学習方法
JP7548432B2 (ja) 学習方法
WO2024047879A1 (ja) 特徴量選択装置、特徴量選択方法、及びプログラム
EP4075345A1 (en) Information processing system, information processing method, and information processing program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240328

R150 Certificate of patent or registration of utility model

Ref document number: 7468938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150