ルールベースを作成する
- 更新日2023-02-21
- 3分で読める
言語変数を作成し、言語要素を定義し、メンバーシップ関数を作成した後、ファジーシステムの設計の最後のステップはルールベースを作成することです。ルールとは、入力言語変数と出力言語変数の関係を言語要素に基づいて言葉で表現するものです。ルールベースとは、ファジーシステムのルールのセットを指します。
ルールを作成するには、ルールの前件部(IF部分)と後件部(THEN部分)を指定する必要があります。たとえば、自動車操縦ファジーシステムの以下のルールを考えてみます。
| IF 自動車の位置 x is 左中央 AND 自動車の方向β is 左上, THEN ステアリング角度φ is 正に小さく |
「自動車の位置 x is 左中央」節と「自動車の方向β is 左上」がこのルールの前件部です。「ステアリング角度φを正に小さく」節がこのルールの後件部です。
前件部を作成するには、入力言語変数を対応する言語要素に関連付けます。後件部を作成するには、出力言語変数を対応する言語要素に関連付けます。ルールの後件部は、ルールの入力言語変数の言語要素が一致した場合にファジーコントローラで実行する動作を表します。
ルールベースを作成するときは、IF部分が同じでTHEN部分が異なる相反するルールを作成しないようにします。一貫したルールベースとは、相反するルールがないルールベースを指します。
![]() |
メモ ルールベースはファジーコントローラのI/O特性に最も大きな影響を与えます。コントローラの主な機能は、ルールベースにより決まります。ルールベースを変更することがファジーコントローラの出力特性に与える影響については、最大平均(MoM)非ファジー化方法の例を参照してください。 |
可能なルール合計
ファジーシステムの可能なルールの合計数Nは以下の式で定義されます。
N = p1*p2*...*pn
ここでpnは入力言語変数nの言語要素の数です。
各入力言語変数の言語要素の数が同じであれば、ルールの可能な合計数Nは以下の式で定義されます。
N = pm
ここで、pは各入力言語変数の言語要素の数、mは言語変数の数です。たとえば、3つの入力言語変数それぞれに5つの言語要素がある場合、可能なルールの合計数はN = 53 = 125です。
ルールベースの追加情報
以下のトピックには、ルールベースの作成に関する追加情報が記載されています。
