JP2019512779A - 離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用 - Google Patents

離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用 Download PDF

Info

Publication number
JP2019512779A
JP2019512779A JP2018545982A JP2018545982A JP2019512779A JP 2019512779 A JP2019512779 A JP 2019512779A JP 2018545982 A JP2018545982 A JP 2018545982A JP 2018545982 A JP2018545982 A JP 2018545982A JP 2019512779 A JP2019512779 A JP 2019512779A
Authority
JP
Japan
Prior art keywords
optimization
oracle
variable
digital computer
discrete optimization
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
JP2018545982A
Other languages
English (en)
Other versions
JP6612469B2 (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.)
1QB Information Technologies Inc
Original Assignee
1QB Information Technologies Inc
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 1QB Information Technologies Inc filed Critical 1QB Information Technologies Inc
Publication of JP2019512779A publication Critical patent/JP2019512779A/ja
Application granted granted Critical
Publication of JP6612469B2 publication Critical patent/JP6612469B2/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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

Landscapes

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

Abstract

複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法を開示する。該方法は、離散的最適化を伴う問題についての指示を取得するステップと、離散的最適化を伴う問題を最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するステップと、問題の提供毎に最適化オラクルに対しての所定個数たるK個のコールを行うステップであって各コールは所定のコンフィギュレーションを生成するステップと、変数選択基準を取得するステップであって変数選択基準は複数の生成済みコンフィギュレーションの固定することができる少なくとも1つの変数を決定するためのものであるステップと、変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定してそれによって問題を前処理して少なくとも1つの下位問題を生成するステップと、少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するステップとを含む。【選択図】図1

Description

本発明はコンピューティングに関する。より正確には、本発明は離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用に関する。
関連出願への相互参照
本願は2016年3月2日に出願された米国仮特許出願第62/302,437号の優先権を主張する。
多くの興味深くまた重要な現実世界の問題を離散的最適化問題(discrete optimization problem)として定式化できるのであり、例えばポートフォリオ最適化とかオンライン取引用の詐欺検出やソーシャルネットワーク内でのコミュニティ検出等のリスク管理問題とかがこれにあたる。
これら現実世界の問題の多くは一般的にはNP困難な問題であり、即ち最適解を発見するために要する時間が問題サイズとの関係で指数関数的に増大する。したがって、解の最適性を犠牲にして効率性を求めるヒューリスティック法を用いでもしない限り、大規模な実際的問題は扱えない。
上述の欠点の少なくとも1つを克服するような方法及びシステムが必要とされている。
本発明についての以下の本願開示、図面及び詳細な説明を検討することによって、本発明の特徴が明らかとなる。
Minor-Embedding in Adiabatic Quantum Computation: I. The Parameter Setting Problem. Quantum Information Processing, Volume 7, Number 5, 2008, pp. 193 209. arXiv:quant-ph/0804.4884 Quantum Annealing Correction with Minor Embedding, Phy. Rev. A 92, 042310 (2015), arXiv:quant-ph/1507.0265
広範な態様によれば、次の方法が開示されている:複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法であって、該方法は、デジタルコンピュータを用いて離散的最適化を伴う問題についての指示を取得するステップと、デジタルコンピュータを用いて離散的最適化を伴う問題を最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、デジタルコンピュータを用いて所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するステップと、問題の提供毎に最適化オラクルを用いて最適化オラクルに対しての所定個数たるK個のコールを行うステップであって最適化オラクルに対しての各コールは所定のコンフィギュレーションを生成するステップと、デジタルコンピュータを用いて変数選択基準を取得するステップであって変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものであるステップと、デジタルコンピュータを用いて変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、デジタルコンピュータを用いて離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定してそれによって問題を前処理して少なくとも1つの下位問題を生成するステップと、デジタルコンピュータを用いて少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、方法。
実施形態によれば、離散的最適化を伴う問題は2次無制約2値最適化問題(Quadratic Unconstrained Binary Optimization)及びイジング(Ising)問題の1つを含む。
実施形態によれば、最適化オラクルは量子アニーラを含む。
実施形態によれば、所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するステップは、並列的に行われる。
実施形態によれば、最適化オラクルに対しての所定個数たるK個のコールを行うステップは、ランダムなゲージを用いて行われる。
実施形態によれば、複数の生成済みコンフィギュレーションの所定変数が変数選択基準を満たすのは、所定変数についての対応する値が複数の生成済みコンフィギュレーションの丁度全てにおいて変化しないこととなる場合とされる。
実施形態によれば、複数の生成済みコンフィギュレーションの所定変数が変数選択基準を満たすのは、所定変数についての対応する値が複数の生成済みコンフィギュレーションの絶対的多数において変化しないこととなる場合とされる。
実施形態によれば、複数の生成済みコンフィギュレーションの絶対的多数は、ユーザによって定義される。
実施形態によれば、次の方法が開示されている。即ち、複数の変数にわたっての離散的最適化を伴う問題を解くための方法であって該方法は、デジタルコンピュータを用いて複数の変数にわたっての離散的最適化を伴う問題についての指示を受信するステップと、終了基準が充足されるまでは:複数の変数にわたっての離散的最適化を伴う問題を本願記載の方法を用いて再帰的に前処理して複数の下位問題を生成するステップと、複数の対応する解を提供するために複数の生成済み下位問題の各々を解くステップと、デジタルコンピュータを用いて複数の対応する解を提供するステップとを含む、方法。
実施形態によれば、終了基準が満たされるのは、複数の生成済み下位問題の変数個数が所定変数個数よりも小さい場合とされる。
実施形態によれば、終了基準が満たされるのは、所定量のサイズ削減が離散的最適化を伴う問題について達成された場合とされる。
実施形態によれば、終了基準が満たされるのは、効率的最適化問題ソルバを用いて複数の生成済み下位問題を解くことが可能となっている場合とされる。
実施形態によれば、複数の生成済み下位問題の各々について行う解決は、最適化オラクルを用いて行われる。
実施形態によれば、複数の生成済み下位問題の各々について行う解決は、デジタルコンピュータを用いて行われる。
実施形態によれば、複数の対応する解は、デジタルコンピュータと対話しているユーザに対して提供される。
実施形態によれば、複数の対応する解を提供するステップは、デジタルコンピュータと動作可能に接続された別のコンピュータに複数の対応する解を提供することを含む。
実施形態によれば、複数の下位問題の各々を解くステップは、デジタルコンピュータを用いて少なくとも1つの下位問題の第1群を最適化オラクルに提供するステップと、デジタルコンピュータを用いて最適化オラクルから第1群の下位問題の各々についての解を取得するステップと、デジタルコンピュータを用いて少なくとも1つの下位問題の第2群を古典型ソルバに提供するステップと、デジタルコンピュータを用いて古典型ソルバから第2群の下位問題の各々について少なくとも1つの対応する解を取得するステップとを含む。
実施形態によれば、少なくとも1つの下位問題の第1群及び少なくとも1つの下位問題の第2群は、複数の下位問題のサイズに基づいて決定される。
広範な態様によれば、次のデジタルコンピュータが開示されている。即ち、デジタルコンピュータであって、中央処理装置と、表示装置と、デジタルコンピュータを最適化オラクルと動作可能に接続するための通信ポートと、複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーションを含むメモリ装置であって、該アプリケーションは、離散的最適化を伴う問題についての指示を取得するための命令と、離散的最適化を伴う問題を最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するための命令と、所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するための命令と、最適化オラクルから問題の提供毎に複数のコンフィギュレーションを取得するための命令であって各コンフィギュレーションは最適化オラクルに対してのコールによって生成される命令と、変数選択基準を取得するための命令であって変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである命令と、変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するための命令と、離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定してそれによって問題を前処理して少なくとも1つの下位問題を生成するための命令と、少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するための命令とを含む、メモリ装置と、中央処理装置と表示装置と通信ポートとメモリ装置とを相互接続するためのデータバスとを含む、デジタルコンピュータ。
広範な態様によれば、次の非一時的コンピュータ可読記憶媒体が開示されている。即ち、コンピュータ実行可能命令を格納するための非一時的コンピュータ可読記憶媒体であって該命令が実行されると複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法をデジタルコンピュータに行わせることになり、該方法は、離散的最適化を伴う問題についての指示を取得するステップと、離散的最適化を伴う問題を最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するステップと、最適化オラクルから問題の提供毎に複数のコンフィギュレーションを取得するステップであって各コンフィギュレーションは最適化オラクルに対してのコールによって生成されるステップと、変数選択基準を取得するステップであって変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものであるステップと、変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定してそれによって問題を前処理して少なくとも1つの下位問題を生成するステップと、少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、非一時的コンピュータ可読記憶媒体。
本願開示の方法の利点としては、準最適な又は最適解に近い解を探索した後に、離散的最適化を伴う問題の変数の部分集合の値に関して固定することによって、離散的最適化を伴う問題のサイズを減じることができるということが挙げられる。結果、問題は、離散的最適化を伴う少なくとも1つの下位問題に減じ得る。これによって、離散的最適化を伴い且つサイズが大きい問題を解くという技術的課題が解決される。
本願開示の方法の利点としては、準最適オラクルを用いて大きな問題をより小さい下位問題へと分解することが可能となる、ということが挙げられる。本願開示の方法の別の利点としては、次の技術的課題の解決がもたらされるということが挙げられる:即ち、離散的最適化を伴う大規模な問題を解くに際して準最適オラクルを用いることができないという課題。
本願開示の方法の別の利点としては、離散的最適化を伴う大規模な問題を有利な態様でより小さい下位問題へと分解することが可能となることによって、最適化問題を解決するために用いられるシステムの処理態様を著しく向上させることができるということが挙げられる。
発明の理解が容易となるようにするために、添付の図面を伴って本発明の実施形態について例示的に示す。
本発明のさらなる詳細及びそれらの利点は、後述の詳細な説明から明らかとなる。
離散的最適化を伴う問題を少なくとも1つの離散的最適化を伴う下位問題へと前処理する実施形態を示す流れ図である。 離散的最適化を伴う問題を解くための方法についての実施形態を示す流れ図であって、図1に開示されている前処理方法は再帰的に行われる、流れ図である。 システムについての実施形態を示すブロック図であって、システムにおいては離散的最適化を伴う問題を解くための方法が実施され得る、ブロック図であり、システムはデジタルコンピュータと最適化オラクルとを備える。 図3に開示されているシステム内において使用され得るデジタルコンピュータについての実施形態を示すブロック図である。
実施形態についての以下の説明においては、添付の図面への言及は事例に関しての例示としてされているのであり、これらは本発明を実施し得る態様を示している。
用語
「発明」等の語は、「本願にて開示される1つ以上の発明」を意味するが、明示的に別段の定めがされている場合はこの限りでない。
「態様」、不定冠詞を伴う「実施形態」、無冠詞の「実施形態」、無冠詞複数形の「実施形態」、定冠詞を伴う「実施形態」、定冠詞を伴う複数形の「実施形態」、「1つ以上の実施形態」、「幾つかの実施形態」、「特定の実施形態」、「或る実施形態」、「別の実施形態」等の語は、「本願開示の発明の1つ以上(但し、全部ではない)」を意味するが、明示的に別段の定めがされている場合はこの限りでない。
実施形態について説明するに際して「別の実施形態」や「別の態様」に言及しても、被言及側の実施形態が別の実施形態(例えば、被参照側実施形態の前に説明された実施形態)と相互排反的であることを暗示するわけではないが、明示的に別段の定めがされている場合はこの限りでない。
「含む」、「備える」、及びこれらのバリエーションは「含むがこれらには限られない」とのことを意味するが、明示的に別段の定めがされている場合はこの限りでない。
「不定冠詞たるa」、「不定冠詞たるan」及び「定冠詞たるthe」との語は、「1つ以上」を意味するが、明示的に別段の定めがされている場合はこの限りでない。
「複数」との語は「2つ以上」を意味するが、明示的に別段の定めがされている場合はこの限りでない。
「ここで」との語は「本願において、そして参照によって取り込まれる任意のものを含む」とのことを意味するが、明示的に別段の定めがされている場合はこの限りでない。
「これによって」との語は、明示的に先述されたものについての意図された結果、目的又は帰結のみを表す節又は他の単語群を先行するようにしてのみ用いられる。したがって、「これによって」との語が請求項にて用いられる場合においては、「これによって」が修飾する節又は他の語群は、請求項についての更なる具体的限定を確立せず、また、請求項の意義若しくは範囲を他の態様で限定はしない。
「exempli gratis」等の語は「例えば」を意味するのであり、説明される語又はフレーズを限定はしない。例えば、「コンピュータはインターネット上にデータ(e.g.,命令やデータ構造)を送る」とのセンテンスにおいては、「e.g.」との語は「命令」というものがコンピュータによってインターネット上に送られ得る「データ」の例であることを説明し、また、「データ構造」というものがコンピュータによってインターネット上に送られ得る「データ」の例であることをも説明する。もっとも、「命令」も「データ構造」も「データ」の例に過ぎず、「データ構造」や「データ」以外のものも「データ」たり得る。
「id est」等の語は「即ち」を意味するのであり、説明される語又はフレーズを限定する。
「離散的最適化問題」との語は、問題の変数が、連続的な値ではなく、離散的な値をとる類いの問題を意味する。
「最適化オラクル」等の語は、最適化問題について最適に近い(即ち、準最適な)解をもたらすことができるマシン又はアルゴリズムを意味する。
「地形(landscape)」等の語は、最適化問題の変数についての可能なコンフィギュレーションの全てを含む集合を意味する。
「最適に近い地形」及び「準最適地形」との語は、変数の目的関数値が最適解の値に十分に近いような、最適化問題の変数についての可能な実現可能コンフィギュレーション(possible feasible configuration)の全てを含む集合を意味する。
「準最適オラクル」等の語は、特定の確率で最適解を返し、その余の場合は準最適解(最適ではないが最適解に近い解)を返すようなオラクルを意味する。
発明の名称及び要約のいずれも、何らの観点からも、開示された発明の範囲を限定するために用いられてはならない。本願の発明の名称及び明細書中の項目名は利便性のためだけに付されているのであり、何らの観点からも開示内容を限定するものとして用いられてはならない。
本願においては様々な実施形態が説明されており、例示的目的のみのために提示されている。説明された実施形態は何らの意味合いにおいても限定的なものではなく、またそのような意図すらないことに留意されたい。開示内容から明らかなように、開示されている発明は様々な実施形態に適用可能である。当業者であれば、開示されている発明には構造的な変更や論理的な変更等の様々な変更や改変を加えた上で実施することができることに気付くであろう。開示されている発明の特定の特徴は1つ以上の特定の実施形態及び/又は図面との関係で説明されている場合があり得るが、そのような特徴はそれらの説明に際して参照される特定の実施形態や図面における用例に限定されないことに留意されたい。もっとも、明示的に別段の定めがされている場合はこの限りでない。
本発明は様々な態様で実施されることができ、これらには方法やシステムやコンピュータ可読媒体(例えば、コンピュータ可読記憶媒体)が含まれる。本明細書においては、これらの実施態様及び本発明が取り得る他の任意の形式を、システムや手法と称することができることに留意されたい。あるタスクを行うように構成されているものとして説明されているプロセッサやメモリ等のコンポーネントには、次のいずれもが含まれ得る:所定の時期においてタスクを行うように一時的に構成されている汎用コンポーネント、及び、タスクを行うように製造された具体的コンポーネント。
上記全てを考慮に入れた上で、以下において本発明は、離散的最適化を伴う問題を複数のより小さい下位問題へと分解するための方法及びシステムに関する発明並びに離散的最適化を伴う問題を解くためのそれらの使用について説明する。
図1を参照するところ、処理ステップ100によれば、離散的最適化問題を伴う問題についての指示を、入力として入手する。
離散的最適化を伴う問題は様々な種類のものであり得ることが理解されるであろう。実際に、離散的最適化を伴う問題が非線形整数計画問題であることができる。
1つの実施形態では、離散的最適化を伴う問題は、2次無制約最適化(quadratic unconstrained optimization)(QUBO)問題を含む。
代替の実施形態では、離散的最適化を伴う問題は、イジング(Ising)問題を含む。
1つの実施形態では、離散的最適化を伴う問題についての指示は、デジタルコンピュータを用いて取得される。
処理ステップ102では、離散的最適化を伴う問題は、最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換される。
1つの実施形態では、離散的最適化を伴う問題は、デジタルコンピュータを用いて、最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換される。
1つの実施形態では、最適化オラクルは、例えばD Wave 2Xマシン等の量子アニーラである。別の代替的実施形態では、最適化オラクルは次のものからなる群から選択される:シミュレーションされた焼き鈍しアルゴリズム(simulated annealing algorithm)、経路積分量子モンテカルロアルゴリズム(path integral quantum Monte-Carlo algorithm)、及び並列焼き戻しアルゴリズム(parallel tempering algorithm)。
このような実施形態では、2次無制約最適化(QUBO)問題又はイジング問題は、D Wave 2Xマシンの構造と互換性があるイジング問題へと変形される。
場合によっては、問題を(最適化オラクルの)アーキテクチャ適合型問題へと変形するために、問題について軽度の埋め込みを用いることを要するかもしれない。
この処理ステップに続いて、最適化オラクルを用いて、離散的最適化を伴う問題の準最適又は最適に近い地形(landscape)を探索するのであり、これによって固定できる変数についての指示を取得するのであり、この点の詳細については後述参照。
実際のところ、準最適地形の探索の目的は、離散的最適化を伴う問題の変数のうちどれについて最適化オラクルを用いて固定できるかを見出すことにある。
より正確には、そして処理ステップ104によれば、所定の最適化オラクルアーキテクチャに適した問題を、所定回数たるM回にわたって最適化オラクルに提供する。
1つの実施形態では、最適化オラクルからのM回のクエリは、並列で行われることに留意されたい。
別の実施形態では、M回のクエリは、一度に最適化オラクルへと送られることに留意されたい。
1つの実施形態では、デジタルコンピュータを用いて所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供する。
処理ステップ106によれば、最適化オラクルに対しての所定の最適化オラクルアーキテクチャに適した問題の提供毎に、最適化オラクルに対しての所定個数たるK個のコールを行う。
最適化オラクルに対して各コールは、所定のコンフィギュレーション(状態又は解ともいう。)を生成することに留意されたい。
1つの実施形態では、D Wave 2X量子アニーラを最適化オラクルとして用いるのであり、所定の最適化オラクルアーキテクチャに適した問題をM回送信するのであり、各回においてK回のアニーリングサイクルを伴う。1つの実施形態では、ランダムなゲージを量子アニーラに対しての各コールで用いるのであり、これは、マシンにおいてより良い性能を得るためになされるのであり、結果的には入力問題についてより高速でかつより良好な分解を達成するためになされる。
当業者であれば、ランダムなゲージとは、問題を等価な問題へと変形する可逆変形であるということが分かろう。変形された問題は異なる解を有するが、変形が可逆的である故に、変形された問題を解いた上で当初の問題の解へと逆戻りすることができる。
量子アニーラがコールされる度にランダムなゲージを用いることによって、性能を相当に向上させることができると理解される。
そして、量子アニーラから、M*K個のコンフィギュレーションが取得されるということに留意されたい。
代替的実施形態では別の最適化オラクルを用いて準最適解又は最適解に近い解についてのサンプルをもたらすことが可能であるということに、当業者は気付くであろう。
処理ステップ108によれば、変数選択基準が取得される。
変数選択基準は、複数の生成済みコンフィギュレーションの固定可能な少なくとも1つの変数を決定するために用いられることに留意されたい。
1つの実施形態では、変数選択基準は、デジタルコンピュータを用いて取得される。
変数選択基準に関しては、様々な実施形態を持たし得ることに留意されたい。
1つの実施形態では、変数選択基準は、最も低い客観的関数値(lowest objective function value)を有するコンフィギュレーション群のみを返すのであり、例えば変数の少なくとも30%が選択されている等が挙げられる。
1つの実施形態では、複数の生成済みコンフィギュレーションの所定変数が変数選択基準を満たすのは、所定コンフィギュレーションについての対応する値が複数の生成済みコンフィギュレーションの丁度全てにおいて変化しないこととなる場合とされる。
1つの実施形態では、変数選択基準(variable selection criterion)は変数選択基準から返されたコンフィギュレーションのみを考慮するのであり、それらのコンフィギュレーションの丁度全てにおいて対応する値が変化しないこととなる場合に、変数選択基準が満たされる。当業者であれば、コンフィギュレーション選択基準(configuration selection criterion)をユーザが定義できるということが分かるであろう。1つの実施形態では、コンフィギュレーション選択基準は、客観的関数値でいうと20%パーセンタイルのコンフィギュレーションのみを返す。
最適化オラクルがD Wave 2X量子アニーラである場合、M*Kのコンフィギュレーション全てにおいて自己の状態又は値を維持する量子ビットが選択される。
代替的実施形態では、変数選択基準は取得されたコンフィギュレーション全てを考慮するのであり、少なくとも1つの所定の変数について対応する値がコンフィギュレーションの絶対的多数において変化しない場合に、少なくとも1つの所定の変数がこれを満たすものとする。1つの実施形態では、絶対的多数はユーザによって定義され得るということを、当業者であれば分かるであろう。1つの実施形態では、絶対的多数は、コンフィギュレーションの99%として定義される。
離散的最適化を伴う問題を所定の最適化オラクルアーキテクチャに適した問題に変形することによって次の制約に影響が及ぶことに留意されたい:最適化オラクルによってサンプリングされた異なる変数の観測値についての受容基準に関しての制約。
1つの実施形態では、最適化オラクルはD Wave 2X量子アニーラであり、一般的な問題については埋め込みを要し得る。当業者が知っているように、埋め込みプロセスにおいては、論理的な量子ビットを表すものとしての物理的な量子ビットの連鎖の作成が必要とされ得る。論理的な量子ビットの値を固定するために、取得された変数についての多数決を採用し得る(非特許文献1)。当業者であれば、論理的な量子ビットの値を決するに際しては色々な方法があることが分かろう。代替的実施形態では、このことを、エネルギーが最小化されるように値を反復的に割り当てることによって達成する(非特許文献2)。
1つの実施形態では、1つの実施形態では、D Wave 2X量子アニーラを、最適化オラクルとして用いるのであり、論理的な量子ビットは7つの物理的な量子ビットの連鎖で表される。1つの実施形態に関していえば、この処理ステップの結果から分かることは、連鎖内の7つの量子ビットのうち4つの量子ビットが、全てのコンフィギュレーションにて自己の値を維持したということである。この結果、論理的な量子ビットの値は、多数たるそれら4つの量子ビットに合わせて固定された。
処理ステップ110によれば、少なくとも1つの変数が変数選択基準に合致するのであり、各変数についての対応する値が決せられる。
1つの実施形態では、変数選択基準に合致する少なくとも1つの変数及び各変数についての対応する値の決定は、デジタルコンピュータを用いてなされる、ということに留意されたい。
処理ステップ112によれば、少なくとも1つの決定済み変数は、離散的最適化を伴う問題において対応する値に固定されて、問題が前処理されて少なくとも1つの下位問題が生成される。
1つの実施形態では、この処理ステップは、デジタルコンピュータを用いて行われる。
処理ステップ114によれば、少なくとも1つ生成済み下位問題の指示及び少なくとも1つの固定済み変数の指示が提供される。
1つの実施形態では、少なくとも1つの生成済み下位問題の指示及び少なくとも1つの固定済み変数の指示は、デジタルコンピュータを用いて提供される。
1つの実施形態では、そのような前処理がなされると問題のサイズが50%減じられ得るということに留意されたい。
図2に転じるに、同図には複数の変数にわたっての離散的最適化を伴う問題を解くための方法に関する実施形態が示されている。後述のように、該方法は図1に開示されている前処理を活用している。
処理ステップ200によれば、複数の変数にわたっての離散的最適化を伴う問題についての指示が受信される。
1つの実施形態では、デジタルコンピュータを用いて、複数の変数にわたっての離散的最適化を伴う問題についての指示が受信される。
処理ステップ202によれば、終了基準が充足されているかを見出すために、検査を行う。
1つの実施形態では、終了基準はユーザ定義型の終了基準である。
終了基準は、さらなる処理ステップを以後行わないかを決定するために用いる。上述のように、前処理ステップを再帰的に適用するのであり、これによって離散的最適化を伴う問題のサイズを減じて、より小さなサイズをもたらす。前処理ステップを、第1の前処理の結果に対してさらに適用することができ、サイズをさらに減じることができる。
例えば、終了基準は、下位問題が所定の変数個数よりも少ない個数の変数を有している場合にさらなる前処理ステップを行わないものとして、定義され得るのであり、例えば変数10個等とし得る。当業者であれば、所定の変数個数は別の個数とすることもできる、ということを理解するであろう。
代替的実施形態では、終了基準は、前処理ステップが指定されたパーセントのサイズ減少を離散的最適化を伴う問題に関してもたらした場合として、定義され得る。例えば、問題サイズが少なくとも5%減じられていないのであれば、反復は完了される。
別の代替的実施形態では、終了基準は、結果として生じた下位問題の複雑度が効率的最適化問題ソルバによって解かれ得る程度である場合(即ち、それが多項式時間で解かれ得る場合)にさらなる前処理がなされない、との基準として定義される。結果として生じた下位問題が平面構造を有している場合にこのようになり得る。
終了基準が充足されない場合においては、処理ステップ50によれば、問題は前処理されて複数の下位問題が生成(generate)される。
1つの実施形態では、問題は、図1に開示の方法に従って前処理される。
上述のように、問題の前処理によって、少なくとも1つの下位問題が作成(create)される。少なくとも1つの下位問題に対して前処理を再適用することによって、少なくとも1つの下位問題が作成される。既述のように、後続の下位問題に対して前処理を再帰的に適用して、終了基準が満たされるまでそうする。その結果、複数の下位問題が得られる。
処理ステップ212によれば、複数の下位問題が解かれる。
様々な実施形態に従って複数の下位問題を解くことができるということに留意されたい。
特に、複数の下位問題を解くための1つの実施形態が、処理ステップ204,206,208にて開示されている。
より正確には、そして終了基準が充足された場合において、そして処理ステップ204によれば、下位問題についての第1群を、最適化オラクルに提供する。
実際のところ、最適化オラクルを用いて特定の問題を解くことが適切とされ得るのであり、他方では他の問題はデジタルコンピュータによって解かれ得る。したがって、下位問題の第1群を最適化オラクルに提供しつつ、下位問題の第2群をデジタルコンピュータに提供することができる。
1つの実施形態では、或る下位問題が一方の群に属するか別の群に属するかの決定は、下位問題のサイズに基づいてなされ得る。例えば、第1群は、サイズが15変数以上の問題で構成され得る。第2群は、サイズが15変数未満の問題で構成され得る。
結果生じる下位問題についてのソルバを指定するためには、ユーザ入力決定基準についての任意の組み合わせを用い得る点に留意されたい。
実際のところ、1つの実施形態では、下位問題のサイズがとても小さく(so small)、網羅的探索が効率的な解法となり得る場合があり得る点に留意されたい。
代替的実施形態では、問題のサイズが十分に小さく(small enough)ヒューリスティック法で効率的に最適点に至るように解き得る場合があることに留意されたいのであり、その際の成功確率が高いものとなり得る。
代替的実施形態では、問題のサイズは十分に小さく、分枝限定法が効率的に解くことができる場合があり得ることに留意されたい。
代替的実施形態では、下位問題が代替的なアーキテクチャを有しており、それによるとより低位な複雑度クラスに分類される場合があり得ることに留意されたい。下位問題は事例に固有なアルゴリズムで解かれることができる。
代替的実施形態では、下位問題が平面グラフ構造を有している場合があることに留意されたい。最適化問題の多くの系統においては、平面グラフ構造を有するということは、問題がとても簡単であり低複雑度問題であることを意味する。よって、これらのインスタンスを多項式時間で解くアルゴリズムを見出し得る。
代替的実施形態では、下位問題は、同じ最適化オラクル(この実施形態の場合においては量子アニーラ)がより簡単に解くことできるようになる表現形式を、有している場合があることに留意されたい。
当初において問題が大きすぎて量子アニーラが正確に解くことができないほどに問題が難しい場合があり得る。それでも、量子アニーラは実際の解に近い良好な(準最適な)推測値をもたらす。開示の方法は、量子アニーラからのこれらの準最適解を用いて、当初の問題をより小さな下位問題へと分解するために用いられ得る。より小さい問題は、量子アニーラのスイートスポット内に収まる性質を有している場合があり、例えばそれらは間違いなく当初の問題よりも小さい。このことは、量子アニーラがこれらの問題を正確に解くことができる可能性がより高くなることを意味し得る。そうでなければ、同じプロセスの反復によって下位問題をさらに小さな断片に分解することができる。
1つの実施形態では、デジタルコンピュータを用いて、下位問題の第1群を最適化オラクルに提供する。
処理ステップ206によれば、各下位問題について解が受信される。
1つの実施形態では、最適化オラクルから解がデジタルコンピュータによって受信される。
図2について引き続き言及するに、そして処理ステップ208によれば、第2群の各下位問題が解かれる。
1つの実施形態では、第2群の各下位問題は、デジタルコンピュータを用いて解かれる。
複数の下位問題を解くための1つの実施形態について開示したものの、様々な他の実施形態に従って複数の下位問題について解くことも可能であるということにも留意されたい。
例えば、代替的実施形態では、最適化オラクルのみを用いて複数の下位問題を解くことができる。
別の代替的実施形態では、下位問題が十分に単純な場合、デジタルコンピュータのみを用いて複数の下位問題を解くことができる。
処理ステップ210によれば、複数の下位問題の各々についての解が提供される。
複数の下位問題の各々についての解が、様々な実施形態に従って提供され得ることに留意されたい。
1つの実施形態では、複数の下位問題の各々についての解が、デジタルコンピュータと対話しているユーザに対して提供される。
代替的実施形態では、複数の下位問題の各々についての解が、デジタルコンピュータと動作可能に接続された別のコンピュータに対して提供される。
図3に転じるに、同図ではシステム300が示されており、該システムにて、複数の変数にわたっての離散的最適化を伴う問題を解くための方法についての実施形態を、実施し得る。
システム300は、デジタルコンピュータ302と最適化オラクル304とを備える。
デジタルコンピュータ302は、離散的最適化を伴う問題を受信し、また、少なくとも1つの解を提供する。
様々な実施形態に従って離散的最適化を伴う問題を提供することができることに留意されたい。
1つの実施形態では、離散的最適化を伴う問題は、デジタルコンピュータ302と対話しているユーザによって提供される。
代替的には、離散的最適化を伴う問題は、デジタルコンピュータ302と動作可能に接続された不図示の別のコンピュータによって提供される。
代替的には、離散的最適化を伴う問題は、独立のソフトウェアパッケージによって提供される。
代替的には、離散的最適化を伴う問題は、インテリジェントエージェントによって提供される。
同様に、様々な実施形態に従って少なくとも1つの解を提供することができることに留意されたい。
或る実施形態によれば、少なくとも1つの解は、デジタルコンピュータ302と対話しているユーザに提供される。
代替的には、少なくとも1つの解は、デジタルコンピュータ302と動作可能に接続された別のコンピュータに提供される。
実際のところ、当業者であれば、デジタルコンピュータ302は任意のタイプのコンピュータとすることができることが分かるであろう。
1つの実施形態では、デジタルコンピュータ302は次のものからなる群から選択される:デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等。
そして、図4を参照するに、デジタルコンピュータ302についての実施形態が同図に示されている。デジタルコンピュータ302は、広い意味ではプロセッサとしても言及され得ることに留意されたい。
この実施形態では、デジタルコンピュータ302は、マイクロプロセッサとも称される中央処理装置(CPU)402と、表示装置404と、入力装置406と、通信ポート408と、データバス410と、メモリ装置412とを備える。
CPU402は、コンピュータ命令を処理するために用いられる。当業者にとっては、CPUについて様々な実施形態があり得るということが明らかである。
1つの実施形態では、CPU402は、インテル(登録商標)製の3.6GHzで稼働中のCPUたるCore i7 3820である。
表示装置404は、データをユーザに対して表示するために用いられる。当業者であれば、様々なタイプの表示装置404を用いることができることが分かろう。
1つの実施形態では、表示装置404は標準的な液晶ディスプレイ(LCD)モニタである。
通信ポート408は、デジタルコンピュータ302とデータを共有するために用いられる。
通信ポート408は、例えば、キーボード及びマウスをデジタルコンピュータ302に接続するためのユニバーサルシリアルバス(USB)ポートを備えることができる。
通信ポート408は、データネットワーク通信ポートをさらに備えることができ、例えば、デジタルコンピュータ302と別のコンピュータとをデータネットワークを介して接続可能とするためのIEEE 802.3ポートが挙げられる。
当業者であれば、通信ポート408については様々な代替的実施形態が可能であることが分かるであろう。
1つの実施形態では、通信ポート408は、イーサネット(登録商標)ポート及びマウスポート(例えば、Logitech(登録商標))を含む。
メモリ装置412は、コンピュータ実行可能命令を格納するために用いられる。
1つの実施形態では、メモリ装置412は、オペレーティングシステムモジュール414を含む。
当業者であれば、オペレーティングシステムモジュール414は様々なタイプのものとすることができることが分かるであろう。
1つの実施形態では、オペレーティングシステムモジュール414は、マイクロソフト(登録商標)製のウインドウズ(登録商標)8とされる。
メモリ装置412は、複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416をさらに含む。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令を含む:離散的最適化を伴う問題を、最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するための命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するための命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:最適化オラクルから、問題の提供毎に複数のコンフィギュレーションを取得するための命令であって、各コンフィギュレーションは最適化オラクルに対してのコールによって生成される、命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:変数選択基準を取得するための命令であって、変数選択基準は複数の生成済みコンフィギュレーションを用いて固定することができる少なくとも1つの変数を決定するためのものである、命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するための命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定して、それによって問題を前処理して、少なくとも1つの下位問題を生成するための命令。
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416は、次の命令をさらに含む:少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するための命令。
メモリ装置412は、複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418をさらに含む。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令を含む:複数の変数にわたっての離散的最適化を伴う問題についての指示を、受信するための命令。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令を含む:複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーション416を用いて離散的最適化を伴う問題を前処理するための命令。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令をさらに含む:少なくとも1つの下位問題の第1群を最適化オラクルに提供するための命令。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令をさらに含む:第1群の下位問題の各々についての解を取得するための命令。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令をさらに含む:少なくとも1つの下位問題の第2群を効率的最適化問題ソルバに提供するための命令。1つの実施形態では、効率的最適化問題ソルバは、デジタルコンピュータ302である。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令をさらに含む:少なくとも1つの第2群の下位問題の各々について少なくとも1つの対応する解を取得するための命令。
複数の変数にわたっての離散的最適化を伴う問題を解くためのアプリケーション418は、次の命令をさらに含む:少なくとも1つの第1群の下位問題の各々についての少なくとも1つの対応する解と、少なくとも1つの第2群の下位問題の各々についての少なくとも1つの対応する解とを提供するための命令。
中央処理装置402、表示装置404、入力装置406、通信ポート408、及びメモリ装置412のそれぞれは、データバス410を介して相互接続されている。
図3に戻るに、オラクル304は、デジタルコンピュータ302と動作可能な態様で接続されている。
最適化オラクル304からデジタルコンピュータ302への接続は、様々な実施形態で達成され得ることに留意されたい。
1つの実施形態では、最適化オラクル304のデジタルコンピュータ302への接続は、データネットワークを介してなされる。
最適化オラクル304は、様々なタイプのものとされ得ることに留意されたい。
1つの実施形態では、最適化オラクル304は、D Wave Systems Inc.製である。304に適用可能な量子アニーラについてのこの実施形態についての更なる情報は、http://www.dwavesys.comにて入手可能である。当業者であれば、最適化オラクル304について様々な代替的実施形態をもたらし得ることに気付くであろう。
より正確には、最適化オラクル304は、デジタルコンピュータ302から、所定の最適化オラクルに適した問題を受信する。
最適化オラクル304は、所定の最適化オラクルに適した問題を解くことできるのであり、また、複数のコンフィギュレーションを提供することができる。
複数のコンフィギュレーションは、最適化オラクル304によってデジタルコンピュータ302に対して提供される。
非一時的コンピュータ可読記憶媒体がさらに開示されている。非一時的コンピュータ可読記憶媒体は、実行されるとデジタルコンピュータに次の方法を行わせるコンピュータ実行可能命令を格納するために用いられるものである。即ち、複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法であって、該方法は、離散的最適化を伴う問題を最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、所定回数たるM回にわたって所定の最適化オラクルアーキテクチャに適した問題を最適化オラクルに提供するステップと、最適化オラクルから問題の提供毎に複数のコンフィギュレーションを取得するステップであって各コンフィギュレーションは最適化オラクルに対してのコールによって生成されるステップと、変数選択基準を取得するステップであって変数選択基準は複数の生成済みコンフィギュレーションの固定することができる少なくとも1つの変数を決定するためのものであるステップと、変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、離散的最適化を伴う問題に関して少なくとも1つの決定された変数を対応する値に固定してそれによって問題を前処理して少なくとも1つの下位問題を生成するステップと、少なくとも1つの生成済み下位問題についての指示と少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、方法。
上述の説明は発明者らによって現在検討されている具体的な実施形態に関連しているが、広義の意味合いにおいては、本発明は説明された要素についての機能的等価物をも含むものであると解されるべきである。
<項1> 複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法であって、該方法は、
デジタルコンピュータを用いて、離散的最適化を伴う問題についての指示を、取得するステップと、
前記デジタルコンピュータを用いて、前記離散的最適化を伴う問題を、最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、
前記デジタルコンピュータを用いて、所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップと、
前記問題の提供毎に、前記最適化オラクルを用いて、前記最適化オラクルに対しての所定個数たるK個のコールを行うステップであって、前記最適化オラクルに対しての各コールは所定のコンフィギュレーションを生成する、ステップと、
前記デジタルコンピュータを用いて、変数選択基準を取得するステップであって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、ステップと、
前記デジタルコンピュータを用いて、前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、
前記デジタルコンピュータを用いて、前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するステップと、
前記デジタルコンピュータを用いて、前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、方法。
<項2> 項1に記載の方法において、前記離散的最適化を伴う問題は2次無制約2値最適化問題及びイジング問題の1つを含む、方法。
<項3> 項1に記載の方法において、前記最適化オラクルは量子アニーラを含む、方法。
<項4> 項1〜3のいずれか1つに記載の方法において、前記所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップは、並列的に行われる、方法。
<項5> 項3に記載の方法において、前記最適化オラクルに対しての所定個数たるK個のコールを行うステップは、ランダムなゲージを用いて行われる、方法。
<項6> 項1〜5のいずれか1つに記載の方法において、前記複数の生成済みコンフィギュレーションの所定変数が前記変数選択基準を満たすのは、前記所定変数についての対応する値が前記複数の生成済みコンフィギュレーションの丁度全てにおいて変化しないこととなる場合とされる、方法。
<項7> 項1〜5のいずれか1つに記載の方法において、前記複数の生成済みコンフィギュレーションの所定変数が前記変数選択基準を満たすのは、前記所定変数についての対応する値が前記複数の生成済みコンフィギュレーションの絶対的多数において変化しないこととなる場合とされる、方法。
<項8> 項7に記載の方法において、前記複数の生成済みコンフィギュレーションの前記絶対的多数は、ユーザによって定義される、方法。
<項9> 複数の変数にわたっての離散的最適化を伴う問題を解くための方法であって、該方法は、
デジタルコンピュータを用いて、複数の変数にわたっての離散的最適化を伴う問題についての指示を、受信するステップと、
終了基準が充足されるまでは:
複数の変数にわたっての離散的最適化を伴う問題を、項1〜8のいずれか1つに記載の方法を用いて、再帰的に前処理して、複数の下位問題を生成するステップと、
複数の対応する解を提供するために前記複数の生成済み下位問題の各々を解くステップと、
前記デジタルコンピュータを用いて、前記複数の対応する解を提供するステップとを含む、方法。
<項10> 項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、前記複数の生成済み下位問題の変数個数が所定変数個数よりも小さい場合とされる、方法。
<項11> 項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、所定量のサイズ削減が前記離散的最適化を伴う問題について達成された場合とされる、方法。
<項12> 項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、効率的最適化問題ソルバを用いて前記複数の生成済み下位問題を解くことが可能となっている場合とされる、方法。
<項13> 項9〜11のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の生成済み下位問題の各々について行う解決は、前記最適化オラクルを用いて行われる、方法。
<項14> 項9〜12のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の生成済み下位問題の各々について行う解決は、前記デジタルコンピュータを用いて行われる、方法。
<項15> 項9〜14のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の対応する解は、前記デジタルコンピュータと対話しているユーザに対して提供される、方法。
<項16> 項9〜14のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の対応する解を提供するステップは、前記デジタルコンピュータと動作可能に接続された別のコンピュータに前記複数の対応する解を提供することを含む、方法。
<項17> 項9〜11のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の下位問題の各々を解くステップは:
前記デジタルコンピュータを用いて、少なくとも1つの下位問題の第1群を前記最適化オラクルに提供するステップと、
前記デジタルコンピュータを用いて、前記最適化オラクルから、前記第1群の下位問題の各々についての解を取得するステップと、
前記デジタルコンピュータを用いて、少なくとも1つの下位問題の第2群を古典型ソルバに提供するステップと、
前記デジタルコンピュータを用いて、前記古典型ソルバから、前記第2群の前記下位問題の各々について少なくとも1つの対応する解を取得するステップとを含む、方法。
<項18> 項17に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、少なくとも1つの下位問題の前記第1群及び少なくとも1つの下位問題の前記第2群は、前記複数の下位問題のサイズに基づいて決定される、方法。
<項19> デジタルコンピュータであって、
中央処理装置と、
表示装置と、
前記デジタルコンピュータを最適化オラクルと動作可能に接続するための通信ポートと、
複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーションを含むメモリ装置であって、該アプリケーションは:
離散的最適化を伴う問題についての指示を取得するための命令と、
前記離散的最適化を伴う問題を、前記最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するための命令と、
所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するための命令と、
前記最適化オラクルから、前記問題の提供毎に複数のコンフィギュレーションを取得するための命令であって、各コンフィギュレーションは前記最適化オラクルに対してのコールによって生成される、命令と、
変数選択基準を取得するための命令であって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、命令と、
前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するための命令と、
前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するための命令と、
前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するための命令とを含む、メモリ装置と、
前記中央処理装置と前記表示装置と前記通信ポートと前記メモリ装置とを相互接続するためのデータバスとを含む、デジタルコンピュータ。
<項20> コンピュータ実行可能命令を格納するための非一時的コンピュータ可読記憶媒体であって、該命令が実行されると複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法をデジタルコンピュータに行わせることになり、該方法は、
離散的最適化を伴う問題についての指示を取得するステップと、
前記離散的最適化を伴う問題を、前記最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、
所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップと、
前記最適化オラクルから、前記問題の提供毎に複数のコンフィギュレーションを取得するステップであって、各コンフィギュレーションは前記最適化オラクルに対してのコールによって生成される、ステップと、
変数選択基準を取得するステップであって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、ステップと、
前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、
前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するステップと、
前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、非一時的コンピュータ可読記憶媒体。

Claims (20)

  1. 複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法であって、該方法は、
    デジタルコンピュータを用いて、離散的最適化を伴う問題についての指示を、取得するステップと、
    前記デジタルコンピュータを用いて、前記離散的最適化を伴う問題を、最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、
    前記デジタルコンピュータを用いて、所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップと、
    前記問題の提供毎に、前記最適化オラクルを用いて、前記最適化オラクルに対しての所定個数たるK個のコールを行うステップであって、前記最適化オラクルに対しての各コールは所定のコンフィギュレーションを生成する、ステップと、
    前記デジタルコンピュータを用いて、変数選択基準を取得するステップであって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、ステップと、
    前記デジタルコンピュータを用いて、前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、
    前記デジタルコンピュータを用いて、前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するステップと、
    前記デジタルコンピュータを用いて、前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、方法。
  2. 請求項1に記載の方法において、前記離散的最適化を伴う問題は2次無制約2値最適化問題及びイジング問題の1つを含む、方法。
  3. 請求項1に記載の方法において、前記最適化オラクルは量子アニーラを含む、方法。
  4. 請求項1〜3のいずれか1つに記載の方法において、前記所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップは、並列的に行われる、方法。
  5. 請求項3に記載の方法において、前記最適化オラクルに対しての所定個数たるK個のコールを行うステップは、ランダムなゲージを用いて行われる、方法。
  6. 請求項1〜5のいずれか1つに記載の方法において、前記複数の生成済みコンフィギュレーションの所定変数が前記変数選択基準を満たすのは、前記所定変数についての対応する値が前記複数の生成済みコンフィギュレーションの丁度全てにおいて変化しないこととなる場合とされる、方法。
  7. 請求項1〜5のいずれか1つに記載の方法において、前記複数の生成済みコンフィギュレーションの所定変数が前記変数選択基準を満たすのは、前記所定変数についての対応する値が前記複数の生成済みコンフィギュレーションの絶対的多数において変化しないこととなる場合とされる、方法。
  8. 請求項7に記載の方法において、前記複数の生成済みコンフィギュレーションの前記絶対的多数は、ユーザによって定義される、方法。
  9. 複数の変数にわたっての離散的最適化を伴う問題を解くための方法であって、該方法は、
    デジタルコンピュータを用いて、複数の変数にわたっての離散的最適化を伴う問題についての指示を、受信するステップと、
    終了基準が充足されるまでは:
    複数の変数にわたっての離散的最適化を伴う問題を、請求項1〜8のいずれか1つに記載の方法を用いて、再帰的に前処理して、複数の下位問題を生成するステップと、
    複数の対応する解を提供するために前記複数の生成済み下位問題の各々を解くステップと、
    前記デジタルコンピュータを用いて、前記複数の対応する解を提供するステップとを含む、方法。
  10. 請求項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、前記複数の生成済み下位問題の変数個数が所定変数個数よりも小さい場合とされる、方法。
  11. 請求項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、所定量のサイズ削減が前記離散的最適化を伴う問題について達成された場合とされる、方法。
  12. 請求項9に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記終了基準が満たされるのは、効率的最適化問題ソルバを用いて前記複数の生成済み下位問題を解くことが可能となっている場合とされる、方法。
  13. 請求項9〜11のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の生成済み下位問題の各々について行う解決は、前記最適化オラクルを用いて行われる、方法。
  14. 請求項9〜12のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の生成済み下位問題の各々について行う解決は、前記デジタルコンピュータを用いて行われる、方法。
  15. 請求項9〜14のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の対応する解は、前記デジタルコンピュータと対話しているユーザに対して提供される、方法。
  16. 請求項9〜14のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の対応する解を提供するステップは、前記デジタルコンピュータと動作可能に接続された別のコンピュータに前記複数の対応する解を提供することを含む、方法。
  17. 請求項9〜11のいずれか1つに記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、前記複数の下位問題の各々を解くステップは:
    前記デジタルコンピュータを用いて、少なくとも1つの下位問題の第1群を前記最適化オラクルに提供するステップと、
    前記デジタルコンピュータを用いて、前記最適化オラクルから、前記第1群の下位問題の各々についての解を取得するステップと、
    前記デジタルコンピュータを用いて、少なくとも1つの下位問題の第2群を古典型ソルバに提供するステップと、
    前記デジタルコンピュータを用いて、前記古典型ソルバから、前記第2群の前記下位問題の各々について少なくとも1つの対応する解を取得するステップとを含む、方法。
  18. 請求項17に記載の複数の変数にわたっての離散的最適化を伴う問題を解くための方法において、少なくとも1つの下位問題の前記第1群及び少なくとも1つの下位問題の前記第2群は、前記複数の下位問題のサイズに基づいて決定される、方法。
  19. デジタルコンピュータであって、
    中央処理装置と、
    表示装置と、
    前記デジタルコンピュータを最適化オラクルと動作可能に接続するための通信ポートと、
    複数の変数にわたっての離散的最適化を伴う問題を前処理するためのアプリケーションを含むメモリ装置であって、該アプリケーションは:
    離散的最適化を伴う問題についての指示を取得するための命令と、
    前記離散的最適化を伴う問題を、前記最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するための命令と、
    所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するための命令と、
    前記最適化オラクルから、前記問題の提供毎に複数のコンフィギュレーションを取得するための命令であって、各コンフィギュレーションは前記最適化オラクルに対してのコールによって生成される、命令と、
    変数選択基準を取得するための命令であって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、命令と、
    前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するための命令と、
    前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するための命令と、
    前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するための命令とを含む、メモリ装置と、
    前記中央処理装置と前記表示装置と前記通信ポートと前記メモリ装置とを相互接続するためのデータバスとを含む、デジタルコンピュータ。
  20. コンピュータ実行可能命令を格納するための非一時的コンピュータ可読記憶媒体であって、該命令が実行されると複数の変数にわたっての離散的最適化を伴う問題について前処理を行うための方法をデジタルコンピュータに行わせることになり、該方法は、
    離散的最適化を伴う問題についての指示を取得するステップと、
    前記離散的最適化を伴う問題を、前記最適化オラクルの所定の最適化オラクルアーキテクチャに適した問題に変換するステップと、
    所定回数たるM回にわたって前記所定の最適化オラクルアーキテクチャに適した前記問題を前記最適化オラクルに提供するステップと、
    前記最適化オラクルから、前記問題の提供毎に複数のコンフィギュレーションを取得するステップであって、各コンフィギュレーションは前記最適化オラクルに対してのコールによって生成される、ステップと、
    変数選択基準を取得するステップであって、前記変数選択基準は複数の生成済みコンフィギュレーションの固定されるべき少なくとも1つの変数を決定するためのものである、ステップと、
    前記変数選択基準に合致する少なくとも1つの変数と各変数についての対応する値とを決定するステップと、
    前記離散的最適化を伴う問題に関して前記少なくとも1つの決定された変数を前記対応する値に固定して、それによって前記問題を前処理して、少なくとも1つの下位問題を生成するステップと、
    前記少なくとも1つの生成済み下位問題についての指示と前記少なくとも1つの固定済み変数についての指示とを提供するステップとを含む、非一時的コンピュータ可読記憶媒体。
JP2018545982A 2016-03-02 2017-03-02 離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用 Active JP6612469B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662302437P 2016-03-02 2016-03-02
US62/302,437 2016-03-02
PCT/IB2017/051224 WO2017149491A1 (en) 2016-03-02 2017-03-02 Method and system for decomposing a problem involving discrete optimization into a plurality of smaller subproblems and use of the method for solving the problem

Publications (2)

Publication Number Publication Date
JP2019512779A true JP2019512779A (ja) 2019-05-16
JP6612469B2 JP6612469B2 (ja) 2019-11-27

Family

ID=59724184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018545982A Active JP6612469B2 (ja) 2016-03-02 2017-03-02 離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用

Country Status (5)

Country Link
US (1) US10152454B2 (ja)
EP (1) EP3423952A4 (ja)
JP (1) JP6612469B2 (ja)
CA (1) CA3015034C (ja)
WO (1) WO2017149491A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047533A (ja) * 2019-09-17 2021-03-25 株式会社豊田中央研究所 演算装置、演算システム、演算方法、およびコンピュータプログラム
JP2023524236A (ja) * 2020-05-01 2023-06-09 富士通株式会社 サロゲート二値最適化

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797641B2 (en) 2015-02-03 2023-10-24 1Qb Information Technologies Inc. Method and system for solving the lagrangian dual of a constrained binary quadratic programming problem using a quantum annealer
CA2881033C (en) 2015-02-03 2016-03-15 1Qb Information Technologies Inc. Method and system for solving lagrangian dual of a constrained binary quadratic programming problem
JP6966177B2 (ja) 2016-03-11 2021-11-10 ワンキュービー インフォメーション テクノロジーズ インク. 量子計算のための方法及びシステム
US9870273B2 (en) 2016-06-13 2018-01-16 1Qb Information Technologies Inc. Methods and systems for quantum ready and quantum enabled computations
US10044638B2 (en) 2016-05-26 2018-08-07 1Qb Information Technologies Inc. Methods and systems for quantum computing
US10884721B2 (en) * 2018-05-08 2021-01-05 Autodesk, Inc. Branch objects for dependent optimization problems
US20190391807A1 (en) * 2018-06-20 2019-12-26 Fujitsu Limited Computer-readable recording medium storing optimization problem computing program and optimization problem computing system
US11574030B1 (en) * 2018-10-29 2023-02-07 Rigetti & Co, Llc Solving optimization problems using a hybrid computer system
US11669763B2 (en) * 2018-12-19 2023-06-06 Microsoft Technology Licensing, Llc Quantum procedures for approximate optimization by quenching
US11182688B2 (en) 2019-01-30 2021-11-23 International Business Machines Corporation Producing a formulation based on prior distributions of a number of ingredients used in the formulation
CA3126553A1 (en) 2019-06-19 2020-12-24 1Qb Information Technologies Inc. Method and system for mapping a dataset from a hilbert space of a given dimension to a hilbert space of a different dimension
EP3754564A1 (en) * 2019-06-21 2020-12-23 Fujitsu Limited Ising machine data input apparatus and method of inputting data into an ising machine
JP2021131611A (ja) * 2020-02-18 2021-09-09 富士通株式会社 情報処理装置、プログラム、情報処理方法および情報処理システム
US11386348B2 (en) 2020-06-02 2022-07-12 International Business Machines Corporation Dynamic quantum data output post-processing
US11526336B2 (en) 2021-03-15 2022-12-13 Fujitsu Limited Community-oriented, cloud-based digital annealing platform

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977576B2 (en) * 2010-11-19 2015-03-10 D-Wave Systems Inc. Methods for solving computational problems using a quantum processor
US9875215B2 (en) * 2012-12-18 2018-01-23 D-Wave Systems Inc. Systems and methods that formulate problems for solving by a quantum processor using hardware graph decomposition
CN108256651B (zh) * 2013-06-28 2022-09-06 D-波系统公司 用于对数据进行量子处理的方法
WO2015060915A2 (en) * 2013-07-29 2015-04-30 President And Fellows Of Harvard College Quantum processor problem compilation
US10275422B2 (en) * 2013-11-19 2019-04-30 D-Wave Systems, Inc. Systems and methods for finding quantum binary optimization problems
CN107077642B (zh) * 2014-08-22 2021-04-06 D-波系统公司 可用于量子计算的用于求解问题的系统和方法
CA2881033C (en) * 2015-02-03 2016-03-15 1Qb Information Technologies Inc. Method and system for solving lagrangian dual of a constrained binary quadratic programming problem
US9870273B2 (en) * 2016-06-13 2018-01-16 1Qb Information Technologies Inc. Methods and systems for quantum ready and quantum enabled computations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047533A (ja) * 2019-09-17 2021-03-25 株式会社豊田中央研究所 演算装置、演算システム、演算方法、およびコンピュータプログラム
JP7040505B2 (ja) 2019-09-17 2022-03-23 株式会社豊田中央研究所 演算装置、演算システム、演算方法、およびコンピュータプログラム
JP2023524236A (ja) * 2020-05-01 2023-06-09 富士通株式会社 サロゲート二値最適化
JP7435826B2 (ja) 2020-05-01 2024-02-21 富士通株式会社 サロゲート二値最適化

Also Published As

Publication number Publication date
JP6612469B2 (ja) 2019-11-27
EP3423952A1 (en) 2019-01-09
CA3015034A1 (en) 2017-09-08
US20170255592A1 (en) 2017-09-07
EP3423952A4 (en) 2019-10-30
WO2017149491A1 (en) 2017-09-08
CA3015034C (en) 2022-06-21
US10152454B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
JP6612469B2 (ja) 離散的最適化を伴う問題を複数のより小さな下位問題に分解する方法及びシステム並びに問題を解くためのそれらの使用
US20210374499A1 (en) Iterative deep graph learning for graph neural networks
US10628212B2 (en) Incremental parallel processing of data
US10902183B2 (en) Automated tagging of text
US9934260B2 (en) Streamlined analytic model training and scoring system
US9495207B1 (en) Cataloging data sets for reuse in pipeline applications
Guo et al. Community discovery by propagating local and global information based on the MapReduce model
CN111427971B (zh) 用于计算机系统的业务建模方法、装置、系统和介质
CN109983456A (zh) 存储器内密钥范围搜索技术
AU2020393787B2 (en) Method and system for generating synthethic data using a regression model while preserving statistical properties of underlying data
US20130151519A1 (en) Ranking Programs in a Marketplace System
Wang et al. GP-based approach to comprehensive quality-aware automated semantic web service composition
EP3516540A1 (en) Techniques for in-memory data searching
Qiu et al. Cost minimization for heterogeneous systems with Gaussian distribution execution time
Kastrati et al. An improved concept vector space model for ontology based classification
Zhu et al. Scalable inference in max-margin topic models
US11640379B2 (en) Metadata decomposition for graph transformation
Bante et al. Big data analytics using hadoop map reduce framework and data migration process
Li et al. Synthesis of Deutsch-Jozsa circuits and verification by IBM Q
Meddah et al. Parallel Mining Small Patterns from Business Process Traces
Jefferson et al. A Resource-optimized and Accelerated Sentiment Analysis Method using Serverless Computing
Dong et al. An inexact penalty decomposition method for sparse optimization
Harsh et al. Big Data hysteria, cognizance and scope
Abdulkadium et al. Raid Abd Alreda Shekan
Shanmugam et al. A novel approach to predictive graphs using big data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191030

R150 Certificate of patent or registration of utility model

Ref document number: 6612469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250