JPH08272760A - 非線形最適化並列処理方法 - Google Patents
非線形最適化並列処理方法Info
- Publication number
- JPH08272760A JPH08272760A JP7096211A JP9621195A JPH08272760A JP H08272760 A JPH08272760 A JP H08272760A JP 7096211 A JP7096211 A JP 7096211A JP 9621195 A JP9621195 A JP 9621195A JP H08272760 A JPH08272760 A JP H08272760A
- Authority
- JP
- Japan
- Prior art keywords
- search
- processing
- processing device
- local
- solution
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【目的】 ニューラルネットワークの学習などで頻出す
る多峰性非線形関数の最適化問題を並列計算機で効率的
に解く方法を提供することにある。 【構成】 各処理装置において、探索系統の初期値設定
(411)し、探索点更新(412)をし、該探索点での探索値評
価(413)をし、該探索値が局所解か否か判定(414)し、判
定が否のとき前記探索点更新(412)に戻すか否か判定(41
5)するフェーズ1と、フェーズ1の全処理装置で局所解
が得られた時、比較対となる処理装置の組を夫々選択
し、比較対の局所解の優劣比較をし、劣性の局所解を得
た探索系統の新探索点を設定し関連処理装置のフェーズ
1に戻す処理(701)と、劣性の局所解がないとき局所解
を全て比較し、全て一致するとき、その局所解を大域最
適解として出力し、一致しないとき局所解を得た各探索
系統の新探索点を設定し各関連処理装置のフェーズ1に
戻す処理(702)からなるフェーズ2を行なう。
る多峰性非線形関数の最適化問題を並列計算機で効率的
に解く方法を提供することにある。 【構成】 各処理装置において、探索系統の初期値設定
(411)し、探索点更新(412)をし、該探索点での探索値評
価(413)をし、該探索値が局所解か否か判定(414)し、判
定が否のとき前記探索点更新(412)に戻すか否か判定(41
5)するフェーズ1と、フェーズ1の全処理装置で局所解
が得られた時、比較対となる処理装置の組を夫々選択
し、比較対の局所解の優劣比較をし、劣性の局所解を得
た探索系統の新探索点を設定し関連処理装置のフェーズ
1に戻す処理(701)と、劣性の局所解がないとき局所解
を全て比較し、全て一致するとき、その局所解を大域最
適解として出力し、一致しないとき局所解を得た各探索
系統の新探索点を設定し各関連処理装置のフェーズ1に
戻す処理(702)からなるフェーズ2を行なう。
Description
【0001】
【産業上の利用分野】本発明は、複数の処理装置により
非線形最適化問題の大域最適解を得る非線形最適化並列
処理方法に関する。ここで、非線形最適化問題とは、多
峰性関数−すなわち、極大・極小値を多数持つ非線形関
数−における大域的な最大あるいは最小値を求める問題
のことであり、非線形計画法の基礎になる。さらに、非
線形最適化問題は、近年脚光を浴びているニューラルネ
ットワークシステム(以下、NN)における学習問題の
根幹をなす。
非線形最適化問題の大域最適解を得る非線形最適化並列
処理方法に関する。ここで、非線形最適化問題とは、多
峰性関数−すなわち、極大・極小値を多数持つ非線形関
数−における大域的な最大あるいは最小値を求める問題
のことであり、非線形計画法の基礎になる。さらに、非
線形最適化問題は、近年脚光を浴びているニューラルネ
ットワークシステム(以下、NN)における学習問題の
根幹をなす。
【0002】
1.非線形最適化問題 1.1 非線形最適化問題 一般に、ある条件の下で要求を満たす最適解を求める問
題を最適化問題あるいは計画問題という。このような問
題は、システムの設計からポートフォリオまであらゆる
分野に現れる問題である。この最適化問題のうち、非線
形最適化問題は「着目する要求」を評価する評価関数を
設定し、それを最大にする解を求める問題として一般化
できる。例えば、ポートフォリオなら、得られる利益を
評価関数として表現し、それを最大にする銘柄の投資額
を解とすればよい。なお、一般に評価関数が非線形関数
になることから、このような最適化問題は「非線形最適
化問題」あるいは「非線形計画問題」と呼ばれる。
題を最適化問題あるいは計画問題という。このような問
題は、システムの設計からポートフォリオまであらゆる
分野に現れる問題である。この最適化問題のうち、非線
形最適化問題は「着目する要求」を評価する評価関数を
設定し、それを最大にする解を求める問題として一般化
できる。例えば、ポートフォリオなら、得られる利益を
評価関数として表現し、それを最大にする銘柄の投資額
を解とすればよい。なお、一般に評価関数が非線形関数
になることから、このような最適化問題は「非線形最適
化問題」あるいは「非線形計画問題」と呼ばれる。
【0003】1.2 NNにおける非線形最適化問題 「多峰性非線形関数の最適化問題」は、NNの学習問題
で特に重要である。そこで、簡単にNNについて説明す
る。NNは、図1(a)に示されるようなニューロン素
子をネットワーク状に結合したものである。このニュー
ロン素子の特性は、
で特に重要である。そこで、簡単にNNについて説明す
る。NNは、図1(a)に示されるようなニューロン素
子をネットワーク状に結合したものである。このニュー
ロン素子の特性は、
【0004】
【数1】
【0005】のように与えられることが多い。ネットワ
ーク結合のトポロジーも数多く存在するが、例えば図1
bのような階層型ネットワークが良く用いられる。階層
型ネットワークにおいて、入力の対応したニューロンの
層(以下、入力層)と出力に対応したニューロンの層
(以下、出力層)の間に、中間層と呼ばれるニューロン
の層により構成される。そして、各ニューロン素子の結
合係数ベクトルwの与え方で、ネットワークの性質−す
なわち、入力に対応する出力のパターンを変えることが
できる。言い換えれば、ネットワーク出力は、入力と結
合係数ベクトルwの関数になる。NNを機能させるため
には、手本となる入出力の対応関係を学習させなければ
ならない。このような学習方法では、Rumelhar
tによる誤差逆伝播法(以下、BP法)が有名である。
いま、図1(b)の3層の階層型NNを考える。BP法
においては、特定の入力が与えられた時、目標出力を得
るように結合係数ベクトルwを修正していく。すなわ
ち、入力を固定すると、NNの出力は結合係数ベクトル
wの関数で表現される。これと目標出力の二乗誤差
ーク結合のトポロジーも数多く存在するが、例えば図1
bのような階層型ネットワークが良く用いられる。階層
型ネットワークにおいて、入力の対応したニューロンの
層(以下、入力層)と出力に対応したニューロンの層
(以下、出力層)の間に、中間層と呼ばれるニューロン
の層により構成される。そして、各ニューロン素子の結
合係数ベクトルwの与え方で、ネットワークの性質−す
なわち、入力に対応する出力のパターンを変えることが
できる。言い換えれば、ネットワーク出力は、入力と結
合係数ベクトルwの関数になる。NNを機能させるため
には、手本となる入出力の対応関係を学習させなければ
ならない。このような学習方法では、Rumelhar
tによる誤差逆伝播法(以下、BP法)が有名である。
いま、図1(b)の3層の階層型NNを考える。BP法
においては、特定の入力が与えられた時、目標出力を得
るように結合係数ベクトルwを修正していく。すなわ
ち、入力を固定すると、NNの出力は結合係数ベクトル
wの関数で表現される。これと目標出力の二乗誤差
【0006】
【数2】
【0007】を評価関数とし、これを最小にするように
wを修正する。これは、いわゆる非線形最適化問題とな
る。この誤差評価関数は一般に多峰性の関数になる。従
って、単純な最急降下法などを用いると、局所最適解に
落ち込み、最適な重み係数が得られないことがある。こ
の問題は、NNにおける重要な問題の一つである。シミ
ュレーテッドアニーリング法(以下、SA法)あるいは
最近では遺伝的アルゴリズム(以下、GA法)のような
一種の確率的最適化法を用いるのが一般的であるが、計
算時間が膨大になる。この点については、以下で詳細に
示す。
wを修正する。これは、いわゆる非線形最適化問題とな
る。この誤差評価関数は一般に多峰性の関数になる。従
って、単純な最急降下法などを用いると、局所最適解に
落ち込み、最適な重み係数が得られないことがある。こ
の問題は、NNにおける重要な問題の一つである。シミ
ュレーテッドアニーリング法(以下、SA法)あるいは
最近では遺伝的アルゴリズム(以下、GA法)のような
一種の確率的最適化法を用いるのが一般的であるが、計
算時間が膨大になる。この点については、以下で詳細に
示す。
【0008】1.3 非線形最適問題における従来技術 非線形最適化問題−すなわち、非線形関数の最大・最小
問題を解くために、一般には反復法を用いる。反復法を
一言で言えば、ある初期値から出発し、それを逐次修正
して、一定の値に収束したことをもって解と見なす方法
である。このような方法は、反復回数が計算時間を大き
く左右するため、効率的に真の解に近づく方法が必要で
ある。これは対象とする非線形関数の特徴に大きく左右
される。例えば、適応フィルタを線形最小二乗法などで
解く場合、誤差評価関数と呼ばれる非線形関数は、二次
局面であり極小値が最小値となる。このように比較的単
純で関数の特徴が分かりやすい非線形関数の場合、「最
急降下法」あるいは「共役勾配法」などの方法がある。
しかし、NNで必須の多峰性の関数に対して適さないこ
とは、先に示した通りである。そこで、以下では多峰性
の非線形関数に対して大域的最適解を得ることのできる
従来法を中心に説明する。
問題を解くために、一般には反復法を用いる。反復法を
一言で言えば、ある初期値から出発し、それを逐次修正
して、一定の値に収束したことをもって解と見なす方法
である。このような方法は、反復回数が計算時間を大き
く左右するため、効率的に真の解に近づく方法が必要で
ある。これは対象とする非線形関数の特徴に大きく左右
される。例えば、適応フィルタを線形最小二乗法などで
解く場合、誤差評価関数と呼ばれる非線形関数は、二次
局面であり極小値が最小値となる。このように比較的単
純で関数の特徴が分かりやすい非線形関数の場合、「最
急降下法」あるいは「共役勾配法」などの方法がある。
しかし、NNで必須の多峰性の関数に対して適さないこ
とは、先に示した通りである。そこで、以下では多峰性
の非線形関数に対して大域的最適解を得ることのできる
従来法を中心に説明する。
【0009】(1)最急降下法の修正法 Ramelhart等はBP法の実現に際し、局所最適
を回避するために、結合係数ベクトルwを次のように更
新した。
を回避するために、結合係数ベクトルwを次のように更
新した。
【0010】
【数3】
【0011】ここで、上式の第2項は慣性項と呼ばれ、
重みの変化に一種の慣性を考慮する−すなわち、前回の
更新値に比例した量を修正量に加える。これにより、誤
差特性曲面の細かな凹凸を無視する効果を持たせ、細か
な局所最適に落ち込むのを防いでいる。ここで、慣性項
の大きさを決定するパラメータαの選択は収束性に大き
な影響を与えるが、このαの選択をPID制御法とのア
ナロジにより決定する方法も提案されている(神田他:
予測によるニューラルネット誤差逆伝播アルゴリズムの
高速化:電子情報通信学会論文誌DII編,Vol.J7
6−D−II,No.1,pp.132−139,(1
993)))。このように、収束する過程を一種の物理
現象に見立てて、適宜修正過程を制御する方法が数多く
提案されている。例えば、パラメータの修正量をその2
階微分と関連付けることにより、局所最適を回避する方
法がいくつか提案されている。浅川等は、二次の振動系
とのアナロジから、
重みの変化に一種の慣性を考慮する−すなわち、前回の
更新値に比例した量を修正量に加える。これにより、誤
差特性曲面の細かな凹凸を無視する効果を持たせ、細か
な局所最適に落ち込むのを防いでいる。ここで、慣性項
の大きさを決定するパラメータαの選択は収束性に大き
な影響を与えるが、このαの選択をPID制御法とのア
ナロジにより決定する方法も提案されている(神田他:
予測によるニューラルネット誤差逆伝播アルゴリズムの
高速化:電子情報通信学会論文誌DII編,Vol.J7
6−D−II,No.1,pp.132−139,(1
993)))。このように、収束する過程を一種の物理
現象に見立てて、適宜修正過程を制御する方法が数多く
提案されている。例えば、パラメータの修正量をその2
階微分と関連付けることにより、局所最適を回避する方
法がいくつか提案されている。浅川等は、二次の振動系
とのアナロジから、
【0012】
【数4】
【0013】のような修正を行い、これを適宜制御する
方法を提案している(浅川他:階層ニューラルネットワ
ークの機能と学習の高速化:電気学会論文集C編,Vo
l.110,No.3,pp.141−147,(19
90))。また、藤田等は散逸系とのアナロジから
方法を提案している(浅川他:階層ニューラルネットワ
ークの機能と学習の高速化:電気学会論文集C編,Vo
l.110,No.3,pp.141−147,(19
90))。また、藤田等は散逸系とのアナロジから
【0014】
【数5】
【0015】のように修正する。ただし、ξ(w)は非
線形抵抗項と呼ばれ、これを適宜調整することで系のカ
オスを調節し、徐々に大域最適解に収束させている(藤
田他:散逸系カオスを用いた大域的最適化手法:電子情
報通信学会論文誌A編,Vol.J77−A,No.
6,pp.881−889,(1994))。
線形抵抗項と呼ばれ、これを適宜調整することで系のカ
オスを調節し、徐々に大域最適解に収束させている(藤
田他:散逸系カオスを用いた大域的最適化手法:電子情
報通信学会論文誌A編,Vol.J77−A,No.
6,pp.881−889,(1994))。
【0016】(2)SA法 SA法は、局所最適を回避する方法として脚光を浴びて
いる。これは、熱力学とのアナロジから、状態の更新
(遷移)を確率的に実行する。すなわち、最小にすべき
評価関数をエネルギー関数に見立てて、古い状態と新し
い状態とを比較する。そして、新しい状態のエネルギー
が低ければ確率1で−すなわち、必ず新しい状態に遷移
し、新しい状態のエネルギーが高ければ、ボルツマン分
布に従って
いる。これは、熱力学とのアナロジから、状態の更新
(遷移)を確率的に実行する。すなわち、最小にすべき
評価関数をエネルギー関数に見立てて、古い状態と新し
い状態とを比較する。そして、新しい状態のエネルギー
が低ければ確率1で−すなわち、必ず新しい状態に遷移
し、新しい状態のエネルギーが高ければ、ボルツマン分
布に従って
【0017】
【数6】
【0018】の確率で遷移する。ここで、温度Tは遷移
確率を決定するパラメータである。SA法では、熱力学
とのアナロジから、温度Tを最初は高くとり、徐々に温
度Tを下げてエネルギー最小状態に到達する。言い換え
れば、最初は遷移確率を大きく取り、徐々に遷移確率を
下げることで、大域最適解に到達する方法である。これ
はちょうど、高温から急速に冷やす焼き入れ(最急降下
法などに例えられる)より、ゆっくり冷やす焼きなまし
がエネルギー的に最小状態に近いことに例えられてい
る。SA法は、近似的解法ではあるが、比較的良質の解
が得られることが知られている。もっとも、この処理の
計算時間は膨大であり、それがSA法を応用するさいの
問題になっている。これに関連し、ホップフィールドの
ネットワークで処理要素の伝達関数が
確率を決定するパラメータである。SA法では、熱力学
とのアナロジから、温度Tを最初は高くとり、徐々に温
度Tを下げてエネルギー最小状態に到達する。言い換え
れば、最初は遷移確率を大きく取り、徐々に遷移確率を
下げることで、大域最適解に到達する方法である。これ
はちょうど、高温から急速に冷やす焼き入れ(最急降下
法などに例えられる)より、ゆっくり冷やす焼きなまし
がエネルギー的に最小状態に近いことに例えられてい
る。SA法は、近似的解法ではあるが、比較的良質の解
が得られることが知られている。もっとも、この処理の
計算時間は膨大であり、それがSA法を応用するさいの
問題になっている。これに関連し、ホップフィールドの
ネットワークで処理要素の伝達関数が
【0019】
【数7】
【0020】のような確率過程で表現されるNNをボル
ツマンマシンと呼ぶ。この場合、システムのエネルギー
関数も確率的に表現されるため、評価関数そのものの計
算が膨大になる。これを解決するために、平均場近似ア
ニーリング法と呼ばれる方法がある。この方法は、ボル
ツマン分布に従うと仮定したニューロンのエネルギー状
態を、統計力学とのアナロジから
ツマンマシンと呼ぶ。この場合、システムのエネルギー
関数も確率的に表現されるため、評価関数そのものの計
算が膨大になる。これを解決するために、平均場近似ア
ニーリング法と呼ばれる方法がある。この方法は、ボル
ツマン分布に従うと仮定したニューロンのエネルギー状
態を、統計力学とのアナロジから
【0021】
【数8】
【0022】のように平均値で近似する。これをSA法
と同様に解くことで最適解が得られる。この平均場近似
アニーリング法は、複数のスピン状態の平均場について
アニーリングを行う必要があるが、この特徴を利用した
並列アルゴリズムが、銭等によって提案されている(銭
等:並列平均場アニーリング法による組合せ最適化とボ
ルツマンマシンの学習:電子情報通信学会論文誌DII
編,Vol.J76−D−II,No.12,pp.2
615−2625,(1993)))。
と同様に解くことで最適解が得られる。この平均場近似
アニーリング法は、複数のスピン状態の平均場について
アニーリングを行う必要があるが、この特徴を利用した
並列アルゴリズムが、銭等によって提案されている(銭
等:並列平均場アニーリング法による組合せ最適化とボ
ルツマンマシンの学習:電子情報通信学会論文誌DII
編,Vol.J76−D−II,No.12,pp.2
615−2625,(1993)))。
【0023】(3)GA法 確率的探索法の一手法として、GA法が近年脚光を浴び
ている。このGA法は主に生物の進化とのアナロジから
Hollandによって提案された。GA法は、以下の
ような生物の進化と対応する「増殖・交叉・突然変異・
淘汰」の各過程によって計算される。次に、GA法を非
線形最適化問題に適用した具体例を示す。簡単にするた
めに、ここでは図2に示すような一変数関数の例を取り
上げる。まず、最初に定義域上にランダムに複数の点
(以下、個体)を選択する。ここで、各点の値−例え
ば、2進のビットパターンを遺伝子に見立てる。ここで
は、各個体の特性がf(x)で評価されると考える。各
個体の特性から、その個体が子孫の数を残す期待値を例
えば
ている。このGA法は主に生物の進化とのアナロジから
Hollandによって提案された。GA法は、以下の
ような生物の進化と対応する「増殖・交叉・突然変異・
淘汰」の各過程によって計算される。次に、GA法を非
線形最適化問題に適用した具体例を示す。簡単にするた
めに、ここでは図2に示すような一変数関数の例を取り
上げる。まず、最初に定義域上にランダムに複数の点
(以下、個体)を選択する。ここで、各点の値−例え
ば、2進のビットパターンを遺伝子に見立てる。ここで
は、各個体の特性がf(x)で評価されると考える。各
個体の特性から、その個体が子孫の数を残す期待値を例
えば
【0024】
【数9】
【0025】のように仮定する。まずGA法では、数9
に従って親と同一の個体を生成する。これを増殖とい
う。増殖も一種の確率過程であり、次の交配において選
択される確率に影響する。次に、生成された個体の中か
ら一定の交配、すなわち、遺伝子の組替えを行う。これ
は通常の反復法における値の更新に相当する。このあと
突然変異と呼ばれる確率的な遺伝子の変更を行う。この
ように一定の確率頻度で解を動かすことで、解が局所最
適に落ち込むことを防いでいる。これらの過程によって
生成された個体は、一定の評価に基づいて淘汰、すなわ
ち消滅する。これらの過程を何世代も経ることにより、
次第に最適解に収斂されていく。従って、GA法もSA
法と同様に、非常に多大な計算時間を要する。しかし、
各処理は比較的独立であり、並列計算には適した方法で
ある。
に従って親と同一の個体を生成する。これを増殖とい
う。増殖も一種の確率過程であり、次の交配において選
択される確率に影響する。次に、生成された個体の中か
ら一定の交配、すなわち、遺伝子の組替えを行う。これ
は通常の反復法における値の更新に相当する。このあと
突然変異と呼ばれる確率的な遺伝子の変更を行う。この
ように一定の確率頻度で解を動かすことで、解が局所最
適に落ち込むことを防いでいる。これらの過程によって
生成された個体は、一定の評価に基づいて淘汰、すなわ
ち消滅する。これらの過程を何世代も経ることにより、
次第に最適解に収斂されていく。従って、GA法もSA
法と同様に、非常に多大な計算時間を要する。しかし、
各処理は比較的独立であり、並列計算には適した方法で
ある。
【0026】
【発明が解決しようとする課題】SA法・GA法に代表
される確率的探索法は、構造的に並列処理が可能な部分
も多く、先に示したようにいくつかの並列処理方法が提
案されている。しかし、そもそも計算時間そのものが膨
大であり、最高性能の超高速計算機を用いる必要があ
り、コスト的に問題がある。一般的なNNで用いられる
BP法は、最急降下法およびその修正法などが多く用い
られる。これらは、応用システム構築に際し比較的実用
的であるが、局所最適解の問題ではSA法・GA法など
の確率的探索法が良質の結果が得られる。また、計算過
程における逐次性が強く、構造的に並列処理に適してい
ない。本発明の目的は、最急降下法およびその修正法を
基本に、確率的探索法の要素を取り入れ、かつ並列処理
に適した複数の処理装置により非線形最適化問題の大域
最適解を得る非線形最適化並列処理方法を提供すること
にある。本発明の他の目的は、従来のBP法の手軽さ
で、SA法あるいはGA法のような確率的探索法に近い
最適解を得、かつそれを並列計算機で効率的に実現する
非線形最適化並列処理方法を提供することにある。
される確率的探索法は、構造的に並列処理が可能な部分
も多く、先に示したようにいくつかの並列処理方法が提
案されている。しかし、そもそも計算時間そのものが膨
大であり、最高性能の超高速計算機を用いる必要があ
り、コスト的に問題がある。一般的なNNで用いられる
BP法は、最急降下法およびその修正法などが多く用い
られる。これらは、応用システム構築に際し比較的実用
的であるが、局所最適解の問題ではSA法・GA法など
の確率的探索法が良質の結果が得られる。また、計算過
程における逐次性が強く、構造的に並列処理に適してい
ない。本発明の目的は、最急降下法およびその修正法を
基本に、確率的探索法の要素を取り入れ、かつ並列処理
に適した複数の処理装置により非線形最適化問題の大域
最適解を得る非線形最適化並列処理方法を提供すること
にある。本発明の他の目的は、従来のBP法の手軽さ
で、SA法あるいはGA法のような確率的探索法に近い
最適解を得、かつそれを並列計算機で効率的に実現する
非線形最適化並列処理方法を提供することにある。
【0027】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数の処理装置により非線形最適化問題
の大域最適解を得る非線形最適化並列処理方法であっ
て、前記各処理装置において、探索系統の初期値設定ス
テップと、探索点更新ステップと、該探索点での探索値
評価ステップと、該探索値が局所解か否か判定するステ
ップと、判定が否のとき前記探索点更新ステップに戻す
か否か判定するステップからなる第1の処理を行ない、
前記全ての処理装置で探索系列の局所解が得られたと
き、全ての処理装置から比較対となる処理装置の組をそ
れぞれ選択するステップと、比較対の各処理装置の局所
解の優劣比較をするステップと、劣性の局所解を得た探
索系統の新たな探索点を設定し関連する処理装置におけ
る前記第1の処理の探索点更新ステップに戻すステップ
からなる第2の処理を行ない、前記各優劣比較の結果が
全て一致するとき該各一致した局所解を全て比較し、該
各局所解が一致するとき一致した局所解を大域最適解と
して出力するステップと、一致しないとき局所解を得た
各探索系統の新たな探索点を設定し関連する各処理装置
における前記第1の処理の探索点更新ステップに戻すス
テップからなる第3の処理を行なうようにしている。さ
らに、前記第1の処理は、各処理装置間でのデータ通信
をすることなく各処理装置が独立して実行するようにし
ている。さらに、前記第2および第3の処理における探
索系統の新たな探索点は確率的評価に基づいて生成する
ようにしている。さらに、前記各処理装置はインデック
スと比較対となる相手の処理装置の処理装置番号からな
るエントリを複数有するテーブルを備え、前記第2の処
理における比較対となる処理装置の組の選択は前記各処
理装置に対して前記インデックスを指定することにより
行なうようにしている。さらに、前記複数の処理装置を
ハイパーキューブ型の並列処理装置とし、各処理装置の
処理装置番号を複数桁の2進数により規定し、前記第2
の処理における比較対となる処理装置の組の選択は、各
処理装置に対して前記2進数の複数桁の内の1つの桁を
指定することにより、処理装置と該処理装置の処理装置
番号の前記指定された桁の値を反転して得られる2進数
を処理装置番号として有する処理装置とを組とすること
により行なうようにしている。
め、本発明は、複数の処理装置により非線形最適化問題
の大域最適解を得る非線形最適化並列処理方法であっ
て、前記各処理装置において、探索系統の初期値設定ス
テップと、探索点更新ステップと、該探索点での探索値
評価ステップと、該探索値が局所解か否か判定するステ
ップと、判定が否のとき前記探索点更新ステップに戻す
か否か判定するステップからなる第1の処理を行ない、
前記全ての処理装置で探索系列の局所解が得られたと
き、全ての処理装置から比較対となる処理装置の組をそ
れぞれ選択するステップと、比較対の各処理装置の局所
解の優劣比較をするステップと、劣性の局所解を得た探
索系統の新たな探索点を設定し関連する処理装置におけ
る前記第1の処理の探索点更新ステップに戻すステップ
からなる第2の処理を行ない、前記各優劣比較の結果が
全て一致するとき該各一致した局所解を全て比較し、該
各局所解が一致するとき一致した局所解を大域最適解と
して出力するステップと、一致しないとき局所解を得た
各探索系統の新たな探索点を設定し関連する各処理装置
における前記第1の処理の探索点更新ステップに戻すス
テップからなる第3の処理を行なうようにしている。さ
らに、前記第1の処理は、各処理装置間でのデータ通信
をすることなく各処理装置が独立して実行するようにし
ている。さらに、前記第2および第3の処理における探
索系統の新たな探索点は確率的評価に基づいて生成する
ようにしている。さらに、前記各処理装置はインデック
スと比較対となる相手の処理装置の処理装置番号からな
るエントリを複数有するテーブルを備え、前記第2の処
理における比較対となる処理装置の組の選択は前記各処
理装置に対して前記インデックスを指定することにより
行なうようにしている。さらに、前記複数の処理装置を
ハイパーキューブ型の並列処理装置とし、各処理装置の
処理装置番号を複数桁の2進数により規定し、前記第2
の処理における比較対となる処理装置の組の選択は、各
処理装置に対して前記2進数の複数桁の内の1つの桁を
指定することにより、処理装置と該処理装置の処理装置
番号の前記指定された桁の値を反転して得られる2進数
を処理装置番号として有する処理装置とを組とすること
により行なうようにしている。
【0028】
【作用】上記手段を取ることにより、処理1では各処理
装置がそれぞれの探索系統の処理を他の処理装置と通信
することなく独立して処理するため、高速な処理が可能
であり、処理2ではランダムに選択された処理装置の組
における局所解の優劣比較ができ、劣性の局所解がある
とき、さらに処理1での高速な処理を繰り返すことによ
り局所解の優劣比較ができ、さらに処理2では処理装置
間でのデータ通信における競合回避がされており、これ
により、多くの処理時間を要することなく、良質の最適
解を得ることができる。
装置がそれぞれの探索系統の処理を他の処理装置と通信
することなく独立して処理するため、高速な処理が可能
であり、処理2ではランダムに選択された処理装置の組
における局所解の優劣比較ができ、劣性の局所解がある
とき、さらに処理1での高速な処理を繰り返すことによ
り局所解の優劣比較ができ、さらに処理2では処理装置
間でのデータ通信における競合回避がされており、これ
により、多くの処理時間を要することなく、良質の最適
解を得ることができる。
【0029】
【実施例】本発明の実施例1を説明する。本実施例で
は、2つの計算ユニットを持つ並列処理型のマイコンの
使用を想定した例について説明する。ここでは、本発明
を実現する最も簡単な例として、2つの探索系統で処理
することを考える。図4は、実施例1の処理の概要を示
したフロ−チャ−トである。本実施例では、各計算ユニ
ットが独立に計算するフェーズ1−具体的には、手順4
11〜415および手順421〜425−と各計算ユニ
ットが連携して計算するフェーズ2−具体的には交互に
繰り返して最適解を得る手順402・404−とからな
る。以下、フェーズ1とフェーズ2に分けて説明する。
は、2つの計算ユニットを持つ並列処理型のマイコンの
使用を想定した例について説明する。ここでは、本発明
を実現する最も簡単な例として、2つの探索系統で処理
することを考える。図4は、実施例1の処理の概要を示
したフロ−チャ−トである。本実施例では、各計算ユニ
ットが独立に計算するフェーズ1−具体的には、手順4
11〜415および手順421〜425−と各計算ユニ
ットが連携して計算するフェーズ2−具体的には交互に
繰り返して最適解を得る手順402・404−とからな
る。以下、フェーズ1とフェーズ2に分けて説明する。
【0030】START401より処理を開始する。こ
れにより、各計算ユニットが一斉に計算を開始する。そ
して、フェーズ1に入る。1番目の計算ユニットが担当
している探索系列1に着目すると、手順411において
必要な初期設定が行われる。探索開始点は、他の系列と
重複しないように選定する。この方法には、ランダムに
選定する方法と予め競合を回避するように選定する方法
がある。理屈の上ではランダムに選定すべきであるが、
組み込み用途で実時間で乱数生成するコストを削減した
い場合、予めランダムに選定したデータに基づいて初期
値を決定しても良い。手順412では、従来の最急降下
法あるいはその修正法における探索点の更新に基づい
て、探索点を更新する。例えば、数3〜5を適宜選択す
れば良い。手順413では、手順412で更新した探索
点における値を評価する。ここでは、関数値とともに、
微分値(差分値)も評価する。手順414では、局所最
適解か否かの判定を行う。これは、大域最適解を除外す
るものではなく、手順413で計算した探索点での微分
(差分)値が十分小さいか否か−すなわち、予め設定し
た十分小さなεとの比較によって判定すれば良い。ここ
で局所最適解に陥ったと判定されれば、系統2でフェ−
ズ1の処理が終了するのを待って手順402へ進む。局
所最適解に至らない場合、手順415へ進む。手順41
5は、予め設定した修正回数だけ繰り返すための処理で
ある。これは、手順411でカウンタ変数を設定してお
き、手順415で修正回数だけ繰り返したかを判定すれ
ば良い。ここで、継続なら−例えば、カウンタ変数が正
なら−カウンタ変数をデクリメントして、手順412へ
戻り、探索点の更新をする。カウンタ変数が0なら、系
統2でフェ−ズ1の処理が終了するのを待って手順40
2へ進む。
れにより、各計算ユニットが一斉に計算を開始する。そ
して、フェーズ1に入る。1番目の計算ユニットが担当
している探索系列1に着目すると、手順411において
必要な初期設定が行われる。探索開始点は、他の系列と
重複しないように選定する。この方法には、ランダムに
選定する方法と予め競合を回避するように選定する方法
がある。理屈の上ではランダムに選定すべきであるが、
組み込み用途で実時間で乱数生成するコストを削減した
い場合、予めランダムに選定したデータに基づいて初期
値を決定しても良い。手順412では、従来の最急降下
法あるいはその修正法における探索点の更新に基づい
て、探索点を更新する。例えば、数3〜5を適宜選択す
れば良い。手順413では、手順412で更新した探索
点における値を評価する。ここでは、関数値とともに、
微分値(差分値)も評価する。手順414では、局所最
適解か否かの判定を行う。これは、大域最適解を除外す
るものではなく、手順413で計算した探索点での微分
(差分)値が十分小さいか否か−すなわち、予め設定し
た十分小さなεとの比較によって判定すれば良い。ここ
で局所最適解に陥ったと判定されれば、系統2でフェ−
ズ1の処理が終了するのを待って手順402へ進む。局
所最適解に至らない場合、手順415へ進む。手順41
5は、予め設定した修正回数だけ繰り返すための処理で
ある。これは、手順411でカウンタ変数を設定してお
き、手順415で修正回数だけ繰り返したかを判定すれ
ば良い。ここで、継続なら−例えば、カウンタ変数が正
なら−カウンタ変数をデクリメントして、手順412へ
戻り、探索点の更新をする。カウンタ変数が0なら、系
統2でフェ−ズ1の処理が終了するのを待って手順40
2へ進む。
【0031】2番目の計算ユニットが担当している探索
系列2−すなわち、手順421・422・423・42
4および425でも探索系列1と同様の処理を行う。こ
こで、手順412は探索系列1の手順411の処理に対
応する。同様に、手順422は手順412と、手順42
3は手順413と、手順424は手順414と、そして
手順425は手順415とそれぞれ対応する。
系列2−すなわち、手順421・422・423・42
4および425でも探索系列1と同様の処理を行う。こ
こで、手順412は探索系列1の手順411の処理に対
応する。同様に、手順422は手順412と、手順42
3は手順413と、手順424は手順414と、そして
手順425は手順415とそれぞれ対応する。
【0032】次に、フェ−ズ2−すなわち、各計算ユニ
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的に探索系統の再構成を行う手順40
2と大域最適解を判定する手順404とよりなる。後で
詳述が、手順402は局所最適に落ちこんだ探索系統を
再構成、すなわち、探索点を新たな探索点へ確率的に移
動させる手順である。すなわち、新たな探索点を確率的
に設定する手順である。手順404では、大域最適解を
判定するために、系統1・2の解が一致することを持っ
て大域最適解と判定する。大域最適解と判定されなけれ
ば、探索系列1では手順411、探索系列2では手順4
21に戻り、新たな探索点に対して再びフェ−ズ1を繰
り返す。
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的に探索系統の再構成を行う手順40
2と大域最適解を判定する手順404とよりなる。後で
詳述が、手順402は局所最適に落ちこんだ探索系統を
再構成、すなわち、探索点を新たな探索点へ確率的に移
動させる手順である。すなわち、新たな探索点を確率的
に設定する手順である。手順404では、大域最適解を
判定するために、系統1・2の解が一致することを持っ
て大域最適解と判定する。大域最適解と判定されなけれ
ば、探索系列1では手順411、探索系列2では手順4
21に戻り、新たな探索点に対して再びフェ−ズ1を繰
り返す。
【0033】図5には、手順402の構成例について説
明する。この実施例1では、最も簡単な例として探索系
列が2系統の最小構成になっているため、比較する探索
系統は系統1と2に固定されている。そこで、手順41
4・415・424および425より手順402に実行
が移ったなら、すなわち、系統1および2ともフェ−ズ
1の実行が終了すれば、手順501により探索系統の優
劣を比較する。探索系統の優劣は、例えば、
明する。この実施例1では、最も簡単な例として探索系
列が2系統の最小構成になっているため、比較する探索
系統は系統1と2に固定されている。そこで、手順41
4・415・424および425より手順402に実行
が移ったなら、すなわち、系統1および2ともフェ−ズ
1の実行が終了すれば、手順501により探索系統の優
劣を比較する。探索系統の優劣は、例えば、
【0034】
【数10】
【0035】のような評価関数によって決められる。こ
こで、必要な評価値および微分(差分)値は手順413
および手順423で計算された値をそれぞれテ−ブル5
11および512に格納しておき、局所最適解に対応す
るテーブル内の値を用いれば良い。探索系統の優劣は、
手順414と424で得られた局所最適解を比較し、例
えば、最小値を求める場合には、両者が一致せず、一方
の解の方が大きければ、大きい方の解を劣性と評価す
る。この結果に基づいて、手順502によって、劣性と
評価された探索系列の探索点を新たな探索点に修正す
る。この修正法は、いくつかの方法が考えられるが、最
も簡単な方法としては、新たな探索点をランダムに選定
する方法が可能である。また、GA類似の手法によっ
て、系列1の性質と系列2の性質を確率的に修正する方
法、例えば、2進表現した探索点を適当に交配して、新
しい探索点を生成する方法も可能である。ここで、再構
成された探索点により、テ−ブル511あるいは512
を更新する。
こで、必要な評価値および微分(差分)値は手順413
および手順423で計算された値をそれぞれテ−ブル5
11および512に格納しておき、局所最適解に対応す
るテーブル内の値を用いれば良い。探索系統の優劣は、
手順414と424で得られた局所最適解を比較し、例
えば、最小値を求める場合には、両者が一致せず、一方
の解の方が大きければ、大きい方の解を劣性と評価す
る。この結果に基づいて、手順502によって、劣性と
評価された探索系列の探索点を新たな探索点に修正す
る。この修正法は、いくつかの方法が考えられるが、最
も簡単な方法としては、新たな探索点をランダムに選定
する方法が可能である。また、GA類似の手法によっ
て、系列1の性質と系列2の性質を確率的に修正する方
法、例えば、2進表現した探索点を適当に交配して、新
しい探索点を生成する方法も可能である。ここで、再構
成された探索点により、テ−ブル511あるいは512
を更新する。
【0036】図3は、一変数の非線形関数を2つのPE
を用いて処理する例を示している。いま、PE1が初期
値xa1,PE2がxa2を選択したとする。フェ−ズ
1−すなわち、各PEが独立して行う処理を最急降下法
で一定回数(図3の例では5回)実行すると、系統1で
はxb1,系統2ではxb2まで進行する。ここまでの
プロセスは、各PEが独立して実行できるため完全に並
列実行でき、最急降下法などにより高速に計算は進行す
る。フェ−ズ2−すなわち各PEで連携して行う処理に
おいては、系統1と系統2とを評価し優劣を比較する。
これは、各点における評価値あるいは勾配等を評価する
わけだが、図3の例では系統1は局所最適に陥ってお
り、これを修正することになる。この修正は、一定の確
率的処理によりポイントxc1を選択し、ここからPE
1はフェ−ズ1を再開する。なおPE2は、xb2より
そのまま継続ずる。これにより、局所最適に陥った探索
系統は確率的に減少し、大域最適解に至る探索系統が確
率的に増加する。これにより、従来の最急降下法などに
比べて良質な最適解が期待できる。
を用いて処理する例を示している。いま、PE1が初期
値xa1,PE2がxa2を選択したとする。フェ−ズ
1−すなわち、各PEが独立して行う処理を最急降下法
で一定回数(図3の例では5回)実行すると、系統1で
はxb1,系統2ではxb2まで進行する。ここまでの
プロセスは、各PEが独立して実行できるため完全に並
列実行でき、最急降下法などにより高速に計算は進行す
る。フェ−ズ2−すなわち各PEで連携して行う処理に
おいては、系統1と系統2とを評価し優劣を比較する。
これは、各点における評価値あるいは勾配等を評価する
わけだが、図3の例では系統1は局所最適に陥ってお
り、これを修正することになる。この修正は、一定の確
率的処理によりポイントxc1を選択し、ここからPE
1はフェ−ズ1を再開する。なおPE2は、xb2より
そのまま継続ずる。これにより、局所最適に陥った探索
系統は確率的に減少し、大域最適解に至る探索系統が確
率的に増加する。これにより、従来の最急降下法などに
比べて良質な最適解が期待できる。
【0037】次に、分散型並列計算機を用いた本発明の
実施例について説明する。図6には、並列計算機のトポ
ロジとして、(a)ハイパーキューブ型トポロジと
(b)メッシュ型トポロジを示す。実施例2では、図6
(a)で示したハイパーキューブ型の並列計算機を用い
た例について説明する。ここでは、n個のプロセッサ・
エレメント(以下、PE)−例えば、図6(a)のトポ
ロジでは16個−を持つシステムに対して、n個の探索
系統を持つシステム、すなわち、PE数と同数の探索系
統を持つシステムを考える。
実施例について説明する。図6には、並列計算機のトポ
ロジとして、(a)ハイパーキューブ型トポロジと
(b)メッシュ型トポロジを示す。実施例2では、図6
(a)で示したハイパーキューブ型の並列計算機を用い
た例について説明する。ここでは、n個のプロセッサ・
エレメント(以下、PE)−例えば、図6(a)のトポ
ロジでは16個−を持つシステムに対して、n個の探索
系統を持つシステム、すなわち、PE数と同数の探索系
統を持つシステムを考える。
【0038】図7には、本実施例2の処理のフローの概
要を示す。実施例1と同様に、手順401よりSTAR
Tする。n個目の探索系統はそれぞれn番のPEが担当
するものとする。探索系統1の手順411〜415は、
実施例1と同様の処理を行えば良い。探索系統n、すな
わち、手順491〜495においても、実施例1で示し
た探索系統1と同様の処理を行う。ここで、手順491
は探索系統1の手順411の処理に対応する。同様に、
手順492は手順412と、手順493は手順413
と、手順494は手順414と、そして手順495は手
順415とそれぞれ対応する。
要を示す。実施例1と同様に、手順401よりSTAR
Tする。n個目の探索系統はそれぞれn番のPEが担当
するものとする。探索系統1の手順411〜415は、
実施例1と同様の処理を行えば良い。探索系統n、すな
わち、手順491〜495においても、実施例1で示し
た探索系統1と同様の処理を行う。ここで、手順491
は探索系統1の手順411の処理に対応する。同様に、
手順492は手順412と、手順493は手順413
と、手順494は手順414と、そして手順495は手
順415とそれぞれ対応する。
【0039】次に、フェ−ズ2、すなわち、各計算ユニ
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的には実施例1と同様で、探索系統の
再構成を行う手順701と大域最適解を判定する手順7
02とよりなる。しかし、n系列のため、再構成の方法
にもいくつか異なる方法が考えられる。図8Aの(a)
には、探索系統の再構成を行う手順701の処理のフロ
ーを示す。手順801では、n個の探索系統を2者1組
みのペア(以下、比較対、例えば、16台のPEの場
合、比較対は8個となる。)に分類し、各比較対におい
て優劣比較を行う。この比較対は、理屈の上ではランダ
ムに選択すれば良い。そして、このような実現方法が最
も単純である。
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的には実施例1と同様で、探索系統の
再構成を行う手順701と大域最適解を判定する手順7
02とよりなる。しかし、n系列のため、再構成の方法
にもいくつか異なる方法が考えられる。図8Aの(a)
には、探索系統の再構成を行う手順701の処理のフロ
ーを示す。手順801では、n個の探索系統を2者1組
みのペア(以下、比較対、例えば、16台のPEの場
合、比較対は8個となる。)に分類し、各比較対におい
て優劣比較を行う。この比較対は、理屈の上ではランダ
ムに選択すれば良い。そして、このような実現方法が最
も単純である。
【0040】ここでは、図6(a)のようなハイパーキ
ューブ型計算機を前提として、効率的な比較対の選定方
法を説明する。図6(a)のあるノード(PEのこと)
に着目する。これを0番(2進表現で0000)とす
る。ハイパーキューブにおいては、2進表現で任意の1
ビットを変更した番号のノード−すなわち、1番(2進
表現で0001)、2番(2進表現で0010)、4番
(2進表現で0100)および8番(2進表現で100
0)と隣接する。この様子を、図8Aの(b)に示す。
分散型並列計算機においては、PE間のデータ通信を効
率的に処理する必要がある。PE間のデータ転送のため
には、転送回数の低減とともに、通信路の競合を抑制し
なければならない。本発明は、フェーズ1では各PEが
独立して処理する構造から、全体のデータ転送の回数は
低減される。
ューブ型計算機を前提として、効率的な比較対の選定方
法を説明する。図6(a)のあるノード(PEのこと)
に着目する。これを0番(2進表現で0000)とす
る。ハイパーキューブにおいては、2進表現で任意の1
ビットを変更した番号のノード−すなわち、1番(2進
表現で0001)、2番(2進表現で0010)、4番
(2進表現で0100)および8番(2進表現で100
0)と隣接する。この様子を、図8Aの(b)に示す。
分散型並列計算機においては、PE間のデータ通信を効
率的に処理する必要がある。PE間のデータ転送のため
には、転送回数の低減とともに、通信路の競合を抑制し
なければならない。本発明は、フェーズ1では各PEが
独立して処理する構造から、全体のデータ転送の回数は
低減される。
【0041】そこで、通信路の競合を抑制する方法を次
に説明する。第一の方法は、通信路が競合しない比較対
の組合せをテーブルとして管理する方法が考えられる。
この組合せは、非常に数多く存在するが、テーブルとし
てもできるだけ多く用意した方がよい。実行時には、こ
のテーブルのインデックッスをランダムに選択する。こ
れにより、比較対は選択したテーブルに従って決定でき
る。この方法による手順801の詳細を図8Bに示す。
図8B(a)では手順821は、ホスト計算機あるいは
任意の1PEが実行する。ここでは、ランダムに一定範
囲の整数のうちの1つの整数を選択する。この整数を、
ここではインデックスと呼ぶそして、手順822では、
手順821で選択したインデックスに対応するPEを選
択する。
に説明する。第一の方法は、通信路が競合しない比較対
の組合せをテーブルとして管理する方法が考えられる。
この組合せは、非常に数多く存在するが、テーブルとし
てもできるだけ多く用意した方がよい。実行時には、こ
のテーブルのインデックッスをランダムに選択する。こ
れにより、比較対は選択したテーブルに従って決定でき
る。この方法による手順801の詳細を図8Bに示す。
図8B(a)では手順821は、ホスト計算機あるいは
任意の1PEが実行する。ここでは、ランダムに一定範
囲の整数のうちの1つの整数を選択する。この整数を、
ここではインデックスと呼ぶそして、手順822では、
手順821で選択したインデックスに対応するPEを選
択する。
【0042】図8B(b)には、この処理を並列実行さ
せた場合の各PEの処理の関連について示している。手
順414、415、494、495、すなわち、フェー
ズ1では各PEは完全に独立して実行した。フェーズ2
では、各PEが連携して実行するために、PE間で同期
あるいはデータ通信が発生する。この図では、この様子
を示している。各PEはフェーズ1が終了すると、全て
のPEが完了するまでwait状態になる。このような
同期方法は全同期と呼ばれ、通常の並列計算機ではこの
処理のための専用の装置が付いており、簡単に実現され
る。すべてのPEがフェーズ1を完了すると、任意の1
PEによって手順831によってランダムにインデック
スが選択される。他のPEはwait状態のままであ
る。この選択されたインデックスは、例えばBroad
Cast呼ばれる全PEへの一斉通信によって各PE
へ送信可能である。各PEは、インデックスを受信する
と同時にwaitを解除し、処理を実行する。これが手
順832である。ここは、各PEが独立して実行する。
ここで比較対を選択し、その相手と手順802を実行す
る。ここは、PE一組で実行することになる。
せた場合の各PEの処理の関連について示している。手
順414、415、494、495、すなわち、フェー
ズ1では各PEは完全に独立して実行した。フェーズ2
では、各PEが連携して実行するために、PE間で同期
あるいはデータ通信が発生する。この図では、この様子
を示している。各PEはフェーズ1が終了すると、全て
のPEが完了するまでwait状態になる。このような
同期方法は全同期と呼ばれ、通常の並列計算機ではこの
処理のための専用の装置が付いており、簡単に実現され
る。すべてのPEがフェーズ1を完了すると、任意の1
PEによって手順831によってランダムにインデック
スが選択される。他のPEはwait状態のままであ
る。この選択されたインデックスは、例えばBroad
Cast呼ばれる全PEへの一斉通信によって各PE
へ送信可能である。各PEは、インデックスを受信する
と同時にwaitを解除し、処理を実行する。これが手
順832である。ここは、各PEが独立して実行する。
ここで比較対を選択し、その相手と手順802を実行す
る。ここは、PE一組で実行することになる。
【0043】図8C(a)、(b)には、このPEテー
ブルの構造を示した。このテーブルは簡単な構造をして
おり、インデックスに対応しているPEが一意に対応し
ている。例えば、図8C(a)のようなPEの組に対し
ては、図8C(b)のようにテーブルを構成すればよ
い。すなわち、PEテーブルには各インデックスとこの
インデックスに対応するPE番号がセットされた複数の
エントリがあり、例えば、PE1のPEテーブル831
にはインデックスiに対してPE番号2がセットされ、
PE16のPEテーブルにはインデックスiに対してP
E番号12がセットされている。
ブルの構造を示した。このテーブルは簡単な構造をして
おり、インデックスに対応しているPEが一意に対応し
ている。例えば、図8C(a)のようなPEの組に対し
ては、図8C(b)のようにテーブルを構成すればよ
い。すなわち、PEテーブルには各インデックスとこの
インデックスに対応するPE番号がセットされた複数の
エントリがあり、例えば、PE1のPEテーブル831
にはインデックスiに対してPE番号2がセットされ、
PE16のPEテーブルにはインデックスiに対してP
E番号12がセットされている。
【0044】第二の方法は、通信方向をすべて揃える。
これは、ハイパーキューブにおいては、PE番号を2進
表現で表現した時に、同じ位置のビットを反転させるこ
とで実現できる。16PEのシステムなら、前述したよ
うな各PEにPE番号0〜15を与える。このPE番号
を2進表現すると、(0000)〜(1111)とな
り、この2進表現の4つの桁の任意の桁をランダムに選
択し、それに応じて対応するビットを反転させれば良
い。例えば、2番目の桁のビットを反転させるとする
と、(0000)に対応するものは(0000)の2番
目の桁のビットを反転させた(0010)となり、PE
番号0に対応するものはPE番号2となり、その対応関
係を(0,2)のように記せば、全ての組として、
(0,2)(1,3)(4,6)(5,7)(8,1
0)(9,11)(12,14)(13,15)の組が
得られることになる。
これは、ハイパーキューブにおいては、PE番号を2進
表現で表現した時に、同じ位置のビットを反転させるこ
とで実現できる。16PEのシステムなら、前述したよ
うな各PEにPE番号0〜15を与える。このPE番号
を2進表現すると、(0000)〜(1111)とな
り、この2進表現の4つの桁の任意の桁をランダムに選
択し、それに応じて対応するビットを反転させれば良
い。例えば、2番目の桁のビットを反転させるとする
と、(0000)に対応するものは(0000)の2番
目の桁のビットを反転させた(0010)となり、PE
番号0に対応するものはPE番号2となり、その対応関
係を(0,2)のように記せば、全ての組として、
(0,2)(1,3)(4,6)(5,7)(8,1
0)(9,11)(12,14)(13,15)の組が
得られることになる。
【0045】手順802では、手順801で得られた比
較対ごとに、探索系列の優劣比較を行う。この処理は、
基本的に手順501と同様に行えば良い。ただし、全て
の比較対について処理を行う。各組の比較は並列に実行
できる。各組の計算は、該当す2個のPEで並列処理す
ることも可能である。しかし、それほど重たい計算でも
ないので、ここでは一方のPEに実行させる例を示す。
すなわち、上記の例では、PE2→PE0,PE3→P
E1,PE6→PE4,PE7→PE5,PE10→P
E8,PE11→PE9,PE14→PE12,PE1
5→PE13のデータ転送を行い、PE0,PE1,P
E4,PE5,PE8,PE9,PE12,PE13に
おいて探索系列の優劣比較を行えば良い。この評価は、
手順501と同様に数10を用いれば良い。
較対ごとに、探索系列の優劣比較を行う。この処理は、
基本的に手順501と同様に行えば良い。ただし、全て
の比較対について処理を行う。各組の比較は並列に実行
できる。各組の計算は、該当す2個のPEで並列処理す
ることも可能である。しかし、それほど重たい計算でも
ないので、ここでは一方のPEに実行させる例を示す。
すなわち、上記の例では、PE2→PE0,PE3→P
E1,PE6→PE4,PE7→PE5,PE10→P
E8,PE11→PE9,PE14→PE12,PE1
5→PE13のデータ転送を行い、PE0,PE1,P
E4,PE5,PE8,PE9,PE12,PE13に
おいて探索系列の優劣比較を行えば良い。この評価は、
手順501と同様に数10を用いれば良い。
【0046】手順803では、基本的に手順502と同
様の処理を、すなわち、上記の比較対における比較にお
いて一致が取れない場合には、劣性と評価された探索系
統の探索点を新たな探索点に修正し、フェーズ1に戻
す。この処理も、上で示した各PE、すなわち、PE
0,PE1,PE4,PE5,PE8,PE9,PE1
2,PE13によってそれぞれ並列に実行できる。
様の処理を、すなわち、上記の比較対における比較にお
いて一致が取れない場合には、劣性と評価された探索系
統の探索点を新たな探索点に修正し、フェーズ1に戻
す。この処理も、上で示した各PE、すなわち、PE
0,PE1,PE4,PE5,PE8,PE9,PE1
2,PE13によってそれぞれ並列に実行できる。
【0047】手順702では、得られた全ての組の最適
解を比較し、一致が得られればそれを大域解とし、一致
が得られなければ各探索系統の探索点を新たな探索点に
修正し、フェーズ1に戻す。
解を比較し、一致が得られればそれを大域解とし、一致
が得られなければ各探索系統の探索点を新たな探索点に
修正し、フェーズ1に戻す。
【0048】この方法では、疑似的な確率的処理を行っ
ている。すなわち、完全にランダムに比較対を生成する
のではなく、予め効率的な組のパターンを決めておき、
そのパターンを確率的に選択する方法を用いている。も
ちろん、完全にランダムに組合せることも可能である。
ている。すなわち、完全にランダムに比較対を生成する
のではなく、予め効率的な組のパターンを決めておき、
そのパターンを確率的に選択する方法を用いている。も
ちろん、完全にランダムに組合せることも可能である。
【0049】さらに他の実施例3を示す。例えば、図6
(b)のようなメッシュ型の並列計算機でも良い。実施
例3では、探索系統を任意に、PE数より相当多く設定
する。すなわち、各PEでは複数の探索系統の処理を担
当することになる。そして、これらの探索系統をより確
率的に修正する。
(b)のようなメッシュ型の並列計算機でも良い。実施
例3では、探索系統を任意に、PE数より相当多く設定
する。すなわち、各PEでは複数の探索系統の処理を担
当することになる。そして、これらの探索系統をより確
率的に修正する。
【0050】図9には、実施例3の処理の概要を示す。
先に2つの実施例と同様に手順401よりSTRATす
る。各系列では、予め設定された数だけ探索点をランダ
ムに選択して、各探索点ごとに処理を行う。この各探索
点に着目した処理のフローが図9である。探索系統1の
手順411〜415は、実施例1と同様の処理を行えば
良い。探索系統k−すなわち、手順991〜995にお
いても、実施例1で示した探索系統1と同様の処理を行
う。ここで、手順991は探索系統1の手順411の処
理に対応する。同様に、手順992は手順412と、手
順993は手順413と、手順994は手順414と、
そして手順995は手順415とそれぞれ対応する。
先に2つの実施例と同様に手順401よりSTRATす
る。各系列では、予め設定された数だけ探索点をランダ
ムに選択して、各探索点ごとに処理を行う。この各探索
点に着目した処理のフローが図9である。探索系統1の
手順411〜415は、実施例1と同様の処理を行えば
良い。探索系統k−すなわち、手順991〜995にお
いても、実施例1で示した探索系統1と同様の処理を行
う。ここで、手順991は探索系統1の手順411の処
理に対応する。同様に、手順992は手順412と、手
順993は手順413と、手順994は手順414と、
そして手順995は手順415とそれぞれ対応する。
【0051】次に、フェ−ズ2−すなわち、各計算ユニ
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的には実施例1と同様であるが、探索
系統の再構成を行う手順902と大域最適解を判定する
手順903の前に、探索系統を一定の確率頻度で生成す
る手順901を置く。これは、探索系統の最構成にGA
類似の要素を導入するためである。すなわち、探索系統
を確率的に生成し、その探索系統のうち劣性な探索系統
を淘汰し、残った優性な探索系統に交配あるいは突然変
異に相当する確率的処理を行って、探索系統そのものを
最適なものに近づけていく。
ットが連携して処理する処理について説明する。このフ
ェ−ズ2は、基本的には実施例1と同様であるが、探索
系統の再構成を行う手順902と大域最適解を判定する
手順903の前に、探索系統を一定の確率頻度で生成す
る手順901を置く。これは、探索系統の最構成にGA
類似の要素を導入するためである。すなわち、探索系統
を確率的に生成し、その探索系統のうち劣性な探索系統
を淘汰し、残った優性な探索系統に交配あるいは突然変
異に相当する確率的処理を行って、探索系統そのものを
最適なものに近づけていく。
【0052】図10(a)には、手順901の詳細を示
している。手順1001は探索系統の生成処理である。
ここで探索系統を生成することの意味は、次の手順で確
率的に選択する時の選択確率を可変にすることを意味す
る。従って、手順1001での処理は、探索系統におけ
る現在の探索点およびその評価値・微分値に基づいて、
一定の確率的な評価を与えれば良い。例えば
している。手順1001は探索系統の生成処理である。
ここで探索系統を生成することの意味は、次の手順で確
率的に選択する時の選択確率を可変にすることを意味す
る。従って、手順1001での処理は、探索系統におけ
る現在の探索点およびその評価値・微分値に基づいて、
一定の確率的な評価を与えれば良い。例えば
【0053】
【数11】
【0054】のように、計算すれば良い。ここでは、生
成数などは一定の確率的評価値として扱っており、同一
の探索系統が存在する数に生成数は比例させる。
成数などは一定の確率的評価値として扱っており、同一
の探索系統が存在する数に生成数は比例させる。
【0055】手順1002では、手順1001で計算し
た生成数に基づき、(b)に示す管理テーブルを更新す
る。管理テーブルは、探索系統ごとに探索点・生成数・
累計数を管理する。本実施例では、累計数は探索系列の
選択の際に用いている。生成数は、同一の探索系列の存
在頻度に相当し、優性な探索系統が選択される確率を高
くする意味がある。
た生成数に基づき、(b)に示す管理テーブルを更新す
る。管理テーブルは、探索系統ごとに探索点・生成数・
累計数を管理する。本実施例では、累計数は探索系列の
選択の際に用いている。生成数は、同一の探索系列の存
在頻度に相当し、優性な探索系統が選択される確率を高
くする意味がある。
【0056】図11では、手順902の詳細を示す。手
順1101では、手順901で生成した探索系列より任
意の探索系列を選択する。これは、乱数を用いて選択す
る。対応する探索系列は、累計数をリニアに走査するこ
とで、比較的容易に決定できる。手順1102では、選
択させた探索系列を評価する。これは、実施例1および
2と同様に、例えば数10を用いて決定できる。次に、
手順1103で劣性と評価した探索系列を淘汰・交配す
る。淘汰は、全て淘汰する場合も含めて、例えば
順1101では、手順901で生成した探索系列より任
意の探索系列を選択する。これは、乱数を用いて選択す
る。対応する探索系列は、累計数をリニアに走査するこ
とで、比較的容易に決定できる。手順1102では、選
択させた探索系列を評価する。これは、実施例1および
2と同様に、例えば数10を用いて決定できる。次に、
手順1103で劣性と評価した探索系列を淘汰・交配す
る。淘汰は、全て淘汰する場合も含めて、例えば
【0057】
【数12】
【0058】のように、生成数を一定の確率的処理で減
少すれば良い。ここで、生成数が0になれば、管理テー
ブル1010より削除する。交配は、劣性系列を一定の
確率的処理により修正するためのものである。ここで
は、実施例1で用いたランダムな選択ではなく、劣性系
列に優性系列の性質を付加した系列を新たに生成する。
これは、一般的にGAで行われているように、劣性系列
の探索点のビット配列の一部を優性系列の探索点のビッ
ト配列で置き換えるなどの方法で実現できる。そして、
新しく生成された探索系列は、管理テーブル1010に
記録される。最後に、手順1104で現在存在する探索
系列を再選定する。原理的には、すべての探索系統を選
択することも可能であるが、交配によって探索系統の種
類が増加するため、一定数に抑制する処理を付加したも
のである。ここでは、優れた探索系統を上位から選択す
る。これは、各探索系統の現在の探索点における評価値
がより最適に近いものを選択すれば良い。
少すれば良い。ここで、生成数が0になれば、管理テー
ブル1010より削除する。交配は、劣性系列を一定の
確率的処理により修正するためのものである。ここで
は、実施例1で用いたランダムな選択ではなく、劣性系
列に優性系列の性質を付加した系列を新たに生成する。
これは、一般的にGAで行われているように、劣性系列
の探索点のビット配列の一部を優性系列の探索点のビッ
ト配列で置き換えるなどの方法で実現できる。そして、
新しく生成された探索系列は、管理テーブル1010に
記録される。最後に、手順1104で現在存在する探索
系列を再選定する。原理的には、すべての探索系統を選
択することも可能であるが、交配によって探索系統の種
類が増加するため、一定数に抑制する処理を付加したも
のである。ここでは、優れた探索系統を上位から選択す
る。これは、各探索系統の現在の探索点における評価値
がより最適に近いものを選択すれば良い。
【0059】図12には、手順903の詳細を示す。手
順1201は、実施例1の手順404と同様の処理を行
えば良い。これは、手順1104で選定された探索系列
を用いて評価する。すなわち、この中から最大・最小に
なったものが、一定の頻度であれば大域解と見なすこと
ができる。ここで、大域解でないと判定されれば、手順
1202で選定された探索系統をPEに再び割当てる。
そして、フェーズ1に戻る。これらの一連の手順を繰り
返すことで、大域解を決定できる。
順1201は、実施例1の手順404と同様の処理を行
えば良い。これは、手順1104で選定された探索系列
を用いて評価する。すなわち、この中から最大・最小に
なったものが、一定の頻度であれば大域解と見なすこと
ができる。ここで、大域解でないと判定されれば、手順
1202で選定された探索系統をPEに再び割当てる。
そして、フェーズ1に戻る。これらの一連の手順を繰り
返すことで、大域解を決定できる。
【0060】
【発明の効果】本発明は、多峰性の関数においては、1
CPUで実行した場合の最急降下法およびその修正法の
実行時間に近いオーダの計算時間で、SA法あるいはG
A法に近い良質の最適解を得ることができる。また、本
発明においては、複数の探索系統を用意し各系統は基本
的に独立して探索を行っている(フェーズ1)、そして
陥った局所解を淘汰するための確率的処理としてのみP
E間通信の発生するGA類似の手法を取り入れている
(フェーズ2)。従って、SAあるいはGAに比べて確
率的処理の重みは小さく、全体的に収束速度の低下は僅
少に抑えられる。また、フェーズ1において、各PE独
立での探索は最急降下法あるいはその修正法によって行
われるので、収束速度は非常に速い。さらに、この処理
ではPE間通信が一切発生しないため、疎結合並列計算
機おいても効率的な実行が期待でき、一方、フェーズ2
においては、各PE間でのデータ通信が発生するが、こ
れらはフェーズ1のような反復過程でないために、全体
としてフェーズ2に占める割合は僅少である。また、複
数存在する解の探索系統のうち、劣っている探索系統を
一定の確率的処理により改廃・更新するため、局所最適
の回避が可能になり、良質の解が得られる。
CPUで実行した場合の最急降下法およびその修正法の
実行時間に近いオーダの計算時間で、SA法あるいはG
A法に近い良質の最適解を得ることができる。また、本
発明においては、複数の探索系統を用意し各系統は基本
的に独立して探索を行っている(フェーズ1)、そして
陥った局所解を淘汰するための確率的処理としてのみP
E間通信の発生するGA類似の手法を取り入れている
(フェーズ2)。従って、SAあるいはGAに比べて確
率的処理の重みは小さく、全体的に収束速度の低下は僅
少に抑えられる。また、フェーズ1において、各PE独
立での探索は最急降下法あるいはその修正法によって行
われるので、収束速度は非常に速い。さらに、この処理
ではPE間通信が一切発生しないため、疎結合並列計算
機おいても効率的な実行が期待でき、一方、フェーズ2
においては、各PE間でのデータ通信が発生するが、こ
れらはフェーズ1のような反復過程でないために、全体
としてフェーズ2に占める割合は僅少である。また、複
数存在する解の探索系統のうち、劣っている探索系統を
一定の確率的処理により改廃・更新するため、局所最適
の回避が可能になり、良質の解が得られる。
【図1】ニューラルネットワークシステムの例を示す図
である。
である。
【図2】多峰性非線形関数の例を示す図である。
【図3】本発明の概念を説明するための図である。
【図4】実施例1の処理の概要を示すフローチャートで
ある。
ある。
【図5】実施例1における手順402の詳細を示すフロ
ーチャートである。
ーチャートである。
【図6】分散型並列計算機の例を示す図である。
【図7】実施例2の処理の概要を示すフローチャートで
ある。
ある。
【図8A】実施例2における手順701の詳細を示すフ
ローチャートとハイパーキューブにおける隣接ノードを
示す図である。
ローチャートとハイパーキューブにおける隣接ノードを
示す図である。
【図8B】図8Aに示す手順801の詳細を示すフロー
チャートと各PEの処理の関連を示す図である。
チャートと各PEの処理の関連を示す図である。
【図8C】PEテーブルを説明するための図である。
【図9】実施例3の処理の概要を示すフローチャートで
ある。
ある。
【図10】実施例3における手順901の詳細を示すフ
ローチャートとテーブル構造を示す図である。
ローチャートとテーブル構造を示す図である。
【図11】実施例3における手順902の詳細を示すフ
ローチャートである。
ローチャートである。
【図12】実施例3における手順903の詳細を示すフ
ローチャートである。
ローチャートである。
Claims (5)
- 【請求項1】 複数の処理装置により非線形最適化問題
の大域最適解を得る非線形最適化並列処理方法であっ
て、 前記各処理装置において、探索系統の初期値設定ステッ
プと、探索点更新ステップと、該探索点での探索値評価
ステップと、該探索値が局所解か否か判定するステップ
と、判定が否のとき前記探索点更新ステップに戻すか否
か判定するステップからなる第1の処理を行ない、 前記全ての処理装置で探索系列の局所解が得られたと
き、全ての処理装置から比較対となる処理装置の組をそ
れぞれ選択するステップと、比較対の各処理装置の局所
解の優劣比較をするステップと、劣性の局所解を得た探
索系統の新たな探索点を設定し関連する処理装置におけ
る前記第1の処理の探索点更新ステップに戻すステップ
からなる第2の処理を行ない、 前記各優劣比較の結果が全て一致するとき該各一致した
局所解を全て比較し、該各局所解が一致するとき一致し
た局所解を大域最適解として出力するステップと、一致
しないとき局所解を得た各探索系統の新たな探索点を設
定し関連する各処理装置における前記第1の処理の探索
点更新ステップに戻すステップからなる第3の処理を行
なうことを特徴とする非線形最適化並列処理方法。 - 【請求項2】 請求項1記載の非線形最適化並列処理方
法において、 前記第1の処理は、各処理装置間でのデータ通信をする
ことなく各処理装置が独立して実行することを特徴とす
る非線形最適化並列処理方法。 - 【請求項3】 請求項1記載の非線形最適化並列処理方
法において、 前記第2および第3の処理における探索系統の新たな探
索点は確率的評価に基づいて生成することを特徴とする
非線形最適化並列処理方法。 - 【請求項4】 請求項1記載の非線形最適化並列処理方
法において、 前記各処理装置はインデックスと比較対となる相手の処
理装置の処理装置番号からなるエントリを複数有するテ
ーブルを備え、前記第2の処理における比較対となる処
理装置の組の選択は前記各処理装置に対して前記インデ
ックスを指定することにより行なうことを特徴とする非
線形最適化並列処理方法。 - 【請求項5】 請求項1記載の非線形最適化並列処理方
法において、 前記複数の処理装置をハイパーキューブ型の並列処理装
置とし、 各処理装置の処理装置番号を複数桁の2進数により規定
し、 前記第2の処理における比較対となる処理装置の組の選
択は、各処理装置に対して前記2進数の複数桁の内の1
つの桁を指定することにより、処理装置と該処理装置の
処理装置番号の前記指定された桁の値を反転して得られ
る2進数を処理装置番号として有する処理装置とを組と
することにより行なうことを特徴とする非線形最適化並
列処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7096211A JPH08272760A (ja) | 1995-03-29 | 1995-03-29 | 非線形最適化並列処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7096211A JPH08272760A (ja) | 1995-03-29 | 1995-03-29 | 非線形最適化並列処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08272760A true JPH08272760A (ja) | 1996-10-18 |
Family
ID=14158920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7096211A Pending JPH08272760A (ja) | 1995-03-29 | 1995-03-29 | 非線形最適化並列処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08272760A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005064534A1 (ja) * | 2003-12-26 | 2005-07-14 | Evolvable Systems Research Institute Inc. | パラメータ調整装置 |
KR20150137073A (ko) * | 2013-03-27 | 2015-12-08 | 고쿠리쓰 겐큐 가이하쓰 호징 리가가쿠 겐큐소 | 해 탐색 시스템 및 방법, 해 탐색 프로그램 |
WO2015186338A1 (ja) * | 2014-06-05 | 2015-12-10 | 日本電気株式会社 | 非線形計画問題処理装置および非線形計画問題処理方法 |
US10929750B2 (en) | 2016-07-01 | 2021-02-23 | Fujitsu Limited | Information processing apparatus, Ising device, and method for controlling information processing apparatus |
-
1995
- 1995-03-29 JP JP7096211A patent/JPH08272760A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005064534A1 (ja) * | 2003-12-26 | 2005-07-14 | Evolvable Systems Research Institute Inc. | パラメータ調整装置 |
US7636706B2 (en) | 2003-12-26 | 2009-12-22 | Evolvable Systems Research Institute Inc. | Parameter adjustment device |
KR20150137073A (ko) * | 2013-03-27 | 2015-12-08 | 고쿠리쓰 겐큐 가이하쓰 호징 리가가쿠 겐큐소 | 해 탐색 시스템 및 방법, 해 탐색 프로그램 |
WO2015186338A1 (ja) * | 2014-06-05 | 2015-12-10 | 日本電気株式会社 | 非線形計画問題処理装置および非線形計画問題処理方法 |
US10929750B2 (en) | 2016-07-01 | 2021-02-23 | Fujitsu Limited | Information processing apparatus, Ising device, and method for controlling information processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
Ghaseminezhad et al. | A novel self-organizing map (SOM) neural network for discrete groups of data clustering | |
CN107016077A (zh) | 一种面向Web服务组合的优化方法 | |
Si et al. | Dynamic topology representing networks | |
CN113191486A (zh) | 基于参数服务器架构的图数据与参数数据的混合划分方法 | |
CN115222006A (zh) | 一种基于改进粒子群优化算法的数值函数优化方法 | |
Lahnajärvi et al. | Evaluation of constructive neural networks with cascaded architectures | |
CN110852435A (zh) | 一种基于神经进化计算模型 | |
CN113128617B (zh) | 基于Spark和ASPSO的并行化K-means的优化方法 | |
JPH08272760A (ja) | 非線形最適化並列処理方法 | |
CN112415959A (zh) | 边云协同的工业信息物理系统主动安全响应方法及架构 | |
CN115001978B (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
Altundogan et al. | Genetic algorithm based fuzzy cognitive map concept relationship determination and sigmoid configuration | |
CN115809708A (zh) | 中等规模有噪声量子计算机的量子位自适应映射方法 | |
EP3987456B1 (en) | Cross replica reduction on networks having degraded nodes | |
Qu et al. | Improving local minima of columnar competitive model for TSPs | |
CN111626425B (zh) | 面向二维近邻量子计算架构的量子寄存器分配方法和系统 | |
Laili et al. | Parallel transfer evolution algorithm | |
Ezhilarasi et al. | Network decomposition using evolutionary algorithms in power systems | |
CN106130861B (zh) | 一种基于小生境的多目标粒子群优化的虚拟网络映射方法 | |
Garg et al. | Revisiting neural architecture search | |
CN113705858B (zh) | 多目标区域的最短路径规划方法、系统、设备及存储介质 | |
Shams | Combinatorial optimization | |
CN108764356A (zh) | 基于引力相似度的图聚类方法 | |
Potuzak | Distributed/Parallel Genetic Algorithm for Road Traffic Network Division Using a Hybrid Island Model/Step Parallelization Approach |