(57)【要約】  多値スピン問題であるポッツ問題を計算可能なポッツモデルの計算装置を提供すること。イジングモデルの計算装置と、前記イジングモデルの計算装置において、ある結合係数を設定したときに得られたイジングモデルのスピンの値を保持するとともに、計算終了を判定する計算結果保持判定部と、前記イジングモデルの計算装置に対して、前記保持されたスピンの値に基づいて作成した結合係数を設定する結合係数設定部とを備えたポッツモデルの計算装置であって、前記結合係数設定部は、前記イジングモデルの計算装置においてｍ回目に設定された結合係数に対応した計算結果として得られたイジングモデルのスピンの値に応じて前記イジングモデルの計算装置に対してｍ＋１回目に設定する結合係数を作成し直して設定し、前記計算結果保持判定部は、多値スピンの取り得る値がＳi＝０，１，２，…，Ｍ−１（Ｍは自然数）であり、Ｍ≦２Msである場合に、Ｍｓ（Ｍｓは自然数）に応じた回数まで、前記結合係数設定部での結合係数の設定回数が到達した場合に、計算終了と判定して、ｍ回目に設定された結合係数に基づいて計算結果として得られたスピンの値σimを下記式に代入して得られる値Ｓｉを算出することにより、ポッツモデルにマッピングされた問題をイジングモデルを用いて算出することを特徴とするポッツモデルの計算装置である。2019078355.tif 000024
2019078355.tif 000002
【特許請求の範囲】
【請求項１】
イジングモデルの計算装置と、
前記イジングモデルの計算装置において、ある結合係数を設定したときに得られたイジングモデルのスピンの値を保持するとともに、計算終了を判定する計算結果保持判定部と、
前記イジングモデルの計算装置に対して、前記保持されたスピンの値に基づいて作成した結合係数を設定する結合係数設定部とを備えたポッツモデルの計算装置であって、
前記結合係数設定部は、前記イジングモデルの計算装置においてｍ回目に設定された結合係数に対応した計算結果として得られたイジングモデルのスピンの値に応じて前記イジングモデルの計算装置に対してｍ＋１回目に設定する結合係数を作成し直して設定し、
前記計算結果保持判定部は、ポッツモデルの多値スピンの取り得る値がＳi＝０，１，２，…，Ｍ−１（Ｍは自然数）であり、Ｍ≦２MSである場合に、Ｍｓ（Ｍｓは自然数）に応じた回数まで、前記結合係数設定部での結合係数の設定回数が到達した場合に、計算終了と判定して、ｍ回目に設定された結合係数に基づいて計算結果として得られたスピンの値σimを下記式に代入して得られる値Ｓiを算出することにより、ポッツモデルにマッピングされた問題をイジングモデルを用いて算出することを特徴とするポッツモデルの計算装置。
【数１】
2019078355.tif 000022
【請求項２】
前記イジングモデルの計算装置は、
イジングモデルの複数のスピンに擬似的に対応し、同一の発振周波数を有する複数の光パルスを０またはπの位相でパラメトリック発振させる位相感応増幅器と、
前記複数の光パルスを周回伝搬させるリング共振器と、
前記複数の光パルスが前記リング共振器を周回伝搬するたびに、前記複数の光パルスの位相および振幅を測定する、光パルス測定部と、
前記光パルス測定部において測定した光パルスの位相および振幅の情報を入力として、前記イジングモデルの結合係数と前記測定した光パルスとから決定される、ある光パルスに関わる相互作用を計算する相互作用計算部と、
前記相互作用計算部において計算された前記相互作用に基づいて、前記ある光パルスに対して、光パルスの振幅および位相を制御して重ね合せることにより、前記イジングモデルの結合係数と前記測定した光パルスの位相および振幅とに基づいて決定される前記ある光パルスに関わる相互作用を実装する相互作用実装部と、
前記イジングモデルの結合係数を設定する問題設定部とを備え、
前記光パルス測定部は、前記光パルス測定部と前記相互作用計算部と前記相互作用実装部とにより構成されるフィードバックループ制御が繰り返される過程で、前記複数の光パルスが安定状態に到達した後に測定した前記複数の光パルスの位相を、イジングモデルのスピンに変換することにより、イジングモデルのスピンの値を得ることを特徴とする請求項１に記載のポッツモデルの計算装置。
【請求項３】
前記相互作用計算部は、測定したＮ個の光パルスの位相および振幅がｃ1m、ｃ2m、ｃ3m、ｃ4m、・ｃim・ｃ(N-1)m、ｃNmを要素とする列ベクトルに対し、イジングモデルの結合係数を演算パラメータとする以下に示す行列を乗算して、得られた列ベクトルの要素ｆ1m、ｆ2m、ｆ3m、ｆ4m、・ｆim・ｆ(N-1)m、ｆNmを前記Ｎ個の光パルスに対応するＮ個のある光パルスに関わる相互作用としてｍを1からＭｓまで変化させながらＭｓ回演算することを特徴とする請求項２に記載のポッツモデルの計算装置。
【数２】
2019078355.tif 000023
【請求項４】
前記計算結果保持判定部は、１）結合係数の設定をＮ回繰り返した場合、２）ｍ回目の結合係数に対応する計算結果を得た時に、次に作成した結合係数がＪijm+1＝０となった場合、３）ｍ回目の結合係数に対応する計算結果を得た時に、次に作成した結合係数がＪijm+1＝Ｊijmとなった場合、のいずれかに該当すると判断したら、計算終了と判定することを特徴とする請求項１から３のいずれかに記載のポッツモデルの計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はポッツモデルを光パルスにより擬似的にシミュレーションしたポッツモデルの計算装置に関する。
【背景技術】
【０００２】
従来から知られているノイマン型のコンピュータでは、ＮＰ問題に分類される組合せ最適化問題を効率よく解くことができない。組合せ最適化問題を解く手法として、磁性材料を格子点の各サイトに配置されたスピンの相互作用として統計力学的に解析した格子模型であるイジングモデルを用いた手法が提案されている。【０００３】
イジングモデルの系のエネルギー関数であるハミルトニアンＨは、以下の式（１）に示す通り表わされることが知られている。
【数１】
2019078355.tif 000003
【０００４】
ここで、Ｊijは結合定数であり、イジングモデルを構成する各サイトの相関関係を示している。σi、σjは各サイトのスピンを表しており、１または−１の値をとる。【０００５】
イジングモデルを用いて組合せ最適化問題を解く場合は、上記のイジングモデルのハミルトニアンにおいて、各サイトの相関関係であるＪijを与えたときに、系が安定状態となってエネルギーＨの値が一番小さくなるσｉを求めることにより、最適解が得られる。近年では、光パルスを利用して、こうしたイジングモデルを擬似的にシミュレーションすることにより、ＮＰ問題などの組合せ最適化問題を解くことができる計算装置が注目されている（特許文献１、非特許文献１）。【０００６】
図１は、イジングモデルの計算装置の基本構成を示す図である。イジングモデルの計算装置は、図１に示すように、リング共振器１として機能するリング状の光ファイバ内に設けられたＰＳＡ（位相感応増幅器：Ｐｈａｓｅ  Ｓｅｎｓｉｔｉｖｅ  Ａｍｐｌｉｆｉｅｒ）２に対して、ポンプ光パルス（ｐｕｍｐ）を注入することによりイジングモデルのサイト数に対応する数の光パルスの列を生成するように構成している（２値化ＯＰＯ：Ｏｐｔｉｃａｌ  Ｐａｒａｍｅｔｒｉｃ  Ｏｓｃｉｌｌａｔｏｒ：０またはπ位相の光パラメトリック発振器）。リング共振器１に入力された光パルス列が１周して再びＰＳＡ２に到達すると、再びＰＳＡ２にポンプ光が入力されることにより光パルス列が増幅される。最初のポンプ光の注入により発生する光パルス列は位相が定まらない微弱なパルスであり、リング共振器１内を周回するたびにＰＳＡ２で増幅されることによって、次第にその位相状態が定まる。ＰＳＡ２は各光パルスをポンプ光源の位相に対し０またはπの位相で増幅するので、これらのいずれかの位相状態に定まることになる。【０００７】
イジングモデルの計算装置では、イジングモデルにおけるスピンの１、−１を、光パルスの位相０、πに対応させて実装している。光パルスの周回ごとに、リング共振器１外部の測定部３で光パルス列の位相および振幅の測定を行ない、その測定結果を、予め結合係数Ｊijを与えた演算器４に入力して、これらを用いてｉ番目のパルスに対する結合信号（フィードバック入力する信号）
【数２】
2019078355.tif 000004
【０００８】
（ｃj：ｊ番目のサイトの光パルスの振幅）を演算する。さらに、外部光パルス入力部５により演算した結合信号に応じた外部光パルスを生成してリング共振器１内に入力するフィードバックループ制御により、光パルス列を構成する各光パルス間で位相に相関関係を付与することができる。【０００９】
イジングモデルの計算装置では、上記した相関関係を付与しながら光パルス列をリング共振器１内で周回増幅させて、安定状態となったときの光パルス列を構成する各光パルスの位相０、πを測定することにより、イジングモデルの解を求めることができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２０１５／１５６１２６号パンフレット
【非特許文献】
【００１１】
【非特許文献１】T. Inagaki, Y. Haribara, etal, "A coherent ising machine for 2000-node optimization problems," Science 354, 603--606 (2016).
【非特許文献２】Wu, Fa-Yueh (1982). "The Potts model". Rev. Mod. Phys. 54 (1): 235-268.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、イジングモデルの計算装置で解くことのできるイジング問題は２値のスピンのいずれかであることを解とする問題であるが、組合せ最適問題には、解とするスピンのとり得る値が２つより多い（多値の）いわゆるポッツ問題（多値スピン問題）が数多く存在する。値が２つより多い多値のポッツ問題は、そのままでは２値問題を扱うイジングモデルの計算装置で解くことができない。しかしながら多値問題であるポッツ問題はその適用可能性が広く、ポッツ問題を解くためのポッツモデル（非特許文献２）を計算可能な装置が望まれていた。【００１３】
本発明は、上記従来の問題に鑑みてなされたものであって、本発明の課題は、多値スピン問題であるポッツ問題を計算可能なポッツモデルの計算装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、一実施形態に記載の発明は、イジングモデルの計算装置と、前記イジングモデルの計算装置において、ある結合係数を設定したときに得られたイジングモデルのスピンの値を保持するとともに、計算終了を判定する計算結果保持判定部と、前記イジングモデルの計算装置に対して、前記保持されたスピンの値に基づいて作成した結合係数を設定する結合係数設定部とを備えたポッツモデルの計算装置であって、前記結合係数設定部は、前記イジングモデルの計算装置においてｍ回目に設定された結合係数に対応した計算結果として得られたイジングモデルのスピンの値に応じて前記イジングモデルの計算装置に対してｍ＋１回目に設定する結合係数を作成し直して設定し、前記計算結果保持判定部は、ポッツモデルの取り得る値がＳi＝０，１，…，Ｍ−１（Ｍは自然数）であり、Ｍ≦２Msである場合に、Ｍｓ（Ｍｓは自然数）に応じた回数まで、前記結合係数設定部での結合係数の設定回数が到達した場合に、計算終了と判定して、ｍ回目に設定された結合係数に基づいて計算結果として得られたスピンの値σimを下記式に代入して得られる値Ｓiを算出することにより、ポッツモデルにマッピングされた問題をイジングモデルを用いて算出することを特徴とするポッツモデルの計算装置である。
【数３】
2019078355.tif 000005
【図面の簡単な説明】
【００１５】
【図１】従来のイジングモデルの計算装置の基本構成を示す図である。
【図２Ａ】例とした九州地方の各県をノードとして８色に塗り分ける問題をポッツ問題に置き換えた図である。
【図２Ｂ】図２Ａのポッツ問題を３層のグラフ問題に分解して示した図である。
【図２Ｃ】３層のグラフ問題とポッツ相互作用との関係を説明するための図である。
【図３】本実施形態のイジングモデルの計算装置の概略構成を示す図である。
【図４】バランスドホモダイン検波器の構成例を示す図である。
【図５】イジングモデルの計算装置の基本構成における処理フローである。
【図６】ポッツモデルの計算装置の概略構成を示す図である。
【図７Ａ】Ｍ＝２Msを満たさない多値の値Ｓｉの問題をポッツモデルの計算装置に実装するために定義した仮想ノードを示す図である。
【図７Ｂ】図７Ａで定義した仮想ノードを用いて色塗した図である。
【図７Ｃ】図７Ｂをレイヤーで表現した図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、詳細に説明する。
（ポッツモデルについて）
【００１７】
本実施形態のポッツモデルの計算装置において扱うポッツ問題（多値スピン問題）は、ポッツモデルと呼ばれる次式（２）のハミルトニアンを用いて解くことができる。次式（２）において、ポッツモデルを構成する各サイト（ノード）ｉの多値スピンの値をＳi（Ｓi＝０、１、２、３・・・、Ｍ−１：Ｍは多値数を示す自然数）、ポッツモデルを構成する各サイト（ノード）の相関関係を示す結合定数をＪij（ｉ、ｊ＝１、２、・・・・Ｎ：各サイトを表すインデックス、Ｎはサイト数を示す）と示しており、多値スピンの値Ｓiを持つサイトｉに対して相互作用を考えるサイトｊの多値スピンの値をＳjとすると、δ（Ｓi−Ｓj）は、Ｓi＝Ｓjの時にだけ１となりそれ以外は０となる、いわゆるクロネッカーのデルタである。
【数４】
2019078355.tif 000006
【００１８】
ポッツ問題を解く場合、上記式（２）において、Ｊijに解くべき問題がマッピングされる。多値スピン問題を記述する上記式（２）は、多値数Ｍ＝２MSと表せる場合に、ｍを１からＭｓまでの次数として、次数がｍの２値のスピンσim、σjm＝（±１）を用いて次式（３）のように書き換えることができる。ここでσjmは、次数ｍの２値スピンの値がσimとなるサイトｉに対して、相互作用を考えるサイトｊの２値スピンの値を示している。
【数５】
2019078355.tif 000007
【００１９】
上記式（３）は、総乗積の項を分解すると、次式（４）に示すように記述できる。
【数６】
2019078355.tif 000008
【００２０】
上記式（４）によれば、（３）式の総乗積の項はＭｓ個の（１+σimσjm）／２の項の積に分解できることが判る（ｍは１からＭｓの自然数）。この各ｍ次の項における（１+σimσjm）／２は、定数の足し算と掛け算を除いて、（１）式であらわされる２値のイジング問題と等価である（定数項はイジング問題に影響を与えない）。すなわち、多値数Ｍ（＝２MS）のポッツ問題は、Ｍｓ個の２値イジング問題の積に置き換えられるといえる。具体的には、多値スピンの相互作用（ポッツ相互作用）を導くためには、各ｍ次の項の２値スピンσim、σjm間のイジング相互作用（第１の相互作用）とともに、この第１の相互作用同士の総乗積で与えられる相互作用（第２の相互作用）を考慮する必要があるといえる。このとき、互いにポッツ相互作用を有する多値スピンの値Ｓｉは、上記式（３）、（４）におけるＭｓ個のｍ次の２値のスピンσimを用いて、次式（５）に示すように表すことができる。
【数７】
2019078355.tif 000009
【００２１】
したがって、上記式（３）、（４）に示すようなポッツ相互作用を有する２値のスピンσimを取り得るサイトが安定状態となる時のｍ次の２値のスピンσimの値を求めることによって、ポッツ問題で解くべき多値のスピンＳiの値を求めることができるといえる。また式（３）、（４）から、多値のスピンは、Ｎ個の２値のスピンσim、σjm（ｉ、ｊ＝１、２、・・・・Ｎ：各サイトを表すインデックス、Ｎはサイト数を示す）の値のセットをＭｓ個求めることで決定できるといえる。すなわち、２値のスピンσim、σjm（ｉ、ｊ＝１、２、・・・・Ｎ）を光パルスの位相（例えば０、π）に置き換え（擬似的にシミュレーションし）、さらにこれらの光パルスの位相にポッツ相互作用を持たせることにより、ポッツモデルにマッピングされた問題を計算することができるといえる。
【００２２】
このポッツモデルの変形を地図塗り分け問題を例に挙げてさらに説明する。九州地方を８色に塗り分けるとすると、塗りわけに用いる各色に０から７までの値を割り当てた多値問題と考えることができるが、Ｍ＝８＝２3、すなわち、ｍ＝１、２、３の３次の２値のスピンσim、σjm（ｉ、ｊ＝１、２、・・・・Ｎ：各サイトを表すインデックス、Ｎはサイト数を示す）を用いて表すことができる。
【００２３】
図２Ａ、図２Ｂ、および図２Ｃは例とした九州地方の各県をノードとして８色に塗り分ける問題におけるポッツ相互作用を説明する図である。３次の２値のスピンσim、σjmにおいて互いに相互作用を持つポッツ相互作用は、各ノードの相互作用を考えるための図２Ａに示すグラフを３層にコピーした図２Ｂに示すモデルで説明することができる。この塗り分け問題では、２つのノード（県）が隣接するか否かを相関関係としてＪijに設定する。これが解くべき問題となる。例えば、長崎県を１、佐賀県を２とすると、この２つの県は互いに隣接するので、相関関係として隣接することを示すＪ12＝１が設定される。図２Ａおよび図２Ｃにおいては、長崎県と佐賀県とが太線で接続されているが、これが相関関係を示している。
【００２４】
まず、図２Ｂに示すグラフの各層において、特定の隣接する２つのノードについて考える。２つのノードのスピンの値が同じ場合は相互作用があり、異なる場合は相互作用がないと判断する。この隣接する２つのノードにおける相互作用の有無を３層のそれぞれにおいて判断し、いずれか１つの層において「相互作用がない」と判断された場合は、その２つのノードはポッツ相互作用がないと判断する。すなわち、図２Ｃに示すように隣接するノードと全ての層において値が一致する場合にポッツ相互作用があると判断することができる。
【００２５】
８色塗り分け問題では、各ノードは８つの値を取りうるが、隣接するノードは異なる色でなければならない。言い換えると、隣接するノードは、ポッツ相互作用のない状態となる時のノードの各層の値（±１）を式（５）に代入して得られる多値のＳiが問題に対する解となる。
【００２６】
この問題で説明した複数層のグラフにおける各層の値（±１）を光パルスの位相（例えば０、π）に置き換える（擬似的にシミュレーションする）ことにより、多値問題を解くことができることが判る。
【００２７】
（第１の実施形態）
図３は、本実施形態のポッツモデルの計算装置の概略構成を示す図である。図３において、ポッツモデルの計算装置は、リング状の光ファイバで構成されたリング共振器１と、リング共振器１内に設けられた、ＰＳＡ（位相感応増幅器）２と、リング共振器１から分岐された、フィードバックループの一部を構成する、測定部３、演算器４、外部光パルス入力部５と、結合係数に対応する計算結果を保持すると共に計算終了を判定する計算結果保持判定部６と、測定部３に応じて演算器４に書き込まれたＪijの値を書き換えることにより結合係数を設定する結合係数設定部７とを備えている。本実施形態のポッツモデルの計算装置では、測定部３と演算器４と外部光パルス入力部５とがフィードバックループを構成している。本構成では、リング共振器１と、ＰＳＡ２と、測定部３と、演算器４と、外部光パルス入力部５とは、いわゆるイジングモデルの計算装置を構成している。計算結果保持判定部６および結合係数設定部７は、ＣＰＵおよびメモリなどの記憶手段を備えた外部のコンピュータなどによって構成することができる。
【００２８】
ＰＳＡ２は、イジングモデルの複数のスピンに擬似的に対応し、同一の発振周波数を有する複数の光パルスの列（光パルス列）をポンプ光源（厳密にはポンプ光パルス生成に用いる局発光）の位相に対して０またはπの位相の光を効率よく増幅する。ＰＳＡ２は、例えば２次の非線形光学効果を発現する周期的分極反転ニオブ酸リチウム（ｐｅｒｉｏｄｉｃａｌｌｙ  ｐｏｌｅｄ  ｌｉｔｈｉｕｍ  ｎｉｏｂａｔｅ：ＰＰＬＮ）などの非線形光学結晶を用いて構成することができる。
【００２９】
ＰＳＡ２は、シグナル光（信号光）とポンプ光（励起光）が入力されると、ポンプ光源の位相に対して０またはπの位相の微弱なパルス（アイドラ光）を発生する。ＰＳＡ２では、最初にシグナル光が発生していない状態でポンプ光のみを入力した場合でも、自然放出光として微弱なパルス（雑音光パルス）を発生することができる。
【００３０】
ＰＳＡ２では、周波数ωを有する局部発振光（ＬＯ光）を第２高調波発生器により２倍波である周波数２ωに変換したポンプ光が入力されると、(これまでポンプ光が無く、まさにポンプを入れ始めた時には)パラメトリック下方変換過程により微弱な雑音光が発生する。さらに、ＰＳＡ２では、リング共振器１内を周回伝搬した光パルス列が再び入力されたとき、かかる光パルス列がシグナル光
【数８】
2019078355.tif 000010
となり、このシグナル光に完全に位相整合したポンプ光
【数９】
2019078355.tif 000011
がさらにＰＳＡ２に入力されると、２次の非線形光学効果であるＯＰＯ（光パラメトリック発振）により、シグナル光Ｅｓの位相共役波となるアイドラ光
【数１０】
2019078355.tif 000012
が発生する。
【００３１】
このとき、シグナル光とアイドラ光の周波数が一致する場合、以下の縮退波が出力される。
【数１１】
2019078355.tif 000013
【００３２】
この出力される縮退波は、位相共役の関係にあるシグナル光とアイドラ光との重ね合わせなので、位相が０またはπの波が効率よく増幅されることになる。こうして、ＰＳＡ２では当初発生した微弱な光パルス列のうち、０またはπの位相成分が増幅されることになる。
【００３３】
リング共振器１は、ＰＳＡ２で発生した複数の光パルス（光パルス列）を周回伝搬させる。リング共振器１は、リング状の光ファイバで構成することができ、その光ファイバの長さは、（光パルス列を構成するパルスの数）×（パルス間隔）にフィードバック処理にかかる時間分の長さを加えたものに設定される。
【００３４】
測定部３は、複数の光パルス（光パルス列）がリング共振器１を周回伝搬するたびに（１周回毎に）、その複数の光パルスの位相および振幅を測定する光パルス測定部として機能する。具体的には測定部３は、リング共振器１内を伝搬する光パルス列を分岐してその振幅を含めた位相状態をコヒーレント測定する。コヒーレント測定は、バランスドホモダイン検波器を用いて被測定光として入力される光パルス列の振幅と位相を測定することができる。
【００３５】
図４はバランスドホモダイン検波器３０の構成例を示す図である。バランスドホモダイン検波器３０は、測定する光パルス列と同じ周波数の位相同期した光を基準光として、光パルス列を構成する光に干渉させて、その振幅と位相状態を測定することができる。バランスドホモダイン検波器３０は、ポート１およびポート２からの光を干渉させてポート３およびポート４に出力するハーフミラー３１と、ポート３から出力される光を検出する第１の光検出器３２とポート４から出力される光を検出する第２の光検出器３３と、第１および第２の光検出器３２、３３の検出結果の差分を演算する差分演算部３４とを有している。
【００３６】
ポート１には被測定光として光パルス列Ｅsｅi(ωt+θ)が入力され、ポート２には、振幅と位相が既知である基準光ＥLoｅiωtが入力される。ポート１から入力された光パルス列は、ハーフミラー３１において、同位相でポート３に向けて透過する成分と、位相がπだけ変化させられてポート４に向けて反射される成分に分岐する。ポート２から入力された基準光は、ハーフミラー３１において、同位相でポート４に向けて透過する成分と、同位相でポート３に向けて反射される成分に分岐する。
【００３７】
ポート１から入力された光パルス列の同位相成分とポート２から入力された基準光の同位相成分とが干渉した出力光
【数１２】
2019078355.tif 000014
がポート３から出力され、第１の光検出器３２では、光強度
【数１３】
2019078355.tif 000015
を示す電気信号が検出される。
【００３８】
ポート１から入力された光パルス列の逆位相成分とポート２から入力された基準光の同位相成分とが干渉して出力光
【数１４】
2019078355.tif 000016
がポート４から出力され、第２の光検出器３３では、光強度
【数１５】
2019078355.tif 000017
で表される電気信号が検出される。
【００３９】
さらに、差分演算部３４では、第１の光検出器３２における検出信号と第２の光検出器３３における検出信号との差分が演算されて、２ＥLoＥsｃｏｓθが出力される。
【００４０】
したがって、基準光の振幅ＥLoが既知であるので、測定結果として位相のｃｏｓ成分（符号のみ）と振幅を含んだ値±Ｅが得られることとなる。
【００４１】
測定結果として得られる値は、符号つきアナログ値（±Ｅ）であり、符号（±）が位相（０及びπ）を示し、アナログ値（Ｅ）が振幅を示すことになる。
【００４２】
図３に戻ると、演算器４は、測定した光パルスの位相および振幅に関する情報を入力として、イジングモデルにマッピングされた結合係数および他の光パルスの位相および振幅に関する情報に基づいて、光パルスが関わる相互作用を計算する。演算器４で演算される相互作用は、位相および振幅に関する情報の特定の成分のみの測定値に基づいて演算される。
【００４３】
具体的には演算器４は、測定部３で測定した光パルス列の振幅と位相に関する情報に対して、結合係数を与える演算を行なう。演算器４としては例えばＦＰＧＡを用いることができる。演算器４では、以下に示す式（６）に従って演算を行なう。
【数１６】
2019078355.tif 000018
【００４４】
上式において、ｃ1、ｃ2、ｃ3、ｃ4、ｃ5はそれぞれ測定部３における各パルスについての測定結果であり、ｆ1、ｆ2、ｆ3、ｆ4、ｆ5はそれぞれ演算結果として得られる相互作用である。行列の演算パラメータＪ12、Ｊ13、Ｊ14、Ｊ15、・・・・Ｊ53、Ｊ54は、イジングモデルにマッピングされた結合係数であり、解を求めようとする問題に応じて決定される。ただし、本実施形態のポッツモデルの計算装置では、与えられた多値の問題を解くまでに結合係数は複数回変更される。
【００４５】
上式に示すように、演算器４では、測定部３における測定結果を要素とする列ベクトルを生成し、生成した列ベクトルに対して行列を乗算する演算を行ない演算結果として相互作用を得る。なお、ここでは光パルス列を構成する光パルスの数と等しいサイト数が５の場合を例に挙げて説明しているが、サイト数に応じて用いる正方行列の大きさが決まる。正方行列は（サイト数）×（サイト数）の大きさとなる。
【００４６】
例えば、サイト数（光パルス列を構成する光パルスの数）をＮとすると、相互作用計算部は、次の（７）に示す行列の演算を行なう。
【数１７】
2019078355.tif 000019
【００４７】
外部光パルス入力部５は、位相および振幅の特定の成分のみ測定した光パルスの位相および振幅に基づいて演算された演算結果を用いて、リング共振器１内の光パルスに対して重ね合わされる光パルスの振幅および位相を制御することにより、光パルスが関わる相互作用の大きさおよび符号を実装する。外部光パルス入力部５は、例えば、光パルスの振幅および位相を制御して出力するレーザを用いて構成することができる。演算結果は、位相および振幅の特定の成分のみであるので、位相および振幅の特定の成分のみの相互作用が実装されることとなる。
【００４８】
具体的には外部光パルス入力部５は、リング共振器１内の光パルス列と同じ周波数である光パルス列を演算結果に比例する振幅および位相で同期して合波する。例えば、外部光パルス入力部５が、一定の周波数の外部パルスを同期して入力することによって、リング共振器１内の光パルス列と周波数が一致したパルスを同期して入力することができる。リング共振器１内の光パルス列に対して演算結果に応じた外部パルスを合波することにより、リング共振器１内の光パルス列に擬似的な相互作用を与えることができる。
【００４９】
このように外部光パルス入力部５によりフィードバック入力する構成によれば、ｉ番目の光パルスのｃｏｓ成分ｃi、共振器周回数ｎ、外部パルスの比率Ｋを用いて、フィードバック後の光パルス列の信号ｃ’i（ｎ）は以下に示す式（８）で表される。
【数１８】
2019078355.tif 000020
【００５０】
以上の式では、リング共振器１内の光パルス列ｃi（ｎ）に対して結合比率Ｋで外部光パルス入力部５による外部光パルス列(フィードバック入力する成分)
【数１９】
2019078355.tif 000021
が合波されたものが、フィードバック後の光パルス列ｃ’i（ｎ）となることが示されている。
【００５１】
上式で示される光パルス列ｃ’i（ｎ）が再びＰＳＡ２に入力すると増幅されて光パルス列ｃi（ｎ＋１）となる。以上の構成により、ポッツモデルの計算装置では、増幅とフィードバックを繰り返しながら、光パルス列を問題に応じた安定状態に導いていくことにより、結合係数に対応する計算結果を得る。
【００５２】
計算結果保持判定部６は、上記の増幅とフィードバックを所定回数繰り返して光パルス列を問題に応じた安定状態に導いた時に、測定部３で測定した測定結果に基づいて、光パルス列の位相をスピンの値に置き換えた計算結果（すなわち  ｓｉｇｎ（ｃ-i）＝±１）を保持する。
【００５３】
さらに計算結果保持判定部６は、与えられたポッツ問題を解くために必要な回数、上記の構成により増幅とフィードバックを繰り返して安定状態に導く計算（結合係数設定部７における結合係数の設定）を繰り返した場合に計算終了と判定する。本実施形態のポッツモデルの計算装置では、解として取り得る多値の値がＭ＝２Msで表される場合に、最低Ｍｓ回の結合係数の設定をすればよい。計算を終了する場合は、最終的に、それまで保持した計算結果に基づいて、ポッツモデルの多値スピンの値を算出する。
【００５４】
計算結果保持判定部６は、所定の終了条件に該当する場合は、結合係数の設定回数がＭｓ回に満たない場合でも、結合係数の設定を終了することができる。所定の終了条件は、１）ｍ＝Ｍｓ回まで繰り返した場合、２）ｍ回目の結合係数の計算結果を得た時に、次に作成した結合係数がＪijm+1＝０となった（つまり、Ｊijm≠０となる（ｉ、ｊ）上の全てのｓｉｇｎ（ｃimｃjm）＝−１）場合、３）ｍ回目の結合係数の計算結果を得た時に、次に作成した結合係数がＪijm+1＝Ｊijm（つまり、Ｊijm≠０となる（ｉ、ｊ）上の全てのｓｉｇｎ（ｃimｃjm）＝１）場合が挙げられ、上記に該当する場合は、結合係数の設定回数がＭｓ回に満たない場合でも、結合係数の設定を終了する。ＭやＭｓの値が未定の結合係数でも、この計算結果に基づいて計算を終了するアルゴリズムにより、ＭやＭｓの値を求めることもできる。
【００５５】
結合係数設定部７は、繰り返し結合係数を演算部３に設定する。具体的には、結合係数設定部７は、１回目の結合係数をＪijm=1＝Ｊijと設定し、２回目以降（ｍ＋１回目）の結合係数は、前回（ｍ回目に）実行した計算結果のｉ番目のパルスの直交成分ｃimおよびｊ番目のパルスの直交成分ｃjmを用いて、Ｊijm+1＝Ｊijm×（１＋ｓｉｇｎ（ｃimｃjm））×１／２と設定する。このように設定することによって、測定したスピンの値が一致しないノード間の相関を計算対象から外すようにＪijを再作成することができる。
【００５６】
結合係数設定部７において結合係数を設定した後、再度ＰＳＡ２による雑音光パルス列を発生し、安定状態に導く計算を繰り返す。ポッツモデルを２進数的に表したときの次数Ｍｓの数だけ（終了条件に該当する場合はそれよりも少ない数だけ）安定状態に導く計算を繰り返して、計算結果保持判定部６は、複数回設定した結合係数に対する計算結果として得られた複数個のスピンの値σimを式（５）に代入して得られた値をポッツモデルの解とする。
【００５７】
図５は、ポッツモデルの計算装置の基本構成における処理フローである。図５に示すように、ポッツモデルの計算装置では、ポッツモデルの計算を始めるにあたって結合係数設定部７により結合係数が設定された（設定回数ｍ＝１）後、最初にＰＳＡ２に対してポンプ光が注入されると、微弱な雑音光パルス列が発生し（Ｓ１）、発生した雑音光パルス列はリング共振器１内を周回伝搬する。リング共振器１内を周回伝搬する光パルス列の一部が分岐され、測定部３によりその振幅および位相がコヒーレント測定される（Ｓ２）。
【００５８】
光パルス列の測定結果が得られると、演算器４において、解を求めるべき問題に応じた結合係数がマッピングされた行列により相互作用が演算される（Ｓ４）。外部光パルス入力部５は、演算結果を受け取ると、演算結果に応じた位相と振幅を有する外部光パルスをリング共振器１に入力して、リング共振器１内の光パルス列に合波させることにより光パルス列に対するフィードバックを与える（Ｓ５）。
【００５９】
フィードバック後の光パルス列は、再びＰＳＡ２に入力され、光パルス列に同期したポンプ光により増幅され（Ｓ６）、再びリング共振器１内を周回伝搬する。リング共振器１内を再び伝搬する光パルス列に対して、再びコヒーレント測定、行列による演算、演算結果に応じたフィードバックが施されることが繰り返される。
【００６０】
このような光パルス列に対する増幅とフィードバックが所定回繰り返される（Ｓ３）と、光パルス列の状態が安定状態となる。計算結果保持判定部６は、安定状態となることによって得られた計算結果（測定部３において得られた測定結果の位相状態である０またはπをイジングモデルのスピンσ状態（±１）に置き換えて）を保持し（Ｓ７）、解くべき問題の計算を開始してから安定状態に到達した回数が解くべき問題の次数Ｍｓと一致したか否かおよび終了条件が判定され（Ｓ８）、次数と一致しておらず終了条件にも該当しない場合（Ｓ８：Ｎｏ）は、安定状態となった時に測定部３において得られた測定結果の位相状態である０またはπに基づいてＪijを再作成して、作成したＪijを演算器４に設定し（Ｓ９）、再度ＰＳＡ２による雑音光パルス列を発生して（Ｓ１）、測定とフィードバックと増幅を繰り返して安定状態に導いていく（Ｓ１からＳ６の繰り返し）。
【００６１】
最終的には、安定状態に到達した回数が解くべき問題の次数と一致するか、終了条件に該当し（Ｓ８：Ｙｅｓ）、安定状態となった時に測定部３において得られた測定結果の位相状態である０またはπをイジングモデルのスピンσ状態（±１）に置き換えて、解くべき問題にマッピングし直すことによって与えられた問題に対する解が得られることとなる。
【００６２】
本実施形態においては、リング共振器１と、ＰＳＡ２と、測定部３と、演算器４と、外部光パルス入力部５とは、イジングモデルの計算装置を構成している場合を例に挙げて説明したが、イジングモデルの計算装置の構成はこれに限定されない。
【００６３】
（第２の実施形態）
図６は、本実施形態のポッツモデルの計算装置の概略構成を示す図である。第１の実施形態のポッツモデルの計算装置では、多値数Ｍが２のべき乗２Ms（Ｍｓは自然数）で表される場合であればそのまま扱うことができたが、この式を満たさない例えばＭ＝３などの場合は、そのままではポッツモデルの計算装置に実装することができない。図６に示すように、本実施形態のポッツモデルの計算装置では、他の全てのノードと相関関係を有する仮想ノードを導入することにより、第１の実施形態のポッツモデルの計算装置の構成における結合係数設定部７に調整手段７１を設けた構成としている。この構成により、Ｍ＝２Msを満たさない多値数の問題を計算可能としている。
【００６４】
調整手段７１は、与えられた問題の「ノード数」と「各ノードがとり得る値」と「ノード間の相関関係」を調整して、調整した問題に応じたＪijを設定する。具体的には、ノード数が「Ｎ」で各ノードのとり得る値がＭという結合係数が与えられた場合、調整手段７１は、Ｍ≦２Msを満たす最小のＭｓで決められる２Msを各ノードが取り得る値とし、仮想のノードをＤｎ（Ｄｎ＝２Ms−Ｍ：Ｍは自然数）個だけ定義して、これを与えられた問題のノード数（Ｎ）に加えることによって問題のノード数を（Ｎ＋Ｄｎ）とする。さらに、新しく導入した仮想のノードについては他の全てのノードに対して相関関係（結合）を有するものとして、Ｊijのマッピングを行う。例えば、各ノードにおける値は、結合関係にあるノードとは異なる値になるような場合、仮想のノードは他の全てのノードに対して結合を有するので、解として得られる仮想のノードの取り得る値は他の全てのノードとは異なる値となることは明らかである。したがって、仮想ノード以外のノードに残りの多値（元々問題と設定されていた多値）が割り当てられることとなる。
【００６５】
図７Ａ、図７Ｂ、および図７ＣはＭ＝２Msを満たさない多値の値Ｓｉの問題をポッツモデルの計算装置に実装する手法を説明する図である。例えば、九州地方の７県（ノード数７）を３色に塗り分ける色塗り分け問題を解く場合、多値数Ｍは３となり、Ｍ＝２Msを満たさないので、この問題はそのまま第１の実施形態のポッツモデルの計算装置に実装することができない。
【００６６】
調整手段７１は、九州地方の７県（ノード数７）を３色に塗り分ける色塗り分け問題が入力されると、取りえる値の数はＭ＝３≦２2から４であり、仮想ノード数はＤｎ＝２2−３＝１なので、仮想ノードを１つ定義する。さらに調整手段７１は、ノード数を問題として入力されたノード数より１つ（仮想ノード数）多いノード数８とし、塗りわけに用いる色を実際に用いる色よりも１色多い数の４の問題であると調整して、Ｊijを作成し、作成したＪijを演算器４にマッピングする。このとき、図７Ａに示すように、仮想ノードは、他の全てのノードに結合したものとして相関関係Ｊijが作成される。図７Ｃに示すように、このとき必要なグラフ数（結合係数の設定回数）はＭｓ＝２であるので２となる。
【００６７】
このように設定することで、図７Ｂに示すように、仮想ノードには他の７つのノードとは異なる色が導かれることになる。言い換えると、塗り分けの対象であった７つのノードは、３色で塗り分けられることが判る。
【図１】
2019078355.tif 000025
【図２Ａ】
2019078355.tif 000026
【図２Ｂ】
2019078355.tif 000027
【図２Ｃ】
2019078355.tif 000028
【図３】
2019078355.tif 000029
【図４】
2019078355.tif 000030
【図５】
2019078355.tif 000031
【図６】
2019078355.tif 000032
【図７Ａ】
2019078355.tif 000033
【図７Ｂ】
2019078355.tif 000034
【図７Ｃ】
2019078355.tif 000035
【国際調査報告】
2019078355.tif 000036
2019078355.tif 000037
2019078355.tif 000038