小村軟體有限公司
第 2 章

隸屬函數 — 把「有點溫」化為數字

不再以一條線切割邊界,而是用 0 到 1 之間的隸屬度來表達某個值與某個標籤的契合程度。

溫度的隸屬函數

溫度的各個標籤彼此稍微重疊。例如在 26°C,單一個值可以同時屬於多個標籤,例如「舒適 0.50、炎熱 0.25」。

術語整理 — 隸屬函數與隸屬度

本章使用兩個有所區分的術語。

  • 隸屬函數(membership function):以輸入值 x 為自變數,將其與某標籤的契合度以 0 到 1 的數字回傳的函數本身。具有三角形或梯形等形狀。
  • 隸屬度(membership degree):該函數對某個 x 所回傳的輸出值。例如「舒適(26) = 0.50」中右邊的 0.50 就是隸屬度。

簡言之,「隸屬函數會回傳隸屬度」、「隸屬度是該函數的輸出」這樣的關係。本章及之後的本文均依此定義使用。

函數形狀的選擇 — 為什麼採用三角形與梯形

隸屬函數有高斯型(平滑的鐘形曲線)、S 型(單側上升的 S 字形)、三角形、梯形等多種形狀。本課程僅使用三角形與梯形,是因為對入門者具有以下三項優勢。

  • 參數少:三角形由 3 個點決定、梯形由 4 個點決定,設計簡單。
  • 易於手算:以直線方程式即可表達,不需計算機也能追蹤隸屬度。
  • 區間意義清楚:頂點與肩部位置直接代表「最契合處」與「飽和區域」。

當需要連續可微分(將控制器嵌入適應控制或最佳化時)會選擇高斯型。在本課程的範圍內精度差異有限,因此採用簡便的三角形與梯形。

溫度只準備三個標籤

本課程在整個流程中,以三個標籤處理溫度:寒冷 / 舒適 / 炎熱。函數也就只有下列三個。

標籤函數意義
寒冷trapmf(x, 16, 16, 19, 23)在 16–19°C 之間穩穩地冷,往 23°C 方向逐漸減弱。
舒適trimf(x, 20, 24, 28)在 24°C 時最舒適,往兩側離開時逐漸減弱。
炎熱trapmf(x, 25, 29, 34, 34)超過 25°C 後逐漸變熱,29°C 以上則穩穩地熱。

舉例來說,在 26°C 時,舒適位於右側斜坡,而炎熱位於左側斜坡。

comfortable(26) = (28 - 26) / (28 - 24) = 0.50
hot(26) = (26 - 25) / (29 - 25) = 0.25

因此 26°C 可以描述為「既舒適又稍微有點熱」。這正是與 0/1 門檻的本質差異。

練習 2-1 — 計算溫度的隸屬度

溫度標籤:寒冷 = trap(16,16,19,23)、舒適 = tri(20,24,28)、炎熱 = trap(25,29,34,34)。

Q1. 對於舒適三角形 tri(20,24,28),22°C 處的隸屬度是多少?

Q2. 對於炎熱梯形 trap(25,29,34,34),26°C 處的隸屬度是多少?

Q3. 對於舒適三角形 tri(20,24,28),27°C 處的隸屬度是多少?

濕度的標籤也以相同方式重疊

濕度也同樣保持三個標籤:乾燥 / 普通 / 悶熱

標籤函數範例
乾燥trapmf(x, 20, 20, 30, 45)在 40% 時,(45-40)/(45-30) = 0.33
普通trimf(x, 35, 55, 75)在 68% 時,(75-68)/(75-55) = 0.35
悶熱trapmf(x, 60, 75, 90, 90)在 68% 時,(68-60)/(75-60) = 0.53

在 68% 時得到「普通 0.35、悶熱 0.53」。與其只鎖定在單一個標籤,這個值同時帶有一點兩者,因此下一章的規則便能同時觸發。

練習 2-2 — 計算濕度的隸屬度

濕度標籤:乾燥 = trap(20,20,30,45)、普通 = tri(35,55,75)、悶熱 = trap(60,75,90,90)。

Q1. 對於悶熱梯形 trap(60,75,90,90),68% 處的隸屬度是多少?

Q2. 對於乾燥梯形 trap(20,20,30,45),40% 處的隸屬度是多少?

隸屬度不是機率

這裡的 0.53 並不是「有 53% 的機率是 68%」。它只有一個意義:68% 與標籤「悶熱」的契合程度。這也是為什麼舒適與炎熱、或普通與悶熱,可以在不矛盾的情況下同時各部分成立。

在模糊控制裡,我們不是消除模糊,而是把模糊以數字往下傳遞。

僅有隸屬度尚不能控制 — 連結至第 3 章

隸屬度只表達了「輸入與某標籤的契合度」,目前還沒有決定輸出(風扇要轉幾 %?)的機制。例如在 26°C・68% 算出「舒適 0.50・炎熱 0.25・普通 0.35・悶熱 0.53」,僅憑這些還無法決定要把風扇開到弱風還是強風。

因此第 3 章將導入IF-THEN 規則,從輸入標籤的隸屬度推導出輸出標籤(弱風 / 中風 / 強風)。隸屬度是交給規則的原料,而規則則把這些原料組合成對輸出的主張,形成這樣的分工。