(57)【要約】【課題】組合せ最適化問題の従来解法において、組合せパターンを構成する変数（データ）の数が増大すると、データ処理装置の処理負荷が増加し、膨大な処理時間を要する問題がある。それに対して計算結果への高い信頼性を確保しつつ、演算処理の繰り返し回数を低減した高速処理が望まれる。【解決手段】複数変数（複数データ）から構成される評価関数Ｈまたはその派生した方程式を離散解法に適合化させる。そして一実施形態のデータ処理装置では、入力装置１０１が変数（ｘｉ）のセットを設定し、演算部２００内で上記離散解法に基付く漸化式を用いた上記変数値の解法処理を行う。この演算処理の過程で上記変数の途中解が想定値から所定以上ずれたと判定した場合には、途中解に対して微小補正して想定値に近付ける。【選択図】図４Ａ
2020119108.tif 000002
【特許請求の範囲】
【請求項１】
入力装置と演算部と出力装置とを備え、
前記入力装置が、少なくとも第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を設定し、
前記演算部が、少なくとも漸化式を用いた処理を行うもので、少なくとも前記第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を漸化式に基づき第１処理し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき第２処理し、さらに、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき第３処理するというように、順次第Ｍセット（Ｍは正の整数）までを巡回的処理を実行する実行部を有し、さらに
演算部が、上記巡回的処理を行う場合、任意のセットにおいて得られた変数（ｘｉ）が特定値から所定値以上ずれていることを判定する判定部と、
前記ずれていることを判定した場合には、このずれた変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する変数（ｘｉ）として準備する補正部を含む、
ことを特徴とするデータ処理装置。
【請求項２】
前記特定値は、前記漸化式における所定係数の値（ｐ）に対応する、請求項１記載のデータ処理装置。
【請求項３】
前記判定部は、変数（ｘｉ）が特定値から所定値以上ずれており、かつ、ずれ量が許容範囲よりも大きいかどうかを判定し、許容範囲内であれば前記微小補正を省略する、
請求項１記載のデータ処理装置。
【請求項４】
前記判定部は、変数（ｘｉ）が特定値から所定値以上負方向又は正方向の何れか一方にずれており、かつ、ずれ量が許容範囲よりも大きいかどうかを判定し、許容範囲内であれば前記微小補正を省略し、前記許容範囲内で無い場合は、前記微小補正を正方向又は負方向のいずれか一方に行う、
請求項１記載のデータ処理装置。
【請求項５】
入力装置が少なくとも第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を設定し、
演算部が少なくとも漸化式を用いた処理を行うもので、
少なくとも前記第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を漸化式に基づき第１処理として計算し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算し、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算するというように、順次第Ｍセット（Ｍは正の整数）までを巡回的処理を実行し、さらに
前記演算部が、上記巡回的処理を行う場合、任意のセットにおいて得られた変数（ｘｉ）が特定値から所定値以上ずれていることを判定し、前記ずれている場合には、このずれた変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する変数（ｘｉ）として準備する、ことを特徴とするデータ処理方法。
【請求項６】
入力装置が少なくとも第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を設定し、演算部が少なくとも漸化式を用いた処理を行うもので、前記演算部のプログラムは、
少なくとも前記第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を漸化式に基づき第１処理として計算し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算し、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算するというように、順次第Ｍセット（Ｍは正の整数）までを巡回的な処理を実行し、さらに
上記巡回的な処理を行う場合、任意のセットにおいて得られた変数（ｘｉ）が特定値から所定値以上ずれていることを判定し、前記ずれている場合には、このずれた変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する変数（ｘｉ）として準備する、ことを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、データ処理装置、データ処理方法、データ処理プログラムに関する。
【背景技術】
【０００２】
所定目的に応じて多数のデータ（複数の変数と称してもよい）を適正に組合せて処理／提示する場合、多数の組合せパターンの中から最適な組合せを抽出することが要望される場合がある。この抽出方法の一種を技術的には、組合せ最適化問題と呼ぶ。
【０００３】
この組合せ最適化問題の解法例として、各種の組合せパターンを一定のルールに従って計算する所定関数を定義し、その関数値が特定値（あるいは最小値や最大値）となるパターン（組合せ最適パターン）を算出する方法がある。この所定関数の具体例として、イジングモデルに基付くトータルエネルギーを示すハミルトニアンを利用する方法が知られる。またそれに限らず、上記イジングモデル式を変形して組合せ最適化問題を解く方法も提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−７３１０６号公報
【非特許文献】
【０００５】
【非特許文献１】H.GTO: Scientific Reports vol. 6, Article Number 21686 (2016).
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１と非特許文献１は、イジングモデルを利用した組合せ最適化問題の解法例を示している。しかし、今後は種々の利用分野においてイジング問題の規模が大きくなることが十分予測される。このために設計構成が容易であり、処理速度、計算精度の向上したデータ処理装置、データ処理方法、データ処理プログラムが要望されている。
【０００７】
一実施形態の目的は上記問題を鑑み、組合せ最適化問題の処理方法を工夫して、計算処理効率を向上させ、処理速度を高速化したデータ処理装置、データ処理方法、データ処理プログラムを提供することにある。
【０００８】
また他の目的として、組合せ最適化問題で得られる解の信頼性が向上するデータ処理装置、データ処理方法、データ処理プログラムを提供してもよい。
【課題を解決するための手段】
【０００９】
（１）一実施形態によると、複数変数（複数データ）から構成される所定関数式（評価関数Ｈの表記内容）またはそれから派生して導出される方程式を適合化させて、離散解法
が実質的に可能な形態とする。そしてこの離散解法を利用して高速で信頼性の高い計算処理を行うデータ処理装置、データ処理方法、データ処理プログラムを提供する。
（２）他の実施形態によると、さらに前記の計算過程で制約条件項又は特定変数の初期化調整項を付加する第１制約手段を設ける。それにより計算の収束速度向上あるいは計算結果の信頼性向上を達成するデータ処理装置、データ処理方法、データ処理プログラム或いは記憶媒体を提供する。
（３）上記評価関数Ｈから導かれる漸化式を用いて、複数変数の最適解を算出する。その処理過程で発生する変数の途中解が想定値から所定以上ずれた場合には、その途中解に対して微小補正して想定値に近付ける。その結果得られる最適解の信頼性を向上させるデータ処理装置、データ処理方法、データ処理プログラム或いは記憶媒体を提供する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態が適用されたデータ処理装置のブロック構成図、及び実施形態が適用されたデータ処理装置を用いるネットワークの構築例を示す図である。
【図２】図２は、図１に示すデータ処理装置の概略動作例を説明するために示したフローチャートである。
【図３Ａ】図３Ａは，図２に示すフローチャートのステップＳ２１０の詳細を示すフローチャートの例である。
【図３Ｂ】図３Ｂは、（１４）式、（１５）式に基付く漸化式の基本概念説明図である。
【図３Ｃ】図３Ｃは、漸化式を利用して逐次算出する途中解の変化状況説明図である。
【図４Ａ】図４Ａは、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックの一例を示す図である。
【図４Ｂ】図４Ｂは、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックの他の例を示す図である。
【図５】図５は、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックのまた他の例を示す図である。
【図６】図６は、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックの他の例を示す図である。
【図７】図７は、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックのまた他の例を示す図である。
【図８】図８は、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックのさらにまた他の例を示す図である。
【図９】図９は、本実施形態のデータ処理装置で使用されたデータ処理フロー兼処理ブロックのまた他の例を示す図である。
【図１０】図１０は、本実施形態のデータ処理装置で図３Ａに示したデータ処理フロー兼処理ブロックで処理した結果得られた、変数ｘｉに関する途中解の経過例を示すグラフである。
【図１１Ａ】図１１Ａは、本実施形態のデータ処理装置で図８に示したデータ処理フロー兼処理ブロックで処理した結果得られた、変数ｘｉに関する途中解の経過例を示すグラフである。
【図１１Ｂ】図１１Ｂは、本実施形態のデータ処理装置で図５に示したデータ処理フロー兼処理ブロックで処理した結果得られた、変数ｘｉに関する途中解の経過例を示すグラフである。
【図１１Ｃ】図１１Ｃは、本実施形態のデータ処理装置で図６に示したデータ処理フロー兼処理ブロックで処理した結果得られた、変数ｘｉに関する途中解の経過例を示すグラフである。
【図１１Ｄ】図１１Ｄは、本実施形態のデータ処理装置で図８、図９に示したデータ処理フロー兼処理ブロックで処理した結果得られた、変数ｘｉに関する途中解の経過例を示すグラフである。
【発明を実施するための形態】
【００１１】
以下、実施形態について図面を参照して説明する。ここで組合せ最適化問題の処理方法を示すデータ処理装置またはデータ処理方法、データ処理プログラムは、物性物理学上で使用されるイジングモデルの考え方を転用して発展させている。
【００１２】
しかしイジングモデルで使用されるハミルトニアンＨ（エネルギー関数）は、量子力学に基付く物性物理学上の環境或いは条件の中で有効に成立する関数であるが、本実施形態は、その関数の特徴を有効に活用するものである。
【００１３】
また本実施形態では、古典力学（古典モデル）で用いられる運動エネルギーや速度の考え方（モデル）を拡張した変数も利用し、この古典力学における性質も有効に活用するものであり、新しい観点に立ち以下の実施形態を実現している。
【００１４】
以下、まずイジング問題について、説明する。
例えば、イジングエネルギーＥＩｓｉｎｇは、以下の第１式で表される。
【００１５】
【数１】
2020119108.tif 000003
【００１６】
上記の第１式において、「Ｎ」はイジングスピンの数である。「ｓｉ」は、ｉ番目のイジングスピンである。例えば、「ｓｉ」＝±１である。「Ｊ」は、例えば、１つの行列である。上記の第１パラメータ群｛Ｊ｝の１つの例が、行列Ｊである。
【００１７】
行列Ｊは、実対称行列であって、その対角成分（対角要素）が全てゼロであるものを利用する。
【００１８】
上記の第１式の形式で表される物理モデルをイジングモデルと呼ぶ。一方、組合せ最適化問題の一種として、このＥＩｓｉｇの値が最小となるようにＮ個のスピンsiの値（１または−１）の組合せを決めるという問題を、イジング問題と呼ぶ。
【００１９】
イジング問題を解く手段として、量子分岐マシンや、その古典力学的なモデル（以下、古典分岐マシン）が提案されている。
【００２０】
古典分岐マシンにおいては、運動方程式は、以下の第２〜第４式で与えられる。
【００２１】
【数２】
2020119108.tif 000004
【００２２】
【数３】
2020119108.tif 000005
【００２３】
【数４】
2020119108.tif 000006
【００２４】
第２〜第４式において、「Ｎ」は、例えば、イジングスピンの数に対応する。「Ｄ」は、例えば、「離調」に対応する。「ｃ」は、定数である。「ｐ」は、例えば、「ポンプレート」に対応する。「Ｋ」は、例えば、「カー係数」に対応する。これらの値は、例えば、予め設定されても良い。第２〜第３式において、第２パラメータ群｛ｈ｝は設けられなくても良い。その場合は第２式および第３式の中の｛ｈ｝の要素を含む項は無視される。
【００２５】
上記の第２〜第４式において、ｐ（ｔ）をゼロから十分大きな値へ増加させた時の「ｘｉ」の最終値に対する２値化後の値（符号）「±１」が、最適解（基底状態）のイジングスピン「ｓｉ」となる。「ａ（ｔ）」は、「ｐ（ｔ）」とともに増加するパラメータである。「ａ（ｔ）」は、例えば、以下の第４式で表される。  
【００２６】
【数５】
2020119108.tif 000007
【００２７】
上記の古典分岐マシンは、ハミルトニアン力学系の考えを利用しており、第２〜第４式において、「Ｈ」はハミルトニアンを意味する。その運動方程式をデジタル計算機で解くことを通じて、組合せ最適化問題としてのイジング問題の解を求めることができる。
【００２８】
一方、組合せ最適化問題を解く方法としては、シミュレーティッドアニーリングが知られている。この方法では、逐次更新アルゴリズムが採用される。逐次更新アルゴリズムにおいては、複数のスピンが、１つずつ更新される。このような逐次更新アルゴリズムは並列計算に向かない。
【００２９】
これに対して、上記の古典分岐マシンの運動方程式をデジタル計算機で解く方法では、変数値の更新処理の並列化が容易であるため、高速化を期待できる。
【００３０】
上記の第２〜第５式を用いるアプローチには、以下の課題があると考えられる。最も計算量が大きい行列Ｊを用いた計算が、第１変数ｘ及び第２変数ｙの両方の更新に必要となる。上記の運動方程式は、数値的に容易には解けないため、例えば、計算量が大きい離散解法（例えば４次のルンゲ・クッタ法など）が必要となる。
【００３１】
これに対して、実施形態においては、第２〜第４式に示した連立常微分方程式ではなく、例えば、以下の第６式〜第８式に示す連立常微分方程式を用いる。
【００３２】
【数６】
2020119108.tif 000008
【００３３】
【数７】
2020119108.tif 000009
【００３４】
【数８】
2020119108.tif 000010
【００３５】
第６式〜第８式において、「Ｎ」は、例えば、イジングスピンの数に対応する。「Ｄ」は、例えば、「離調」に対応する。「ｃ」は、定数である。「ｐ」は、例えば、「ポンプレート」（例えば演算パラメータ）に対応する。「Ｋ」は、例えば、「カー係数」に対応する。これらの値は、例えば、予め設定されても良い。第６式〜第８式において、第２パラメータ群｛ｈ｝は設けられなくても良い。その場合は、第７式および第８式の中の｛ｈ｝の要素を含む項は、無視される。
【００３６】
最も計算量が大きい行列Ｊに関する積和演算は、第２変数ｙの更新にのみ行われ、第１変数ｘの更新では行われない。従って、計算量が削減される。これらの式において、第６式にしめすように、第１変数ｘの時間微分は、第７式に示すように、第２変数ｙを含む。例えば、第１変数ｘの時間微分は、第１変数ｘを含まない。第２変数ｙの時間微分は、第１変数ｘを含む。例えば、第２変数ｙの時間微分は、第２変数ｙを含まない。第６式、第７式からわかるように、ｘ及びｙは、互いに分離されている。このため、計算量が小さく安定な離散解法が適用可能となる。例えば、シンプレクティック・オイラー法と呼ばれる方法が適用できる。上記の第６式においては、「ｘ」の時間微分から「ｐ」が消去されている。
【００３７】
このような方法を用いた場合に、高い性能（例えば、高い精度）が維持できことが分かった。実施形態に係る計算装置では、上記の分離可能なハミルトニアンを持つハミルトン力学系（新しい古典分岐マシン）の運動方程式が、例えば、シンプレクティック・オイラー法で解かれる。実施形態に係る装置は、このような新しいアルゴリズムの計算が並列計算によって、できる限り高速に実行されるように構成される。
【００３８】
実施形態において、例えば、ポンプレート「ｐ（ｔ）」をゼロから十分大きな値へ増加させた時の第１変数ｘｉの最終値の符号に合わせて、イジングスピンｓｉの値を決める。すなわち、ｘｉの最終値が正ならばｓｉを１とし、負ならばｓｉを−１とする。
【００３９】
第１変数ｘｉの及び第２変数ｙｉは、変数の設定おいて、適切な値に、初期化される。例えば、これらの変数は、絶対値が０．１以下の乱数によって、ランダムに初期化される。或いは変数が０に初期化される。上記の計算ステップ（つまり計算ブロック）については、さらに後で説明することにする。
【００４０】
図１は、上記の計算処理を行うデータ処理装置３００の構成例を示す。本実施形態におけるデータ処理装置３００は、入力装置１０１、出力装置１０２、設定部１０３、そして演算部２００から構成される。さらに操作部１０４、表示部１０５が設けられてもよい。一方で、上記演算部２００だけをデータ処理装置と称してもよい。
【００４１】
なお本実施形態における入力装置１０１、出力装置１０２、設定部１０３、演算部２００などは、入力部、出力部、設定装置、演算装置、システム、手段などと置き換えてもよく、名称が限定されるものではない。
【００４２】
演算部２００の内部は基本的に、プロセッサ（ＣＰＵ）２０１、プログラムメモリ２０２、データなどを一時的に格納するランダムアクセスメモリ（ＲＡＭ）２０３を備える。またそれに限らず、イメージ処理部２１１と通信部２１２をさらに備えてもよい。ここではプログラムメモリ２０２内に予め保存されたプログラムに沿って、プロセッサ（ＣＰＵ）２０１が計算処理を実行する。
【００４３】
一方で第８式内の各種パラメータの値（ＤやＫ、ｃ、及びＪｉｊなどの各係数値）は、設定部１０３内で設定される。また第８式内で時間経過と共に変化（増加）するｐとａｉ（＝ａ（ｔ））の値も、上記の設定部１０３内で設定される。
【００４４】
このように第８式内の各種パラメータ値が設定されると、第６式と第７式に基付く漸化式を利用した計算処理が繰り返される。そして本実施形態におけるデータ処理装置３００内で最終的に、第８式で表現される評価関数Ｈが最小値を取る第１変数ｘｉと第２変数ｙｉの各値（最適解）が算出される。
【００４５】
この各種パラメータ値の設定から計算処理、そして入出力処理に至る操作は、操作部１０４が制御する。また逐次実行される上記処理経過あるいは最終的な処理結果は、表示部１０５に表示される。
【００４６】
イメージ処理部２１１は、例えばデータ処理経過を仮想的に示すようなイメージデータを生成するものであり、システム設計者の意図に基づいて各種の画像の形態を生成することが可能である。例えばプログラムの処理の進捗状況をバーグラフで表示部１０５に表示したり、データの変数の配置をイメージ的（例えば天体空間の星のように）に表示部１０５に表示したりすることができる。
【００４７】
通信部２１２は、外部との通信機能を備え、例えば操作部１０４、表示部１０５、設定部１０３、入力装置１０１、出力装置１０２などが、遠隔エリアに配置されたような場合に、通信回線を介してデータの送受信を行うことができる。
【００４８】
第８式において評価関数Ｈ’を構成する第１変数ｘｉの数はＮ個存在する。このＮ個存在する第１変数ｘｉの最適解セットの中から、任意数（ｉ番目の第１変数ｘｉ最適解のみの１個、あるいはそれ以上の複数）の値を抽出し、出力部１０２から出力してもよい。またそれに限らず例えば、ｉ番目とｊ番目に得られた第１変数ｘｉとｘｊの最適解の値などに特定演算を施した結果の値を、前記の出力部１０２から出力してもよい。
【００４９】
第８式において係数ｃとａが共に正値を取る場合を考える。ｈｉの値として正値（あるいは負値）を設定すると、ｘｉを負値（正値）に設定した方が評価関数Ｈの値が減少する。つまりｈｉの値に連動してｘｉの最適解の値（正負の極性）が影響を受ける。
【００５０】
データ処理装置３００はスタンドアローンタイプであってもよいが、サーバ３００Ａ、３００Ｂ、３００Ｃ内の一部を構成してもよい。そしてこれらのサーバ３００Ａ、３００Ｂ、３００Ｃは、ネットワーク３０１を介して、データの相互やり取りを行うことができる。またサーバ３００Ａ、３００Ｂ、３００Ｃは、ネットワーク３０１を介してパーソナルコンピュータ３１１、或いは携帯端末（スマートフォーンなど）３１２からデータを受け取ってもよい。さらにパーソナルコンピュータ３１１や携帯端末（スマートフォーンなど）３１２などに、各種のグラフやデータ或いはイメージデータを送信することも可能である。例えば後で説明する図１１Ａ〜図１１Ｄに示すグラフなどを表示してもよい。
【００５１】
図２は、上記したデータ処理装置の概略動作を示すフローチャートである。これから説明する各種フローチャートでは、各ブロックをステップと称している。しかしそれに限らずこのフローチャートを、データ処理装置の処理ブロックの結合状態と見なしてもよい。この場合には、ハードウエアによる処理ブロック（メモリを含む場合もある）として例えば、手段、処理部、機能部等に置き換えて解釈できる。
【００５２】
図２におけるパラメータの設定ステップＳ２０１では、前述した設定部１０３内部で各パラメータ値（係数値）が設定される。
次の複数変数の初期設定ステップＳ２０２では、第１変数ｘｉ第２変数ｙｉの初期値を設定する。例えば乱数を使って“０”に近い微小な値に初期化する。ここでステップＳ２０１とＳ２０２の順序は入れ替わってもよいし、並列であってもよい。
【００５３】
データ処理装置３００内での漸化式を利用した計算処理が繰り返される。Ｎ個ずつの第１変数ｘｉと第２変数ｙｉの各値が算出されるまでの計算処理が、変数の計算ステップＳ２１０に対応する。またこの計算途中で得られた値を２値化してもよい。すなわちアナログ値として得られたｉ番目の第１変数ｘｉの値が“０以上（あるいは０未満）”の時、２値化処理した後の値を“＋１（あるいは−１）”に変換してもよい。
【００５４】
ここで最終的に得られた第１変数ｘｉと第２変数ｙｉの最適解を第８式に代入して評価関数Ｈ’の値を計算するステップが、関数の算出ステップＳ２２０に相当する。
またここで得られた関数値の出力処理が、関数の出力ステップＳ２３０に対応する。この関数の出力ステップＳ２３０ではそれに限らず、最終的に得られた第１変数ｘｉと第２変数ｙｉの最適解の値を出力してもよい。
【００５５】
図３Ａは、図２に示す変数の計算ステップＳ２１０内の具体例を示す。初期化ステップＳ１０１では、前述した設定部１０３内で各パラメータｔ、ｐ、ａの値を初期化する。
第７式に基付く漸化式を使って第２変数ｙｉの途中解（計算の途中過程で算出される変数値）を逐次算出する。この計算の繰り返し回数ｔ（計算の繰り返し計算毎の経過時間）毎に順次、ｐ、ａの値を変化（増加）させる。
【００５６】
具体的な一例として初期化ステップＳ１０１において、ｔ＝０の時点でパラメータｐとａの値を共に“０”に設定する。そして例えば第５式（但しＫ＝１とする）の関係に従ってパラメータｐとａの値をステップＳ１０６の判定が「いいえ」になる前まで、連動して増加させる。ところでステップＳ１３０内で記載される“sqrt()”関数は、第５式内の１／２乗根を英語表現した Square Root を意味する。そして最終的なｔ＝Ｔの時点で、ｐ＝ａ＝１と設定する。
【００５７】
こうしてｔ＝０からｔ＝Ｔに至る途中過程で順次ｐとａの値を増加させ、その度に漸化式を使った第１変数ｘｉと第２変数ｙｉの途中解を逐次算出する。この繰り返し計算過程のチェック部を、ｔ＜ＴとしてステップＳ１０６で表示している。
【００５８】
ステップＳ１１０では第６式に基付き、第１変数ｘｉの差分値を“ｄｔ・Ｄ・ｙｉ”（この計算式を第１関数と呼ぶ）で計算する。次にステップＳ１２０では第７式に基付き、第２変数ｙｉの差分値を計算する。
【００５９】
ここで第７式の右辺第５項に記載した相関係数Ｊｉｊを含む計算は、マトリックス演算（Ｊ行列の演算処理）を必要とし、計算量が大きくなる。そのためステップＳ１２０内を、ステップＳ１２１とステップＳ１２２に分割して表示している。すなわち第７式右辺の第１項〜第４項に基付き、ステップＳ１２１では第２関数を“ｄｔ・［（ｐ−Ｄ−ｘｉ・ｘｉ）・ｘｉ−ｃ・ｈｉ・ａ］”として計算する。そして次に第７式の右辺の第５項に基付き、ステップＳ１２２では第３関数を“ｄｔ・ｃ・Σｊ＝１Ｎ（Ｊｉ，ｊ・ｘｊ）”として計算する。
【００６０】
ここでｄｔは、時間ｔの１ステップあたりの増加量を示す。またｄｐは、パラメータｐの１ステップあたりの増加量を示す。そして更新ステップＳ１３０で、時間ｔおよびパラメータｐとａの更新を行う。すなわち、更新前のｔにｄｔを加えて得られる値を更新後のｔとする。また更新前のｐにｄｐを加えて得られる値を更新後のｄｐとする。
【００６１】
本実施形態としてはそれに限らず、例えばステップＳ１１０と、ステップＳ１２０の処理順序が入れ替わってもよい。
第６式や第７式に基付く漸化式を利用して行うデータ処理装置３００内の計算処理を可視化した説明図を、図３Ｂと図３Ｃに示す。ここで図３Ｂは、漸化式の基本概念を示す。また漸化式を利用して逐次算出する第１変数ｘｉと第２変数ｙｉの途中解の変化を、図３Ｃが示す。
【００６２】
図３Ｂ内の（３Ｅ１）式と（３Ｅ４）式に、第６式と第７式をそのまま転記した。  
また（３Ｅ１）式と（３Ｅ４）式の左辺に記述した第１変数ｘｉと第２変数ｙｉの時間微分の式を、途中解を含む形で（３Ｅ２）式の左辺と（３Ｅ４）式の中辺に書き下した。
【００６３】
図３Ａ内のステップＳ１０６では、繰り返し計算の経過時間（計算の繰り返し回数）をｔで表している。そして“ｔ＝ｍ”における第１変数ｘｉと第２変数ｙｉの途中解の値をそれぞれ、ｘｍｉ、ｙｍｉと記述する。
ここでは異なる時間（または繰り返し計算回数）ｔにおける途中解間の関係式を漸化式と呼ぶ。この漸化式の具体例が、（３Ｅ２）式（あるいは（３Ｅ３）式）と（３Ｅ４）式に対応する。図３Ｂでは“ｔ＝ｍ”における変数の途中解ｘｍｉ、ｙｍｉと、“ｔ＝ｍ＋１”における変数の途中解ｘｍ＋１ｉ、ｙｍ＋１ｉとの関係を示している。そしてこの漸化式を利用して、既に算出された途中解の値ｘｍｉとｙｍｉから、次の途中解の値ｘｍ＋１ｉ、ｙｍ＋１ｉを算出する。
【００６４】
具体的には（３Ｅ２）式を変形して得られた（３Ｅ３）式の右辺に予め算出された途中解の値ｘｍｉとｙｍｉを代入すると、次の途中解の値ｘｍ＋１ｉが求まる。同様に（３Ｅ４）式から、次の途中解の値ｙｍ＋１ｉが求まる。
【００６５】
このように算出された途中解の値ｘｍ＋１ｉ、ｙｍ＋１ｉから、次の途中解の値ｘｍ＋２ｉ、ｙｍ＋２ｉが算出できる。
【００６６】
図３Ｃは、上記漸化式を利用してデータ処理装置３００の演算部２００内で逐次算出される、途中解の変化状況をモデル化して示している。このデータ処理装置３００内の設定部１０３が最初に、変数ｘ１〜ｘＮ、ｙ１〜ｙＮを準備する。次に、変数ｘ１〜ｘＮ、ｙ１〜ｙＮが初期化される。データ処理装置３００内の上記までの処理が、図２の変数の設定ステップＳ２０２に対応する。
【００６７】
この初期化の例として、説明を簡略するため例えば全ての変数ｘ１〜ｘＮ、ｙ１〜ｙＮの初期値を“０”に設定したものとして説明する。図３Ｃの例では、初期値（最初の途中解）はｘ０１〜ｘ０Ｎ、ｙ０１〜ｙ０Ｎで記載される。
【００６８】
そして上記の初期値ｘ０１〜ｘ０Ｎ、ｙ０１〜ｙ０Ｎを使用し、図３Ｂで説明した漸化式に則って次の途中解のセットｘ１１〜ｘ１Ｎ、ｙ１１〜ｙ１Ｎを算出する。その後、更に次の途中解のセットｘ２１〜ｘ２Ｎ、ｙ２１〜ｙ２Ｎを算出する。この繰り返し計算は図３ＡのステップＳＳ１０６が示すように、“ｔ＝Ｔ”の段階で終了する。
【００６９】
本実施形態例は上記に限定されず、下記に示すさらに発展させた具体的実施形態を提供するものである。一般の組合せ最適化問題は、制約条件をもつことが多い。このため（８）式に示すデータ処理が行われる場合に、制約条件を制約条件項（後述する）として評価関数Ｈに追加することにする。それにより制約違反を回避できる効果が生まれる。なお以下の説明では第１変数としてｘｉの代わりにｓｉを使用するが、両者は実質的に同一の第１変数を意味する。
【００７０】
ここで制約条件項の作り方を説明するため、組合せ最適化問題の例として巡回セールスマン問題を取り上げる。これは有名な組合せ最適化問題で、その内容は次の通りである。一人のセールスマンが、あらかじめ決められた複数の訪問先を、一箇所につき一回ずつ、すべて訪問しなければならないとする。この制約条件の下で、移動距離の合計が最小となるような訪問順序を決めることが、巡回セールスマン問題の内容である。
【００７１】
この問題をイジング問題に変換してから解く場合、移動距離だけでなく、制約条件項を評価関数に組み込む必要がある。制約条件項とは、たとえば「ある訪問先を一回も訪れない」などといった、条件を満たさない組合せ（ここでは訪問順序）に対して大きな値をとるように設計された項である。制約条件項も含めて評価関数の最小化を行うことにより、制約条件を満たしつつ、その範囲内で距離が最小となるような解を見つけられるようにする。これが制約条件項を作る目的である。
【００７２】
具体的な例として、２０軒の家を一人のセールスマンが巡回することを想定し、４００個のスピンを持つイジングモデルを利用して訪問順序を決めることを考える。
【００７３】
まず、２０軒の家に１から２０までの番号を振り、番号ｉの家をｊ番目に訪問するか否かを、（２０ｉ−２０＋ｊ）番目のスピンで表現することにする。すなわち、そのスピンの値が１であれば番号ｉの家をｊ番目に訪問し、−１であればそうしないということに決める。
【００７４】
このようにすると、「番号１の家を訪問する回数がちょうど１である（すなわち、いずれかの時点で必ず訪問し、かつ、２回以上は訪問しない）」という制約は、「ｓ１からｓ２０までの２０個のスピンの合計が−１８である」、すなわち「Σｉ＝１２０ｓｉ＋１８＝０が成り立つ」という形で表現できる。
【００７５】
次に、イジングモデルを表す第１式が２次式であることを考慮して、この制約をさらに「（Σｉ＝１２０ｓｉ＋１８）２ が最小である」と解釈し直す。この（Σｉ＝１２０ｓｉ＋１８）２という項が、上記の制約条件に対応した制約条件項となる。実際にはさらに、他の項とのバランスを考慮して、係数の調整を行う場合がある。
【００７６】
以上からわかるように、制約条件項の設計においては、スピンｓｉの値が正確に１または−１という整数になることを利用する。しかし、本実施形態では、スピンｓｉの値を決めるために、まず微分方程式を解いて変数ｘiの値を計算した後に、その最終値の符号だけを用いる。
【００７７】
ところが、古典分岐マシンには制約条件を守るための直接的な仕組みは組み込まれていないため、ｘiが理想的な値からずれることがある。そのような理想的な値からずれたｘiからスピンｓｉの値を決めると、その結果が制約を満たさない場合がある。
【００７８】
ここで変数ｘｉの理想的な値は、±ａ（ｔ）となる。これはａ（ｔ）を定数と見なした場合の固定点（振動の成分を除いた、時間変化しない値）に相当する。このことは以下のように説明できる。
【００７９】
【数９】
2020119108.tif 000011
【００８０】
上記第９式（第7式に同じ）の右辺を０と置くと以下の第10式が得られる。固定点におけるｘｉの値は、そのコンデンサとして求められる。
【００８１】
【数１０】
2020119108.tif 000012
【００８２】
ここで、行列Ｊの最大固有値λｍａｘを使って定数ｃを
【００８３】
【数１１】
2020119108.tif 000013
【００８４】
c=D/lmax                                  
とするものとすると、レイリー商
【００８５】
【数１２】
2020119108.tif 000014
【００８６】
の最大値がλｍａｘとなることから、ｘがその最大値を与える点の近傍にある場合は、
【００８７】
【数１３】
2020119108.tif 000015
【００８８】
が成り立つ。さらに
【００８９】
【数１４】
2020119108.tif 000016
【００９０】
という方程式を考えると、この式の根は
【００９１】
【数１５】
2020119108.tif 000017
【００９２】
の３つである。
【００９３】
ただし、ｘｉ＝０は不安定な固定点であるため、残るのはｘｉ＝＋ａ（ｔ）、ｘｉ＝−ａ（ｔ）のいずれかである。
【００９４】
ｈ＝０の場合については、第１３式、第１４式の両方を満たす点は、第１０式も満たすから、それは第９式の固定点である。古典分岐マシンの動作点ｘが概ねこの固定点の近傍にとどまることは、実験により確認できた。この固定点が第１３式を満たすということは、この点は、第１３式、第１４式及び
【００９５】
【数１６】
2020119108.tif 000018
【００９６】
をほぼ最小にする点でもある。つまり、第９式の動作点 ｘは
【００９７】
【数１７】
2020119108.tif 000019
【００９８】
という点を探し当てていることになる。
【００９９】
【数１８】
2020119108.tif 000020
【０１００】
の場合であっても、上記からの類推で、
【０１０１】
【数１９】
2020119108.tif 000021
【０１０２】
を満足するようなｘｉ＝＋ａ（ｔ）、ｘｉ＝−ａ（ｔ）は、固定点の条件を満足すると同時に、
【０１０３】
【数２０】
2020119108.tif 000022
【０１０４】
を満たす点と考えられる（厳密にはｃの値を調整する場合もある）。
以上からわかるように、ｘｉの理想的な値は±a(t) で表される。本実施形態では上記の観察に基づいてｘｉの値が ±a(t)からずれた場合にそれを戻そうとするものである。なお、以降の説明では定数Ｋを1とみなすことでa(t)＝sqrt(p(t))となっているため、理想の値は 
【０１０５】
【数２１】
2020119108.tif 000023
【０１０６】
とも表記できる。
【０１０７】
上記の具体的処理方法を、図４Ａから図９に示す。ここで図３Ａと共通する処理ステップに対しては、図３Ａと同じステップ番号を設定する。図４ＡではステップＡＳ１０６からループ帰還した直後に、上記波形補正手続き（微小補正）ステップＳ１２５を挿入する。
【０１０８】
すなわち上記波形補正手続き（微小補正）ステップＳ１２５内の前半のステップＳ１２３で、第１変数ｘｉの途中解が許容範囲内にあるかどうかを判定する。もし許容範囲内であれば、ステップＳ１１０に移行して第１関数の処理を行う。ここで許容範囲からずれていれば、ステップＳ１２４に移行する。
【０１０９】
この波形補正（微小補正）ステップＳ１２４で途中解ｘｍｉに対して補正処理を行う。この波形補正（微小補正）処理が完了した後、ステップＳ１１０に進む。このように波形補正（微小補正）ステップＳ１２５の動作は単なるソフト上の処理ステップに限らず、図１の演算部２００内の補正処理部（図示してない）として設置されてもよい。
【０１１０】
一方で図４Ｂでは、漸化式を用いた繰り返し計算の途中で、上記波形補正手続き（微小補正）ステップＳ１２５が挿入される。
【０１１１】
図５は、さらに具体的な実施形態によるデータ処理装置３００を示している。このデータ処理装置３００では、補正処理部（ステップＳ１２５）内で具体的にどのような計算を行っているかを示している。今までは途中解に対する許容範囲として、“−sqrt(ｐ(ｍ))＜ｘｍｉ＜sqrt(ｐ(ｍ))”を設定した。それに対して図５の実施例では、“−sqrt(ｐ(ｍ))＞ｘｍｉ”と“ｘｍｉ＞sqrt(ｐ(ｍ))”を許容範囲に設定している。
【０１１２】
ここで図５の全体的なブロック構成は基本的に、前述した図４Ａと一致する。従って補正処理部（ステップＳ１２５）は、ステップＳ１０６からループ帰還した位置に配置されている。この補正処理部（ステップＳ１２５）内で行う判定ステップＳ１２３では、第１変数ｘｉの途中解の二乗値が、ｐ＞０以下か否かを判定する。判定ステップＳ１２３内の判定結果として“ｘｉ２≦ｐ”の場合には、第１変数ｘｉの途中解ｘｍｉが２個の極小点の間に存在する。
【０１１３】
そして波形補正（微小補正）ステップＳ１２４内での具体的補正方法として、第１変数ｘｉの現存の途中解に所定の微小値を掛けた値を現存の途中解に加算して補正を行う。即ちｘｉ＋＝ｄｔ・ｘｉの計算を行う。
【０１１４】
上記の補正処理部（ステップＳ１２５）を設ける場合、以下の点に注意することが好ましい。即ち、
（１）上記データ処理装置３００の動作開始時の早い時点においては、第１変数ｘｉに関する途中解の値が許容範囲に含まれるようにステップＳ１２３を設計することが好ましい、
（２）また上記データ処理装置３００の動作開始時の早い時点においては、第１変数ｘｉに関する途中解の値が与える影響が小さくなるようにステップＳ１２４を設計することが好ましい。
（３）また動作時間ｔに応じて、ステップＳ１２３とＳ１２４の動作が変化するように（動作モードが変化するように）設計してもよい。
（４）また、sqrt(ｐ(ｔ)の変わりに、ａ（ｔ）を用いてもよい。
【０１１５】
さらに上記に限らず、図５に示した補正処理部（ステップＳ１２５）は、図４Ｂで示した補正処理部Ｓ１２５と同じ位置に配置してもよいことは勿論である。
【０１１６】
図６は、別の実施形態によるデータ処理装置３００を示している。このデータ処理装置３００では、補正処理部（ステップＳ１２５）が行う計算の他の例を示す。図６の全体的なブロック構成は、先の図４Ａと同じである。したがって、補正処理部（ステップＳ１２５）は、ステップＳ１０６からループ帰還した位置に配置されている。この実施形態において、補正処理部（ステップＳ１２５）では、今まで説明した内容とは異なる許容範囲を設定している。
【０１１７】
即ち図６に示す補正処理部（ステップＳ１２５）では、ｘｉ２とをｐ、ｐ／３と比較する。ここで“ｘｉ２≦ｐ”の状態は、第１変数ｘｉの途中解ｘｍｉが２個の極小点の間に存在する。さらに“ｘｉ２≧ｐ／３”の状態は、第１変数ｘｉの途中解ｘｍｉが２個の極小点のいずれかに近接する状態を示している。
【０１１８】
そして両者が合致した時に、上記と同様の波形補正（微小補正）ステップＳ１２４を実施する。即ちｘｉ＋＝ｄｔ・ｘｉの計算を行い、次のステップＳ１１０に進む。しかし“ｘｉ２＜ｐ／３”の時は、波形補正（微小補正）は行わない。なお、図６に示した補正処理部（ステップＳ１２５）は、図４Ｂで示した補正処理部Ｓ１２５と同じ位置に配置してもよい。
【０１１９】
図７は、また別の実施形態によるデータ処理装置３００を示している。このデータ処理装置３００では、補正処理部（ステップＳ１２５）が行う計算の他の例を示している。図７の全体的なブロック構成は、先の図４Ａと同じである。したがって、補正処理部（ステップＳ１２５）は、初期化ステップＳ１０１の次に配置されている。この実施形態において、補正処理部（ステップＳ１２５）内の判定ステップＳ１２３での許容範囲は、“−sqrt(ｐ(ｍ))＜ｘｍｉ＜sqrt(ｐ(ｍ))”と設定している。ここで繰り返し計算過程内のｍ番目（ｔ＝ｍ時）の途中解に対する理想特性を、“ｘｍｉ＝±sqrt(ｐ(ｍ))”で表している。
【０１２０】
この時は波形補正（微小補正）ステップＳ１２４内で、“ｘｉ＋＝ｄｔ・ｘｉ”の計算を行う。ここで図７に示した補正処理部（ステップＳ１２５）は、図４Ｂで示した補正処理部Ｓ１２５と同じ位置に配置してもよい。
【０１２１】
図８は、また別の実施形態によるデータ処理装置３００を示している。このデータ処理装置３００は、補正処理部Ｓ１２５として図５と図７に示したものが組合せられた実施形態である。この２つの補正処理部Ｓ１２５の動作は、図５と図７とで説明した通りである。２つの補正処理部Ｓ１２５は、ステップＳ１０１の次に配置されてもよいし、漸化式を用いた繰り返し計算の途中ステップＳ１２１の次或いは前に配置されても問題はない。
【０１２２】
図９は、さらにまた別の実施形態によるデータ処理装置３００を示している。このデータ処理装置３００は、補正処理部Ｓ１２５として図６と図８に示したものが並列に組合せられた実施形態である。この２つの補正処理部Ｓ１２５の動作は、図６と図８とで説明した通りである。２つの補正処理部Ｓ１２５は、ステップＳ１０１の次に配置されてもよいし、漸化式を用いた繰り返し計算の途中ステップＳ１２１の次或いは前に配置されても問題はない。
【０１２３】
上記実施形態の観点をまとめてみる。まずデータ処理装置３００としては、入力装置１０１と演算部２００と出力装置１０２とを備える。
【０１２４】
＜観点Ａ１＞前記入力装置１０１は、少なくとも第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を設定できる。演算部２００は、図３Ｂ，図３Ｃで説明したように漸化式を用いた処理を行う。
【０１２５】
即ち演算部２００は、少なくとも前記第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を漸化式に基づき第１処理し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき第２処理し、さらに、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき第３処理計するというように、順次第Ｍセット（Ｍは正の整数）までを巡回的に処理する。
【０１２６】
演算部２００は上記計算を行う場合、図４Ａ乃至図９Ｂで説明したように、任意のセットにおいて得られた変数（ｘｉ）が特定値から所定値以上ずれていることを判定する判定部と、前記ずれている場合には、このずれた変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する変数（ｘｉ）として準備する補正部を含むのである。これにより、変数の＋１或いは−１への収束を早め収束可能とするものである。
【０１２７】
＜観点Ａ２＞観点Ａ１において、前記特定値は、前記漸化式における係数の値ｐに対応する。
【０１２８】
＜観点Ａ３＞観点Ａ１において前記判定部は、変数（ｘｉ）が特定値から所定値以上ずれており、さらにずれ量が許容範囲よりも大きいかどうかを判定し、許容範囲内であれば前記微小補正を省略する。
【０１２９】
＜観点Ａ４＞観点Ａ１において前記判定部は、変数（ｘｉ）が特定値から所定値以上負方向又は正方向の何れか一方にずれており、さらにずれ量が許容範囲よりも大きいかどうかを判定し、許容範囲内であれば前記微小補正を省略する。一方で前記許容範囲内で無い場合は、前記微小補正を正方向又は負方向のいずれか一方に行う。
【０１３０】
＜観点Ｂ１＞処理方法又はプログラムであって、入力装置１０１は少なくとも第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を設定することができ、演算部２００は図３Ｂ、図３Ｃで説明したように漸化式を用いた処理を行う。
【０１３１】
前記演算部２００が、少なくとも前記第１セットの変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）を漸化式に基づき第１処理として計算し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算し、さらに、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）を漸化式に基づき計算するというように、順次第Ｍセット（Ｍは正の整数）までを計算し、
さらに演算部２００が上記計算を行う場合、図４Ａ乃至図９Ｂで説明したように任意のセットにおいて得られた変数（ｘｉ）が特定値から所定値以上ずれていることを判定する。この判定結果としてずれている場合には、このずれた変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する変数（ｘｉ）として準備する、処理方法又はプログラムを提供できる。
【０１３２】
＜観点Ｃ１＞データ処理装置３００としては、入力装置１０１と演算部２００と出力装置１０２とを備える。前記入力装置１０１は、少なくとも第１セットの第１変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）、第２変数（ｙｉ＝ｙ１１〜ｙ１Ｎ）を設定できる。前記第１変数は複数の対象物であり、前記第２変数はそれぞれ前記複数の対象物の中で、２つを組合せたペア対象物間の相互係数（Ｊｊｉ）を含む。
【０１３３】
演算部２００は、図３Ａ、図３Ｂ，図３Ｃで説明したように漸化式を用いた処理を行う。
【０１３４】
即ち演算部２００は、少なくとも前記第１セットの第１変数（ｘｉ＝ｘ１１〜ｘ１Ｎ）、第２変数（ｙｉ＝ｙ１１〜ｙ１Ｎ）を漸化式に基づき第１処理し、前記第１処理で得られた少なくとも第２セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ）、第２変数（ｙｉ＝ｙ２１〜ｙ２Ｎ）を漸化式に基づき第２処理し、さらに、前記第２処理で得られた少なくとも第３セットの変数（ｘｉ＝ｘ２１〜ｘ２Ｎ），第３変数（ｙｉ＝ｙ３１〜ｙ３Ｎ）を漸化式に基づき第３処理計するというように、順次第Ｍセット（Ｍは正の整数）までを巡回的に処理する。
【０１３５】
演算部２００は上記計算を行う場合、図４Ａ乃至図９Ｂで説明したように、任意のセットにおいて得られた第１変数（ｘｉ）が特定値から所定値以上ずれていることを判定する判定部と、前記ずれている場合には、このずれた第１変数（ｘｉ）を前記特定値に近づくように微小補正して、次のセットで計算する第１変数（ｘｉ）として準備する補正部を含む。これにより、第１変数の＋１或いは−１への収束を早め収束可能とする。
【０１３６】
ここで前記複数存在する第１変数の中の少なくとも一部は、１つまたは複数の注目対象物（対象物は予め決められていてもよいし、新規検出されたものでもよい）に対応しても良いしあるいは、何らかの方法で事前に選択（又は指定）された所定対象物に対応しても良い。
【０１３７】
そして前記演算部２００内で行う漸化式を用いた繰り返し計算処理の過程で、評価関数Ｈの関数値が最小（又は最大）となった状態から、第１変数ｘｉと第２変数ｙｉの収束状態を検知しても良い。そしてその収束値に基付き、前記所定対象物と前記注目対象物との関係を示した関連データを生成して出力してもよい。
【０１３８】
＜観点Ｃ２＞
前記関連データとしては、例えば、所定対象物（出発位置、警察署位置、消防署位置）から注目対象物（例えば巡回先位置、発火先位置、トラブル先位置）までを一連に連結したルートを決めるためのルート対象物を前記所定対象物の中から特定したデータであってもよい。
【０１３９】
＜観点Ｃ３＞
また前記関連データの他の例としては、前記注目対象物（例えば巡回先位置、発火先位置、トラブル先位置）に対して、最適となる所定対象物（出発位置、警察署位置、消防署位置）の配備対象物を前記所定対象物の中から特定したデータであってもよい。
【０１４０】
＜観点Ｃ４＞
前記観点Ｃ１〜Ｃ４の前記関連データは、携帯端末の表示部に送信されてもよい。
【０１４１】
図１０は、演算部における評価関数の処理過程（漸化式の繰り返し処理過程）において、漸化式の繰り返し計算処理回数ｔと第１変数ｘｉ関する途中解の値との関係を示している。
【０１４２】
特に図１０では、補正処理部Ｓ１２５が無い場合の各セット（変数ｘｉ〜ｘＮ）の繰り返し計算処理を行い、各第１変数の途中解の値に関する軌跡（ｘ１１〜ｘ１Ｎ，ｘ２１〜ｘ２Ｎ，ｘ３１〜ｘ３Ｎ，・・・・ｘＭ１〜ｘＭＮ）を描いている。図１０から明らかなように、第１変数ｘｉの途中解の値が“a（ｔ）”或いは“−a（ｔ）”に収束し辛い状況となっている。つまり５００回の漸化式の繰り返し処理を行っても“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）” に向けて収束して無い。
【０１４３】
一方で図１１Ａ〜図１１Ｄは、補正処理部Ｓ１２５を設けた場合の各第１変数ｘｉに関する途中解の値の軌跡（ｘ１１〜ｘ１Ｎ，ｘ２１〜ｘ２Ｎ，ｘ３１〜ｘ３Ｎ，・・・・ｘＭ１〜ｘＭＮ）を描いている。
【０１４４】
図１１Ａは、図５に示した実施形態の補正処理部Ｓ１２５を使用した場合の、繰り返し計算処理結果を示す。５０回程度の漸化式の繰り返し計算処理段階では、“−０．５＜ｘｍｉ＜＋０５”の範囲でｘｍｉがばら付いて収束していない。しかし漸化式の繰り返し計算処理が２００回程度を過ぎると、ｘｍｉは、“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）”に良好な状態で収束した。
【０１４５】
図１１Ｂは、図６に示した実施形態の補正処理ブロックＳ１２５を備える計算部よる処理結果である。この実施形態によると、２００回程度の漸化式の繰り返し処理の段階では、−０．５＜ｘｉ＜＋０５の範囲でｘｉがばらつき収束していないが、例えば２００回程度を過ぎた漸化式の繰り返し処理の段階になると、途中解の値ｘｍｉは、“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）” に向けて良好な状態で収束した。
【０１４６】
図１１Ｂに示す計算結果は、２００回程度を過ぎた頃に補正処理の効果が表れる。つまりこの補正処理の効果は計算開始直後には現れず、繰り返し計算処理の初期段階での最適解探索の動作を阻害しない。従って大局的最小値の探索には有効性が期待できる。
【０１４７】
図１１Ｃは、図５、図７の実施形態の補正処理部Ｓ１２５を組合せて使用した場合の計算処理結果を示している。この方式では、漸化式を用いた繰り返し計算処理の初期段階で途中解が想定値に近付く。そして例えば漸化式を用いた繰り返し計算処理が２００回程度を過ぎた段階で、途中解がスムーズに“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）”に収束した。従って実行可能解を探すことを優先する場合には、この実施形態の有利性が期待できる。
【０１４８】
図１１Ｄは、図６，図８の実施形態の補正処理部Ｓ１２５を組合せて使用した場合の繰り返し計算処理結果を示す。
【０１４９】
この実施形態では例えば、漸化式を用いた繰り返し計算処理が３４０回程度を過ぎた段階で、途中解がスムーズに“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）”に収束する傾向がある。このような特徴を備えるので、この実施形態では、第１変数ｘｉの途中解の値が“ｘｍｉ＝a（ｔ）”或いは“ｘｍｉ＝−a（ｔ）”に決まる時期を遅らせる挙動がある。
【０１５０】
上記したようにデータ処理装置３００における途中解の収束特性は、実施形態毎に特徴的な挙動示す。従って図５〜図９Ｂに示す各種の補正処理部Ｓ１２５を複数用意し、使用目的に応じて任意に組合せたり、切り離したりして使用してもよい。それにより、融通性のあるシステムを提供できる効果が生まれる。
【０１５１】
上記したシステムは、種々の分野において、組合せ最適解を求める装置に適用可能である。また評価関数Ｈに対して係数を与えるための係数設定器、変数に対して属性情報を付加する属性情報処理器などが演算部２００に対して直接あるいは、ネットワークを介して接続されてもよい。係数や属性情報は、本システムを利用する環境や目的に応じて任意に設定されるものである。例えば係数ｐ、ｃ、ｈなどは、自動或いは任意に変更できる（或いは切り替えできる）ように係数設定器が構成されてもよい。また変数に対する属性情報や本システムを利用する環境や目的に応じて、任意の変数に関する途中解の値を“＋１”或いは“−１”に強制的に設定し
てもよい。
【０１５２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。さらにまた、請求項の各構成要素において、構成要素を分割して表現した場合、或いは複数を合わせて表現した場合、或いはこれらを組合せて表現した場合であっても本発明の範疇である。また、複数の実施形態を組合せてもよく、この組合せで構成される実施例も発明の範疇である。
【０１５３】
本明細書と各図において、同一又は類似した機能を発揮する構成要素には同一の参照符号を付し、重複する詳細な説明を適宜省略している。
また請求項を制御ロジックとして表現した場合、コンピュータを実行させるインストラクションを含むプログラムとして表現した場合、及び前記インストラクションを記載したコンピュータ読み取り可能な記録媒体として表現した場合でも本発明の装置を適用したものである。また、使用している名称や用語についても限定されるものではなく、他の表現であっても実質的に同一内容、同趣旨であれば、本発明に含まれるものである。
【符号の説明】
【０１５４】
１０１・・・入力部、１０２・・・出力部、１０３・・・設定部、１０４・・・操作部、１０５・・・表示部、２００・・・演算部、２０１・・・プロセッサ、２０２・・・プログラムメモリ、２０３・・・ＲＡＭ（記憶装置）、２１１・・・イメージ処理部、２１２・・・通信部、３００・・・データ処理装置、３００Ａ−３００Ｃ・・・サーバ、３０１・・・ネットワーク、３１１・・・パーソナルコンピュータ、３１２・・・携帯端末（スマートフォーンなど）。
【図１】
2020119108.tif 000024
【図２】
2020119108.tif 000025
【図３Ａ】
2020119108.tif 000026
【図３Ｂ】
2020119108.tif 000027
【図３Ｃ】
2020119108.tif 000028
【図４Ａ】
2020119108.tif 000029
【図４Ｂ】
2020119108.tif 000030
【図５】
2020119108.tif 000031
【図６】
2020119108.tif 000032
【図７】
2020119108.tif 000033
【図８】
2020119108.tif 000034
【図９】
2020119108.tif 000035
【図１０】
2020119108.tif 000036
【図１１Ａ】
2020119108.tif 000037
【図１１Ｂ】
2020119108.tif 000038
【図１１Ｃ】
2020119108.tif 000039
【図１１Ｄ】
2020119108.tif 000040