ファジィ推論テーブル
[ビジョンツール]


データ構造

struct  F_FUZZY_BASE
 メンバシップ関数生成用基準値 [詳細]
struct  F_FUZZY_SPEC
 実数系台集合仕様 [詳細]

関数

FHANDLE FVALGAPI fnFIE_fuzzy_open (INT rule_num, const F_FUZZY_SPEC *antec_cond, INT antec_num, const F_FUZZY_SPEC *concl_cond, INT concl_num)
 ファジィ推論テーブルの生成
INT FVALGAPI fnFIE_fuzzy_clear_rule (FHANDLE htbl, INT rule_no)
 プロダクションルールのクリア(メンバシップ関数のクリア)
INT FVALGAPI fnFIE_fuzzy_generate_rule (FHANDLE htbl, INT rule_no, const F_FUZZY_BASE *antec_memb, const F_FUZZY_BASE *concl_memb)
 ファジィルールの作成(メンバシップ関数の生成)
INT FVALGAPI fnFIE_fuzzy_inference (FHANDLE htbl, const F_FUZZY_BASE *inp, DOUBLE *out)
 ファジィの実行(ルールと観測情報を使っての推論)

関数

FHANDLE FVALGAPI fnFIE_fuzzy_open ( INT  rule_num,
const F_FUZZY_SPEC antec_cond,
INT  antec_num,
const F_FUZZY_SPEC concl_cond,
INT  concl_num 
)

ファジィ推論テーブルの生成

与えられた条件のもとで、新規にファジィ推論テーブルを生成します。 ファジィ推論テーブルとは、ファジィルールの集合体のことです。

antec_cond 及び concl_cond で指定される条件は、構造体 F_FUZZY_SPEC にて設定します。 F_FUZZY_SPEC 構造体の各要素が示す意味は、下図に示すとおりです。

fie_fuzzy_open.png

本関数でオープンしたオブジェクトは不要になったら fnFIE_free_object() にて解放してください。

引数:
[in] rule_num ファジィルール数( [1,MAX_RULE_N=30] )
[in] antec_cond 前提条件の台集合生成条件配列
antec_num で指定した前提個数分の条件を指定します
[in] antec_num 1ファジィルールあたりの前提条件の数( [1,MAX_ANTEC_N=5] )
[in] concl_cond 結論の台集合生成条件配列
concl_num で指定した結論個数分の条件を指定します
[in] concl_num 1ファジィルールあたりの結論の数( [1,MAX_CONCL_N=2] )
戻り値:
正常に終了した場合は、ファジィのハンドルを返します。 ライセンスエラー、未初期化エラー、メモリ不足、またはパラメータ不正により異常終了した場合には、NULLを返します。

INT FVALGAPI fnFIE_fuzzy_clear_rule ( FHANDLE  htbl,
INT  rule_no 
)

プロダクションルールのクリア(メンバシップ関数のクリア)

指定されたファジィルール内の前提条件および結論にかかる、すべてのメンバシップ関数をクリアします。 ここでは、値がクリアされるのであって、領域はそのままです。 本関数は、すでに設定済のファジィルールをクリアするために使用します。

引数:
[in] htbl ファジィ推論テーブルのハンドル
[in] rule_no ファジィルール番号( [0,オープン時に指定したルール数-1] )
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 不正なオブジェクトが渡された
F_ERR_INVALID_PARAM 不正なパラメータが渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_fuzzy_generate_rule ( FHANDLE  htbl,
INT  rule_no,
const F_FUZZY_BASE antec_memb,
const F_FUZZY_BASE concl_memb 
)

ファジィルールの作成(メンバシップ関数の生成)

ファジィルール(ファジィプロダクションルール)を生成します。 antec_memb 及び、 concl_memb には F_FUZZY_BASE 構造体にて台集合を指定します。 F_FUZZY_BASE 構造体の各要素の意味は下図の通りです。

  • (1)台集合テーブルによって生成される台集合です。
  • (2)基準値テーブルによって生成されるメンバシップ関数です。
  • (3)メンバシップ関数を台集合に当てはめます。
  • (4)離散化されたメンバシップ関数を生成します。
fie_fuzzy_generate_rule.png

引数:
[in,out] htbl ファジィ推論テーブルのハンドル
[in] rule_no 生成したいファジィルールの番号( [0,オープン時に指定したルール数-1] )
[in] antec_memb 前提条件のメンバシップ関数生成用基準値配列
fnFIE_fuzzy_open() 実行時に指定した前提条件数( antec_num )分の設定値が必要です。
[in] concl_memb 結論のメンバシップ関数生成用パラメータの配列
fnFIE_fuzzy_open() 実行時に指定した結論数( concl_num )分の設定値が必要です。
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 不正なオブジェクトが渡された
F_ERR_INVALID_PARAM 不正なパラメータが渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー

INT FVALGAPI fnFIE_fuzzy_inference ( FHANDLE  htbl,
const F_FUZZY_BASE inp,
DOUBLE *  out 
)

ファジィの実行(ルールと観測情報を使っての推論)

設定されているファジィルールと観測情報を使って、推論を実行します。

引数:
[in] htbl ファジィ推論テーブルのハンドル
[in] inp 観測情報のメンバシップ関数の生成用基準値配列
fnFIE_fuzzy_open() 実行時に指定した基準値の数分の設定(配列要素数)が必要です
[out] out ファジィ推論結果配列
fnFIE_fuzzy_open() 実行時に指定した結論数( concl_num )分の配列要素が必要です
戻り値:
F_ERR_NONE 正常終了
F_ERR_INVALID_OBJECT 不正なオブジェクトが渡された
F_ERR_INVALID_PARAM 不正なパラメータが渡された
F_ERR_NO_LICENCE ライセンスエラー、または未初期化エラー


Documentation copyright © 2009-2024 FAST Corporation.
Generated on Fri Aug 9 16:38:48 2024 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2