IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ワンキュービー インフォメーション テクノロジーズ インク.の特許一覧 ▶ 日本電信電話株式会社の特許一覧

特表2024-502716重み付き最大クリーク問題を解くための方法およびシステム
<>
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図1
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図2A
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図2B
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図3
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図4
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図5
  • 特表-重み付き最大クリーク問題を解くための方法およびシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-23
(54)【発明の名称】重み付き最大クリーク問題を解くための方法およびシステム
(51)【国際特許分類】
   G06N 99/00 20190101AFI20240116BHJP
   G06E 3/00 20060101ALI20240116BHJP
【FI】
G06N99/00 180
G06E3/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023535774
(86)(22)【出願日】2021-12-09
(85)【翻訳文提出日】2023-08-14
(86)【国際出願番号】 IB2021061527
(87)【国際公開番号】W WO2022123494
(87)【国際公開日】2022-06-16
(31)【優先権主張番号】63/123,645
(32)【優先日】2020-12-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
(71)【出願人】
【識別番号】521227414
【氏名又は名称】ワンキュービー インフォメーション テクノロジーズ インク.
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003797
【氏名又は名称】弁理士法人清原国際特許事務所
(72)【発明者】
【氏名】ユルディス,ウグル
(72)【発明者】
【氏名】ロナ,プーヤ
(72)【発明者】
【氏名】稲葉 謙介
(72)【発明者】
【氏名】シェーラー,アーサー
(72)【発明者】
【氏名】コースラビ,ファルハード
(72)【発明者】
【氏名】パンデイ,プージャ
(57)【要約】
【解決手段】
本開示は、問題を解くための方法およびシステムを提供する。問題の例には、最大クリーク問題が含まれるが、これに限定されない。
【選択図】図3
【特許請求の範囲】
【請求項1】
光計算デバイスに結合されたインターフェースを使用して問題を解くための方法であって、
(a)インターフェースにおいて重み付き最大クリーク問題の指標を得る工程と、
(b)前記重み付き最大クリーク問題を、少なくとも1つのシンプレックス制約を含む二次連続最適化問題として定式化する工程と、
(c)前記二次連続最適化問題に対応する確率微分方程式を構築する工程であって、前記確率微分方程式は複数の連続変数を含む、工程と、
(d)前記確率微分方程式を少なくとも1回解くために、前記光計算デバイスを使用する工程と、
(e)前記インターフェースにおいて、前記光計算デバイスから前記確率微分方程式の少なくとも1つの解を得る工程と、
(f)前記重み付き最大クリーク問題の少なくとも1つの解を得るために前記確率微分方程式の前記少なくとも1つの解を使用する工程と
を含む方法。
【請求項2】
(d)が、前記インターフェースにおいて、少なくとも1つの確率的勾配を算出すること、および前記複数の前記連続変数を更新することをさらに含む、請求項1に記載の方法。
【請求項3】
更新された前記複数の連続変数が、前記確率微分方程式に対する更新された解を得るために、前記光計算デバイス上で実装される、請求項2に記載の方法。
【請求項4】
更新された前記複数の連続変数を使用して(a)~(e)を少なくとも1回繰り返す工程をさらに含む、請求項2に記載の方法。
【請求項5】
(f)が、最大のクリーク値を選択することを含む、請求項1に記載の方法。
【請求項6】
前記インターフェースが、行列乗算デバイスと通信するように構成され、任意選択で、前記行列乗算デバイスが、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)からなる群から選択される少なくとも1つのメンバを備える、請求項1に記載の方法。
【請求項7】
前記光計算デバイスを構成するために、前記確率微分方程式を使用する工程をさらに含む、請求項1に記載の方法。
【請求項8】
前記光計算デバイスが、コヒーレント光ネットワークである、請求項1に記載の方法。
【請求項9】
前記コヒーレント光ネットワークが、コヒーレントイジングマシンである、請求項7に記載の方法。
【請求項10】
前記重み付き最大クリーク問題が、グラフ類似性問題または分子類似性問題である、請求項1に記載の方法。
【請求項11】
前記インターフェースが、クラウドコンピューティングインターフェースまたはグラフィカルユーザインターフェースである、請求項1に記載の方法。
【請求項12】
光計算デバイスに結合されたインターフェースを使用して問題を解くためのシステムであって、該システムは、
(a)インターフェース、およびプロセッサに動作可能に結合された非一時的コンピュータ可読媒体を備えるデジタルコンピュータであって、前記非一時的コンピュータ可読媒体が命令を含み、前記プロセッサが少なくとも
(i)重み付き最大クリーク問題の指標を得て、
(ii)前記重み付き最大クリーク問題を、1つのシンプレックス制約を含む二次連続最適化問題として定式化し、
(iii)前記二次連続最適化問題に対応する確率微分方程式であって、複数の連続変数を含む確率微分方程式を構築する
ための命令を実行するように構成される、デジタルコンピュータと、
(b)前記デジタルコンピュータに動作可能に結合されたメモリであって、前記確率微分方程式の少なくとも1つの解、および前記重み付き最大クリーク問題の少なくとも1つの解を記憶するメモリと、
(c)前記デジタルコンピュータに動作可能に結合された計算プラットフォームであって、少なくとも1つのプロセッサおよび読み出し制御システムを備えており、少なくとも
(i)前記確率微分方程式の指標を前記デジタルコンピュータから受信し、
(ii)解を生成するために、前記光計算デバイスにおいて前記確率微分方程式を解き、かつ
(iii)前記読み出し制御システムを介して前記確率微分方程式の前記解を前記メモリに記憶する
ように構成される計算プラットフォームと
を備えている、システム。
【請求項13】
前記計算プラットフォームが、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、テンソルストリーミングプロセッサ(TSP)、およびコヒーレント光ネットワークからなる群から選択される少なくとも1つのメンバを備える、請求項12に記載のシステム。
【請求項14】
前記少なくとも1つのプロセッサの1つ以上のプロセッサが、クラウド上に配置される、請求項12に記載のシステム。
【請求項15】
前記メモリが、ネットワーク経由で前記デジタルコンピュータに動作可能に結合される、請求項12に記載のシステム。
【請求項16】
グラフ類似性問題を解くための、請求項1に記載の方法の使用。
【請求項17】
分子類似性問題を解くための、請求項1に記載の方法の使用。
【請求項18】
前記二次連続最適化問題が、複数のシンプレックス制約を含む、請求項1に記載の方法。
【請求項19】
行列乗算デバイスを使用して問題を解く方法であって、
(a)インターフェースにおいて重み付き最大クリーク問題の指標を得る工程と、
(b)前記重み付き最大クリーク問題を、少なくとも1つのシンプレックス制約を含む二次連続最適化問題として定式化する工程と、
(c)前記二次連続最適化問題に対応する確率微分方程式を構築する工程であって、前記確率微分方程式は複数の連続変数を含む、工程と、
(d)前記確率微分方程式を少なくとも1回解くために前記行列乗算デバイスを使用する工程と、
(e)前記行列乗算デバイスから、前記確率微分方程式の少なくとも1つの解を得る工程と、
(f)前記重み付き最大クリーク問題の少なくとも1つの解を得るために前記確率微分方程式の前記少なくとも1つの解を使用する工程と
を含む方法。
【請求項20】
(d)が、少なくとも1つの確率的勾配を算出すること、および前記複数の前記連続変数を更新することをさらに含む、請求項19に記載の方法。
【請求項21】
更新された前記複数の連続変数を使用して(a)~(e)を少なくとも1回繰り返す工程をさらに含む、請求項20に記載の方法。
【請求項22】
(f)が、最大のクリーク値を選択することを含む、請求項19に記載の方法。
【請求項23】
前記行列乗算デバイスが、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)からなる群から選択される少なくとも1つのメンバを備える、請求項19に記載の方法。
【請求項24】
前記行列乗算デバイスを構成するために前記確率微分方程式を使用する工程をさらに含む、請求項19に記載の方法。
【請求項25】
前記インターフェースが、クラウドコンピューティングインターフェースまたはグラフィカルユーザインターフェースである、請求項19に記載の方法。
【請求項26】
行列乗算デバイスを使用して重み付き最大クリーク問題を解くためのシステムであって、該システムは、
(a)インターフェース、およびプロセッサに動作可能に結合された非一時的コンピュータ可読媒体を備えるデジタルコンピュータであって、前記非一時的コンピュータ可読媒体が命令を含み、前記プロセッサが少なくとも
(i)重み付き最大クリーク問題の指標を得て、
(ii)前記重み付き最大クリーク問題を、1つのシンプレックス制約を含む二次連続最適化問題として定式化し、
(iii)前記二次連続最適化問題に対応する確率微分方程式であって、複数の連続変数を含む確率微分方程式を構築する、
ための命令を実行するように構成される、デジタルコンピュータと、
(b)前記デジタルコンピュータに動作可能に結合されたメモリであって、前記確率微分方程式の少なくとも1つの解、および前記重み付き最大クリーク問題の少なくとも1つの解を記憶するメモリと、
(c)前記デジタルコンピュータに動作可能に結合された計算プラットフォームであって、少なくとも1つのプロセッサおよび読み出し制御システムを備えており、少なくとも
(i)前記確率微分方程式の指標を前記デジタルコンピュータから受信し、
(ii)解を生成するために前記光計算デバイスにおいて前記確率微分方程式を解き、かつ
(iii)前記読み出し制御システムを介して、前記確率微分方程式の前記解を前記メモリに記憶する
ように構成される計算プラットフォームと
を備えている、システム。
【請求項27】
前記計算プラットフォームが、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、テンソルストリーミングプロセッサ(TSP)、およびコヒーレント光ネットワークからなる群から選択される少なくとも1つのメンバを備える、請求項26に記載のシステム。
【請求項28】
前記少なくとも1つのプロセッサの1つ以上のプロセッサが、クラウド上に配置される、請求項26に記載のシステム。
【請求項29】
前記メモリが、ネットワーク経由で前記デジタルコンピュータに動作可能に結合される、請求項26に記載のシステム。
【請求項30】
グラフ類似性問題を解くための、請求項19に記載の方法の使用。
【請求項31】
分子類似性問題を解くための、請求項19に記載の方法の使用。
【請求項32】
前記二次連続最適化問題が、複数のシンプレックス制約を含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本出願は、2020年12月10日に出願された米国仮特許出願第63/123,645号の利益を主張し、あらゆる目的のために参照により本明細書に援用される。
【技術背景】
【0002】
グラフ理論における最大クリーク問題または最大独立集合問題を解くことは、化学およびデータマイニング、例えば、分子類似性および大規模なデータセットにおける応用など、様々な分野における多くの理論的および実世界での応用において重要である場合がある。
【0003】
一用途では、分子間の構造的類似性の測定は、創薬などの領域における化学的および薬学的な研究において重要な役割を果たす場合がある。類似性は、標識された分子原子結合構造(molecular atom bond structures)のグラフ表示に基づいて測定することができる。いくつかの場合では、このことが、最大クリーク問題の応用である。
【0004】
一例示的用途では、グラフは、その頂点および辺によって表される特定の属性を有し得る。グラフの特性を理解することは、様々な考慮事項の下、システムを分析するために重要であり得る。コールグラフおよびインターネット/ウェブグラフは、列挙され得るわずかな例に過ぎない。そのようなグラフの例は、Butenko,Sergiy,and Panagote M.Pardalos,“Maximum independent set and related problems,with applications,”に見出すことができ、この文献の開示は、その全体が参照により援用される。
【発明の概要】
【0005】
最大クリーク問題および最大独立集合問題は、構造的に類似し得る。これらの問題はNP困難(NP-hard)であるため、P=NPでない限り、多項式時間で問題を解くことが可能ではないこともある。したがって、これらの問題を解く方法およびシステムの開発は重要であり得る。これらの問題を解くために必要とされる時間は、問題のサイズとともに指数関数的に増加する場合がある。これらの大きいサイズの問題を解く方法は、シミュレーテッドアニーリング(simulated annealing)やタブー探索法のようなジェネリックヒューリスティックス、および強力な構成チェック用いたローカル検索(local search with strong configuration checking)(LSCC)のようなネイティブヒューリスティックスなどのヒューリスティックスを含み得る。これらのヒューリスティックの欠点の1つは、それらが並列処理に適し得ない1つ以上の連続的な処理工程を含むことであり、したがって、それらは、高性能計算(HPC)デバイスの能力を完全には利用し得ないことである。
【0006】
本明細書では、上記で示された欠点の少なくとも1つを克服することができる改良された方法およびシステムの必要性が認識される。
【0007】
本開示は、行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用して、重み付き最大クリーク問題を解くための方法およびシステムが対象とされ得る。本開示は、様々な非限定的な利点を提供する。例えば、本明細書に開示される方法およびシステムの利点は、それらが高度に並列化可能であり得、このことが、行列乗算デバイスの使用により、各処理工程に関与する計算を加速することと、複数の試行を同時に解くこととの両方を可能にすることである。例えば、前記方法およびシステムの利点は、それらがコヒーレント光ネットワーク上で実装され得ることである。より詳細には、本明細書で開示される方法およびシステムの1つ以上の実施形態の利点は、高性能計算(HPC)デバイスを完全には利用できない現存の方法とは異なり、本明細書で開示される方法およびシステムを複数の試行に対して容易に並列化することができることである。
【0008】
本開示の一態様にしたがって、行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用して重み付き最大クリーク問題を解くための方法が開示され、該方法は、重み付き最大クリーク問題の指標(indication)を得る工程と、前記問題を、1つのシンプレックス制約を有する二次連続最適化問題として定式化する工程と、複数の連続変数を含む前記定式化された最適化問題に対応する確率微分方程式を構築する工程と、前記確率微分方程式を少なくとも1回解くために行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用する工程と、前記確率微分方程式の少なくとも1つの解を得る工程と、前記最大クリーク問題の少なくとも1つの解を得るために前記確率微分方程式の前記少なくとも1つの解を使用する工程と、を含む。
【0009】
1つ以上の実施形態に沿って、方法は、少なくとも1つの確率的勾配を算出する工程、および前記複数の前記連続変数を更新する工程をさらに含む。
【0010】
1つ以上の実施形態にしたがって、方法は、最高クリーク値を選択する工程をさらに含む。
【0011】
1つ以上の実施形態に沿って、行列乗算デバイスは、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)からなる群のうちの少なくとも1つのメンバを備える。
【0012】
1つ以上の実施形態に沿って、方法は、前記コヒーレント光ネットワークを構成するために、前記確率微分方程式を使用する工程をさらに含む。
【0013】
1つ以上の実施形態に沿って、重み付き最大クリーク問題を解くための方法は、グラフ類似性問題を解くために使用される。
【0014】
1つ以上の実施形態に沿って、重み付き最大クリーク問題を解くための方法は、分子類似性問題を解くために用いられる。
【0015】
本開示の一態様にしたがって、行列乗算デバイスまたはコヒーレント光ネットワークを使用して、重み付き最大クリーク問題を解くためのシステムが開示され、該システムは、インターフェースおよびプロセッサに動作可能に結合された非一時的コンピュータ可読媒体を備えるデジタルコンピュータであって、前記非一時的コンピュータ可読媒体が命令を含み、前記プロセッサが少なくとも、重み付け最大クリーク問題の指標を得、前記問題を、1つのシンプレックス制約を有する二次連続最適化問題として定式化し、複数の連続変数を含む定式化された最適化問題に対応する確率微分方程式を構築するための前記命令を実行するよう構成される、デジタルコンピュータと、前記デジタルコンピュータに動作可能に結合されるメモリであって、確率微分方程式の少なくとも前記解、および最大クリーク問題のための少なくとも1つの前記解を記憶するメモリと、デジタルコンピュータに動作可能に結合される計算プラットフォームであって、少なくとも1つのプロセッサおよび読み出し制御システムを備えており、少なくとも前記デジタルコンピュータから前記確率微分方程式の指標を受信し、解を生成するために前記確率微分方程式を解き、かつ前記読み出し制御を介して前記確率微分方程式の前記解を前記メモリに記憶するように構成される計算プラットフォームと、を備える。
【0016】
1つ以上の実施形態に沿って、計算プラットフォームは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、テンソルストリーミングプロセッサ(TSP)、およびコヒーレント光ネットワークからなる群から選択される少なくとも1つのメンバを備える。
【0017】
1つ以上の実施形態に沿って、少なくとも1つのプロセッサの1つ以上のプロセッサは、クラウド上に配置される。
【0018】
1つ以上の実施形態によれば、メモリは、ネットワーク経由でデジタルコンピュータに動作可能に結合される。
【0019】
本開示の別の態様は、1つ以上のコンピュータプロセッサによる実行時に、本明細書の他の箇所に開示される方法のいずれかを実装する機械実行可能コードを備える非一時的コンピュータ可読媒体を提供する。
【0020】
本開示の別の態様は、1つ以上のコンピュータプロセッサ、およびそれに結合されたコンピュータメモリを備えるシステムを提供する。コンピュータメモリは、1つ以上のコンピュータプロセッサによる実行時に、本明細書の他の箇所に開示される方法のいずれかを実施する機械実行可能コードを備える。
【0021】
本開示のさらなる態様および利点は、以下の詳細な説明から当業者には容易に明らかになることであり、本開示の例示的な実施形態のみが示され、記載される。理解されるように、本開示は、他の異なる実施形態に関連し得、そのいくつかの詳細は、すべて本開示から逸脱することなく、様々な明白な点において修正を含み得る。したがって、図面および説明は、本質的に例示的なものとみなされるものであり、限定的なものとみなされるものではない。
【0022】
参照による援用
本明細書で言及されるすべての刊行物、特許、および特許出願は、あたかも各個々の刊行物、特許、または特許出願が具体的かつ個別に参照により援用されることが示されるのと同程度に、参照により本明細書に援用される。参照により援用される刊行物および特許または特許出願が、本明細書に含まれる本開示と矛盾する程度に、本明細書は、そのような矛盾する任意の資料に取って代わる、および/または優先することが意図される。
【図面の簡単な説明】
【0023】
本発明の新規な特徴は、添付の特許請求の範囲に詳細に記載される。本発明の特徴および利点のより良い理解は、例示的な実施形態を記載する以下の詳細な説明を参照することによって得られものであり、本発明の原理および添付の図面(本明細書における「図(Figure)」および「図(FIG)」も)が利用される。
図1】重み付き最大クリーク問題を解くための方法の一例を示す流れ図である。
図2A】行列乗算デバイスを使用して重み付き最大クリーク問題を解くためのシステムの一例を示す図である。
図2B】コヒーレント光ネットワークを使用して重み付き最大クリーク問題を解くためのシステムの一例を示す図である。
図3】頂点重み付きグラフおよび対応する最大クリークの一例を示す図である。
図4】変数の値を更新するための手順の一例を示す流れ図である。
図5】コヒーレント光ネットワークの一例を示す図である。
図6】本明細書で提供される方法を実装するようにプログラムされるか、そうでない場合は構成される、コンピュータシステムを示す図である。
【発明の詳細な発明】
【0024】
本発明の様々な実施形態が本明細書に示され、記載されてきたが、そのような実施形態は例としてのみ提供されることが当業者には明らかであろう。多数の変形、変更、および置換が、本発明から逸脱することなく当業者に想起され得る。本明細書で説明される本発明の実施形態に対する様々な代替案が採用され得ることを理解されたい。
【0025】
用語「少なくとも」、「超える(grater than)」、または「以上(greater than or equal to)」が一連の2つ以上の数値における第1の数値に先行するときはいつでも、用語「少なくとも」、「超える」または「以上」は、一連の数値における数値のそれぞれに適用される。例えば、1、2、または3以上は、1以上、2以上、または3以上に相当する。
【0026】
用語「のみ(no more than)」、「未満(less than)」、または「以下(less than or equal to)」が、一連の2つ以上の数値における第1の数値に先行するときはいつでも、用語「以下」、「未満」、または「以下」は、一連の数値における数値のそれぞれに適用される。例えば、3、2、または1以下は、3以下、2以下、または1以下に相当する。
【0027】
本明細書で使用される場合、用語「重み付きグラフ」は、一般に、頂点重み付きグラフ、つまり、重みが頂点に付けられるグラフを指す。
【0028】
本明細書で使用される場合、用語(グラフの)「クリーク」は、一般に、別個の頂点が隣接するような頂点のサブセットを指す。
【0029】
本明細書で使用される場合、用語(頂点重み付きグラフの)「最大クリーク」は、一般に、クリークの頂点に付けられる重みの合計が増加する、クリークを指す。例えば、合計は、最も高い既知の合計であり得る。例えば、重みの合計は、相対最大値または絶対最大値であり得る。
【0030】
本明細書で使用される場合、用語「重み付き最大クリーク問題」は、一般に、頂点に重みを付けることができる最大クリーク問題を指す。いくつかの場合では、付けられる重みは、すべての重みが1に等しい場合を含む任意の重みであり得る。
【0031】
本明細書で使用される場合、用語「重み付き最大クリーク問題に対する解」は、一般に、重み付き最大クリークの値、例えば、重み付き最大クリークを含む頂点の重みの合計に対する解を指す。用語「解」は、最適解または準最適解を指し得る。
【0032】
本開示は、行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用して、重み付き最大クリーク問題を解くための方法およびシステムを提供する。
【0033】
Motzkin-Strausモデルおよび確率微分方程式の構築
一例では、スピンが-1または+1の値をとり得るイジング問題が考慮される(例えば、あらゆる目的のために参照により本明細書に援用される、Ising,E.,“Beitrag zur theorie des ferromagnetismus,”」を参照されたい)。
【0034】
イジング問題は、スピン
【0035】
【数1】
【0036】
【数2】
との間のカップリングJijに関して、システムエネルギーを低減するか、いくつかの場合では最小化し得る。
該問題は、
【0037】
【数3】
という条件下で、
目的関数
【0038】
【数4】
を低減するか、いくつかの場合では最小化し得る。
【0039】
上記の二次制約なしバイナリ最適化問題は、各スピンについて以下の確率微分方程式を用いて解き得る。
【0040】
【数5】
ここで、dwは、極小値からエスケープするための手段を可能にするノイズを表す。上記の確率微分方程式を解くと、スピンについて正または負の値を有する結果となり得る。
【0041】
バイナリ制約
【0042】
【数6】
は、確率微分方程式の第2の項によって表され得る。
【0043】
最大クリーク問題は、離散変数を伴う組み合わせ問題であるが、しかしながら、MotzkinおよびStraus(あらゆる目的のために参照により本明細書に援用される、Motzkin,Theodore S.,and Ernst G.Straus,“Maxima for Graphs and a New Proof of a Theorem of Turan)は、最大クリーク問題の二次連続モデルを導入する。Motzkin-Strausモデルは、非負制約に加えて単一のシンプレックス制約を有する。モデルは、シンプレックス制約
【0044】
【数7】
という条件下で、目的関数
【0045】
【数8】
を増大させるか、いくつかの場合では最大化し得る。一旦解が得られると、クリーク値(この場合、目的関数値)は、方程式
【0046】
【数9】
を用いて算出することができ、ここでωはグラフのクリーク値であり、xはg(x)のマキシマイザである。
【0047】
Motzkin-Strausモデルを解くことができる確率微分方程式を構築するために、変数xは、各変数iについてc で置き換えられ、その結果、非制限変数は、本明細書で開示される方法およびシステムを考案するために使用され得る。
【0048】
Motzkin-Strausモデルは、非負制約を排除するために、シンプレックス制約
【0049】
【数10】
という条件下での、新たな目的関数
【0050】
【数11】
において、変数
【0051】
【数12】
を使用して、書き換えられ得る。いくつかの場合では、そのような制約は、行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用して解くことを妨げ得る。
【0052】
上記のイジングモデルのバイナリ制約の取り扱いと同様に、シンプレックス制約は、確率微分方程式の第2の項を修正することによって取り扱われ得る。確率微分方程式
【0053】
【数13】
は、Motzkin-Strausモデルを解くために、各変数cについて使用され得る。
【0054】
高性能計算デバイス
本明細書のフォトニック計算デバイス、例えばコヒーレント光ネットワークと相互作用し得る本明細書の計算デバイスは、高性能計算(HPC)デバイスであり得る。HPCは、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)のうちの1つ以上を備え得る。行列乗算を実行することができる他の任意の適切な処理ユニットが使用され得る。特定の計算デバイスは、行列乗算などの動作(operation)においてより効率的であり得る。これらの計算デバイスは、他の計算システムを上回る、さらなる効率性の向上を提供し得る。例えば、行列乗算デバイスはGPUであり得る。GPUは、高スループット向けに最適化された特殊な電子回路であり得、これは、同じ一連の動作を多数のデータブロックに対して一度に並列して行うことができる。例えば、行列乗算デバイスはTPUであり得る。TPUは、Google Inc.によって、低ビット精度の処理のために開発されたASICの1種であり得、この開示は、その全体が参照により本明細書に援用される、米国特許出願第2016/0342891号を参照されたい。例えば、行列乗算デバイスは、FPGAであり得る。FPGAは、構成可能な論理ブロックと、プログラマブル相互接続を備える集積回路チップであり得る。それは、製造後に、カスタムアルゴリズムを実行するようにプログラムすることができる。例えば、行列乗算デバイスはASICであり得る。ASICは、特定のアルゴリズムを実行するようにカスタマイズされた集積回路チップであり得る。いくつかの場合では、製造後にASICをプログラムすることができない。例えば、行列乗算デバイスはTSPであり得る。TSPは、線形代数計算が人工知能アプリケーションにおいて実行され得る場合に。線形代数計算のために設計される、ドメイン特有のプログラマブル集積チップであり得、その例は、Gwennap,Linley,“Groq rocks neural networks,”に見出され得、これは、あらゆる目的のためにその全体が参照により本明細書に援用される。
【0055】
コヒーレントイジングマシン
いくつかの場合では、行列乗算デバイスなどの計算デバイスは、フォトニック計算デバイスに結合され得る。フォトニック計算デバイスは、コヒーレントイジングマシン(CIM)であり得る。CIMは、スピン間のその増加した、例えば、全対全(all to all)の接続性により、強力な最適化システムであるフォトニックデバイスである。コヒーレントイジングマシンは、イジング問題を解くことに適合され得るが、しかしながら、その光パルスは、代わりに、連続変数を表すために使用され得る。そのような修正は、コヒーレント光ネットワークとも呼ばれ得る。
【0056】
コヒーレント光ネットワークは、本明細書で説明される種類のいずれかなど、様々な種類のものであり得る。いくつかの場合では、コヒーレント光ネットワークは、光計算デバイスを備える。いくつかの場合では、コヒーレント光ネットワークは、ビームスプリッタ、光学テーブル上をナビゲートする自由空間レーザ、光ファイバを備えるファイバリング空洞、および光ファイバ機器などの光学機器のうちのいずれか、もしくはそれらのいくつかを備える。いくつかの場合では、コヒーレント光ネットワークは、集積フォトニクスを備える。
【0057】
光計算デバイス
いくつかの場合では、光デバイスは、米国特許出願第2016/0162798号および国際出願WO2015006494A1に開示されるように、光パラメトリック発振器(OPO)のネットワークを備え、各文献の開示は、参照よりその全体が援用される。
【0058】
いくつかの場合では、イジングモデルの各スピンは、縮退で動作する光パラメトリック発振器(OPO)によってシミュレートされる。
【0059】
縮退光パラメトリック発振器(OPO)は、発振閾値で二次相転移を経験するオープン散逸システムである。位相感応増幅のため、縮退OPOは、閾値を上回る振幅についてポンプ位相に関する、0かπかのいずれかの位相で発振し得る。その位相はランダムであり、発振ビルドアップ中の光パラメトリック下方変換に関連する量子ノイズの影響を受ける。したがって、縮退OPOは、本来的に、その出力位相によって特定される二進数を表す。この特性に基づいて、縮退OPOシステムは、イジングスピンシステムの物理的表現(physical representative)として使用され得る。各OPOの位相は、イジングスピンとして識別され、その振幅および位相は、関連するスピン間のイジング結合の強度および符号によって決定される。
【0060】
強いソースによってポンピングされるとき、縮退光パラメトリック発振器(OPO)は、イジングモデルにおけるスピン+1または-1に対応する2つの位相状態のうちの1つをとる。相互結合を有するN個の実質的に同一のOPOのネットワークは、イジングスピンシステムをシミュレートするために同じソースでポンピングされる。ポンプの導入から過渡期間の後、OPOのネットワークは定常状態に近づく。
【0061】
振幅は閾値を上回るが縮退光学パラメトリック発振器が弱いソースによってポンピングされるいくつかの場合では、バイナリスピンの代わりに連続変数を表し得る。
【0062】
位相状態選択プロセスは、真空ゆらぎ(vacuum fluctuations)および光パラメトリック発振器(OPO)の相互結合に依存する。いくつかの場合では、ポンプは、一定の振幅でパルス化され、他の実装では、ポンプ出力は、徐々に増加され、さらに別の実装では、ポンプは、他の方法で制御される。
【0063】
光デバイスのいくつかの例では、イジングモデルの複数の結合は、光パラメトリック発振器(OPO)間の光場を結合するために使用される複数の構成可能な結合によってシミュレートされる。構成可能な結合は、オフになるように構成され得るか、またはオンになるように構成され得る。結合のオンおよびオフの切り替えは、徐々にまたは急に行われ得る。オンになるように構成される場合、構成は、イジングモデルの結合強度に依存する任意の位相または振幅を提供し得る。
【0064】
各光パラメトリック発振器(OPO)出力は、位相基準によって干渉され得、その結果は、光検出器で捕捉される。OPO出力は、イジングモデルの構成を表す。例えば、ゼロ位相は、イジングモデルにおいて、スピン-1状態を表し得、π位相は+1スピン状態を表す。
【0065】
スピンを有するイジングモデルの場合、いくつかの例によると、複数の光パラメトリック発振器(OPO)の共振空洞(resonant cavity)は、ポンプソースからのパルスの周期の倍に等しい往復時間を有するように構成される。本明細書で使用される往復時間は、光が、描写された再帰経路の1つのパスに沿って伝搬する時間を示す。共振空洞の往復時間の周期に等しい周期を有するパルス列のパルスは、互いに干渉することなくOPOを介して同時に伝搬し得る。
【0066】
いくつかの場合では、光パラメトリック発振器(OPO)の結合は、共振空洞に沿って割り当てられた複数の遅延線によって提供される。
【0067】
複数の遅延線は、結合の強度および位相を同期的に制御する複数の変調器を備え、このことが光デバイスのプログラミングがイジングモデルをシミュレートすることを可能にする。
【0068】
光パラメトリック発振器(OPO)のネットワークでは、遅延線および対応する変調器は、すべての2OPO間の結合の振幅および位相を制御するのに十分である。
【0069】
いくつかの場合では、イジングモデルからのサンプリングができるデバイスは、米国特許出願第2016/0162798号に開示されるように、光パラメトリック発振器(OPO)のネットワークとして製造することができ、この文献の開示は、その全体が参照により援用される。
【0070】
いくつかの場合では、光パラメトリック発振器(OPO)のネットワークおよびOPOの結合は、市販のモードロックレーザ、ならびに、テレコムファイバ遅延線、変調器、および他の光デバイスなどの光学要素を使用して達成される。あるいは、OPOのネットワークおよびOPOの結合は、電気通信アプリケーションのために開発されたファイバ技術などの光ファイバ技術を使用して実装される。いくつかの場合では、結合は、ファイバを用いて実現され、光Kerrシャッターよって制御され得る。
【0071】
集積フォトニックコヒーレントイジングマシン
平衡状態に近いイジングモデルの低エネルギー状態からのサンプリングを実行することができるアナログシステムの別の例は、例えば、“Coherent Ising machines with error correction feedback”by Satoshi Kako, Timothee Leleu,Yoshitaka Inui, Farad Khoyratee, Sam Reifenstein, and Yoshihisa Yamamotoに開示された集積フォトニックコヒーレントイジングマシンであり、この文献の開示は、その全体が参照により援用される。
【0072】
いくつかの場合では、統合フォトニックコヒーレントイジングマシンは、特定のイジング問題を解決する、ノードと接続ネットワークとの組み合わせである。いくつかの場合では、ノードと接続ネットワークとの組み合わせは、断熱的な光コンピュータを形成し得る。言い換えると、ノードおよび接続ネットワークの組み合わせは、ノードに記憶された値が定常状態に達して、ノードおよび接続ネットワークのエネルギーを最小化したときに、イジング問題を非決定論的に解き得る。最小エネルギーレベルでノードに記憶された値は、特定のイジング問題を解決する値と関連付けられ得る。
【0073】
いくつかの場合では、システムは、一つ一つのリング共振器フォトニックノードが値を記憶する、複数のリング共振器フォトニックノードと、複数のリング共振器フォトニックノードの各々にエネルギーを供給するためのポンプ導波路を経て複数のリング共振器フォトニックノードの各々に結合されたポンプと、要素の2×2ビルディングブロックの複数を備える接続ネットワークとを備えており、ここで、上記2×2ビルディングブロックの各要素が、イジング問題の符号化に関連するパラメータを用いて接続ネットワークを調整するための複数の移相器を備え、接続ネットワークが、複数のリング共振器フォトニックノードの各々に記憶された値を処理し、イジング問題が、最小エネルギーレベルで複数のリング共振器フォトニックノードの各々に記憶された値によって解かれる、システムである。
【0074】
デジタルコンピュータ
いくつかの場合では、デジタルコンピュータは、デジタルコンピュータの機能を実行する1つ以上のハードウェア中央処理ユニット(CPU)を備える。いくつかの場合では、デジタルコンピュータは、実行可能な命令を実行するように構成されたオペレーティングシステムをさらに備える。いくつかの場合では、デジタルコンピュータは、コンピュータネットワークに接続される。いくつかの場合では、デジタルコンピュータは、World Wide Webにアクセスするようにインターネットに接続される。いくつかの場合では、デジタルコンピュータは、クラウドコンピューティングインフラストラクチャに接続される。いくつかの場合では、デジタルコンピュータはイントラネットに接続される。いくつかの場合では、デジタルコンピュータはデータ記憶デバイスに接続される。
【0075】
様々な種類のデジタルコンピュータが使用され得る。実際、適切なデジタルコンピュータには、非限定的例として、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、サブノートブックコンピュータ、ネットブックコンピュータ、ネットブックコンピュータ、セットトップコンピュータ、メディアストリーミングデバイス、ハンドヘルドコンピュータ、インターネットアプライアンス、モバイルスマートフォン、タブレットコンピュータ、携帯情報端末、ビデオゲームコンソール、および車両が含まれ得る。スマートフォンは、本明細書で説明する方法およびシステムの1つ以上の例で使用するのに適切であり得る。選択されたテレビ、ビデオプレーヤ、およびデジタル音楽プレーヤが、コンピュータネットワーク接続性を有するいくつかの場合では、本明細書に記載のシステムおよび方法のいくつかの場合における使用に適切であり得る。適切なタブレットコンピュータは、ブックレット、スレート、およびコンバーチブルの構成を有するものを含み得る。
【0076】
いくつかの場合では、デジタルコンピュータは、実行可能な命令を実行するように構成されたオペレーティングシステムを備える。オペレーティングシステムは、例えば、プログラムおよびデータを備えるソフトウェアであり得、これはデバイスのハードウェアを管理し、アプリケーションの実行のためのサービスを提供する。様々な種類のオペレーティングシステムを使用し得る。例えば、適切なサーバオペレーティングシステムには、非限定的例として、FreeBSD、OpenBSD、NetBSD(登録商標)、Linux、Apple(登録商標)Mac OS X Server(登録商標)、Oracle(登録商標)Solaris(登録商標)、Windows Server(登録商標)、およびNovell(登録商標)NetWare(登録商標)が含まれる。適切なパーソナルコンピュータオペレーティングシステムには、非限定的例として、Microsoft(登録商標)Windows(登録商標)、Apple(登録商標)Mac OS X(登録商標)、UNIX(登録商標)、およびGNU/Linux(登録商標)などのUNIX様オペレーティングシステムが含まれ得る。いくつかの場合では、オペレーティングシステムは、クラウドコンピューティングによって提供される。適切なモバイルスマートフォンオペレーティングシステムには、非限定的例として、Nokia(登録商標)Symbian(登録商標)OS、Apple(登録商標)iOS(登録商標)、Research In Motion(登録商標)BlackBerry OS(登録商標)、Google(登録商標)Android(登録商標)、Microsoft(登録商標)Windows Phone(登録商標)OS、Microsoft(登録商標)Windows Mobile(登録商標)OS、Linux(登録商標)、Palm(登録商標)、WebOS(登録商標)が含まれ得る。適切なメディアストリーミングデバイスオペレーティングシステムには、非限定的例として、Apple TV(登録商標)、Roku(登録商標)、Boxee(登録商標)、Google TV(登録商標)、Google Chromecast(登録商標)、Amazon Fire(登録商標)、およびSamsung(登録商標)HomeSync(登録商標)が含まれ得る。適切なビデオゲームコンソールオペレーティングシステムには、非限定的例として、Sony(登録商標)PS3(登録商標)、Sony(登録商標)PS4(登録商標)、Microsoft(登録商標)Xbox360(登録商標)、Microsoft(登録商標)Xbox One(登録商標)、Nintendo(登録商標)Wii(登録商標)、Nintendo(登録商標)Wii U(登録商標)、およびOuya(登録商標)が含まれ得る。
【0077】
いくつかの場合では、デジタルコンピュータは、記憶デバイスおよび/またはメモリデバイスを備える。様々な種類の記憶および/またはメモリが、デジタルコンピュータにおいて使用され得る。いくつかの場合では、記憶デバイスおよび/またはメモリデバイスは、一時的または永続的にデータまたはプログラムを記憶するために使用される1つ以上の物理装置(physical apparatuses)を備える。いくつかの場合では、デバイスは、揮発性メモリを備え、記憶された情報を維持するために電力を必要とする。いくつかの場合では、デバイスは、不揮発性メモリを備え、デジタルコンピュータに電力が供給されていないとき、記憶された情報を保持する。いくつかの場合では、不揮発性メモリは、フラッシュメモリを備える。いくつかの場合では、不揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)を備える。いくつかの場合では、不揮発性メモリは、強誘電体ランダムアクセスメモリ(FRAM)を備える。いくつかの場合では、不揮発性メモリは、相変化ランダムアクセスメモリ(PRAM)を備える。いくつかの場合では、デバイスは、非限定的例として、CD-ROM、DVD、フラッシュメモリデバイス、磁気ディスクドライブ、磁気テープドライブ、光学ディスクドライブ、およびクラウドコンピューティングベースの記憶を備える、記憶デバイスを備える。いくつかの場合では、記憶デバイスおよび/またはメモリデバイスは、本明細書に開示されるものなどのデバイスの組み合わせを備える。
【0078】
いくつかの場合では、デジタルコンピュータは、ユーザに視覚情報を提供するために使用されるディスプレイを備える。様々な種類のディスプレイが使用され得る。いくつかの場合では、ディスプレイは、陰極線管(CRT)を備える。いくつかの場合では、ディスプレイは、液晶ディスプレイ(LCD)を含む。いくつかの場合では、ディスプレイは、薄膜トランジスタ液晶ディスプレイ(TFT-LCD)を備える。いくつかの場合では、ディスプレイは、有機発光ダイオード(OLED)ディスプレイを備える。いくつかの場合では、OLEDディスプレイは、パッシブマトリクスOLED(PMOLED)、またはアクティブマトリクスOLED(AMOLED)ディスプレイを備える。いくつかの場合では、ディスプレイはプラズマディスプレイを備える。いくつかの場合では、ディスプレイはビデオプロジェクタを備える。いくつかの場合では、ディスプレイは、本明細書に開示されるものなどのデバイスの組み合わせを備える。
【0079】
いくつかの場合では、デジタルコンピュータは、ユーザから情報を受信するための入力デバイスを備える。様々な種類の入力デバイスが使用され得る。いくつかの場合では、入力デバイスはキーボードを備える。いくつかの場合では、入力デバイスは、非限定的な例として、マウス、トラックボール、トラックパッド、ジョイスティック、ゲームコントローラ、またはスタイラスを含むポインティングデバイスを備える。いくつかの場合では、入力デバイスは、タッチスクリーンまたはマルチタッチスクリーンを備える。いくつかの場合では、入力デバイスは、音声または他の音声入力をキャプチャするためのマイクロフォンを備える。いくつかの場合では、入力デバイスは、動きまたは視覚入力をキャプチャするためのビデオカメラまたは他のセンサを備える。いくつかの場合では、入力デバイスは、Kinect(商標)、Leap Motion(商標)などを備える。いくつかの場合では、入力デバイスは、本明細書に開示されるものなどのデバイスの組み合わせを備える。
【0080】
ここで図1を参照すると、重み付き最大クリーク問題を解くための方法の例の流れ図が示されている。より正確には、いくつかの場合では、本方法は、行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つを使用することを含む。
【0081】
少なくとも1つの行列乗算デバイスは、図2に関して本明細書に記載される任意の行列乗算デバイスなど、任意の適切な行列乗算デバイスであり得る。コヒーレント光ネットワークは、図2および/または図5に関して本明細書に記載される任意のコヒーレント光ネットワークなど、任意の適切なコヒーレント光ネットワークであり得る。
【0082】
引き続き図1を参照すると、処理動作(102)にしたがって、重み付き最大クリーク問題の指標が得られる。いくつかの場合では、重み付き最大クリーク問題の指標は、様々な方法で得られ得る。例えば、重み付き最大クリーク問題の指標は、ユーザから得られる。
【0083】
重み付き最大クリーク問題は、以下の方法で定義され得る。頂点重み付けグラフGを考えると、重み付き最大クリーク問題は、完全な部分グラフのノードの重みの合計を増加させる、例えば最大化する完全な部分グラフを見つけようとする。ここで図3を参照すると、頂点重み付けグラフおよび対応する重み付け最大クリークの例が示されている。この例における重み付き最大クリークは頂点(4)、(5)および(7)を含み、対応する最適な目的関数値は10である。それは、重み付き最大クリークを構成する頂点に関連する重みを使用して算出される。
【0084】
引き続き図1を参照すると、処理オペレーション(104)にしたがって、重み付き最大クリーク問題は、1つのシンプレックス制約を有する二次連続最適化問題として定式化される。
【0085】
重み付き最大クリーク問題は、様々な方法で定式化することができ、例えば、Pardalos,Panos M.,and Jue Xue,“The maximum clique problem,”を参照されたい。グラフのすべての重みが1に等しい場合、すなわち非重み付きグラフの場合、最大クリーク問題を二次連続最適化問題として定式化することを含むMotzkin-Strausアプローチ(Motzkin,Theodore S.,and Ernst G.Straus,“Maxima for Graphs and a New Proof of Theorem of Turan,”、この文献の開示はその全体が参照により援用される)を使用して、最大クリーク問題を解くために使用され得る。1に等しくない少なくとも1つの重みを含む重み付きグラフの最大クリーク問題を解くために、Motzkin-Strausモデルを一般化され得、例えば、すべての目的のために、参照により本明細書に援用されるGibbons,L.E.,D.W.Hearn,P.M.Pardalos, and M.V.Ramana,“Continuous characterizations of the maximum clique problem,”を参照されたい。いくつかの場合では、重み付き最大クリーク問題とは、すべての重みが1に等しい場合を含む、任意の重みを頂点に付けることができる場合を指す。いくつかの例では、Motzkin-Strausモデル、またはその重み付きグラフへの一般化は、高性能計算(HPC)デバイスまたはコヒーレント光ネットワークを使用して、重み付き最大クリーク問題を解くために使用される。HPCデバイスは、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)のうちの1つ以上を備え得る。図2に関して本明細書に記載される任意の処理ユニットなど、行列乗算を実行することが可能な他の適切な処理ユニットが使用され得る。
【0086】
頂点重み付けグラフG=(V,E,w)を考えると、
【0087】
【数14】
として定義される対称n×n行列のクラスが考慮され、ならびに、最大クリーク問題を解く二次連続プログラミング問題は、
【0088】
【数15】
という条件下で、
【0089】
【数16】
として定義される。一旦上記の問題が解決されると、最大クリーク値は、
【0090】
【数17】
によって定義され、ここで、xはf(x)のミニミイザである。
【0091】
引き続き図1を参照すると、処理動作(106)にしたがって、定式化された最適化問題に対応する確率微分方程式が構築される。
【0092】
Motzkin-Strausモデルのいくつかのアイデアは、重み付きグラフの最大クリーク問題を解く微分方程式を得るために適用され得る。
【0093】
本明細書において、変数は、任意の非負連続値を取り得る。変数は、
が非制限スピン
【0094】
【数18】
を有する場合、
【0095】
【数19】
によって定義される。
【0096】
【数20】
という条件下で、二次連続最適化問題
【0097】
【数21】
が考慮される。
【0098】
各変数について定義された以下の確率微分方程式は、上記で定義された二次連続最適化問題
【0099】
【数22】
を解く。
【0100】
Motzkin-Strausモデルに記載される確率微分方程式と同様に、本明細書の連続的な場合において構築される確率微分方程式の第2の部分は、制約
【0101】
【数23】
にペナルティを課し、Wは、対応するLangevin方程式におけるノイズ項を表すウィーナー過程である。ウィーナー過程は、ガウス分布からのサンプルを使用してシミュレートされ、方法が極小値からエスケープすることを可能にする。コヒーレント光ネットワークが重み付き最大クリーク問題を解くために使用されるいくつかの場合では、ノイズ項は、光パルスに悪影響を与える量子ノイズをモデリングする。
【0102】
引き続き図1を参照し、処理動作(108)にしたがって、確率微分方程式が解かれる。確率微分方程式は、行列乗算デバイスを使用して解かれ得る。行列乗算デバイスは、図2に関して本明細書に記載される任意の行列乗算デバイスなどの、任意の適切な行列乗算デバイスであり得る。行列乗算デバイスは、高性能計算(HPC)デバイスを備え得る。HPCデバイスは、本明細書の他の箇所に記載される任意のHPCデバイスなど、様々な種類であり得る。HPCデバイスは、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびテンソルストリーミングプロセッサ(TSP)のうちの1つ以上を備え得る。図2に関して本明細書に記載される任意の処理ユニットなど、行列乗算を実行することが可能な任意の他の適切な処理ユニットが使用され得る。
【0103】
確率微分方程式は、コヒーレント光ネットワークを使用して解かれ得る。コヒーレント光ネットワークは、任意の適切なコヒーレント光ネットワークであり得、図2および/または図5に関して本明細書に記載される任意のコヒーレント光ネットワークであり得る。コヒーレント光ネットワークは、光計算デバイスおよび統合フォトニクスコヒーレントイジングマシンのうちの1つ以上を備え得る。
【0104】
確率微分方程式を解くことは、確率微分方程式の指標を行列乗算デバイスおよびコヒーレント光ネットワークのうちの少なくとも1つに提供することを含み得る。確率微分方程式の指標は、様々な例にしたがって提供され得る。いくつかの場合では、確率微分方程式の指標は、データネットワークを介して計算システム(200)の通信インターフェース(216)によって得られる。いくつかの場合では、確率微分方程式の指標は、データネットワークを介して通信インターフェース(216)に動作可能に接続されたデジタルコンピュータ(202)によって送信される。デジタルコンピュータ(202)は、図2Aおよび図2Bに開示されるシステム(200)に関して本明細書に記載される任意のデジタルコンピュータなど、任意の適切なデジタルコンピュータであり得る。
【0105】
さらに、通信インターフェース(216)は、様々なタイプであり得る。いくつかの場合では、通信インターフェースは、アプリケーションプログラミングインターフェース(API)ゲートウェイを備える。
【0106】
行列乗算デバイスが使用されるいくつかの場合では、確率微分方程式は、変数に割り当てられた値が確率的勾配のサンプリングによって更新されるモンテカルロシミュレーションを使用して、解かれる。いくつかの場合では、確率的勾配は、確率微分方程式における目的関数の勾配およびその対応するLangevin動力学と一致する平均勾配の不偏推定量である。
【0107】
ここで図4を参照すると、確率的勾配を使用して、変数の割り当てられた値の更新手順の例の流れ図が示されている。
【0108】
処理動作(402)にしたがって、ノイズは定義され得る。ノイズは、パラメータ(μ,σ)を有するガウス分布dWにしたがって分布され、パラメータには様々な値が割り当てられ得る。いくつかの場合では、パラメータには、値μ=0およびσ=0.005が割り当てられる。dWは、確率微分方程式におけるノイズを表す。
【0109】
引き続き図4を参照すると、処理動作(404)にしたがって、いくつかの場合では、変数は、手順の開始時にゼロに設定され得る。いくつかの場合では、変数は確率的に初期化され得る。いくつかの場合では、変数の確率的初期化は、平均が0および標準偏差が小さいガウス分布にしたがって実行される。
【0110】
処理動作(406)にしたがって、ステップサイズが決定される。ステップサイズは、様々な値を有し得る。いくつかの場合では、ステップサイズは0.01(α=0.01)に等しい。いくつかの場合では、ステップサイズは一定であり、ユーザによって決定される。いくつかの場合では、ステップサイズは、スケジュールにしたがって変化し得る。いくつかの場合では、ステップサイズスケジュールは、ユーザによって決定されたスケジュールのハイパーパラメータによって与えられる。いくつかの場合では、ステップサイズは、ヒューリスティックによって適応的に変更される。いくつかの場合では、ステップサイズは、確率的勾配に対応する偏導関数の履歴値にしたがって適応的に変更される。いくつかの実施形態では、履歴値は、履歴値の移動ウィンドウを含む。
【0111】
処理動作(408)にしたがって、確率微分方程式に対応する確率的勾配が算出される。確率的勾配の算出は、各変数について確率的にサンプリングされた偏導関数を算出することを含む。変数
【0112】
【数24】
に関する偏導関数は、以下
【0113】
【数25】
のように算出される。いくつかの場合では、偏導関数の算出は、少なくとも1つの行列乗算を含む。
【0114】
処理動作(410)にしたがって、各変数について、方程式
【0115】
【数26】
を使用して、値が更新され、ここではαは決定されたステップサイズである。更新計算は、行列乗算を含み得る。
【0116】
停止基準が満たされる場合、変数の値は、処理動作(412)にしたがって提供される。停止基準は、様々な種類のものであり得る。いくつかの場合では、停止基準は、変数の割り当てられた値が特定の回数更新された後に満たされる。いくつかの場合では、停止基準は、新しい変数の割り当てが以前の値の特定の近接内にある場合に満たされる。いくつかの場合では、この近接度は、ユーザによって提供されるハイパーパラメータによって表される。
【0117】
停止基準が満たされない場合、処理動作(408および410)が繰り返される。
【0118】
いくつかの場合では、本明細書に記載される変数の更新手順など、変数の更新手順は、最適な解を得る確率を向上するために複数回繰り返され得る。手順の反復は、高性能計算 (HPC)デバイスの能力を利用し、並列して起こり得る。いくつかの場合では、該プロセスは、確率微分方程式のモンテカルロシミュレーションの独立バッチを並列に実行することによってさらに並列化される。いくつかの実施形態では、複数回の反復においてバッチサイズは、変動し得る。いくつかの場合では、バッチサイズは、ユーザによって定義されるハイパーパラメータである。
【0119】
ここで再び図1を参照すると、いくつかの場合では、コヒーレント光ネットワークが処理動作(108)において使用され、確率微分方程式は、システムが定常状態に近づいてエネルギーを低減する、例えば最小化することを可能にすることによって解かれる。いくつかの場合では、コヒーレント光ネットワークは、確率微分方程式を用いて構成される。
【0120】
引き続き図1を参照すると、処理動作(110)にしたがって、確率微分方程式の少なくとも1つの解が提供される。確率微分方程式の少なくとも1つの解は、様々な実施形態にしたがって提供され得る。いくつかの場合では、確率微分方程式の少なくとも1つの解は、データネットワークを介してシステムの通信インターフェース(216)によって提供される。いくつかの場合では、確率微分方程式の少なくとも1つの解は、データネットワークを介して通信インターフェース(216)に動作可能に接続されたデジタルコンピュータ(202)によって送信される。いくつかの場合では、デジタルコンピュータは、図2Aおよび図2Bに開示されるシステム(200)に関して本明細書に記載される任意のデジタルコンピュータなど、任意の適切なデジタルコンピュータであり得る。
【0121】
通信インターフェース(216)は、様々な種類のものであり得る。いくつかの場合では、通信インターフェースはAPIゲートウェイを備える。
【0122】
引き続き図1を参照すると、処理動作(112)にしたがって、最大クリーク値は、確率微分方程式の少なくとも1つの提供された解、および式
【0123】
【数27】
を用いて得られる。用語「解」は、最適解または準最適解を指し得る。
【0124】
ここで図2を参照すると、重み付き最大クリーク問題を解くためのシステムの例の図が示されている。図2Aは、行列乗算デバイスを使用して重み付き最大クリーク問題を解くためのシステムの例の図であり得、図2Bは、コヒーレント光ネットワークを使用して重み付き最大クリーク問題を解くためのシステムの例の図である。
【0125】
システム(200)は、処理デバイス(208)を備えるデジタルコンピュータ(202)と、処理デバイスによって実行可能なコンピュータプログラムを備えるメモリ(214)とを備え、これにより、重み付き最大クリーク問題の指標を得ること、問題を二次連続最適化問題として定式化すること、確率微分方程式を構築すること、確率微分方程式の少なくとも1つの解を得ること、重み付き最大クリーク問題に対する解を得ることが可能になる。
【0126】
デジタルコンピュータ(202)は、例えば、本明細書の他の箇所で開示されるデジタルコンピュータの種類など、様々な種類のものであってよい。
【0127】
図2Aに開示される例では、システム(200)は、計算プラットフォーム(204)をさらに備える。計算プラットフォーム(204)は、行列乗算デバイスを備える少なくとも1つの処理ユニット(218)を備え得る。少なくとも1つの処理ユニット(218)は、例えば、本明細書の他の箇所に記載されるような種類のプロセッサなど、様々な種類のプロセッサのものであり得る。例えば、少なくとも1つのプロセッサは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィック処理ユニット(GPU)、テンソル処理ユニット(TPU)、およびテンソルストリーミングプロセッサ(TSP)のうちの少なくとも1つ以上を備える場合がある。図2に関して本明細書に記載される任意の処理ユニットなど、行列乗算を実行することが可能な他の適切な処理ユニットが使用され得る。
【0128】
システムの各構成要素(例えば、ハードウェア)は、方法全体またはその任意の部分を単独もしくは他の構成要素(例えば、他のハードウェア)と組み合わせて実行するためにシステムの一部として使用され得る。いくつかの場合では、構成要素は、ノイズを表すdWを定義し、確率微分方程式から生じる確率的勾配を算出し、ステップサイズを決定し、すべての変数をゼロに設定し、決定されたステップサイズを使用して変数割り当てを更新し、上記の一部または全部を含む変数の割り当てられた値を提供するために使用され得る。
【0129】
図2Aでは、処理ユニット(218)は、1つ以上の仮想マシンを備え得る。1つ以上の仮想マシンは、1つ以上のコンピュータシステムの1つ以上のエミュレーションであり得る。仮想マシンは、処理仮想マシン(例えば、プラットフォームに依存しない環境において処理を実装するように構成された仮想マシン)であり得る。仮想マシンは、システム仮想マシン(例えば、オペレーティングシステムおよび関連するプログラムを実行するように構成された仮想マシン)であり得る。仮想マシンは、少なくとも1つのプロセッサとは異なるアーキテクチャをエミュレートするように構成され得る。例えば、仮想マシンは、シリコンコンピュータチップ上の量子計算アーキテクチャをエミュレートするように構成され得る。仮想マシンの例には、VMware(登録商標)、VirtualBox(登録商標)、Parallels(登録商標)、QEMU(登録商標)、Citrix(登録商標)Hypervisor、Microsoft(登録商標)Hyper-V(登録商標)などが含まれ得るが、これらに限定されない。
【0130】
図2Bに開示される例では、システム(200)は、計算プラットフォーム(204)をさらに備える。計算プラットフォーム(204)は、コヒーレント光ネットワーク(222)を備え得る。コヒーレント光ネットワーク(222)は、例えば、本明細書の他の箇所で開示されるコヒーレント光ネットワークの種類など、様々な種類のものであり得る。
【0131】
計算プラットフォーム(204)は、デジタルコンピュータ(202)に動作可能に接続され得る。計算プラットフォーム(204)は、読み出し制御システム(220)を備え得る。読み出し制御システム(220)は、少なくとも1つの処理ユニット(218)から情報(例えば、計算結果)を読み出すように構成され得る。例えば、図2Aでは、読み出し制御システムは、FPGAからのデータをデジタルコンピュータによって使用可能なデータに変換するように構成され得る。
【0132】
システムは、メモリ(206)を備え得る。メモリは、デジタルコンピュータ(202)に動作可能に接続され得る。メモリ(206)は、様々な種類のものであり得る。例えば、いくつかの場合では、メモリ(206)はデータベースを備える。多くの種類のデータベースが、データの記憶および検索に適切であり得る。いくつかの場合では、適切なデータベースには、非限定的例として、リレーショナルデータベース、非リレーショナルデータベース、オブジェクト指向データベース、オブジェクトデータベース、実態関連モデルデータベース、連想データベース、およびXMLデータベースを含まれる。いくつかの場合では、データベースはインターネットベースである。いくつかの場合では、データベースはウェブベースである。いくつかの場合では、データベースは、クラウドコンピューティングベース(例えば、クラウド上で)である。いくつかの場合では、データベースは、1つ以上のローカルコンピュータ記憶デバイスに基いている。いくつかの場合では、解決される問題に対する解は、データベースによって維持される。いくつかの場合では、重み付き最大クリーク問題を示すデータ、確率微分方程式を示すデータ、ハイパーパラメータ、ステップサイズスケジュール、偏導関数の履歴値、およびバッチサイズもデータベースに記憶される。
【0133】
計算プラットフォーム(204)およびメモリ(206)は、ネットワークを介してデジタルコンピュータ(202)に接続され得る。計算プラットフォーム、メモリ、および/またはデジタルコンピュータは、ネットワーク通信デバイスを有することができる。ネットワーク通信デバイスは、計算プラットフォーム、メモリ、および/またはデジタルコンピュータが、ネットワークを介して、相互に、および任意の数のユーザデバイスと通信することを可能にすることができる。ネットワークは、有線または無線ネットワークである場合がある。例えば、ネットワークは、光ファイバーネットワーク、イーサネット(登録商標)ネットワーク、衛星ネットワーク、セルラーネットワーク、Wi-Fi(登録商標)ネットワーク、Bluetooth(登録商標)ネットワークなどである場合がある。他の実装では、計算プラットフォーム、データベース、および/またはデジタルコンピュータは、インターネットを通して、アクセス可能ないくつかの分散計算プラットフォーム、データベース、および/またはデジタルコンピュータを備え得る。そのような計算プラットフォーム、データベース、および/またはデジタルコンピュータは、クラウドコンピューティングデバイスと見なされ得る。いくつかの場合では、少なくとも1つのプロセッサの1つ以上のプロセッサは、クラウド内に配置され得る。
【0134】
引き続き図2を参照すると、計算システム(200)は、確率微分方程式の指標を得るため、および確率微分方程式の少なくとも1つの解を提供するための通信インターフェース(216)を備え得る。確率微分方程式の指標は、本明細書に開示される様々な例にしたがって提供され得る。いくつかの場合では、確率微分方程式の指標は、デジタルコンピュータによって、データネットワークを介して通信インターフェース(216)に提供される。
【0135】
通信インターフェース(216)は、本明細書で開示される様々な例にしたがって実装され得る。いくつかの場合では、通信インターフェース(216)は、ユーザが計算タスクを送信し、および計算解を受信することを可能にするように構成されたアプリケーションプログラミングインターフェース(API)ゲートウェイを使用して実装される。
【0136】
いくつかの場合では、アプリケーションプログラミングインターフェース(API)ゲートウェイは、計算システムのユーザを認証するようにプログラムされるか、または構成される。いくつかの場合では、アプリケーションプログラミングインターフェース(API)ゲートウェイは、システムおよびデータセキュリティをモニタリングするようにプログラムされるか、または構成される。
【0137】
ここで図5を参照すると、コヒーレント光ネットワーク(222)の例が示されている。コヒーレント光ネットワーク(222)は、N個の変数を表すN倍の光キャビティにポンピングするためのパルスレーザ(502)を備え得る。ポンピングは、T回の反復を含む。コヒーレント光ネットワーク(222)は、レーザビームを2つ以上の部分に分割するため、および2つ以上のレーザビームを単一パルスに結合するための複数のビームスプリッタ(504、510、512、516、518、520)を備え得る。
【0138】
コヒーレント光ネットワーク(222)は、第2高調波生成(SHG)(506)と、非線形増幅器(508)とを備える縮退光パラメトリック発振器(OPO)を備え得る。
【0139】
パルスレーザ(502)からのレーザビームは、ビームスプリッタ(504)を使用して、2つの部分に分割され得、1つの部分はビームスプリッタ(516)に方向転換向され、第2の部分は第2の高調波発生(SHG)(506)に方向転換される。いくつかの場合では、参照ポンプ(reference pump)は、SHG(506)から生成される。次いで、SHG(506)からの参照ポンプは、非線形増幅器(508)に搬送される。いくつかの場合では、参照ポンプは、ビームスプリッタ(520)からの対応するポンプが非線形増幅器(508)に到達するのと同時に、各変数に対するポンプが非線形増幅器に到達するように搬送される。いくつかの場合では、ビームスプリッタ(516)に送られたビームスプリッタ(504)からのパルスは、ビームスプリッタ(516)によって2つの部分に分割され、1つの部分はビームスプリッタ(518)に送られ、第2の部分はビームスプリッタ(512)に送られる。
【0140】
非線形増幅器は、空洞と非線形結晶とを備え得る。空洞および非線形結晶は、縮退光パラメトリック発振器(OPO)(524)パルスを生成し、増幅する。縮退OPO(524)パルスはビームスプリッタ(510)に送られる。縮退OPO(524)パルスは、ビームスプリッタ(510)を使用して2つの部分に分割される。コヒーレント光ネットワークは、電子回路(514)を備える測定フィードバック装置(522)を備え得る。いくつかの場合では、ビームスプリッタ(510)で分割された縮退OPO(524)パルスの一部は、測定フィードバック装置(522)に供給するために使用される一方、他の部分は、ビームスプリッタ(518)から送られるパルスを満たすために、ビームスプリッタ(520)に送られる。
【0141】
ビームスプリッタ(512)では、ビームスプリッタ(510)から送信された縮退光パラメトリック発振器(OPO)(524)パルスは、ビームスプリッタ(516)から送られたパルスと合流し、さらに、これらのパルスは、電子回路(514)に方向転換される単一のパルスに結合される。電子回路(514)では、パルスからの光学情報は、フィールドプログラマブルゲートアレイ(FPGA)を使用して算出を実行するためにデジタル情報に変換される。次に、算出の結果に対応するデジタル情報は、光学情報に変換し直され、ビームスプリッタ(518)を使用してシステムに再注入される。
【0142】
ビームスプリッタ(518)では、電子回路(514)から送信されたパルス、および、ビームスプリッタ(516)から送信されたパルスが合成され、次いで、合成されたパルスがビームスプリッタ(520)に送られる。ビームスプリッタ(520)では、ビームスプリッタ(518)から送られた注入パルスは、ビームスプリッタ(510)から送られた対応するパルスと結合される。
【0143】
いくつかの場合では、パルスは、システムがあるエネルギーレベルに収束するまで、本明細書に記載されるように生成され、分割され、変換され、結合され、および送信される。
【0144】
コンピュータシステム
本開示は、本開示の方法を実施するようにプログラムされたコンピュータシステムを提供する。図6は、本明細書の他の箇所で開示される方法を実施するようにプログラムされるか、そうでない場合は構成される、コンピュータシステム(601)を示す。コンピュータシステム(601)は、例えば、重み付き最大クリーク問題の解を決定するなど、本開示の様々な態様を調整することができる。コンピュータシステム(601)は、ユーザの電子デバイス、または電子デバイスに対して遠隔に配置されるコンピュータシステムである場合がある。電子デバイスは、モバイル電子デバイスである場合がある。コンピュータシステムは、本明細書の他の場所で記載されるようなコンピュータまたは計算プラットフォームであり得る。
【0145】
コンピュータシステム(601)は、シングルコアもしくはマルチコアプロセッサ、または並列処理のための複数のプロセッサである場合がある中央処理ユニット(CPU、さらに、本明細書では「プロセッサ」および「コンピュータプロセッサ」)(605)を備える。さらに、コンピュータシステム(601)は、メモリまたはメモリロケーション(610)(例えば、ランダムアクセスメモリ、読取り専用メモリ、フラッシュメモリ)と、電子記憶ユニット(615)(例えば、ハードディスク)と、1つ以上の他のシステムと通信するための通信インターフェース(620)(例えば、ネットワークアダプタ)と、キャッシュ、他のメモリ、データストレージおよび/または電子ディスプレイアダプタなどの周辺デバイス(625)とを備える。メモリ(610)、記憶ユニット(615)、インターフェース(620)、および周辺デバイス(625)は、マザーボードなどの通信バス(実線)を通してCPU(605)と通信する。記憶ユニット(615)は、データを記憶するためのデータ記憶ユニット(またはデータリポジトリ)である場合がある。コンピュータシステム(601)は、通信インターフェース(620)を用いてコンピュータネットワーク(「ネットワーク」)(630)に動作可能に結合される場合がある。ネットワーク(630)は、インターネット、インターネットおよび/またはエクストラネット、あるいはインターネットと通信するイントラネットおよび/またはエクストラネットである場合がある。ネットワーク(630)は、いくつかの場合では、電気通信および/またはデータネットワークである。ネットワーク(630)は、クラウドコンピューティングなどの分散計算を可能にすることができる1つ以上のコンピュータサーバを備える場合がある。ネットワーク(630)は、いくつかの場合では、コンピュータシステム(601)を用いて、コンピュータシステム(601)に結合されたデバイスがクライアントまたはサーバとして機能することを可能にし得るピアツーピアネットワークを実装することができる。
【0146】
CPU(605)は、プログラムまたはソフトウェアで実施することができる機械可読命令のシーケンスを実行することができる。命令は、メモリ(610)などのメモリ位置に記憶され得る。命令は、CPU(605)に向けることができ、次いで、本開示の方法を実装するようにCPU(605)をプログラムするか、そうでない場合は構成することができる。CPU(605)によって実行される動作の例は、フェッチ、復号、実行、およびライトバックを含む場合がある。
【0147】
CPU(605)は、集積回路などの回路の一部である場合がある。システム(601)の1つ以上の他の構成要素が回路に含められる場合がある。いくつかの場合では、回路は、特定用途向け集積回路(ASIC)である。
【0148】
記憶部(615)は、ドライバ、ライブラリおよび保存されたプログラムなどのファイルを記憶することができる。記憶ユニット(615)は、ユーザデータ、例えば、ユーザ設定およびユーザプログラムを記憶することができる。コンピュータシステム(601)は、いくつかの場合では、イントラネットまたはインターネットを通してコンピュータシステム(601)と通信している遠隔サーバ上に配置されるなど、コンピュータシステム(601)の外部にある1つ以上の追加のデータ記憶ユニットを備える場合がある。
【0149】
コンピュータシステム(601)は、ネットワーク(630)を通して1つ以上のリモートコンピュータシステムと通信することができる。例えば、コンピュータシステム(601)は、ユーザのリモートコンピュータシステムと通信することができる。リモートコンピュータシステムの例には、パーソナルコンピュータ(例えば、ポータブルPC)、スレートもしくはタブレットPC(例えば、Apple(登録商標)iPad、Samsung(登録商標)Galaxy Tab)、電話、スマートフォン(例えば、Apple(登録商標)iPhone、Android対応デバイス、Blackberry(登録商標))、または携帯情報端末が含まれる。ユーザは、ネットワーク(630)を介してコンピュータシステム(601)にアクセスすることができる。
【0150】
本明細書に記載される方法は、例えば、メモリ(610)または電子記憶ユニット(615)などのコンピュータシステム(601)の電子記憶場所に記憶された機械(例えば、コンピュータプロセッサ)実行可能コードによって実装される場合がある。機械実行可能コードまたは機械可読コードは、ソフトウェアの形態で提供される場合がある。使用中、コードは、プロセッサ(605)によって実行される場合がある。いくつかの場合では、コードは、記憶ユニット615から検索され、プロセッサ(605)による容易なアクセスのためにメモリ(610)に記憶することができる。いくつかの状況では、電子記憶ユニット(615)は停止され、機械実行可能命令はメモリ(610)に記憶される場合がある。
【0151】
コードは、コードを実行するように適合されたプロセッサを有する機械で使用するために事前コンパイルおよび構成される、あるいはランタイム中にコンパイルされる場合がある。コードは、コードが事前にコンパイルされたもしくはコンパイルされたままの様式で実行されることを可能にするように選択され得るプログラミング言語で供給される場合がある。
【0152】
コンピュータシステム(601)など、本明細書で提供されるシステムおよび方法の態様は、プログラミングで実施される場合がある。本技術の様々な態様は、通常、機械(またはプロセッサ)実行可能コードの形態の「製品」または「製造物品」、ならびに/あるいはあるタイプの機械可読媒体上で搬送されるか、またはその中で実施される関連データであると考えられ得る。機械実行可能コードは、メモリ(例えば、読み出し専用メモリ、ランダムアクセスメモリ、フラッシュメモリ)またはハードディスクなどの、電子記憶ユニットに記憶することができる。「記憶」タイプの媒体は、コンピュータ、プロセッサなどの有形メモリ、または、様々な半導体メモリ、テープドライブ、ディスクドライブなどのその関連モジュールのいずれかまたはすべてを含むことができ、これらは、ソフトウェアプログラミングのためにいつでも非一時的記憶を提供することができる。ソフトウェアのすべてまたは部分は、時に、インターネットまたは様々な他の電気通信ネットワークを通して通信され得る。そのような通信は、例えば、あるコンピュータまたはプロセッサから別のコンピュータまたはプロセッサへの、例えば、管理サーバまたはホストコンピュータからアプリケーションサーバのコンピュータプラットフォームへの、ソフトウェアのロードを可能にし得る。したがって、ソフトウェア要素を有し得る別のタイプの媒体は、ローカルデバイス間の物理的インターフェースにわたって、有線および光陸線ネットワークを通して、様々のエアリンクを経由して使用されるものなど、光波、電波、および電磁波を含む。そのような波を搬送する、有線もしくは無線リンク、光リンクなどの物理的要素もまた、ソフトウェアを有する媒体と見なされ得る。本明細書で使用される場合、非一時的で有形の「記憶」媒体に制限されない限り、コンピュータまたは機械「可読媒体」などの用語は、実行のためにプロセッサに命令を提供することに関与する任意の媒体を指す。
【0153】
したがって、コンピュータ実行可能コードなどの機械可読媒体は、有形記憶媒体、搬送波媒体または物理伝送媒体を含むが、これらに限定されない、多くの形態を取り得る。不揮発性記憶媒体は、例えば、図面に示されるデータベースなどを実装するために使用され得るような、任意のコンピュータなどにおける記憶デバイスのうちのいずれかなどの光ディスクまたは磁気ディスクを含む。揮発性記憶媒体は、そのようなコンピュータプラットフォームのメインメモリなどのダイナミックメモリを含む。有形伝送媒体は、同軸ケーブル、コンピュータシステム内のバスを備えるワイヤを含む銅ワイヤおよび光ファイバ、を含む。搬送波伝送媒体は、電気信号もしくは電磁信号、または、無線周波数(RF)および赤外線(IR)データ通信中に生成されるものなどの音波もしくは光波の形態を取り得る。したがって、コンピュータ可読媒体の共通の形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、DVDまたはDVD-ROM、任意の他の光学媒体、パンチカード紙テープ、穴のパターンを有する任意の他の物理的記憶媒体、RAM、ROM、PROMおよびEPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、データもしくは命令を搬送する搬送波、そのような搬送波を搬送するケーブルまたはリンク、あるいはコンピュータがプログラミングコードおよび/またはデータを読み取ることができる任意の他の媒体を含む。これらの形態のコンピュータ可読媒体の多くは、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサに搬送することに関わり得る。
【0154】
コンピュータシステム(601)は、例えば、重み付き最大クリーク問題の指標を受信するように構成されるインターフェースを提供するためのユーザインターフェース(UI)(640)を備える電子ディスプレイ(635)を含む、またはそれと通信する場合がある。UIの例は、グラフィカルユーザインターフェース(GUI)およびウェブベースのユーザインターフェースを含むが、これらに限定されない。
【0155】
本開示の方法およびシステムは、1つ以上のアルゴリズムによって実装される場合がある。アルゴリズムは、中央処理ユニット(605)による実行時にソフトウェアによって実装される場合がある。アルゴリズムは、例えば、重み付き最大クリーク問題を解くことができる。
【0156】
本発明の好ましい実施形態が本明細書に示され、説明されてきたが、そのような実施形態は例としてのみ提供されることが当業者には明らかであろう。本発明は、本明細書内に提供される特定の実施例によって限定されることを意図しない。前述の明細書を参照して記載されてきたが、本明細書における実施形態の説明および例示は、限定的な意味で解釈されることを意図しない。多数の変形、変更、および置換が、本発明から逸脱することなく、当業者に想起されるであろう。さらに、本発明のすべての態様は、種々の条件および変数に応じて異なる、本明細書に記載される特定の描写、構成、または相対的比率に限定されないことを理解されたい。本明細書に記載される本発明の実施形態の様々な代替形態が、本発明を実施する際に採用され得ることを理解されたい。したがって、本発明はさらに、任意のそのような代替、修正、変形、または同等のものを包含するであろうことが企図される。以下の特許請求の範囲が本発明の範囲を規定し、これらの特許請求の範囲内の方法および構造ならびにそれらの同等のものがそれによって包含されることが意図される。
図1
図2A
図2B
図3
図4
図5
図6
【国際調査報告】