メンバーシップ関数
メンバーシップ関数 は、ユニバーサルセットのランダム要素のメンバーシップ度をファジー集合に計算することを可能にする関数です。したがって、メンバーシップ関数の領域は[0、1]の範囲内でなければなりません。
ほとんどの場合、メンバーシップ関数は連続的かつ単調です。
メンバーシップ関数のクラス | 説明 |
CConstantMembershipFunction | メンバーシップ関数を座標軸と平行な直線として実装するクラス。 |
CCompositeMembershipFunction | メンバーシップ関数の構成を実装するためのクラス。 |
CDifferencTwoSigmoidalMembershipFunction | А1、А2、С1、С2パラメータを持つ2つのシグモイド関数の差の形でメンバーシップ関数を実装するためのクラス。 |
CGeneralizedBellShapedMembershipFunction | А、B、Сの各パラメータを持つ一般的なベル型メンバーシップ関数を実装するためのクラス。 |
CNormalCombinationMembershipFunction | B1、B2、Sigma1、Sigma2パラメータを持つ2面ガウスメンバーシップ関数を実装するためのクラス。 |
CNormalMembershipFunction | BとSigmaパラメータを持つ対称ガウスメンバーシップ関数を実装するためのクラス。 |
CP_ShapedMembershipFunction | А、B、С、Dパラメータを持つπ型メンバーシップ関数を実装するためのクラス。 |
CProductTwoSigmoidalMembershipFunction | А1、А2、С1、С2パラメータを持つ2つのシグモイド関数の積の形でメンバーシップ関数を実装するためのクラス。 |
CS_ShapedMembershipFunction | АとBのパラメータを持つS字メンバーシップ関数を実装するためのクラス。 |
CTrapezoidMembershipFunction | X1、X2、X3、X4パラメータを持つ台形メンバーシップ関数を実装するためのクラス。 |
CTriangularMembershipFunction | X1、X2、X3パラメータを持つ三角形メンバーシップ関数を実装するためのクラス。 |
CSigmoidalMembershipFunction | AとCのパラメータを持つシグモイドメンバーシップ関数を実装するためのクラス。 |
CZ_ShapedMembershipFunction | АとBのパラメータを持つz字メンバーシップ関数を実装するためのクラス。 |
IMembershipFunction | すべてのメンバーシップ関数の基本クラス |
ファジーシステムルール
ファジーシステム(ファジー論理推論システム)は、入力の現在の値に対応するファジー集合の形の結論のファジールールとファジー演算を使って受け取りです。
ファジールールは、検査対象の入力と出力の関係を決定します。システム内のルールの数には制限がありません。ファジールールの一般形式は下記の通りです。</t2>
if ルール条件、then ルール結論
ルール条件 は、オブジェクトの現状態を記述します。ルール結論は、この条件がオブジェクトにどのような影響を与えるかを記述します。
ファジーシステムルールのクラス。 | 説明 |
CMamdaniFuzzyRule | マムダ二アルゴリズムのためのファジー論理ルールを実装するためのクラス。 |
CSugenoFuzzyRule | 菅野アルゴリズムのためのファジー論理ルールを実装するためのクラス。 |
CSingleCondition | このクラスは「ファジー変数 – ファジー用語」のペアで表されるファジー条件を設定します。 |
CConditions | このクラスは、演算子によって互いに接続された1組のファジー条件を定義します。 |
CGenericFuzzyRule | 両種類のファジールールを実装するための基本クラス。 |
ファジーシステム変数
ファジー(言語)変数はファジーシステムで適応されます。これらは、値が自然言語または人工言語の単語または単語の組み合わせである変数です。
言語変数は、ファジー集合を含みます。ファジー変数の性質と数は、ファジー集合を定義するときに特定のタスクごとに変化します。
クラス | 説明 |
CFuzzyVariable | 一般的なファジー変数を作成するためのクラス。 |
CSugenoVariable | 菅野ファジー変数を作成するためのクラス。 |
CFuzzyTerm(ファジー用語)
ファジー用語を実行するためのクラス。
説明
項とは項セットの要素です。項は、2つのコンポーネントによって定義されます。
- ファジー用語の名前
- メンバーシップ関数
宣言
class CFuzzyTerm : public CNamedValueImpl |
タイトル
#include <Math\Fuzzy\fuzzyterm.mqh> |
継承階層CObject INamedValue CNamedValueImpl CFuzzyTerm |
クラスメソッド
クラスメソッド | 説明 |
MembershipFunction | ファジー用語のメンバーシップ関数を取得します。 |
クラスから継承されたメソッド CObject Prev, Prev, Next, Next, Save, Load, Type, Compare |
クラスから継承されたメソッド CNamedValueImpl Name, Name |
ファジーシステム
ファジーシステム(ファジーモデル)とは、その計算がファジー論理に基づいている数学的モデルです。このようなモデルの構築は、研究対象に弱い形式性があり、厳密に計算しようとすると複雑になりすぎてしまう場合に有効です。
モデル構築のプロセスは、次の3つの段階に分けることができます。
- モデルの入出力特性の定義
- 知識ベースの構築
- ファジー推論の方法を選択(マムダニまたは菅野)
第一段階の結果は直接2に影響を与え、モデルの将来を決定します。
知識ベース(ルールベース)は、入力と出力の関係性を定義する”if, then”ファジールールタイプのセットです。
ルール条件は現在のオブジェクトの状態を記述し、ルール結論 はこの条件がオブジェクトにどのような影響を与えるかを記述します。
各ルールの用語や結論には2種類が存在できます。
- シンプル(Csinglcondへのリンク) — 1ファジー変数を含む
- コンプレックス(Cconditionsへのリンク) — 複数のファジー変数を含む
システム内の各ルールは、モデル内のルールの重要性を定義する重みを有します。重み係数は、[0,1]範囲内のルールに割り当てられています。
モデルのファジー推論システムは作成された知識ベースに応じて決定されます。ファジー論理推論は、知識ベースとファジー演算を用いた、入力の現在値に応じたファジー集合の形態です。ファジー推論の2つの主要な種類はマムダニ法と菅野法です。
Originally posted 2019-07-30 09:54:17.