JP2022508009A - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法 Download PDF

Info

Publication number
JP2022508009A
JP2022508009A JP2021505389A JP2021505389A JP2022508009A JP 2022508009 A JP2022508009 A JP 2022508009A JP 2021505389 A JP2021505389 A JP 2021505389A JP 2021505389 A JP2021505389 A JP 2021505389A JP 2022508009 A JP2022508009 A JP 2022508009A
Authority
JP
Japan
Prior art keywords
state data
data processing
error
current state
calculates
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.)
Granted
Application number
JP2021505389A
Other languages
English (en)
Other versions
JP7050998B2 (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.)
Japan Science and Technology Agency
University of Tokyo NUC
Leland Stanford Junior University
Original Assignee
Japan Science and Technology Agency
University of Tokyo NUC
Leland Stanford Junior University
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 Japan Science and Technology Agency, University of Tokyo NUC, Leland Stanford Junior University filed Critical Japan Science and Technology Agency
Publication of JP2022508009A publication Critical patent/JP2022508009A/ja
Application granted granted Critical
Publication of JP7050998B2 publication Critical patent/JP7050998B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7892Reconfigurable logic embedded in CPU, e.g. reconfigurable unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F2015/761Indexing scheme relating to architectures of general purpose stored programme computers
    • G06F2015/768Gate array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Complex Calculations (AREA)
  • Control Of Stepping Motors (AREA)
  • Feedback Control In General (AREA)

Abstract

所与の問題を解くよう構成された、簡易なハードウエアを用いたデータ処理装置であって、所定の時間発展的処理によって状態データの更新を繰り返す状態データ処理部と、現在の状態データのコスト関数の値を演算するコスト評価部と、現在の状態データの振幅の均一性に関するエラー値を演算するエラー演算部と、を有し、状態データ処理部は、状態データについて時間発展的処理を行い、コスト関数とエラー演算部によって演算された、現在の状態データの振幅の均一性に関するエラー値とに基づいて、現在の状態データを更新する、データ処理装置である。【選択図】図1

Description

本発明は、組み合わせ最適化問題の解を求めるデータ処理装置に関する。
組み合わせ最適化問題を解決するために、古典的なデジタルコンピュータでは、汎用中央処理装置(CPU)で動くようにコンパイルされたアルゴリズムが用いられてきた。長年にわたり、デジタルハードウエアの急速な小型化(例えば、CPU中のトランジスタの数に対する規模の小型化)は可能であり続けた。しかし、デジタル部品の小型化は限界に近づいてきており、詰め込まれたトランジスタが、十分なエネルギー効率を保ちつつ、安定して機能するのは難しくなってきている。理論上は、このような古典的なコンピュータで用いられるコンピュータ処理は、一般にノイマン型の構成として知られている。
このような古典的なコンピュータによる計算がチューリングマシンを使って行われるものとすると、これらの古典的なコンピュータは、リソースの限界を無視さえすれば、チャーチ=チューリングの定理として証明されるように、「あらゆるものに使える」計算能力を有する。上述のようにCPUが実行できる論理演算の数にも限界があるが、それに加えて、CPU装置とメモリとの間の帯域幅が有限であることも、古典的なコンピュータにおける情報の流れを制限する障害となっていることは良く知られている。
古典的なコンピュータにおける制限を回避するため、「非古典的な」データプロセッサが考えられてきている。このような新しいコンピュータは必ずしも何にでも使える計算能力は有さないが、特定の計算タスクに最適化されている。情報の処理を、抽象化の高いレベルではなく、物理層に近い、抽象化の低いレベルで直接実行することで、パフォーマンスを向上できる。「ソフト」データプロセッサを使えば、特定の目的に合うように動的に内部構造を再構成できるので、抽象化のレベルが最も低いレベルでの計算処理も可能となる。これによって、メモリと処理動作とが協働し、大量に並列的な計算処理が可能となる。
さらに、古典的なコンピュータで使われているバイナリ状態の信号ではなく、データプロセッサのアナログ信号を直接使用することも提案されてきている。アナログ状態の信号は、例えば閾値未満の領域(subthreshold regime)で動作する電子部品を使用するか、あるいは非線形光学現象を利用することで、電子工学領域において物理的に実装できる。このようなアナログコンピュータは、理論的にはデジタルコンピュータでシミュレートでき、またこのアナログコンピュータならば、ある種の特定の問題、例えば微分方程式のシミュレーションに係る問題に対しては、十分高速に処理することができる。このような装置を開発することへの潜在的な動機の一つは、計算に使用するハードウエアの物理的な装置で、0と1だけではなく、もっと多くの情報を符号化したいという点にある。このように、高い論理レベルではなく、より低い物理レベルで直接計算処理をすることによって、リソースを増やすことが可能となる。
具体的に、アナログ・ホップフィールド・ニューラル・ネットワーク(米国特許第4660166号)のような近年提案されたアナログコンピュータや、コヒーレント・イジングマシン(例えば、米国特許第9411026号)のような光学アナログコンピュータにより、組み合わせ最適化問題に対する近似的な解を求めることができる。
現在、高速で計算処理を行うため、このようなマシンはアナログハードウエアよって実現された並列計算を利用している(米国特許第4660166号)。このような装置とニューラルネットワークとの概念的な近似に注目するのも興味深い。計算論的神経科学の分野での最近の進歩は、脳内で起きているアナログ処理に触発された、新規なアナログ計算スキームの開発に応用することができる。
GPU(画像処理装置)、TPU(テンソル処理装置)、FPGA等の、非従来型の神経系を模した(neuro-inspired)データプロセッサは、分類の分野で成功裏に応用されており、ディープラーニングネットワークにおける最近のトレンドに例示されるように、従来のハードウエアを使用した最先端の手法をしのぐことも可能である。
しかし、上述したアナログ・ニューラルネットワークには2つの制限がある。1つは、コスト関数(又は、目的関数)をシステムのエネルギー関数(又は、通常、接続が対称的であるときに定義されるリアプノフ関数)に写像することで、組み合わせ最適化問題に対する合理的な近似解を得ることは可能だが、どのような組み合わせ最適化問題に対しても最適解を得られる保証はない。当然ながら、非凸問題の場合には、このようなシステムはエネルギー関数の局所的最小値(local minima)に捕捉されることがある。アナログ・ニューラルネットワークは一般に散逸系であり、コヒーレント・イジングマシンの構造においては、最小損失となる解のみが安定的であり、そうでない場合は不安定であるというケースで、システムのゲインを最小値に設定することで、解の質を向上する方法などが提案されてきている。しかし、アナログ変数の振幅が一般的にヘテロ(つまりすべてが等しくない)ので、エネルギー関数による目的関数のマッピングが誤った状態となり、最小損失となる領域で操作しても最適解への収束を保証できない。
2つ目の制限として、制約つき最適化問題において、通常、ペナルティ項をコスト関数に加えることでソフト制約(soft constraints)に変換される制約が、適切に考慮されないということがある。ソフト制約(つまりペナルティ項)を用いることで、収束問題に帰することは知られているが、ペナルティ項はグローバルなコスト関数の和を求める際に、互いに干渉してしまうことも知られている。さらに、ペナルティ項は一般に大きく異なったスケールを持つため、注意深く選んだ定数係数を使って訂正する必要がある。
これらの問題を解決するために種々の方法が提案されている。離散状態の確率論的探索である、一般的なシミュレーテッドアニーリング法では、最適解への収束は、システムの「温度」を、適切な割合で徐々に低下させることで保証される。この収束は解析的に証明されたものであり、現実には、与えられた組み合わせ最適化問題を効率的に解くための最適なスケジューリングを見いだすことは困難である(L. Ingber, Mathematical and computer modelling, 18, (29), 1993)。
ハードウェアの量子動力学的性質を利用することを目的とした量子アナログデバイスまで拡大された物理層に近いコンピュータ概念もある。初期の強い横磁場(transverse field)を徐々に減衰させる量子アニーリングデバイスを構成する試みもある。断熱的方法の限界として、このようなシステムは、基底状態にとどまり横磁場が消失したときに組み合わせ最適化問題の最適解の状態に到達する。例えばD-ウェーブ社による(米国特許第6803599号のような)、このような装置の現実的な実装は、装置内の量子状態を破壊する環境との相互作用を受け得るほか、コンポーネントを特殊な接続トポロジ(キメラグラフ)で接続する必要があり、組み合わせ最適化問題を、このトポロジに埋め込むことが要求され、リソースのコストが増大する。このような限界のため、一般的な種類の問題の解を得るためには、シミュレート・アニーリングのような従来の方法の類いに比べ、上記量子デバイスは十分な計算機的優位性を確立しているとは広く認められていないのが現状である。
米国特許第4660166号明細書 米国特許第9411026号明細書 米国特許第4660166号明細書 米国特許第6803599号明細書
上述のように、関連技術においては、デジタル及びアナログコンピュータデバイスの双方で、簡易なハードウェア構成で、特定の問題を解決する際の速度の改善が困難になっている。そこで、簡易なハードウェア構成で、迅速に特定の問題を解決するコンピュータ装置が要望されている。
上記従来例の問題点を解決するための本発明の一態様は、所与の課題を解決するためのデータ処理装置であって、所定の時間発展的処理によって状態データの更新を繰り返す状態データ処理部と、現在の状態データに対するコスト関数の値を求めるコスト評価部と、現在の状態データの振幅の均一性に関するエラー値を計算するエラー演算部、とを有し、前記状態データ処理部が、前記状態データについて所定の時間発展的処理を行い、コスト関数と、エラー演算部によって計算されたエラー値と、に基づいて現在の状態データを更新する、データ処理装置。
本発明によると、簡易なハードウェア構成で、迅速に特定の問題を解決できるコンピュータ装置が提供される。もっとも、各請求項記載の発明が有利な作用効果をすべて奏するものとして限定的に解釈されるべきではない。
また、ここでは以下の説明の理解のため、構成や効果の概要を簡潔に示した。追加的な構成及び効果が以下に、各請求項記載の構成に関連して説明される。
実施形態と効果の理解のため、以下の図面を参照しつつ説明する。
本発明の実施の形態に係るデータ処理装置の構成例を表す概略図である。 本発明の実施の形態に係るデータ処理装置の機能的構成の例を表す概略図である。 本発明の実施の形態に係るデータ処理装置のエラー演算部の構成例を表す概略図である。 本発明の実施の形態に係るデータ処理装置の状態データ処理部の例を表す説明図である。 本発明の実施の形態に係るデータ処理装置の機能的構成を表す概略図である。 本発明の実施の形態に係るデータ処理装置における処理の例を表す概略フローチャート図である。
本発明の好ましい実施態様に係るデータ処理装置1は、図1に示すように、プロセッサ11、及び、入出力装置13を含む。
本実施の形態のデータ処理装置1は、イジングマシンやホップフィールドニューラルネットワークと同様に、後に説明するように、組み合わせ最適化問題の二値変数をアナログ変数に変換する状態エンコード部を備える。それに加え、データ処理装置1は、もう一つのサブシステムであるエラーエンコード部を有し、このエラーエンコード部は、データ処理装置1の定常状態(steady-states)と、組み合わせ最適化問題のより低いコスト値の構成との間の変換(マッピング)を補正する。状態エンコード部は、エラーエンコード部に対して非対称に接続される。
プロセッサ11はロジックゲートやメモリブロックを備えたFPGAでもよい。本実施態様によれば、プロセッサ11は所定の時間発展的処理によって状態データの更新を繰り返し、状態データに対するコスト関数の値を求め、状態データの振幅の均一性に関するエラー値を計算する。状態データの更新の際には、プロセッサ11はエラー値及びコスト関数の値も利用する。プロセッサ11の詳細な処理については後述する。
プロセッサ11のメモリブロックは、プロセッサ11のロジックゲートの処理で利用される、状態データなどのデータを保持する。
入出力(I/O)装置13は、キーボード、マウス等の入力装置を含む。また、この入出力(I/O)装置13は、プロセッサ11からの指示に応じて、状態データや、コスト関数の値などの情報を出力するディスプレイも含んでもよい。
以下に、プロセッサ11での処理を記載する。以下の例では、本発明の一実施態様に係るデータ処理装置1によって解決される課題は、組み合わせ最適化問題であるものとする。組み合わせ最適化問題においては、コスト関数が規定され、組み合わせ最適化問題のコスト関数が極小化されることが、組み合わせ最適化問題が解かれたことを意味する。
ここではコスト関数はV(0)(σ)で表されるとし、このうち、V(0)(σ)の値はどのベクトルσに対しても実数となり、ベクトルσはσ={σi}i (i = 1,2,…,N)、σi =±1であるとする。コスト関数V(0)(σ)は、パラメータ集合{M0k}k (k = 1,2,…)で規定され、M0kはベクトルまたは行列であり、より一般的にはテンソルである。ブーリアン型変数の数(問題の大きさ)はNで表される。
制約つき最適化問題の場合には、許容される解は、すべての配置からなる空間に対して、Sで表される部分集合を構成する。所与の組み合わせ最適化問題の制約に対して、部分集合Sは下記のような等式制約及び/又は不等式制約によって規定される。
Figure 2022508009000002
(1)式で、k, k’ = 1,2,…,Kである。
行列及びベクトルAk、Ck,、bk、及びdk’は、{Nki}i又は{Mki}iで表される別のパラメータ集合で規定される。ここで、kは制約のインデックスであり、k =1,2,…,K, i=1,2,…である。
制約は2つのカテゴリーに分けられる。制約の第一の集合は、タイプIのソフト制約と呼ばれるもので、ペナルティ項をコスト関数に加算し、その制約によって規定される有効な部分空間にシステムを射影することによって充足される制約である。全コスト関数V*は、これらの制約を考慮したものであり、下記のようになる。
Figure 2022508009000003
(2)式において、U(K)は、制約kによって与えられるペナルティ項である。qkは正定数パラメータであり、k=1, 2, …, KIであり、KIは当該部分集合内の制約の総数を表す。ベクトルσが制約kを充足すると、ペナルティ項U(K)(σ)は極小となる。ペナルティ項U(K)(σ)は、パラメータ{Mki}iと、有効部分空間への射影Pとに依存する関数であり、ここでは、提案されたシステムに対して入力されるものである。
制約の第二の集合は、タイプIIのソフト制約と呼ばれるもので、エラー検出訂正フィードバックループを使って導入される制約である。パラメータ{Nki}i(k=1,…, KII,ただしKI + KII = K)に依存するペナルティ項V(K)も規定される必要がある。このペナルティ項V(K)はエラー訂正に使用される。更に、gkは制約が充足されないときに正の値をとる関数であり、エラー検出に使用される関数であるとする。制約が充足される場合、この関数gkの値は負となるものとする。
これらのU(k), V(k), P, 及び gkは、解かれるべき組み合わせ問題とその制約に合わせて選択される。言い換えれば、U(k), V(k), P, 及び gkはデータ処理装置1のユーザによって決定される。
図2は、プロセッサ11の機能的な構造の一例を示す。図2にあるように、一つの実施例では、プロセッサ11は、機能的に、状態データプロセッサ21、コスト評価部22、エラー演算部23、変調部24、及び出力部25を含む。
状態データプロセッサ21は、所定の時間発展的処理によって状態データの更新を繰り返す。ここで状態データは固定小数点変数xi(i=1,2,…N)の集合であり、例えばアナログ状態を符号化して得られるものである。
本実施形態において、この状態データプロセッサ21は所定の時間発展的処理によって状態データの更新を繰り返し、更新した状態データを有効な部分空間に射影し、射影した更新済状態データを新しい状態データとしてメモリブロックに保持する。
具体的には、状態データプロセッサ21は処理部210と、ゲイン消失シミュレータ211と、射影部212とを有する。各処理部210は、対応する状態データxi(i=1,2,…N)をそれぞれ処理する。ゲイン消失シミュレータ211は孤立した(非結合な)ユニットである。このゲイン消失シミュレータ計算部211は状態データxiと、線形ゲインpとの入力を受けて、ポテンシャルVbを最急降下法により演算する。この演算は、次の常微分方程式で簡単に示すことができ、この常微分方程式は、I=0のときに最急降下法に相当するものとなる。
= f(x) + I (3)
式(3)において、f(x)=-∂V/∂xであり、Vは孤立した(非結合な)ユニットのエネルギー関数またはリアプノフ関数であり、例えば、次のようなポテンシャル関数である:
=-(-1+p)x 2/2+x /4
なお、Iについては後述する。
エネルギー関数Vは、典型的には双安定ポテンシャル(単安定または双安定ポテンシャルの典型(archetype))であり、線形ゲインpの値によって単安定(p<1のとき)と双安定(p>1のとき)とのいずれにもなり得る。Vが双安定の場合、状態データxはI=0のとき、ポテンシャルVが最小となるところでバイナリー状態に収束する。なお、ここでIは、i番目の処理部210に外部から入力されるアナログ信号を表す。外部から入力されるアナログ信号の例については、後に述べる。
これらより(3)式は下記のように書き換えられる。
= (-1+p)x-x 3 + I (4)
(4)式において、-x,px及び-x 3は、それぞれ、状態xの損失、線形ゲイン、及び飽和に対応する項である。
この力学系は、常微分方程式(ODE)を使用する連続時間ドメインにおけるものとなっているが、本実施の形態のシステムは、離散時間ドメインで運用することも可能である。連続時間から離散時間への変換は、上述の常微分方程式(ODE)を単にオイラー近似することなどによって行うことができる。
状態データプロセッサ21の各処理部210間の結合は、下記で表されるインジェクション項Iを使って実装される。
Figure 2022508009000004
ここで、
Figure 2022508009000005
Figure 2022508009000006
ここで、k=1,2,…KII
式(6)及び(7)において、ベクトルe(k)(要素e (k),i=1,2,…)はエラー信号であり、VはタイプIのソフト制約を考慮したペナルティ項を含むコスト関数であり、V(k)はタイプIIのk番目のソフト制約に関するペナルティ項である。
さらに、εkは、正の実数パラメータ値である。制約の種類については、後に説明する。
を入力すると、ポテンシャルV(k)(x)の最急降下が行われる。しかし、勾配∂V(k)(x)/∂xはe (k)によって変調(modulate)される、すなわち、勾配ベクトルは状態空間を用いて規定され、エラー信号によってそのスケールが変更される。各エラー信号e (k)は、加えられる制約に応じて、空間ベクトルxを異なるスケールに変更する。
そして、全インデックスkについて、タイプIIのソフト制約を考慮した、勾配の総和を求める。これにより、複数の制約が総和の中で競合することになる。ある制約に関して、スケールが変更された勾配ベクトルの振幅が、他のものよりかなり大きい場合、その制約が最終的に勝ち残る。
射影部212は、状態データを、所定の部分空間に射影する。具体的に本実施の形態では、状態データベクトルxが、タイプIの制約に対応して予め定められた射影演算子Pを用いて、状態データベクトルxを更新する繰り返し処理ごとに、有効な部分空間に射影される。
この射影は、ホップフィールドネットワークにおけるアイヤー(Aiyer)の方法と同様のものである。
射影演算子の効果は、次のように、ベクトルxの時間発展のオイラーステップを考慮して説明される:
Figure 2022508009000007
ここで、x′(t)は、射影演算子Pを用いた、x(t)の有効な部分空間への射影を表す:
Figure 2022508009000008
仮に、タイプIのソフト制約が存在しない場合、射影Pは恒等演算子であり、ベクトルx′はベクトルxに等しくなる。
本実施の形態のシステムにおいて、時間発展は、射影Pを考慮に入れるため、連続時間ドメインにおいて代数的な微分方程式系によっても表現される。
コスト評価部22は、現在の状態データに対するコスト関数の値を求める。
エラー演算部23は、少なくとも現在の状態データの振幅の均一性(homogeneity)に関するエラー値を演算する。本実施の形態においては、このエラー信号は、
(1)状態エンコードユニットにおける振幅の非均一性を補正し、
(2)適切な制約のマッピングを許容する。
各エラーエンコードユニットは、通常、状態エンコードユニットのサブセットにのみ接続される。振幅の非均一性の補正は、アナログ空間に関する最適化問題の等式制約として解釈可能であることに注意されたい。
換言すれば、バイナリー変数の組み合わせ最適化は、すべてのアナログ状態の振幅が等しいという制約を含めた、アナログ変数の最適化問題の一種であると言える。
図3に示すように、エラー演算部23は、エラー演算サブユニット231と、複数のサブユニット232とを含む。
エラー演算サブユニット231は、振幅の非均一性に係るエラーe(0)を演算する。このエラー演算サブユニット231は、時間発展プロセッサ2311とアップデータ2312とを含む。時間発展プロセッサ2311は、a>0なるターゲット振幅と、エラー信号の変化率βとの入力を得て、エラー信号e(0)を演算する。ここで、ターゲット振幅とエラー信号の変化率βとは初期化の際に、ユーザが指定する。またエラー信号e(0)は、e(k)の一つであり、k=0の場合に相当し、コスト関数Vの最小化に関わる。これらのエラー信号は、状態データベクトルxの振幅の非均一性を補正する。
具体的に、時間発展プロセッサ2311は、エラー信号e(0)を:
Figure 2022508009000009
のように演算する。
アップデータ2312は、現在のe (0)に、∂ (0)dtを加えて、更新後のe (0)を求めることで更新し、この更新後のe (0)を、メモリブロックに、次の繰り返し処理のエラー信号として保持する。
制約のエラーを演算するサブユニット232のそれぞれもまた、時間発展プロセッサ2321と、アップデータ2322とを備える。時間発展プロセッサ2321は、ターゲット関数gと、このエラー信号の変化率βとの入力を受けて、エラー信号e(i)を出力する。ここでターゲット関数gと、エラー信号の変化率βとは、初期化の際に、ユーザが指定する。また、エラー信号e(i)は、e(k)の一つで、k=iの場合に相当しており、コスト関数Vの最小化に関わる。これらのエラー信号は、状態データベクトルxに対して問題の制約を与える。
具体的に、時間発展プロセッサ2321は、エラー信号e(i)を:
Figure 2022508009000010
として演算する。ここで、xは、状態データのベクトルであり、g(k)(e (k),x)は、解こうとする問題の制約に関係して定められる。
仮に、解こうとする問題に制約が存在しない場合、サブユニット232は必ずしも必要ではない。
アップデータ2322は、現在のe (k)に、∂ (k)dtを加えて、更新後のe (k)
Figure 2022508009000011
を求め、この更新後のe (k)を、メモリブロックに、次の繰り返し処理のエラー信号として保持する。
エラー演算部23は、現在のエラーの値e (k)(i=0,1,2,…)を、状態データプロセッサ21に対して出力する。
変調部24は、線形ゲインp、ターゲット振幅a、エラー値の変化率βなどのパラメータ値を、現在の状態データに基づいて演算する。この変調部24がエラー演算部23に対してターゲット振幅等のパラメータを出力することとすれば、エラー演算部23は、変調部24から得られる当該パラメータを、ユーザが指定した値に代えて利用できる。
この例では、変調部24は、アナログ状態xを、演算の各ステップにおいて、コンピュータで演算可能なブーリアン変数σの構成に、σ=C[x]というように変換する。また、変調部24は、この変数を、コスト関数V(0)の現在の値を演算するために利用する。
本実施の形態のある例では、変調部24は、コスト関数V(0)の現在の値を:
Figure 2022508009000012
として求める。ここでhは、行列M0iを、σの左から乗じる(いわゆるカップリング演算)などして得られる内部場演算(internal field calculation)を表すものであり、h=M0iσと表される。なお、ドットは、ドット積を表す。
また変調部24は、線形ゲインpやターゲット振幅aを:
Figure 2022508009000013
Figure 2022508009000014
と変調する。ここで、
Figure 2022508009000015
である。また、V(0)(t)は、状態x(t)に関連するコスト関数の値であり、Vopt(0)は、ターゲットエネルギーである、この例では、Vopt(0)は、繰り返し演算の間に見いだされたエネルギーの最低値に設定すればよい。つまり、
Figure 2022508009000016
としてよい。あるいは、このVopt(0)は、知られているのであれば、コスト関数V(0)の最低値に設定されてもよい。
関数φは、シグモイド(例えばハイパボリック・タンジェント)関数であり、
δ>0,ρ1,ρ2
は、予め定められた定数パラメータであり、ρ1,ρ2はいずれも、正の値でも、負の値であってもよい。
仮に、ターゲット振幅aや線形ゲインpが
Figure 2022508009000017
に従って変調されるのであれば、ρ1>0または、ρ2>0である。
一方、仮にターゲット振幅aや線形ゲインpが
Figure 2022508009000018
に反して変調されるのであれば、ρ1<0または、ρ2<0である。
他のパラメータ、例えば変化率βも変調され得ることに注意されたい。
ここで説明した処理手順の効率は、α,πなどのパラメータの選択に依存するものである。
カップリング行列のスペクトル分解(最大の固有値)を用いるなどして事前の調整なしに、パラメータを選択できることが理解される。
出力部25は、現在の状態データxを出力する。この出力部25は、状態データとともに、現在の状態データに対するコスト関数を併せて出力してもよい。
本実施の形態のある例では、データプロセッサは、上述のエラー補正処理を含む。エラー検出は、例えば、エラー信号などの外部アナログ動的変数を考慮して行われる。エラー補正変数は、システムによる目的関数のマッピングの誤りによって生じる振幅の非均一性を補正するために用いられる。
さらに、もう一組の変数と有効な部分空間への射影が、最適化問題に与えられる制約のために考慮される。エラー制御は、非対称なエラー補正とエラー検出のフィードバックループを用いる。
さらに、エラー信号の変動は、一般に、アナログ状態を順次エンコードして得られる現在のブーリアン変数に依存し、論理レベルでエラーを検出するために用いられる。しかしながら、エラー信号それ自体は、アナログ値であり、現在の状態エンコード変数をアナログ的に変調する。
本実施の形態のデータ処理装置1は、上述の構成を備えており、次のように動作する。
なお、本実施の形態のデータ処理装置1は、図6に例示するように、状態データx(i=1,2,…N)を所定の方法で初期化する(S1)。一例として、データ処理装置1は、状態データを、ランダムなブーリアン値を生成することによって初期化する。
データ処理装置1は、状態データxiとコスト関数のパラメータのセット{M0kk(k=1,2,…)とに基づいてパラメータの変調を演算する(S2)。
このステップS2では、データ処理装置1は、タイプIの制約が存在する場合、変調された線形ゲインp、変調されたターゲット振幅a、コスト関数V(0)の現在の値:
Figure 2022508009000019
または
Figure 2022508009000020
を求める。
ある例では、M01やM02は行列であり、M03はベクトルである。M01,M02,及びM03はコスト関数V(0)を規定する。同様に、仮にタイプIの制約が存在するのであれば、M11やM12は行列であり、M13はベクトルである。ここでkは、U(k)で定義される制約k(またはk=0のときには、目的関数V(0)に対応する)を表す。M11,M12,M13は、U(1)で定義される第一の制約(k=1)を表す。βkは、エラー信号の変化率を表す。
データ処理装置1は、ステップS2において、状態データxに係る所定のブーリアン変数σを演算する。このステップS2における詳細な演算の内容は、変調部24の処理として既に説明した通りである。
データ処理装置1は、振幅の非均一性、及び制約に係るエラー変数を更新する(S3)。このエラー変数は、変調されたターゲット振幅、ステップS1で取得したエラー変数の変化率、及び、目的関数gを用いて:
Figure 2022508009000021
及び、
Figure 2022508009000022
として演算する。
ここで、関数gは、解こうとする問題の制約により規定される。
既に説明したように、状態データxのプライムサイン(′)は、それが状態データxの有効な部分空間への射影であることを示す。
データ処理装置1は、また、タイプIの制約が存在する場合には、カップリング項、すなわち、例えば、
Figure 2022508009000023
や、
Figure 2022508009000024
を演算する。また、データ処理装置1は、
Figure 2022508009000025
を演算する。ここで、Nkiは、タイプIIの制約により規定される。さらに、データ処理装置1は、ゲイン及び飽和:
Figure 2022508009000026
を求める(S4)。
ステップS3,S4の処理は、並列して行われてもよいし、いずれかを先にした順序で順番に行われてもよい。
そしてデータ処理装置1は、インジェクション項を演算する(S5)。この演算は、インジェクションを総和する:
すなわち、
Figure 2022508009000027
として、
Figure 2022508009000028
を求めることで行われる。そしてデータ処理装置1は、状態データを更新する(S6):
Figure 2022508009000029
データ処理装置1は、状態データxに対する射影を求め(S7)、現在のエラー(現在の損失)を求める(S8)。
データ処理装置1は、そして、予め定めた条件が満足されるか否かを調べて、繰り返し処理を終了するか否かを判断する(S9)。ここで、上記予め定めた条件の一例は、時間の制限であり得る。この例では、繰り返し処理により消費した時間が、予め定められた制限時間を経過したか否かを判断することとなる。データ処理装置1は、繰り返し処理により消費した時間が予め定めた制限時間を経過していなければ(S9:No)、ステップS1に戻って処理を続ける。一方、データ処理装置1は、繰り返し処理により消費した時間が予め定めた制限時間を経過していれば(S9:Yes)、演算の結果(状態データxや、それに対応する所定のブーリアン変数σ)を、見いだされた最適な結果として出力して(S10)、処理を終了する。
本実施の形態のデータプロセッサの処理を示すため、以下に、具体的な問題の例を挙げて説明する。
[(1)最大カット問題の例]
本実施の形態のデータ処理装置1を最大カット問題に適用した例を示す。この例の最大カット問題のためのデータ処理装置1は、重み{wijijが規定されたグラフのカットであって、重みの総和が最大となるような切断(カット)を見いだすよう設定される。ここでi,jは、それぞれN以下の自然数:1,2,…Nの一つであるとする。
最大カット問題の与えられる解は、カットの後に得られる2つの集合に対応する頂点iの分割として表され得る。頂点iが一方の集合または他方の集合のいずれに属するかがブーリアン値σとしてエンコードされる。この問題の最適解、すなわち最大カットは、コスト関数
Figure 2022508009000030
を最小化するものとなる。ここで、
Figure 2022508009000031
であり、
Figure 2022508009000032
は、イジング・ハミルトニアン:
Figure 2022508009000033
であり、σは、要素がσi(i=1,2,…)であるようなベクトルである。
最大カット問題は、二次の非制約二値組み合わせ最適化問題(quadratic unconstrained binary combinatorial optimization problem)、あるいはイジング問題と呼ばれる問題である。コスト関数のパラメータが行列で構成されること、そしてコスト関数の総和Vが単一の行列:
Figure 2022508009000034
で表されることに注意すると、目的関数は、簡潔に、
Figure 2022508009000035
として与えられる。
この最大カット問題の例では、制約は存在しない。つまり、この例におけるデータ処理装置1は、それぞれ状態データx(i=1,2,…N)に対応するN個の状態データプロセッサ21のみを備える。この例のデータ処理装置1は、また、サイズNの問題を解く際の振幅の非均一性を補正するためのエラーデータe (0)に対応するN個のエラー演算部23のみを要する。
この例では、有効な部分空間は、すべての構成となるので、射影演算子Pによる射影は、恒等的なもの:
Figure 2022508009000036
となる。
さらに、妥当な解への変換は、
Figure 2022508009000037
として定義する。ここで、sign(x)は、x>0のときsign(x)=1、そうでないときにはsign(x)=-1となるものとする。
そしてこの実施の形態の例の制御部11では、状態データプロセッサ21が所定の方法、例えばランダムなブーリアン値をxに設定するなどの方法で状態データx(i=1,2,…N)を初期化する。
状態データが設定されると、コスト評価部22が現在の状態データのコスト関数を評価する。この例では、コスト関数は、
Figure 2022508009000038
と設定される。ここでハミルトニアンは、イジングハミルトニアン:
Figure 2022508009000039
であり、ここで{wijijは、繰り返し処理の開始時にランダムに初期化される重みである。
一方で、エラー演算部23は、現在の状態データの振幅の均一性に係るエラー値を演算する。
エラー演算部23の時間発展プロセッサ2311は、ターゲット振幅a(a>0)と、エラー値の変化率βとの入力を受け入れる。これらのターゲット振幅a及びエラー値の変化率βは、当初(t=0の時点)では、予め定めた値、例えばa=1.0,β(t=0)=0.0などといった値に初期化される。
時間発展プロセッサ2311は、これらの値を用いて、エラー値e (0)の時間発展
Figure 2022508009000040
を演算する。ここで繰り返し処理の初回においては、エラー値e (0)は、ランダムな値に設定される。
アップデータ2312は、現在のエラー値e (0)を、∂ (0)dtを加算することにより更新して、更新後のエラー値e (0)を求め、この更新後のエラー値e (0)を、状態データプロセッサ21に出力する。
そして状態データプロセッサ21のゲイン消失シミュレータ211が、状態データx、線形ゲインp、及びエラー値e (0)を得て、状態の時間発展:
Figure 2022508009000041
を求める。
この式において、時間依存性は陽に示されていないが、状態データxやエラー値e (0)などの値が、時間に依存して変化する。
状態データプロセッサ21は、対応する状態データxと、状態データの時間発展:
Figure 2022508009000042
とを加算して、状態データを更新する。
状態データプロセッサ21は、更新された状態データx(t+dt)を、現在の状態データとして記憶する。この問題においては、タイプIのソフト制約は存在しないので、射影Pは恒等演算子であり、従ってベクトルx′は、ベクトルxに等しくなり:
Figure 2022508009000043
更新された状態データは、次の繰り返し処理における現在の状態データとしてそのまま保持される。
状態データを更新した次の繰り返し処理の前に、変調部24は、線形ゲインp、ターゲット振幅a、及びエラー値の変化率βなどのパラメータ値を、現在の状態データに基づいて演算する。
変調部24は、状態データxを、可能なブーリアン変数σに変換する。この例では、状態データxは既にブーリアン値であるので、変調部24は、コスト関数V(0)の現在の値を演算し、線形ゲインpと、ターゲット振幅aとを、式(12)、(13)によって表されるように変調する:
Figure 2022508009000044
Figure 2022508009000045
また、変化率β0も、同様に変調される。
上記の式において、
Figure 2022508009000046
であり、関数φは、シグモイド関数である。また、
Figure 2022508009000047
は、予め定められた定数パラメータである。
パラメータ値α,πは、ユーザによって予め設定される。
ここで、V(0)(t)は、コスト評価部22によって評価された状態データx(t)に係るコスト関数の値であり、Vopt (0)は、ターゲットエネルギーである。この例では、Vopt (0)は、繰り返し処理の間に見いだされたエネルギーの最低値に設定される。すなわち:
Figure 2022508009000048
このVopt (0)を得るため、変調部24は、現在のVopt (0)を記憶し、現在のVopt (0)が記憶しているVopt (0)よりも低い値であるときに、Vopt (0)を更新して記憶する。初期状態では、変調部24は、Vopt (0)を記憶していないので、変調部24は、演算されたV(0)(t=0)を記憶する。
変調部24は、更新された線形ゲインp、ターゲット振幅a、及び変化率β0を得て、これらを出力する。
制御部11は、現在の更新された状態データxと、コスト関数とを出力し、次の繰り返し処理に移行して処理を続ける。
コスト評価部22は、現在の(更新された)状態データに係るコスト関数を評価し、エラー演算部23は、現在の状態データに係る振幅の均一性に関するエラー値を演算する。
制御部11は、繰り返し処理を行い、エラー値の時間発展:
Figure 2022508009000049
と、状態データの時間発展:
Figure 2022508009000050
と、を演算し、エラー値を:
Figure 2022508009000051
として更新し、また、状態データを:
Figure 2022508009000052
と、更新する。
制御部11は、更新された状態データx(t+dt)を、現在の状態データとして記憶する。
そして制御部11は、線形ゲインp、ターゲット振幅a、エラー値の変化率βkなどのパラメータ値を、現在の状態データに基づいて演算する。
制御部11は、現在の状態データxと、コスト関数とを出力し、このコスト関数が、所定の条件、例えばコスト関数が予め定めたしきい値を下回るなどの条件を満足するか、ユーザが処理を停止するまで繰り返し処理を行う。
最大カット問題の場合、データ処理装置1の動作は、次のように要約できる:
Figure 2022508009000053
Figure 2022508009000054
これらの式は、
Figure 2022508009000055
の勾配により与えられる。
さらに、ターゲット振幅aは、最適解:
Figure 2022508009000056
への収束を保証するため、次のようにして選択される。ただし、上述の式で、
Figure 2022508009000057
またここで、
Figure 2022508009000058
は、現在の状態(現在の状態データ)のエネルギーであり、
Figure 2022508009000059
は、ターゲットエネルギーである。実際には、ターゲットエネルギーは、それまでに見いだされたエネルギーの最低値:
Figure 2022508009000060
に設定されるか、または、既知であれば基底エネルギーの値に設定される。
さらに、関数fは、シグモイド関数であり、ρ,δの双方は正の0でない定数パラメータであって、ユーザによって予め定められる。
解を得るまでの時間をさらに短縮するため、パラメータβが時間依存であることを考慮する。パラメータβは処理中、変化率λで線形的に増加し、正の値τで表される時間の間、エネルギーが減少しないのであれば、0にリセットされる。
Figure 2022508009000061
である場合、ただし、tは、
Figure 2022508009000062
が最低値である時点または、βがリセットされた時点を表すものとするとき、ならば、β(t)の変化は、
Figure 2022508009000063
ただし、
Figure 2022508009000064
とする。一方で、
Figure 2022508009000065
ならば、βは0に設定され、tはtに設定される。
また、線形ゲインであるパラメータpは、状態に依存して:
Figure 2022508009000066
として定められる。
[(2)二次割当問題(Quadratic Assignment Problem;QAP)]
二次割当問題(QAP)は、生産品を輸送するトータルのコストが最小となるように、n個の工場をn箇所の異なる場所に割り当てる問題である。ここでコストは、工場間の距離とフローとの積の総和に依存するものとする。この問題を目的関数としてエンコードするため、ブーリアン値siuが次のように設定される。すなわち、工場uが場所iに配置されるときsiu=1とし、そうでなければsiu=0とする。次に、この問題を、コスト関数V(0)
Figure 2022508009000067
を、最小化する割り当てを見いだす問題として定式化する。ここで行列{buvuv((u,v)番目の要素が、buvとなる)は、工場u,v間のフローを表し、行列{aijij((i,j)番目の要素が、aijとなる)が、場所i,j間の距離を表す。
なお、巡回セールスマン問題は、このQAPの特別な場合に相当する。
変数の変化σi=2(s-0.5)を考慮すると、この目的関数は、次のコスト関数にマッピングできる:
Figure 2022508009000068
ここでV(0)は、最小とするべきコスト関数であり、U(1),U(2)は、それぞれ第一の制約(一つの場所あたり工場一つとの制約)と、第二の制約(一つの工場あたり一つの場所)とに係るタイプIのソフト制約を表す。さらにqは、ユーザによって定められる正のパラメータである。k=1,2,3…に対応する各コスト関数は:
Figure 2022508009000069
と表すことができる。イジングカップリング及びゼーマン項は、
Figure 2022508009000070
である。
ここで
Figure 2022508009000071
は、N×Nの行列であり、その要素がすべて「1」であるような行列である。また、太字の
Figure 2022508009000072
は、要素数Nのベクトルであり、その要素がすべて「1」であるようなベクトルを表す。
A,Bは、それぞれの要素がaij,bijであるような行列であり、IはN×Nの単位行列(identity matrix)である。
イジング・カップリングが本実施の形態のこの問題におけるコスト関数であり、コスト関数のパラメータは、行列のテンソル積に依存することに注意されたい。
コスト関数を特徴づけるパラメータは:
Figure 2022508009000073
と表される。
さらに、第一、第二の制約を特徴づけるパラメータは:
Figure 2022508009000074
及び、
Figure 2022508009000075
となる。
QAPでは、すべての制約がタイプIとなる。従って制御部11は、サイズNの問題の解を求める場合、状態データxに対応するN個の状態データプロセッサ21と、振幅の非均一性を補正するためのe(0) に対応するN個のエラー演算部23とを含んで構成される。そして、コスト関数Vは、式(21)で与えられたものとなる。この問題に関する有効な部分空間は:
Figure 2022508009000076
と定義される。
ここで、Xは、N次元の実空間であり、Cは、
Figure 2022508009000077
となるように定義された定数である。
有効な部分空間は、従って、確率行列{xiuiuの集合となる。
有効な部分空間への射影演算子Pは、この行列の固有値分解
Figure 2022508009000078
を考慮して定義される。
可能な解(acceptable solution)への変換は、置換行列を、各状態データ行列{xiuiuに関連付けることで得られる。
ここでの例では、本実施の形態の制御部11において、状態データプロセッサ21は、状態データx(i=1,2,…N)を、所定の方法、例えば状態データを、許される状態の一つとして(すなわち状態データが有効な部分空間にあるように)生成することによって、状態データxを初期化する。
ここで状態データxiは、ブーリアン変数spqであって、工場qが場所pに配されるときにspq=1となり、そうでないときにはspq=0となるようなブーリアン変数spqである。ここでi=Nsite(p-1)+qであり、Nsiteは、場所の数を表す。
状態データプロセッサ21の射影部212は、現在の状態データを、有効な部分空間に射影する。具体的に、本実施の形態のここでの例では、状態データベクトルxは、タイプIの制約に従い、予め定められた射影演算子Pを用いて、有効な部分空間に射影され、x′となる。射影演算子Pは、行列の固有値分解
Figure 2022508009000079
を考慮して定義される。ここで、
Figure 2022508009000080
は、式(22)において定義されたものである。
状態データが設定されると、コスト評価部22は、現在の状態データのコスト関数を演算する。この例では、コスト関数Vは式(21)により評価される。
一方で、エラー演算部23は、現在の状態データの振幅の均一性に関するエラー値を演算する。
エラー演算部23の時間発展プロセッサ2311は、当初(t=0)所定の値、例えばa=1.0、β(t=0)=0.0に初期化されるターゲット振幅a(a>0)と、エラー値の変化量βとを用いた演算を行う。
これらの値を利用して、時間発展プロセッサ2311は、エラー値の勾配e (0)
Figure 2022508009000081
と求める。ここで、初回の繰り返し演算におけるエラー値e (0)(t=0)は、所定の値に設定される。
アップデータ2312は、現在のエラー値e (0)(t)を、∂ (0)(t)dtを加算して更新し、次の繰り返し処理で利用するエラー値である、更新されたエラー値e (0)(t+dt)を得るとともに、当該更新されたエラー値e (0)(t+dt)を、状態データプロセッサ21に出力する。すなわちアップデータ2312は、:
Figure 2022508009000082
を演算して出力する。
次に、状態データプロセッサ21のゲイン消失シミュレータ211が、状態データx′(状態データを有効な部分空間に射影したもの)、線形ゲインp、及びエラー値e (0)を得て、状態の時間発展:
Figure 2022508009000083
を演算する。
ここでh(0) (t)は、ベクトルh(0)(t)のi番目の要素であり、
Figure 2022508009000084
と定められる。ただし、
Figure 2022508009000085
であり、qとηとはいずれも正の定数パラメータ:q>0,η>0である。h(0) (t)の値は、M0i,M1i,M2i及び状態データx′(有効な部分空間に射影された状態データ)を用いて演算される。

Figure 2022508009000086
は、簡単な場合、x′の平均絶対振幅
Figure 2022508009000087
つまり、
Figure 2022508009000088
に等しく、簡単な場合でなければ、項
Figure 2022508009000089
は、
Figure 2022508009000090
に等しいものとされる。ここで、ζは、ζ>1を満足する値として経験的に設定されるパラメータである。
状態データプロセッサ21は、状態データに、対応する状態データxと最急降下勾配とを加算して更新する:
Figure 2022508009000091
状態データプロセッサ21は、更新した状態データx(t+dt)を、現在の状態データとして記憶する。ここでの問題を解くに際しては、タイプIのソフト制約が存在し、状態データプロセッサ21の射影部212は更新された状態データxを、射影演算子Pを用いて射影する:
Figure 2022508009000092
この射影された状態データx′(t+dt)は、次の繰り返し処理で利用される、現在の状態データx(t)として記憶される。
更新された状態データを用いた次の繰り返し処理の前に、変調部24は、線形ゲインpや、ターゲット振幅a、エラー値の変化率βなどのパラメータ値を現在の状態データに基づいて演算する。
変調部24は、状態データxを、σpq=2(spq-0.5)というような式によって、可能なブーリアン値σ、及び、二次割り当て問題の制約において可能な設定、例えば
Figure 2022508009000093
といったものに変換する。
変調部24は、コスト関数V(0)の項の一つの現在の値を演算して、線形ゲインpや、ターゲット振幅aを、式(12),(13)により表されるように変調する:
Figure 2022508009000094
Figure 2022508009000095
そして、変化率β0についても、同様に変調を行う。
これらの式において、
Figure 2022508009000096
であり、関数φはシグモイド関数であり、
Figure 2022508009000097
は、予め定められた定数パラメータである。
パラメータ値α,πは、予めユーザによって定められる。
ここで、V(0)(t)は、状態データx(t)に関連するコスト関数の項の一つの値であり、コスト評価部22によって演算される。また、Vopt (0)は、ターゲットエネルギーである。ここでの例では、Vopt (0)は、繰り返し演算中に見いだされたエネルギーの最低値に設定される:
Figure 2022508009000098
opt (0)を求めるために、変調部24は、現在のVopt (0)を記憶しており、現在のV(0)(t)が記憶しているVopt (0)よりも小さい値であるときに、Vopt (0)を更新する。初期の状態では、変調部24は、Vopt (0)を記憶していないので、変調部24は、演算されたV(0)(t=0)をそのままVopt (0)として記憶する。
変調部24は、更新された線形ゲインpとターゲット振幅a、及び、変化率β0を求めて、これらを出力する。
制御部11は、現在の更新された状態データxと、コスト関数とを出力する。そして次の繰り返し処理を実行する。
QAPの場合、上述のように、データ処理装置1の動作は、
Figure 2022508009000099
Figure 2022508009000100
and
Figure 2022508009000101
と、まとめられる。
この式において、i,aは、i番目の工場、a番目の場所に対応する。そしてここでh(0) iaは、(24)式で定義される。
(0)の演算は、行列とベクトルとの乗算、例えば
Figure 2022508009000102
を含むが、行列のサイズがN×Nであるので、これらを直接演算することは現実的でない。さらに、この積の演算は、行列自体がテンソル積の演算の結果であることを考慮して行われるのである。
例えば、
Figure 2022508009000103
なので、積の演算は:
Figure 2022508009000104
のように行われる。ここで[Q]は、要素がQのそれぞれであるようなベクトルを意味する。
[(3)リード最適化(lead optimization)問題を用いた構造設計]
リード最適化問題は、元素の配置(geometry)と構成元素が既知である場合に、化合物候補の構造を見いだす問題である。つまり、この組み合わせ最適化問題の目的は、所与のたんぱく質に関して、相互作用エネルギーを最小化するよう、元素を既知の位置に配置することである。
仮に、空間的な構造が、例えば、-X1-X2-X3-X4-X5-X6-という形式であり、σinが、=CH-, =CH2, =O, -NH2, -OH, -CH3のうちから選択されたもの(ここで、記号「=」または「-」は、それぞれ化学結合(chemical bond)を表す)であるとするとき、可能な解の一つは、 -CH=CH-CH=CH-CH=CH- という鎖状の構造となる。
候補となる構造は、次の2つの条件を満足しなければならない:
(1)隣接する元素との間の化学結合の整合性は満足されなければならない、また、
(2)一つの位置あたり、元素が一つだけ割り当てられる必要がある。
以下では、簡単にするため、この問題の対象が、対象となるたんぱく質の相互作用エネルギー(interaction energy)を考慮することなく、これらの2つの条件を満足する候補を見いだすことであると限定する。
提案される構造は、制約付き組み合わせ最適化問題を解くために使われる。第一に、状態エンコード変数σin=±1は、次のことを考慮してエンコードされたものとする。すなわち、元素nが位置iに配置される場合にσin=1、そうでない場合、σin=-1とする。既に述べた2つの制約が次の式:
Figure 2022508009000105
で与えられるコスト関数Vを用いたイジング問題に変換される(H. Sakaguchi, et. al.,"Boltzmann Sampling by Degenerate Optical Parametric Oscillator Network for Structure-Based Virtual Screening", Entropy, 18, 365(2016)による)。ここで、V(1)及びV(2)は、それぞれ、化学結合の整合性に係る第一の制約と、単一性(unicity)に係る第二の制約とに関連するソフト制約のコスト関数である。
具体的には、例えば、
Figure 2022508009000106
Figure 2022508009000107
と表される。
これらの式において、
Figure 2022508009000108
は、変数
Figure 2022508009000109
の変化を考慮して、ユーザにより定義されたパラメータである。なお、siは、0または1であり得る。
条件を満足する構造を見つける問題は、上記のコスト関数Vを最小化することに帰着される。
現実的には、ソフト制約を表すコスト関数V(1)及びV(2)は、
Figure 2022508009000110
Figure 2022508009000111
というようにも表記できる。
ここで、位置i,jが隣り合っており、かつ、位置iに配された元素nの化学結合が、位置jに配された元素mの化学結合と互換性がないならば、Jinjm=1とする。
一方で、位置i,jが隣り合っていないか、または、位置iに配された元素nの化学結合が、位置jに配された元素mの化学結合と互換性があるならば、Jinjm=0とする。
1及びC2は、sinとは独立した定数値であり、組み合わせ最適化問題に関わらない。
データ処理装置1の動作は、既に述べた最大カット問題やQAPの例におけるのと同等であるので、冗長な説明は省略する。
本実施形態のこの例では、データ処理装置1は、次の式で表現される動作を行うように設定される:
Figure 2022508009000112
Figure 2022508009000113
Figure 2022508009000114
(34)式は、化学結合の整合性を表す。また(35)式は単一性を表している。
ここで、
Figure 2022508009000115
であり、位置iに配された元素nが整合しないならば、Ein>0とする。
β及びβは、それぞれ、ein (1)とei (2)とのエラー値の変化率である。
βとβとは、互いに異なる値となり得る。
本実施の形態のもう一つの例を以下に説明する。
状態データプロセッサ21の状態データは、量子動力学(quantum dynamics)を用いて表現できる。この態様では、各状態データxiに対応する状態データプロセッサ21の各部は、状態データを密度行列ρiとして保持し、独立した各部の動きは、量子マスター方程式(quantum master equation)によって規定される。最も一般的な場合では、この密度行列はより小さい密度行列のテンソル積として表現することはできない場合、一つの密度行列ρi1i2…は、複数のユニットi,i…の状態で記述できる。
状態データは、3つの異なる方法:
(1)量子レベルにある密度行列によって
(2)古典的レベルにあるアナログ変数によって、
(3)論理レベルにあるブーリアン状態によって、
エンコードされ得る。
量子的表現から古典的表現への変換は、量子測定(quantum measurement)によって行われる。アナログからブーリアン値への変換は、アナログ-デジタル変換器によって行われる。
具体的に、ここでの状態データプロセッサ21は、例えばUS2017/0024658の公開公報に開示されたDOPO(Degenerate Optical Parametric Oscillator)などのイジングモデル量子計算デバイスを用いて実現される。
図4には、P. L. McMahon et al., “A fully-programmable 100-spin coherent Ising machine with all-to-all connections”, Science 354, 614 (2016)による、縮退型光パラメトリック発振器に基づくコヒーレントイジングマシン(CIM)が示される。
上述のように、DOPOシステムの詳細は、US2017/0024658の公開公報に示されているので、ここではDOPOの概括的な構成のみを示す。本実施の形態のここでの例では、状態データプロセッサ21は、図4に例示するようなDOPOシステムを用いて実現される。この例に係る状態データプロセッサ21は、ポンプパルス発生器(pump pulse generator:PPG)41と、第二高調波発生デバイス(SHG)42と、周期的極性導波デバイス(Periodically-poled Wave Guide Device:PPWG)43と、方向性結合器(Directional Coupler)44と、ADコンバータ45と、FPGAデバイス46と、DAコンバータ47と、変調器48と、リング・キャビティ49とを含んで構成される。
このシステムにおいて、複数のポンプパルス光波(擬スピンパルス)が、PPG41とSHG42とにより生成され、PPWG43を介して、リング・キャビティ49に時分割的に導入される。
ここで、複数のポンプパルス光波は、それぞれが疑似的に、複数のイジングモデルスピンに対応しており、相互に同じ発振周波数(identical oscillation frequency)を有している。
また、隣接する光波間の時間間隔Tは、Lをリング・キャビティ49の長さ、cをリング・キャビティ49内での光速、Nを、N>0なる自然数としてL/c/Nに設定される。
リング・キャビティ(リング共振器)49を伝播する光波の一部は、第1の方向性結合器44-1を介して、ADコンバータ45に導かれる。この後、第2の方向性結合器44-2までリング・キャビティ49を伝播し続ける光波の他の部分は、「ターゲット波」と呼ばれる。
ADコンバータ45は、光波の強度をデジタル値に変換し、当該デジタル値を、FPGAデバイス46に出力する。
換言すれば、第1の方向性結合器44-1とADコンバータ45とはリング・キャビティ49内の複数の擬スピンパルスが周回して伝播するごとに、当該複数の擬スピンパルスの位相及び振幅を仮計測する。
DOPOシステムにおけるFPGAデバイス46は、ADコンバータ45の出力(前回の状態データx(t)を表す)を、コスト評価部22と、エラー演算部23と、変調部24との出力を用いて演算した、
Figure 2022508009000116
に加算するように構成されてもよい。
FPGAデバイス46は、この加算の結果をDAコンバータ47に出力する。このDAコンバータ47の出力は、入力パルスの変調に利用される。
変調器48は、他のポンプパルス光波を生成し、当該光波の振幅と位相とを、DAコンバータ47の出力に基づいて変調する。DAコンバータ47の出力は、FPGAデバイス46の出力に対応するアナログ値である。一例では、この変調器48は、
Figure 2022508009000117
が正であれば位相をπ/2だけ遅延させ、
Figure 2022508009000118
の絶対値に比例した振幅変調を行う。またこの変換器48は、
Figure 2022508009000119
が負であれば、位相をπ/2だけ進めて、
Figure 2022508009000120
の絶対値に比例した振幅変調を行う。
変調器48により変調された光波は、第2の方向性結合器44-2を介してリング・キャビティ49内に導入される。第2の方向性結合器44-2は、ターゲット波が第2の方向性結合器44-2に到達したタイミングで、当該変調された光波をリング・キャビティ49に導入する点に注意されたい。変調された光波とターゲット波から光波が合成され、更新された擬スピンパルスとなる。
上述のように、本実施の形態のこの例では、FPGAデバイス46が
Figure 2022508009000121
で表される値を出力している。
合成された光波は、リング・キャビティ49に沿って導かれており、FPGAデバイス46は状態データxi(t)の時間発展を表す値を繰り返し出力する。
つまり、この例のDOPOシステムは、ゲイン消失シミュレータ211として機能しているものである。DOPOシステムのFPGAデバイス46の出力は、DAコンバータ47に出力されるだけでなく、状態データプロセッサ21の他の部分、例えば射影部212などにも出力される。
DOPOの動作は広く知られているため、ここでのさらなる詳しい説明は省略する。
本発明の実施の形態のさらに他の態様では、データ処理装置1は、CPU等のデジタルプロセッサを用いて構成される。この態様では、状態データプロセッサ21と、コスト評価部22と、エラー演算部23と、変調部24は、CPUによって実行されるソフトウエアプログラムとして実装される。このプログラムは、CPUに接続されたメモリデバイス等の記憶手段にインストールされ得る。このメモリデバイス等の記憶手段はCPUが利用する状態データや、エラー値等のデータを保持する。この実施態様は、ディスプレイデバイスや、キーボードなどの入力デバイスをさらに含む一般的なコンピュータデバイスによって実現されてもよい。
本発明の実施の形態のさらに別の態様では、データ処理装置1は、FPGA、GPU等のデジタルプロセッサを用いて構成され得る。この態様では、状態データプロセッサ21、コスト評価部22、エラー演算部23、及び変調部24は、統合プロセスの後で得られる論理ゲートの態様で実装設計されて実現される。この実施形態は、ディスプレイデバイスや、キーボードなどの入力デバイスなどを備えた一般的なコンピュータデバイスに接続され得る。
図5は、本発明の実施形態の一態様に係る機能的構成を表す概略図である。図5に示されるように、本発明のある実施態様によれば、データ処理装置1は、状態データノード31と、一次エラーノード32と、高次エラーノード33とを含む。
状態データノード31は、ブーリアン値σ、アナログ値x、及び量子的表現(密度行列)ρのうちから選択されたもので表される状態データを保持する。
状態データノードは、互いに接続され、ある状態データノードが保持する値は、コスト関数Vを介して他の状態データノードが保持する値に影響を与える。
一次エラーノード32の各々は、対応する状態データノード31に接続されている。一次エラーノード32は、対応する状態データノード31が保持する状態データを、当該状態データの振幅の不均一性を減少させるように補正する。
高次エラーノード33は、少なくとも一つの状態データノード31に接続される。すべての状態データノード31が高次エラーノード33に接続されている必要はない。換言すると、高次エラーノード33と状態エラーノードとの接続関係は「非対称」である。高次エラーノード33と状態データノード31との間の接続は、解かれるべき問題によって規定される。高次エラーノード33は、接続されている一つまたは複数の状態データノード31が保持する状態データを、解かれるべき問題に関する整合性を維持させるために変化させる。
上述の例は、例示に過ぎず、当業者はこれらの例示した実施形態に基づいて、新規事項や効果を追加することなく種々の変形例があることを容易に理解できるものである。すなわち、それらの変形例は本発明の実施の形態として実質的に開示されている。

Claims (14)

  1. 所与の問題を解くよう構成されたデータ処理装置であって、
    所定の時間発展的処理によって状態データの更新を繰り返す状態データ処理部と、
    現在の状態データのコスト関数の値を演算するコスト評価部と、
    現在の状態データの振幅の均一性に関するエラー値を演算するエラー演算部と、を有し、
    前記状態データは、変数の集合であり、前記状態データ処理部は、状態データについて時間発展的処理を行い、前記コスト関数と前記エラー演算部によって演算された、現在の状態データの振幅の均一性に関する前記エラー値とに基づいて、現在の状態データを更新する、データ処理装置。
  2. 請求項1に記載のデータ処理装置であって、
    前記状態データ処理部は、状態データについて時間発展的処理を行い、前記コスト関数の勾配と、前記エラー値とに基づいて現在の状態データを更新するデータ処理装置。
  3. 請求項2に記載のデータ処理装置であって、
    前記時間発展的処理は、現在の状態データに基づくゲイン値によって単安定から双安定へ変化するアーキタイプポテンシャルに基づいて現在の状態データを更新するデータ処理装置。
  4. 請求項1に記載のデータ処理装置であって、
    前記エラー演算部は、少なくとも一つの、解決するべき問題の制約に関わるエラー値をさらに演算するデータ処理装置。
  5. 請求項1に記載のデータ処理装置であって、
    前記状態データ処理部は、さらに、前記状態データを所定の部分空間に射影する処理を行うデータ処理装置。
  6. 請求項1に記載のデータ処理装置であって、さらに、
    前記現在の状態データに基づいてターゲット振幅を演算する変調部を有し、
    前記エラー演算部が、当該ターゲット振幅を利用して、現在の状態データの振幅の均一性に関する前記エラー値を演算するデータ処理装置。
  7. 請求項6に記載のデータ処理装置であって、
    前記状態データ処理部は、さらに、前記状態データを、前記ターゲット振幅で規定された所定の部分空間に射影する処理を行うデータ処理装置。
  8. 請求項1に記載のデータ処理装置であって、さらに、
    前記現在の状態データに基づいて、ゲイン値を演算する変調部を有し、
    前記状態データ処理部は、前記現在の状態データに基づいて演算されたゲイン値を利用してアーキタイプ単安定/双安定ポテンシャルも更新するデータ処理装置。
  9. 請求項1に記載のデータ処理装置であって、さらに、
    エラー値の変化率を動的に定める変調部を有し、
    前記エラー演算部は、エラー値についての時間発展的処理を行い、前記エラー値の変化率と、前記エラー値と、前記状態データと、前記コスト関数とに基づいて現在のエラー値を更新するデータ処理装置。
  10. 請求項8に記載のデータ処理装置であって、
    前記ゲイン値は、前記時間発展的処理の開始前に、前記コスト関数のパラメータを用いて演算された定数に依存するデータ処理装置。
  11. 請求項1に記載のデータ処理装置であって、
    前記状態データ処理部が、イジングモデル量子計算デバイスを用いて、コスト関数に基づき、現在の状態データを更新して、状態データの時間発展的処理を実行し、
    前記イジングモデル量子計算デバイスは、複数のイジングモデルスピンを模した複数の擬スピンパルスであって、相互に同じ発振周波数を有する擬スピンパルスをパラメトリックに発振するパラメトリック発振器と、
    前記複数の擬スピンパルスを、その内部で周回させて伝播するリング共振器と、
    前記複数の擬スピンパルスが前記リング共振器内を周回して到来する度に、前記複数の擬スピンパルスの位相と振幅とを仮に計測し、前記複数の擬スピンパルスの擬スピンを仮計測する仮スピン計測手段と、
    前記コスト評価部の出力と前記エラー値とに従い、状態データの時間発展を得るべく前記計測された擬スピンパルスに合成されるべきデータを演算して、当該状態データの時間発展の結果を出力するFPGAデバイスと、を有するデータ処理装置。
  12. 請求項1に記載のデータ処理装置であって、
    前記状態データ処理部は、状態データとエラー値の演算を行うGPUまたはFPGA、あるいは、アナログ電子コンピューティングデバイスを用いて、前記状態データの時間発展的処理を実行し、前記コスト関数に基づいてデータを更新するデータ処理装置。
  13. 状態データ処理部と、コスト評価部と、エラー演算部とを備えて、所与の問題を解くデータ処理装置を用いたデータ処理方法であって、
    前記状態データ処理部が、所定の時間発展的処理によって状態データの更新を繰り返し、
    前記コスト評価部が、現在の状態データのコスト関数の値を演算し、
    前記エラー演算部が、現在の状態データの振幅の均一性に関するエラー値を演算し、
    前記状態データは、変数の集合であり、前記状態データ処理部が、状態データについて時間発展的処理を行い、前記コスト関数と前記エラー演算部によって演算された、現在の状態データの振幅の均一性に関する前記エラー値とに基づいて、現在の状態データを更新する、データ処理方法。
  14. 請求項13に記載のデータ処理方法であって、
    前記データ処理装置は、さらに、変調部を備え、
    当該変調部が、振幅の均一性と制約とに係るエラー変数を更新し、前記制約と前記現在の状態データとの間のカップリング項を演算し、ゲインと飽和とを演算し、
    前記状態データ処理部が、状態データの更新のためのインジェクション項を演算し、当該状態データ処理部が所定の時間発展的処理により状態データを繰り返し更新している間に、当該状態データを有効な部分空間に射影し、
    エラー演算部が、前記現在の状態データの振幅の均一性と制約とに関わるエラー値を演算し、
    前記繰り返し処理が所定の条件が満足されるまで繰り返されるデータ処理方法。
JP2021505389A 2018-07-31 2019-07-31 データ処理装置及びデータ処理方法 Active JP7050998B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2018/044469 WO2020027785A1 (en) 2018-07-31 2018-07-31 Data processing apparatus
USPCT/US2018/044469 2018-07-31
PCT/US2019/044266 WO2020028453A1 (en) 2018-07-31 2019-07-31 Data processing apparatus and data processing method

Publications (2)

Publication Number Publication Date
JP2022508009A true JP2022508009A (ja) 2022-01-19
JP7050998B2 JP7050998B2 (ja) 2022-04-08

Family

ID=69232029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021505389A Active JP7050998B2 (ja) 2018-07-31 2019-07-31 データ処理装置及びデータ処理方法

Country Status (4)

Country Link
US (1) US20210350267A1 (ja)
JP (1) JP7050998B2 (ja)
CN (1) CN112543943A (ja)
WO (2) WO2020027785A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022047362A (ja) * 2020-09-11 2022-03-24 富士通株式会社 情報処理システム、情報処理方法及びプログラム
WO2023196961A1 (en) * 2022-04-07 2023-10-12 Ntt Research, Inc. Neuromorphic ising machine for low energy solutions to combinatorial optimization problems
CN115632712B (zh) * 2022-11-30 2023-03-21 苏州浪潮智能科技有限公司 信号分离器以及量子比特状态的测量系统、方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137822A (ja) * 1994-11-09 1996-05-31 Toshiba Corp 最適化装置
US20050015422A1 (en) * 2003-02-14 2005-01-20 Wolf Kohn Method and programmable apparatus for quantum computing
WO2017209791A1 (en) * 2016-06-02 2017-12-07 Google Llc Training quantum evolutions using sublogical controls
JP2017219979A (ja) * 2016-06-06 2017-12-14 日本電信電話株式会社 最適化問題解決装置、方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113834B2 (en) * 2000-06-20 2006-09-26 Fisher-Rosemount Systems, Inc. State based adaptive feedback feedforward PID controller
US20090210081A1 (en) * 2001-08-10 2009-08-20 Rockwell Automation Technologies, Inc. System and method for dynamic multi-objective optimization of machine selection, integration and utilization
US7877333B2 (en) * 2006-09-06 2011-01-25 D-Wave Systems Inc. Method and system for solving integer programming and discrete optimization problems using analog processors
GB2464292A (en) * 2008-10-08 2010-04-14 Advanced Risc Mach Ltd SIMD processor circuit for performing iterative SIMD multiply-accumulate operations
JP2013064695A (ja) * 2011-09-20 2013-04-11 Yamaha Corp 状態推定装置、オフセット更新方法およびオフセット更新プログラム
US9495644B2 (en) * 2013-07-24 2016-11-15 D-Wave Systems Inc. Systems and methods for improving the performance of a quantum processor by reducing errors
WO2015156126A1 (ja) * 2014-04-11 2015-10-15 大学共同利用機関法人情報・システム研究機構 イジングモデルの量子計算装置、イジングモデルの量子並列計算装置及びイジングモデルの量子計算方法
WO2017047666A1 (ja) * 2015-09-15 2017-03-23 日本電信電話株式会社 イジングモデルの量子計算装置
US9678794B1 (en) * 2015-12-02 2017-06-13 Color Genomics, Inc. Techniques for processing queries relating to task-completion times or cross-data-structure interactions
ES2845676T3 (es) * 2016-06-23 2021-07-27 Huawei Tech Co Ltd Aparato y procedimiento para procesar una señal digital en un ecualizador lineal en el dominio de frecuencia
CA3088135A1 (en) * 2018-01-31 2019-08-08 Google Llc Quantum computation through reinforcement learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137822A (ja) * 1994-11-09 1996-05-31 Toshiba Corp 最適化装置
US20050015422A1 (en) * 2003-02-14 2005-01-20 Wolf Kohn Method and programmable apparatus for quantum computing
WO2017209791A1 (en) * 2016-06-02 2017-12-07 Google Llc Training quantum evolutions using sublogical controls
JP2017219979A (ja) * 2016-06-06 2017-12-14 日本電信電話株式会社 最適化問題解決装置、方法、及びプログラム

Also Published As

Publication number Publication date
CN112543943A (zh) 2021-03-23
WO2020028453A1 (en) 2020-02-06
US20210350267A1 (en) 2021-11-11
JP7050998B2 (ja) 2022-04-08
WO2020027785A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
Khammassi et al. QX: A high-performance quantum computer simulation platform
JP7050998B2 (ja) データ処理装置及びデータ処理方法
US10970361B2 (en) Information processing apparatus, ising device, and information processing apparatus control method
US8832165B2 (en) Computer systems and methods for quantum verification and validation
US11900219B1 (en) Gate formation on a quantum processor
JP2006522962A (ja) 量子コンピューティングのための方法およびプログラム可能装置
Sozykin et al. TTOpt: A maximum volume quantized tensor train-based optimization and its application to reinforcement learning
WO2020196862A1 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
JP7474242B2 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
JP2023514596A (ja) 量子化学用の量子コンピュータ上でリソース最適化フェルミオンをローカルにシミュレーションするための方法及び装置
Lubinski et al. Advancing hybrid quantum–classical computation with real-time execution
Isakov et al. Simulations of quantum circuits with approximate noise using qsim and cirq
Dey et al. QDLC--The Quantum Development Life Cycle
Singh et al. A C++ expression system for partial differential equations enables generic simulations of biological hydrodynamics
Xing et al. Automated symbolic law discovery: A computer vision approach
Leleu et al. Scaling advantage of nonrelaxational dynamics for high-performance combinatorial optimization
Thompson et al. Experimental pairwise entanglement estimation for an N-qubit system: A machine learning approach for programming quantum hardware
Chen et al. Efficient preparation of the AKLT State with Measurement-based Imaginary Time Evolution
US20230143904A1 (en) Computer System and Method for Solving Pooling Problem as an Unconstrained Binary Optimization
US20160328208A1 (en) Computer and computation program
Wood Emergence of Massive Equilibrium States from Fully Connected Stochastic Substitution Systems.
Foumani et al. An FPGA Accelerated Method for Training Feed-forward Neural Networks Using Alternating Direction Method of Multipliers and LSMR
US20240289679A1 (en) Modeling Exponentially Large Classical Physical Systems using Quantum Computing
Ульянов et al. Quantum software engineering Pt. II: Quantum computing supremacy on quantum gate-based algorithm models
US11842129B1 (en) Finite floating-point numerical simulation and optimization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220329

R150 Certificate of patent or registration of utility model

Ref document number: 7050998

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150