模糊控制語言檢視原始碼討論檢視歷史
模糊控制語言 |
中文名: 模糊控制語言 外文名: Fuzzy Control Language 縮 寫: FCL |
模糊控制語言(FCL)是一種用於實現模糊邏輯的語言,尤其是模糊控制。 它由IEC 61131-7標準化。 它是一種特定於域的編程語言:它沒有與模糊邏輯無關的功能,所以甚至不可能打印「Hello,world!」。 因此,人們不會在FCL中編寫程序,但可以在FCL中編寫部分程序。
FCL不是一個完全模糊的語言,例如,它不支持「hedges」,它是修改集合的副詞。 例如,程序員不能寫:
但是,程序員可以簡單地為「非常冷」和「非常高」定義新集。 FCL也缺乏對高階模糊集,子集等的支持。 這些特徵都不是模糊控制所必需的,儘管它們可能很好。
目錄
模糊控制語言變量
模糊控制語言變量是利用模糊數學的基本思想和理論的控制方法。在傳統的控制領域裡,控制系統動態模式的精確與否是影響控制優劣的最主要關鍵,系統動態的信息越詳細,則越能達到精確控制的目的。然而,對於複雜的系統,由於變量太多,往往難以正確的描述系統的動態,於是工程師便利用各種方法來簡化系統動態,以達成控制的目的,但卻不盡理想。換言之,傳統的控制理論對於明確係統有強而有力的控制能力,但對於過於複雜或難以精確描述的系統,則顯得無能為力了。因此便嘗試着以模糊數學來處理這些控制問題。
模糊控制器(Fuzzy Controller—FC):也稱為模糊邏輯控制器(Fuzzy Logic Controller—FLC),由於所採用的模糊控制規則是由模糊理論中模糊條件語句來描述的,因此模糊控制器是一種語言型控制器,故也稱為模糊語言控制器(Fuzzy Language Controller—FLC)。
(1)模糊化接口(Fuzzy interface)
模糊控制器的輸入必須通過模糊化才能用於控制輸出的求解,因此它實際上是模糊控制器的輸入接口。它的主要作用是將真實的確定量輸入轉換為一個模糊矢量。
(2)知識庫(Knowledge Base—KB)
知識庫由數據庫和規則庫兩部分構成。
①數據庫(Data Base—DB) 數據庫所存放的是所有輸入、輸出變量的全部模糊子集的隸屬度矢量值(即經過論域等級離散化以後對應值的集合),若論域為連續域則為隸屬度函數。在規則推理的模糊關係方程求解過程中,向推理機提供數據。
②規則庫(Rule Base—RB) 模糊控制器的規則司基於專家知識或手動操作人員長期積累的經驗,它是按人的直覺推理的一種語言表示形式。模糊規則通常有一系列的關係詞連接而成,如if-then、else、also、end、or等,關係詞必須經過「翻譯」才能將模糊規則數值化。最常用的關係詞為if-then、also,對於多變量模糊控制系統,還有and等。
(3)推理與解模糊接口(Inference and Defuzzy-interface)
推理是模糊控制器中,根據輸入模糊量,由模糊控制規則完成模糊推理來求解模糊關係方程,並獲得模糊控制量的功能部分。在模糊控制中,考慮到推理時間,通常採用運算較簡單的推理方法。最基本的有Zadeh近似推理,它包含有正向推理和逆向推理兩類。正向推理常被用於模糊控制中,而逆向推理一般用於知識工程學領域的專家系統中。推理結果的獲得,表示模糊控制的規則推理功能已經完成。但是,至此所獲得的結果仍是一個模糊矢量,不能直接用來作為控制量,還必須作一次轉換,求得清晰的控制量輸出,即為解模糊。通常把輸出端具有轉換功能作用的部分稱為解模糊接口。[1]