(57)【要約】【課題】高速かつ効率的にＳＡＴ問題を解くことが可能な解探索システムを提供することにある。【解決手段】揺らぎを持つデータを出力する複数のデータ生成ユニット１１と、データ生成ユニット１１から出力されたデータを読み取って情報に変換するデータ変換部１２と、何れかの各データ生成ユニットに出力調節信号を送信することにより、上記データの出力を調節する出力調節部１４と、データ変換部１２により変換された情報及び予め入力された探索問題情報に基づいて、出力調節部１４による出力調節信号の送信を制御するフィードバック制御部１３とを備え、フィードバック制御部１３は、出力調節信号の送信制御の繰り返しを経て最終的にデータ変換部１２により変換されたデータ生成ユニット１１からの出力データに関する情報に基づき、探索問題情報に対する解を表示する。【選択図】図１
2014085733.tif 000002
【特許請求の範囲】
【請求項１】
揺らぎを持つデータを出力する複数のデータ生成ユニットと、
上記データ生成ユニットから出力されたデータを読み取って情報に変換するデータ変換手段と、
何れかの上記各データ生成ユニットに出力調節信号を送信することにより、上記データの出力を調節する出力調節手段と、
上記データ変換手段により変換された情報及び予め入力された探索問題情報に基づいて、上記出力調節手段による出力調節信号の送信を上記データ生成ユニット毎に制御するフィードバック制御手段とを備え、
上記フィードバック制御手段は、上記出力調節信号の送信制御の繰り返しを経て最終的に上記データ変換手段により変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示すること
を特徴とする解探索システム。
【請求項２】
上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節手段を更に備え、
上記揺らぎ調節手段は、上記データ生成ユニットの状態の空間的な分布に基づいて、上記各データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項１記載の解探索システム。
【請求項３】
上記データ生成ユニットは、２値化されたデータを出力可能とし、
上記揺らぎ調節手段は、上記出力調節信号が既に送信されているデータ生成ユニットの数が多くなるにつれて、上記出力調節信号が既に送信されているデータ生成ユニットについて上記２値化されたデータの一方の出力頻度を高くするとともに、上記出力調節信号が送信されていないデータ生成ユニットについて２値化されたデータの他方の出力頻度を高くすること
を特徴とする請求項２記載の解探索システム。
【請求項４】
上記揺らぎ調節手段は、更に上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項２又は３記載の解探索システム。
【請求項５】
上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節手段を更に備え、
上記揺らぎ調節手段は、上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項１記載の解探索システム。
【請求項６】
上記データ生成ユニットは、２値化されたデータを出力可能とし、
上記揺らぎ調節手段は、時間経過に応じて、上記出力調節信号が既に送信されているデータ生成ユニットについて上記２値化されたデータの一方の出力頻度を高くするとともに、上記出力調節信号が未だ送信されていないデータ生成ユニットについて２値化されたデータを交互に出力する頻度を高くすること
を特徴とする請求項５記載の解探索システム。
【請求項７】
複数のデータ生成ユニットから揺らぎを持つデータを出力させるデータ出力ステップと、
上記データ生成ユニットから出力させたデータを読み取って情報に変換するデータ変換ステップと、
何れかの上記各データ生成ユニットにおけるデータの出力を調節する出力調節ステップと、
上記データ変換ステップにおいて変換した情報及び予め入力された探索問題情報に基づいて、上記出力調節ステップにおける出力調節を上記データ生成ユニット毎に制御するフィードバック制御ステップとを有し、
上記フィードバック制御ステップでは、上記出力調節ステップにおける調節の繰り返しを経て最終的に上記データ変換ステップにおいて変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示すること
をコンピュータに実行させることを特徴とする解探索プログラム。
【請求項８】
仮想的に空間配置された上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節ステップを更に有し、
上記揺らぎ調節ステップでは、上記出力調節が既に行われているデータ生成ユニットの空間的な分布に基づいて、上記各データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項７記載の解探索プログラム。
【請求項９】
上記揺らぎ調節ステップでは、更に上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項８記載の解探索プログラム。
【請求項１０】
上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節ステップを更に有し、
上記揺らぎ調節ステップは、上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項７記載の解探索プログラム。
【請求項１１】
複数のデータ生成ユニットから揺らぎを持つデータを出力させるデータ出力ステップと、
上記データ生成ユニットから出力させたデータを読み取って情報に変換するデータ変換ステップと、
何れかの上記各データ生成ユニットにおけるデータの出力を調節する出力調節ステップと、
上記データ変換ステップにおいて変換した情報及び予め入力された探索問題情報に基づいて、上記出力調節ステップにおける出力調節を上記データ生成ユニット毎に制御するフィードバック制御ステップとを有し、
上記フィードバック制御ステップでは、上記出力調節ステップにおける調節の繰り返しを経て最終的に上記データ変換ステップにおいて変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示すること
を特徴とする解探索方法。
【請求項１２】
仮想的に空間配置された上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節ステップを更に有し、
上記揺らぎ調節ステップでは、上記出力調節が既に行われているデータ生成ユニットの空間的な分布に基づいて、上記各データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項１１記載の解探索方法。
【請求項１３】
上記揺らぎ調節ステップでは、更に上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項１２記載の解探索方法。
【請求項１４】
上記データ生成ユニットにおけるデータ出力の揺らぎを調節する揺らぎ調節ステップを更に有し、
上記揺らぎ調節ステップは、上記データ生成ユニットにおける出力データの時系列が時間相関をもつように上記データ生成ユニットからのデータ出力の揺らぎを調節すること
を特徴とする請求項１１記載の解探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、最適解探索問題の解を高速かつ効率的に探索する解探索システム及び方法、解探索プログラムに関するものである。
【背景技術】
【０００２】
与えられた制約条件を満足する解を探索する問題の代表例として、与えられた命題論理式を“真”にできるような変数の真偽値の組合せを探索する、いわゆる充足可能性問題（Satisfiability Problem, SAT）がよく知られている。SATは、解候補の数が問題サイズに対して指数関数的に成長する極めて高い計算複雑性をもつ、代表的な組合わせ最適化問題であり、ソフトウェアおよびハードウェア検証、ならびに情報セキュリティー関連技術等を含む、多くのアプリケーションと密接に関連している。このため、SATを解くシステム及び方法、解探索プログラムは、今後の情報化社会において極めて重要である。これに関連した先行技術としては、ＳＡＴ解法プログラムや、障害診断プログラム等が提案されている（特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−００３７３３号公報
【特許文献２】特開２０１１−０７０５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の特許文献１、２の開示技術は、特にＳＡＴの所与の問題に対する解をより高速かつ効率的に探索する方法を提案する技術ではない。情報量が増大の一途を辿る昨今において、大量の情報から高速かつ効率的にＳＡＴの解を求めるための社会的要請が高くなると考えられるが、これについて特段の解決策が提案されていないのが現状であった。
【０００５】
本発明は、上述した問題点に鑑みて案出されたものであり、その目的は、高速かつ効率的にＳＡＴ問題を解くことが可能な解探索システム及び方法、解探索プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る解探索システムは、揺らぎを持つデータを出力する複数のデータ生成ユニットと、上記データ生成ユニットから出力されたデータを読み取って情報に変換するデータ変換手段と、何れかの上記各データ生成ユニットに出力調節信号を送信することにより、上記データの出力を調節する出力調節手段と、上記データ変換手段により変換された情報及び予め入力された探索問題情報に基づいて、上記出力調節手段による出力調節信号の送信を上記データ生成ユニット毎に制御するフィードバック制御手段とを備え、上記フィードバック制御手段は、上記出力調節信号の送信制御の繰り返しを経て最終的に上記データ変換手段により変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示することを特徴とする。
【０００７】
本発明に係る解探索プログラムは、複数のデータ生成ユニットから揺らぎを持つデータを出力させるデータ出力ステップと、上記データ生成ユニットから出力させたデータを読み取って情報に変換するデータ変換ステップと、何れかの上記各データ生成ユニットにおけるデータの出力を調節する出力調節ステップと、上記データ変換ステップにおいて変換した情報及び予め入力された探索問題情報に基づいて、上記出力調節ステップにおける出力調節を上記データ生成ユニット毎に制御するフィードバック制御ステップとを有し、上記フィードバック制御ステップでは、上記出力調節ステップにおける調節の繰り返しを経て最終的に上記データ変換ステップにおいて変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示することをコンピュータに実行させることを特徴とする。
【０００８】
本発明に係る解探索方法は、複数のデータ生成ユニットから揺らぎを持つデータを出力させるデータ出力ステップと、上記データ生成ユニットから出力させたデータを読み取って情報に変換するデータ変換ステップと、何れかの上記各データ生成ユニットにおけるデータの出力を調節する出力調節ステップと、上記データ変換ステップにおいて変換した情報及び予め入力された探索問題情報に基づいて、上記出力調節ステップにおける出力調節を上記データ生成ユニット毎に制御するフィードバック制御ステップとを有し、上記フィードバック制御ステップでは、上記出力調節ステップにおける調節の繰り返しを経て最終的に上記データ変換ステップにおいて変換された上記データ生成ユニットからの出力データに関する情報に基づき、上記探索問題情報に対する探索解を表示することを特徴とする。
【発明の効果】
【０００９】
上述した構成からなる本発明によれば、複数のデータ生成ユニットから揺らぎを持つデータを出力させることにより、高速かつ効率的にＳＡＴ問題を解くことが可能となる。
【００１０】
特に、本発明の方法は、従来より知られているSAT問題解決アルゴリズム（WalkSAT等）と比較して、解を求めるのに要する時間ステップ数（反復回数）を減少させることができ、より効率的に解を得ることが可能となる。また、本発明の技術思想を、FPGA(field-programmable gate array)等の回路で実装をすることで、上記の１ステップに必要な実時間を短縮することができ、より高速に解を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明を適用した解探索システムの全体構成を示す図である。
【図２】出力調節信号の送信によるデータ生成ユニットからの出力データの制御について説明するための図である。
【図３】出力調節信号の送信によるデータ生成ユニットからの出力データの制御について説明するための他の図である。
【図４】与えられたブール式Ｆ１１〜Ｆ１６の論理積を１（“真”）にするための命題論理式を示す図である。
【図５】１の変数への値の割当てを２つのデータ変換ユニットで表現する場合について説明するための図である。
【図６】空間相関に基づいて揺らぎが設定される状況について説明するための図である。
【図７】空間相関に基づく揺らぎを設定する例について説明するための図である。
【図８】時間相関に基づく揺らぎを設定する例について説明するための図である。
【図９】本発明を適用した解探索システムの効果について説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した解探索システムについて図面を参照しながら詳細に説明をする。
【００１３】
図１は、本発明を適用した解探索システム１の全体構成を示している。解探索システム１は、複数のデータ生成ユニット１１−１、１１−２、・・・、１１−ｉと、データ生成ユニットから出力されたデータを読み取り可能な複数のデータ変換部１２−１、１２−２、・・・、１２−ｉと、このデータ変換部１２に接続されるフィードバック制御部１３と、このフィードバック制御部１３に接続された出力調節部１４と、複数のデータ生成ユニット１１−１、１１−２、・・・、１１−ｉにそれぞれ接続され、更にフィードバック制御部１３にも接続される揺らぎ調節部１５とを備えている。
【００１４】
ちなみに、これらデータ生成ユニット１１、データ変換部１２、フィードバック制御部１３、出力調節部１４、揺らぎ調節部１５の各構成要素は、これらの機能を発揮するいかなる既存の回路やデバイス、装置等で具現化されるものであってもよい。
【００１５】
データ生成ユニット１１−１、１１−２、・・・、１１−ｉは、それぞれデータを出力する。このデータ生成ユニット１１−１、１１−２、・・・、１１−ｉから出力されるデータは、２値化されたデジタルデータであってもよいし、アナログデータであってもよいが、以下の説明では、“１”又は“０”の何れかを出力する場合を例にとり説明をする。また、このデータ生成ユニット１１−１、１１−２、・・・、１１−ｉの何れか１以上は、出力調節部１４から出力されてくる出力調節信号を受信する。そして、この出力調節信号を受信したデータ生成ユニット１１は、これに基づいて出力すべきデータが制御される。
【００１６】
図２に示すように、一のデータ生成ユニット１１−１に着目すると、当該データ生成ユニット１１−１に対して出力調節信号が供給された場合、データ生成ユニット１１−１は“０”を出力する頻度が高くなる。
【００１７】
また図３に示すように、一のデータ生成ユニット１１−１に着目すると、当該データ生成ユニット１１−１に対して出力調節信号が供給されない場合、データ生成ユニット１１−１は“１”を出力する頻度が高くなる。
【００１８】
ちなみに、このデータ生成ユニット１１は、上述した機能を実現できるものであればいかなる形態で具現化されるものであってもよい。データ生成ユニット１１は、例えば、“１”又は“０”の何れかを一定時間間隔で出力可能な回路ユニットで構成してもよいし、また本発明をコンピュータに実行させるためのプログラムで具現化する際には、仮想的に定義された概念的な構成要素として考えることも可能となる。
【００１９】
このようなデータ生成ユニット１１から出力されるデータは、無相関の確率的乱数のようにランダムに出力されるもののみならず、カオス力学系や非線形振動子結合系のようなシステムから出力される空間相関や時間相関をもつ揺らぎをともなった状態で出力されるものを含める。この出力されるデータに持たせる揺らぎの特性は、揺らぎ調節部１５に基づいて決定される。
【００２０】
データ変換部１２−１、１２−２、・・・１２−ｉは、データ生成ユニット１１−１、１１−２、・・・、１１−ｉから出力されてくるデータを読み取り、これを情報に変換する。このデータ変換部１２は、データ生成ユニット１１から、例えばデジタルデータとして“１”が出力されてきた場合には、これを読み取り、これに応じた情報として現ステップの値に“＋１”を加算した値を出力する。また、データ変換部１２は、データ生成ユニット１１から、例えばデジタルデータとして“０”が出力されてきた場合には、これを読み取り、これに応じた情報として現ステップの値に“−１”を加算した値を出力する。ただし、データ変換部１２の取り得る値は、その最大値が2、最小値が−2となるように制限しても良い。その場合、データ変換部１２の取り得る値は、−2、−1、0、1、2の５種類のうちのいずれかとなる。そのために、データ変換部１２の現ステップの値が2の場合はデータ生成ユニット１１からの出力データの値とは無関係に次ステップで値１を出力し、データ変換部１２の現ステップの値が−2の場合はデータ生成ユニット１１からの出力データの値とは無関係に次ステップで値−1を出力することにする。ちなみに、このデータ変換部１２から出力される情報としては、上述したものに限定されることなく、あくまでデータ生成ユニット１１からのデータに基づくものであればいかなるものであってもよい。
【００２１】
このようにしてデータ変換部１２−１、１２−２、・・・１２−ｉは、個々のデータ生成ユニット１１−１、１１−２、・・・、１１−ｉから出力されてくるデータを読み取り、その出力された個々のデータに基づいてそれぞれ情報変換を行う。データ変換部１２は、この情報変換を行った情報を出力する。このとき、データ変換部１２の取り得る値−2、−1、0、1、2が正の値（0より大きい）であるか負の値(0以下)であるかを出力するようにしてもよい。また、データ変換部１２から出力する情報としては、これら正又は負の２値に限定されることなく、変換されたデータに基づくものであればいかなるものであってもよい。
【００２２】
ちなみに、変数がＮ個の場合に、これらデータ生成ユニット１１−１、１１−２、・・・、１１−ｉ及びデータ変換部１２−１、１２−２、・・・１２−ｉは、Ｎ個で構成するようにしてもよいし、２Ｎ個で構成するようにしてもよい。
【００２３】
このデータ変換部１２から出力された情報は、フィードバック制御部１３へと送られることとなる。また、この出力される情報を画面上に表示するようにしてもよい。
【００２４】
フィードバック制御部１３は、データ変換部１２により変換されて出力された情報を受信する。このフィードバック制御部１３は、受信した情報及び予め入力された探索問題情報に基づいて、出力調節部１４による出力調節信号の送信を制御する。具体的には、フィードバック制御部１３は、かかる出力調節信号が送信される各データ生成ユニット１１−１、１１−２、・・・、１１−ｉ毎に、その出力調節信号の送信の有無を制御する。また、このフィードバック制御部１３は、出力調節信号の送信制御の繰り返しを経て最終的にデータ変換手段により変換されたデータ生成ユニット情報に基づき、探索問題情報に対する探索解を表示する。この探索解の表示は、図示しないユーザインタフェースを介して表示するようにしてもよい。
【００２５】
出力調節部１４は、フィードバック制御部１３からの制御に基づいて、データ生成ユニット１１−１、１１−２、・・・、１１−ｉに対して出力調節信号を送信する。この出力調節信号は、フィードバック制御部１３からの制御に基づいて、全てのデータ生成ユニット１１に対して供給される場合もあれば、その逆として全てのデータ生成ユニット１１に対して供給されない場合もある。この出力調節信号が供給されたデータ生成ユニット１１は、出力調節信号が供給されないデータ生成ユニット１１と比較して、出力されるデータが異なる傾向をもつこととなる。
【００２６】
揺らぎ調節部１５は、データ生成ユニット１１から出力されるデータの揺らぎを調節するデバイスである。この揺らぎ調節部１５により調節されるデータの揺らぎについては後段において詳述する。
【００２７】
本発明を適用した解探索システム１は、複数のデータ生成ユニット１１−１、１１−２、・・・、１１−ｉ、データ変換部１２、フィードバック制御部１３の順に処理動作が進行し、探索解が求まるまで出力調節部１４からの出力調節信号の送信を行うことで、これらの処理動作が繰り返し実行される。
【００２８】
次に、本発明を適用した解探索システム１の動作について説明をする。
【００２９】
本発明を適用した解探索システム１では、いずれかのデータ生成ユニット１１−１、１１−２、・・・、１１−ｉに対して出力調節信号を送信し、或いは送信しないかを、予め入力された探索問題情報に基づいて制御することとなる。換言すれば、フィードバック制御部１３は、データ生成ユニット１１から出力され、データ変換部１２により変換された情報と、予め入力された探索問題情報の２つの要因に基づいて、出力調節部１４による出力調節信号の送信を制御する。
【００３０】
ここでいう探索問題情報とは、命題論理式で表されるあらゆる問題情報を含むものである。この探索問題情報とは、最適解探索問題に関するあらゆる問題情報と解されるものであってもよい。この探索問題情報は、例えば、Ｎ個の変数からなる命題論理式で表されるものであってもよい。この探索問題情報は、（ｐ0？ｐ1？・・・・？ｐn）＝“真”("１")又は“偽”("0")、（ここで？は、論理和（or）、論理積（and）等を始めとしたいかなる演算記号を適用してもよい。）で表される。
【００３１】
この解探索システム１に探索問題情報の探索解を探索させる上で、データ生成ユニット１１から出力され、データ変換部１２により変換された情報に応じて、探索問題情報として命題論理式を満たさないものを排除するように、出力調節信号の供給制御を行う。これを利用することで、例えば探索問題情報として、命題論理式の全体の値を“真” ("１")にするために充足可能な変数を探索する充足可能性問題（Satisfiability Problem, SAT）を与えることで、その解を探索することも可能となる。
【００３２】
例えば図４は、与えられたブール式Ｆ１１〜Ｆ１６の論理積を１（“真”）にするための命題論理式を示している。この命題論理式は、４個の変数と、６個の節をもつ式である。論理積を１とするためには、各節を全て１にしなければならないことが分かる。Ｆ１１に着目した場合に、仮にｘ1が“０”である場合には、ｘ2を“０”にしない限りＦ１１を“１”にすることができない。かかる場合には、ｘ2が“１”であることを打ち消すような制御を行う。また、ｘ2が“１”である場合には、ｘ1が“０”であるとＦ１１を“１”にすることができない。かかる場合には、ｘ1が“０”であることを打ち消すような制御を行う。
【００３３】
また、Ｆ１２に着目した場合、ｘ3が“０”かつｘ4が“1”である場合には、ｘ2が“０”であるとＦ１２を“１”にすることができない。かかる場合には、ｘ2が“１”であることを打ち消すような制御を行う。同様にｘ2が“1”でｘ3が“０”である場合には、ｘ4が“1”であるとＦ１２を“１”にすることができない。かかる場合には、ｘ4が“１”であることを打ち消すような制御を行う。同様にｘ2が“1”でｘ4が“1”である場合には、ｘ3が“０”であるとＦ１２を“１”にすることができない。かかる場合には、ｘ3が“０”であることを打ち消すような制御を行う。
【００３４】
残りのＦ１３〜Ｆ１６についても同様の論理に基づいて、命題論理式の全体の値を“真”にするために、命題論理式を満たさないものを排除するような制御をする。これにより、命題論理式の全体の値を“真”へと導くことが可能となる。また、このような解探索を行う上で、本発明を適用した解探索システム１では、各データ変換部１２の保持する情報に応じて探索問題情報としての命題論理式を満たさないものを排除するように、各データ生成ユニット１１に対する出力調節信号の供給を行うことができる。このため、図４に例示されるような命題論理式からなる探索問題情報を与えることにより、これに沿った出力調節信号の供給動作を行い、最終的には探索問題情報としての命題論理式を満たすようなデータ変換部１２の出力状態に到達することとなる。
【００３５】
特に図４に示すＦ１１〜Ｆ１６のような複数の節からなる命題論理式を解く場合においても、これをフィードバック制御部１３において探索問題情報として入力しておくことにより、当該探索問題情報に沿って出力調節信号の供給制御が行われ、解へと導くことが可能となる。ちなみに、図４に示す命題論理式の解は、(x1,x2,x3,x4)=(1,1,1,1)であるが、本発明を適用した解探索システム１により、この解を得ることが可能となる。
【００３６】
充足可能性問題(SAT)は、ソフトウェアおよびハードウェア検証、ならびに情報セキュリティー関連技術等を含む、多くのアプリケーションで使用され、今後も重要性が向上するものと考えられるが、本発明を適用した解探索システム１により、その解を自動的に求めることが可能となる。
なお、本発明では、SATの他のいかなる命題論理式をも予めフィードバック制御部１３に入力しておけば、同様の手法によりその解を得ることが可能となる。例えば、ハミルトン閉路問題や、ナップサック問題を始めとした問題をＳＡＴに変換して解くこともできるが、これらの変換機能をもフィードバック制御部１３にもたせるようにしてもよい。これにより、ＳＡＴ以外の探索問題情報が入力されていても、これをＳＡＴに変換することで解を求めることが可能となる。ちなみに、このようなＳＡＴ以外の探索問題をＳＡＴに変換する方法は、従来のいかなる手法を用いるようにしてもよい。
【００３７】
なお、上述したフィードバック制御を行う際には、以下のＩＮＴＲＡ、ＩＮＴＥＲ、ＣＯＮＴＲＡという３つのルールに基づいて実行していくこととなる。この３つのルールを考える際には、例えば図５に示すように１の変数への値の割当てを２つのデータ変換ユニット１２で表現する場合を想定している。この図５では、８個のデータ生成ユニット１１と、それら各々から出力されたデータを読み取る８個のデータ変換ユニット１２の状態により、４変数の真偽値("0"又は"1")を表現する場合を示している。Ｎ変数の真偽値を表現する場合には、２N個のデータ生成ユニット１１と、それら各々から出力されたデータを読み取る2N個のデータ変換ユニット１２が必要になる。この例では、２つのデータ変換ユニット１２ａ、１２ｂのペアで１の変数x1を表現する。２つのデータ変換ユニット１２ｃ、１２ｄのペアで１の変数x2を表現する。２つのデータ変換ユニット１２ｅ、１２ｆのペアで１の変数x3を表現する。２つのデータ変換ユニット１２ｇ、１2ｈのペアで１の変数x4を表現する。また、各変数x1〜x4においてデータ変換ユニット１２ａ、１2ｃ、１2ｅ、１2ｇはそれぞれの変数xiに値“０”が割当てられることを表現するものであり、データ変換ユニット１２ｂ、１2ｄ、１2ｆ、１2ｈはそれぞれの変数xiに値“０”が割当てられることを表現するものである。
【００３８】
このようなデータ変換ユニット１２により例えば４変数の真偽値割当を表現したい場合、例えば、データ変換ユニット１２ｂ、１２ｄ、１２ｆ、１２ｈのみが正の値(0より大きい)をとり、データ変換ユニット１２ａ、１２ｃ、１２ｅ、１２ｇは負の値(0以下)をとるとき、真偽値割当(x1,x2,x3,x4)=(1,1,1,1)が表現されることとなる。データ変換ユニット１２ａ、１２ｄ、１２ｅ、１２ｈのみが正の値をとるとき、これは真偽値割当（０１０１）を表す。またデータ変換ユニット１２ｂ、１２ｃ、１２ｆ、１２ｇのみが正の値をとるとき、これは真偽値割当（１０１０）を表す。
【００３９】
このようなＮ変数の真偽値割当を表現する２Ｎ個のデータ変換ユニット１２を用いる場合において、ＩＮＴＲＡは、１の変数xiの真偽値を表現するデータ変換ユニット１２のペアに着目した場合において、それらの双方が正の値をとる状態（変数xiが値“０”でありかつ値“1”であるという矛盾）が生じないようにするための出力調節信号の供給ルールである。そのために、１の変数xiに対応するデータ変換ユニット１２のペアの一方が正の値をとるならば、他方のデータ変換ユニット１２が正の値をとらなくなるように、当該データ生成ユニット１１に出力調節信号の供給制御を行うこととなる。
【００４０】
【表１】
2014085733.tif 000003
【００４１】
表１に、図４に示す命題論理式に対応するフィードバック制御を行うＩＮＴＲＡ、ＩＮＴＥＲ、ＣＯＮＴＲＡの例を示す。この表１においてＩＮＴＲＡ、ＩＮＴＥＲ、ＣＯＮＴＲＡの要素は、何れも[Ｐ、Ｑ]という形式で示される。これは、「Ｐが成り立つならばＱが成り立たないように制御する」という意味である。すなわち、「Pが要素として含む変数とその真偽値に対応するデータ変換ユニット１２が正の値をとるならば、Qが要素として含む変数とその真偽値に対応するデータ生成ユニット１１がデータ“１”を出力する確率が低下するように出力調節信号を供給する」という意味である。
【００４２】
先ずＩＮＴＲＡについて、例えば、ｘ1が“０”である場合には、ｘ1が“１”である状態を打ち消すように出力調節信号を供給する。ｘ1が“１”である場合には、ｘ1が“０”である状態を打ち消すように出力調節信号を供給する。このために、ｘ1の“１”に対応するデータ変換ユニット１２が正の値をとった場合には、ｘ1の“０”に対応するデータ変換ユニット１２が正の値をとることを抑制するために、当該データ生成ユニット１１へ出力調節信号を供給する。同様に、ｘ1の“０”に対応するデータ変換ユニット１２が正の値をとった場合には、ｘ1の“１”に対応するデータ変換ユニット１２が正の値をとることを抑制するために、当該データ生成ユニット１１へ出力調節信号を供給する。残りのｘ2〜ｘ4についても、このＩＮＴＲＡの表に従って出力調節信号の供給制御が行われることとなる。
【００４３】
ＩＮＴＥＲは、与えられた探索問題情報に基づいた出力調節信号の供給ルールである。例えば、図４におけるＦ１１に着目した場合、ｘ2の“１”に対応するデータ変換ユニット１２が正の値をとった場合には、ｘ1の“０”に対応するデータ変換ユニット１２が正の値をとることを抑制するために、当該データ生成ユニット１１へ出力調節信号を供給する。同様に、ｘ1の“０”に対応するデータ変換ユニット１２が正の値をとった場合には、ｘ2の“１”に対応するデータ変換ユニット１２が正の値をとることを抑制するために、当該データ生成ユニット１１へ出力調節信号を供給する。
【００４４】
表１において、このＩＮＴＥＲについても、その要素は、何れも[Ｐ、Ｑ]という形式で示される。Ｐについてｘ2が“１”である場合には、Ｑに示すようにｘ1が“０”である状態を打ち消すように出力調節信号を供給する。Ｐについてｘ1が“０”である場合には、Ｑに示すようにｘ2が“１”である状態を打ち消すように出力調節信号を供給する。Ｐについてｘ3が“０”であり、かつ、ｘ4が“１”である場合に、Ｑに示すようにｘ2が“１”である状態を打ち消すように出力調節信号を供給する。これ以下についても同様にＩＮＴＥＲの表に従って出力調節信号の供給制御が行われることとなる。
【００４５】
このように、ＩＮＴＥＲは、探索問題情報として与えられた論理式の１の節を構成する１の変数に着目した場合に、当該節を構成する他の変数との論理和が“真”を構成しない場合（上述の例でいえば、１の変数：ｘ2が“１”、他の変数：ｘ1が“０”、である場合等）には、他の変数（ｘ1が“０”）を表すデータ生成ユニット１１からのデータ出力状態を打ち消すように、出力調節信号の供給を制御する。「ｘ1が“０”」の状態が打ち消されれば、「ｘ1が“１”」となることを誘導し得る。
【００４６】
また、ＣＯＮＴＲＡは、上述のＩＮＴＥＲに基づいて出力調節信号の供給制御を行おうとする場合に生じる論理矛盾を解消するための出力調節信号の供給ルールである。
【００４７】
INTERにおいて、例えば、Ｑに含まれるｘ1に着目した場合に、ｘ2が“１”である場合に、ｘ1が“０”である状態を打ち消すルール、ｘ3が“０”である場合に、ｘ1が“０”である状態を打ち消すルールが定義されている。またｘ4が“０”である場合に、ｘ1が“１”である状態を打ち消すルールが定義されている。このため、例えば、ｘ2が“１”であり、かつ、ｘ4が“０”である場合に、ｘ1が“０”である状態も“１”である状態も打ち消されるという、論理矛盾が生じてしまう。こうした事態を防ぐために、かかる場合には、ｘ2が“１”である状態と、ｘ4が“０”である状態が同時に生じないように制御する。具体的には、ｘ2が“１”であることを表現するデータ変換ユニット１２が正の値をとり、かつ、ｘ4が“０” であることを表現するデータ変換ユニット１２が正の値をとる場合には、次ステップにおいて、それらに対応する２つのデータ生成ユニット１１に対して出力調節信号を供給することで、対応するデータ変換ユニット１２が正の値をとることを抑制する制御を行うこととなる。
【００４８】
同様に、ｘ3が“０”であり、かつｘ4が“０”である場合には、ｘ1の状態が“０”であることも“１”であることも許されなくなってしまう矛盾が生じる。これを防ぐために、ｘ3が“０”であることを表現するデータ変換ユニット１２と、ｘ4が“０” であることを表現するデータ変換ユニット１２とが、同時に正の値をとる場合には、次ステップにおいて、当該データ生成ユニット１１に対して出力調節信号を供給することで、対応するデータ変換ユニット１２が正の値をとることを抑制する制御を行う。
【００４９】
またINTERにおいて、例えば、Ｑに含まれるｘ3に着目した場合に、ｘ2が“１”であり、かつｘ4が“１”である場合に、ｘ3が“０”である状態を打ち消すルールが定義されている。同様に、ｘ2が“０”である場合に、ｘ3が“１”である状態を打ち消すルールが定義されている。このため、ｘ2が“１”であり、ｘ4が“１”であり、かつｘ2が“０”である場合には、ｘ3は“０”と“１”の何れも取りえないこととなり、論理矛盾が生じる。かかる場合においても同様に、ｘ2が“１”、ｘ4が“１”、かつｘ2が“０”の状態が同時に生じないように制御する。具体的には、ｘ2が“１”、ｘ4が“１”、ｘ2が“０”であることを表現するデータ変換ユニット１２が、３つ同時に正の値をとる場合には、次ステップにおいて、当該の３つのデータ生成ユニット１１に対して出力調節信号を供給することで、対応する３つのデータ変換ユニット１２が正の値をとることを抑制する。
【００５０】
他のｘ2〜ｘ4についても同様に論理矛盾が生じる組合せを調べることによって得られるＣＯＮＴＲＡの全てのルールを、表１に示す。すなわち、ＣＯＮＴＲＡは、探索問題情報に基づいて出力調節信号の供給制御を行うルールであるＩＮＴＥＲにおいて、各変数が“真”と“偽”のいずれの値をとることも共に禁じられてしまうような状態の組合せを列挙することで得られるルールの集合である。
【００５１】
上述のようなＩＮＴＲＡ、ＩＮＴＥＲ、ＣＯＮＴＲＡにより、Ｐ、Ｑの関係を、探索問題情報に基づいて予め定義することが可能となる。そして、ＩＮＴＲＡ，ＩＮＴＥＲ、ＣＯＮＴＲＡが定義するルールに基づき、Ｐの場合にＱの状態を打ち消すように制御を行うことで、最終的に、充足可能性問題の解を導くことができる。
【００５２】
ちなみに、このようなＩＮＴＲＡ、ＩＮＴＥＲ、ＣＯＮＴＲＡの制御は、Pの要素に対応するデータ変換ユニット１２の状態が、それぞれ２値（正の値又は負の値）のうち何れであるかを判定し、Ｑの要素に対応するデータ生成ユニット１１に出力調節信号の供給制御を行うという単純な動作である。このため、本発明では、フィードバック制御部１３は、ＣＰＵ（Central Processing Unit）を備えた高度な情報処理能力をもつデバイスではなく、データ変換ユニット１２からの入力をルールに基づき変換しデータ生成ユニット１１に出力を供給する機能のみをもつような、いわゆるスイッチ等のいかなる簡便な手段により実現してもよい。
【００５３】
なお、上述した解探索システム１は、上述した実施の形態に限定されるものではない。データ生成ユニット１１から出力されるデータ“１”又は“０”は、ある揺らぎを持った状態で出力される旨を説明した。この揺らぎとして無相関白色ノイズを設定する場合よりも、空間相関を持つ揺らぎや、時間相関を持つ揺らぎを設定する場合の方がより少ない時間ステップ数で効率的に探索解を求めることができることを解明している。以下、この揺らぎとして、空間相関を持つ揺らぎや、時間相関を持つ揺らぎを設定する場合について説明をする。
【００５４】
図６は、かかる空間相関について説明するための図である。例えば、データ生成ユニット１１−１〜１１−８の８個で構成されており、その個々の空間的な配置が図６に示す形態とされているものとする。かかる場合において、出力調節信号が供給されているデータ生成ユニットの数を“num”と定義することにする。以下では、numが大きくなるにつれて、出力調節信号が供給されていないデータ生成ユニット１１から“１”が多く出力されるように、揺らぎを調節する例を説明する。
【００５５】
図６（ａ）に示すように、出力調節部１４から出力調節信号がデータ生成ユニット１１に何ら供給されていない、いわゆる初期ステップを考えるものとする。このときnum=0である。ここで、１のデータ生成ユニット１１−６に着目した場合に、そこから出力されるデータの揺らぎを調節するためのパラメータとして、β-(num)とβ+(num)を定義する。β-(num)とβ+(num)の値はnumの関数として変化する。
【００５６】
初期ステップでは、揺らぎを調節するためのパラメータの設定値をβ-(0)＝０．５、β+(0)＝０．５とする。これらの設定値は、データ生成ユニット１１において、前者は出力調節信号が供給されていないときに値“０”が生成され、後者は出力調節信号が供給されているときに値“１”が生成されるという、出力調節信号が誘導する値とは異なる値が生成される状況、いわば「エラー」のような状況が発生する確率が、ともに５０％であることを意味している。ただし、こうした「エラー」は真偽値割当の多様な組合せを探索するためには必要不可欠な動作であり、その発生頻度を適切に調節することが、効率的に解を探索するためには重要である。
【００５７】
一方、図６（ｂ）では、出力調節部１４から出力調節信号がデータ生成ユニット１１−２、１１−４、１１−５に供給されているものとする。このときnum=3である。かかる場合には、揺らぎを調節するためのパラメータの設定値をβ-(3)＝０．２５、β+(3)＝０．０５に変化させる。こうすると、データ生成ユニット１１−６において、出力調節信号が供給されていないときに“０”が生成される確率が２５％、出力調節信号が供給されているときに“１”が生成される確率が５％となる。すなわち、numが増加するにつれて、「エラー」のような状況が発生する確率が低下するように制御することになる。
【００５８】
図６（ｃ）では、出力調節部１４から出力調節信号がデータ生成ユニット１１−１、１１−３、１１−５、１１−７に供給されており、num=4であるものとする。かかる場合には、β-(4)＝０．０５、β+(4)＝０．００に変化させ、データ生成ユニット１１−６において、出力調節信号が供給されていないときに“０”が、出力調節信号が供給されているときに“１”が生成される確率が、それぞれ５％と０％となる。すなわち、numがさらに増加したときに、「エラー」のような状況の発生確率がさらに低下するように制御することになる。
【００５９】
揺らぎ調節部１５は、出力調節信号が供給されているデータ生成ユニット１１の数に応じて、各データ生成ユニット１１からのデータ出力の揺らぎを調節する。具体的には、データ生成ユニット１１からは、“０”又は“１”の２値化されたデジタルデータを出力することとなるが、ランダムに、つまりホワイトノイズと同様にランダムに“０”又は“１”を出力するのではなく、“０”又は“１”の何れか一方がより多く出力されるような揺らぎを設定する。
【００６０】
以下の例では、出力調節信号が送信されているデータ生成ユニットの数numが大きくなるにつれて、出力調節信号が送信されていないデータ生成ユニット１１から“１”がより高い頻度で出力されるように揺らぎを調節する。そして、numが大きくなるにつれて、出力調節信号が送信されているデータ生成ユニット１１から“０”がより高い頻度で出力されるように制御する。
【００６１】
図７（ａ）は、いわゆるホワイトノイズを示しており、縦軸はそのホワイトノイズの値を示している。このうちβ+、１−β-は、揺らぎに関する閾値（スレッショルド）である。β+は、出力調節信号が送信されているデータ生成ユニット１１の閾値である。ホワイトノイズがβ+以上であれば、出力調節信号が送信されているデータ生成ユニット１１から“０”を出力し、ホワイトノイズがβ+未満であれば“１”を出力する。１−β-は、出力調節信号が送信されていないデータ生成ユニット１１の閾値である。ホワイトノイズが１−β-以上であれば、出力調節信号が送信されていないデータ生成ユニット１１から“０”を出力し、１−β-未満であれば“１”を出力する。
【００６２】
上述のように、このβ+、１−β-は、出力調節信号が供給されているデータ生成ユニット１１の数numに応じて変化するように設定するので、numの関数となっている。図７（ｂ）は、β+、１−β-をnumの関数としてプロットした例を示している。β+は、numが増加するにつれて、直ぐに０付近の値に収束するように設定したので、出力調節信号が供給されているデータ生成ユニット１１から出力されるデータは、ほぼ１００％の確率で “０”になる。
【００６３】
これに対して、図７（ｂ）で示されるように、１−β-は、出力調節信号が供給されているデータ生成ユニット１１の数numが増加するにつれて、０．５から１に向けて徐々に増加するように設定した。これにより、numが増加するにつれて、出力調節信号が供給されてないデータ生成ユニット１１が“１”を出力する確率が増加する。
【００６４】
このようにして出力調節信号が供給されているデータ生成ユニット１１の数numに応じて、出力すべきデータの揺らぎを調整することが可能となる。
【００６５】
なお、本発明では、この出力調節信号が供給されているデータ生成ユニット１１の数numに応じてβ+、β-を調節する場合に限定されるものではない。その上位概念として、出力調節信号が供給されているデータ生成ユニット１１の空間的な分布に基づいて、β+、β-を調節するものであればいかなる形態であってもよい。即ち、出力調節信号が供給されているデータ生成ユニット１１の数num以外に、その空間的な配置に基づいてβ+、β-を調節してもよい。換言すれば、numは同数であっても、その出力調節信号が供給されているデータ生成ユニット１１の配置に応じて、各データ生成ユニット１１ごとにβ+、β-の設定値が変わるように調節してもよい。つまり、出力調節信号が供給されているデータ生成ユニット１１の数num、配置といった空間に関する全ての事象に基づいて、β+、β-を調節してもよい。
【００６６】
なお、β+、１−β-の変化傾向は、図７（ｂ）に示される傾向に限定されるものではなく、上述した空間に関するあらゆる事象に基づくものであればいかなる揺らぎを以って設定されていてもよい。
【００６７】
なお、本発明を適用した解探索システム１では、データ生成ユニット１１から出力されるデータ“１”又は“０”は、いわゆる時間相関をもつ揺らぎを伴って出力されるようにしてもよい。
【００６８】
図８（ａ）は、この時間相関をもつ揺らぎを設定するためにカオス揺らぎを生成するロジスティック写像を用いる例を示している。この図８（ａ）において、横軸は、ｆ（ｔ）の値であり、縦軸は、ｆ（ｔ＋１）の値である。
【００６９】
これらの再帰的関係を一般式で示したのが以下の式（Ｐ）である。
ｆ（ｔ＋１）＝４・ｆ（ｔ）・（１−ｆ（ｔ））・・・・・（Ｐ）
【００７０】
図８（ａ）で示されるロジスティック写像を用いる例では、揺らぎを調節するためのパラメータは、numの関数ではなく、定数β-＝０．２５、β+＝０に固定する。これにより、１−β-＝０．７５というスレッショルドが設定されることになる。出力調節信号が供給されていないデータ生成ユニット１１は、ｆ（ｔ）がスレッショルドを下回るときにデータ“１”を、上回るときに “０”を出力する。スレッショルドを０．７５に設定した理由は、ロジスティック写像は、不動点ｆ（ｔ＋１）＝ｆ（ｔ）＝０．７５を持つため、後述するように、この設定により負の時間相関をもちながらカオス的に揺らぐ時系列を生成することができるからである。
【００７１】
図８（ａ）において、ｆ（１）＝０．２はスレッショルド１−β-＝０．７５より小さいので、出力調節信号が供給されていないデータ生成ユニット１１は“０”を出力する。このｆ（１）＝０．２である場合における曲線Ｐ上の点ｙ1が、ｆ（２）の値となる。点ｙ1の縦軸に対応する値がｆ（２）=０．６４である。このｆ（２）＝０．６４はスレッショルドより小さいので、出力調節信号が供給されていないデータ生成ユニット１１は“０”を出力する。ｆ（２）＝０．６４である場合における曲線Ｐ上の点ｙ2の縦軸に対応するｆ（３）=０．９２１６は、スレッショルドより大きいので、出力調節信号が供給されていないデータ生成ユニット１１は“１”を出力する。ｆ（３）＝０．９２１６である場合における曲線Ｐ上の点ｙ3の縦軸に対応するｆ（４）=０．２８９０１４は、スレッショルドより小さいので、出力調節信号が供給されていないデータ生成ユニット１１は“０”を出力する。またｆ（５）以降についても同様に実行していく。
【００７２】
このようなプロセスで、点ｙがｆ（t）＝０．７５の前後に近づくと、スレッショルドを交互に跨ぎ、その結果、出力調節信号が供給されていないデータ生成ユニット１１が“０”と“１”とを交互に出力する頻度が高くなる。図８（ｂ）は、実際に計算されたｆ（ｔ）の値を縦軸に、またｔを横軸としてプロットしたものである。スレッショルドｆ（ｔ）＝０．７５を跨いで折れ線が交互に上下する頻度が高いことが見て取れる。これは、出力調節信号が送信されていないデータ生成ユニット１１において、自らの１ステップ前（ｔ−１）の値が“０”ならば現ステップ（ｔ）では“１”を出力し、自らの１ステップ前（ｔ−１）の値が“１”ならば現ステップ（ｔ）では“０”を出力するという、いわゆる負の時間相関をもった時系列が発生する頻度が高くなるように、揺らぎが調節されていることを意味する。還元すると、自らの１ステップ前（ｔ−１）の値が“０”ならば現ステップ（ｔ）でも“０”を出力し、自らの１ステップ前（ｔ−１）の値が“１”ならば現ステップ（ｔ）でも“１”を出力するという、いわゆる正の時間相関をもった時系列が発生する頻度が低くなる。
【００７３】
このようにして、出力調節信号が送信されていないデータ生成ユニット１１から出力されるデータの時系列が時間相関をもつように、データ出力の揺らぎが調節されることになる。揺らぎ調節部１５は、上述のようなデータ出力の揺らぎが生じるようにデータ生成ユニット１１をコントロールする。なお、スレッショルドについては、ロジスティック写像以外のカオス揺らぎを発生する機構を用いる際には、特に上述した値１−β-＝０．７５に限定されるものではなく、他の適切な値に設定されていてもよい。
【００７４】
また、図８（ｂ）に示すように、出力調節信号が供給されているデータ生成ユニット１１の閾値β+は、例えば０に設定しておくことにより、当該出力調節信号が供給されているデータ生成ユニット１１から出力されるデータは、常時０となる。このβ+についても、０に限定されるものではない。
【００７５】
図９は、本発明の提案手法について、データ生成ユニット１１が空間相関をもつ揺らぎを伴ったデータを出力する場合と、時間相関をもつ揺らぎを伴ったデータを出力する場合について、それぞれ一つの問題につき５００試行のシミュレーションを行い、解が求まるまでに要した時間（ステップ数t）の平均値と標準偏差（エラーバー）を、他のよく知られている“WalkSAT”と呼ばれるSAT解探索アルゴリズムと比較した結果を示している。横軸は問題サンプルの番号である。このシミュレーションで扱った問題サンプルは、ＳＡＴのベンチマーク問題例をオンラインで公開している学術ライブラリー“ＳＡＴＬＩＢ”より取得したものである。ここで扱った全ての問題サンプルは、変数の数が２０、節の数が９１で、各節は上述した図４のＦ１２に示すような3つの変数とその否定からなる問題であり、かつ、８個の解を持つものを合計５４個を選択した。
【００７６】
図９のシミュレーション結果が示しているように、WalkSATと比較して、データ生成ユニット１１が空間相関や時間相関をもつ揺らぎを伴ったデータを出力する本発明の提案手法の方が、より少ないステップ数で効率的に解を求めることができる。
【００７７】
本発明を適用した解探索システム１では、上述の例のように、空間相関に基づく揺らぎを設定する場合と、時間相関に基づく揺らぎを設定する場合の何れか一方のみを行うのではなく、双方を取り入れることで、より効率的に解を求められるようにしてもよい。
【００７８】
また、上述した実施の形態では、データ生成ユニット１１から出力されるデータは、２値のデジタルデータである場合を例に挙げているが、アナログデータを出力する場合においても同様の技術思想に基づいて解を探索させるようにしてもよい。。
【００７９】
なお、本発明を適用した解探索システム１は、より高速な計算を可能とする回路として具現化しても良い。回路として具現化される場合には、FPGA(field-programmable gate array)に基づいて、構成を設定するようにしてもよい。また本発明は、解探索システムとして具体化される場合以外には、解探索プログラムとして具体化されるものであってもよい。かかる場合には、仮想的に生成したデータ生成ユニット１１に対して、上述したデータ変換部１２、フィードバック制御部１３、出力調節部１４、揺らぎ調節部１５の各構成要素を、プログラムの各ステップにおいて実行するもので具現化することが可能となる。
【符号の説明】
【００８０】
１  解探索システム
１１  データ生成ユニット
１２  データ変換部
１３  フィードバック制御部
１４  出力調節部
１５  揺らぎ調節部
【図１】
2014085733.tif 000004
【図２】
2014085733.tif 000005
【図３】
2014085733.tif 000006
【図４】
2014085733.tif 000007
【図５】
2014085733.tif 000008
【図６】
2014085733.tif 000009
【図７】
2014085733.tif 000010
【図８】
2014085733.tif 000011
【図９】
2014085733.tif 000012