智慧型控制 Intelligent Control

模糊理論簡介

1965 年,美國加州大學柏克萊分校的 L. A. Zadeh 教授在《Information and Control》期刊發表〈模糊集合〉(Fuzzy Sets)一文,提出了模糊的概念。理論真正受到注目是在後來數十年的應用發展,例如日本仙台市地下鐵列車的自動駕駛(模糊控制的實用化)、模糊電腦的開發等,使「Fuzzy」一度成為新科技的代名詞。

模糊理論最主要的特色是「近似」:講究近似推理,不以精確計算為手段。乍聽之下似乎不符合科學實事求是的要求,但模糊理論允許不清晰的資訊輸入,經過模糊(近似)的推論,仍能得到正確的結果——這和人腦「過程模糊、結論清晰」的運作很像。實驗也顯示,模糊控制在精密定位上可達次微米級的誤差,並不只是「差不多」而已。

模糊集合 Fuzzy Sets

傳統(亞里斯多德式)的明確集合(crisp set)清楚界定「是否屬於」:自然數、三角形、汽車……一個物件不是屬於、就是不屬於,沒有「部分屬於」的中間地帶。這正好符合二元邏輯,但也帶來很大的限制——人類語言描述的事物往往是「大概的」「含糊的」:「很會打籃球」的「很會」難以用精確數字表達;看到喜歡的商品,是非常喜歡、有點喜歡,還是普通喜歡?

以「中年人」為例:假設中年人的中心是 45 歲、範圍在 35~55 歲。

203545557001年齡歸屬度明確集合:35~55 歲都「同等是」中年40 歲:1.00203545557001年齡歸屬度模糊集合:45 歲最「中年」,往兩邊遞減40 歲:0.50

常用的歸屬函數形狀(補充,括號內為 Matlab 工具箱的函數名與參數):

0510trimf[2 5 8]0510trapmf[1 3 6 9]0510gaussmfσ=1.5, c=50510gbellmfa=2, b=4, c=50510sigmfa=2, c=5

上圖的模糊集合採 Matlab 的 pimf(x,[35 45 45 55])(補充);原講義只畫出鐘形示意,未指定函數。

模糊系統的三個步驟 Three Steps

以規則為基礎(rule-based)是模糊系統的骨幹:運用人的經驗,透過主觀制訂的規則把收到的資料轉成知識。精確的輸入如何變成模稜兩可的訊號、如何推論、最後又如何變回能夠執行的精確控制量,都靠人所建立的規則庫:

模糊化Fuzzifier推論Inference解模糊化Defuzzifier規則庫 If…Then明確輸入明確輸出模糊集合模糊集合用歸屬函數重心法等
  1. 模糊化(fuzzification):用歸屬函數把明確的輸入轉成各模糊集合的歸屬度。
  2. 推論(inference):把歸屬度交給規則庫,依每條規則算出模糊的輸出。
  3. 解模糊化(defuzzification):把模糊的輸出還原成可以執行控制的明確數值。

推論與解模糊化的做法有兩大類:Mamdani 型與 Sugeno 型。

本頁文字摘自盧書豪同學的專題報告,僅做段落與用詞整理。投影片:fuzzy.ppt

原圖對照
原圖
原圖