ところが、機械仕掛けで数式で制御する方策が見あたらなくとも、熟練した人間が操作すれば一発、ということもあります。
また、人間をはじめ、生物は神経系に学習することで、さまざまな行動をとることができます。
制御のパラメータがなかなか見つからなくとも、数打ちゃ当たることもあります。
そういった、これまでの数式理論ベースではない、いまどき使われている制御の概要を見てみることにします。
ファジィ制御系は制御対象の状態量をファジィ化し、制御の方法をまとめたファジィルールによってファジィ推論を行い、その結果を脱ファジィ化という操作によって操作量にして対象に入力します。以下では、その簡単な例を見てみます。
例:冷房装置
(x=bで1.0、b±aで0.0になるような三角型)
ルール1:寒い(A1)なら、出力を小さくする(B1)
ルール2:快適(A2)なら、出力を中ぐらいにする(B2)
ルール3:暑い(A3)なら、出力を大きくする(B3)
演算方法:
上図のメンバシップ関数に従って、まず、温度から集合Aへの適合度を求めます。
次に、ルールで対応づけられた関数Bにおいて、適合度で山の頭を切ります。
頭を切ったBの関数を重ね合わせ、最大値をとります。
最後にその重心をとって、操作量を決定します。
例:23度の場合
このニューロンに対する学習は、入力信号と出力のセットである学習データを多数与えることで繰り返し行います。
のような関数を用います。ここでxiはi番目の入力、wiはその入力に対する重みです。
ここでは、単純な二値化の出力を例示しましたが、その定義で様々な特性を持たせることができます。
ニューロンの関数を、
とした場合、学習データ
を与えて、たとえば、
と、重みベクトルWを修正していきます(eは誤差)。μはどのくらい修正するかを決める学習係数で大きくすると学習は早く進みますが、修正しすぎて発散することもあります。多くのデータを繰り返し与え、学習させることで重みが適当に設定されます。
という過程をたどってきたと考えられています。
これをうまく応用すれば、環境に適合した=目的にかなったような、個体=パラメータのセットが得られるように思われます。
ここで重要なことは、遺伝子からパラメータにも簡単に変換できなければならないという点です。
後に述べるように、遺伝子は適当につなぎ変えたり、乱数をいれたりします。それでもパラメータに復元できる必要があります。
たとえば、単にコンピュータのメモリ上に記録された浮動小数点数値のようなものは不適当で、より単純化した桁数の少ない整数で表したような数値が無難と言えます。
難点:
(最近ではコンピュータの性能が高いので以前よりは楽)