5. เนื้อหาสาระ
5.1 หลักการตรรกศาสตร์คลุมเครือ
ตรรกศาสตร์คลุมเครือ (Fuzzy Logic) ที่เสนอโดย Lotfi Zadeh (1965) ขยายแนวคิดเซตทั่วไปจากค่าความเป็นไปได้ {0, 1} ไปสู่ค่าต่อเนื่องในช่วง [0, 1] ซึ่งสะท้อนความไม่แน่นอนเชิงภาษาธรรมชาติ เช่น "อุ่น" "ค่อนข้างร้อน" ได้ดีกว่าตรรกศาสตร์ทวิภาค (Boolean)
เปรียบเทียบ "ร้อน": ตรรกศาสตร์ทวิภาค (เส้นขั้นบันได) กับ ฟัซซี (เส้นลาดต่อเนื่อง)
5.2 ฟัซซีเซตและฟังก์ชันสมาชิก
ฟัซซีเซต A นิยามด้วยฟังก์ชันสมาชิก (Membership Function) μA(x): X → [0,1] รูปแบบที่นิยม ได้แก่ Triangular, Trapezoidal, Gaussian และ Sigmoidal เลือกใช้ตามรูปร่างของข้อมูลและลักษณะเชิงภาษา
🎚️ ลองปรับชนิดและพารามิเตอร์ของฟังก์ชันสมาชิก
5.3 ตัวดำเนินการฟัซซี
ตัวดำเนินการหลัก: AND = min(μA, μB), OR = max(μA, μB), NOT = 1 − μA (ทั่วไปคือ T-norm และ S-norm ตามลำดับ)
🎚️ เลื่อนค่าสมาชิกของ A และ B เพื่อดูผลของตัวดำเนินการ
5.4 การสร้างระบบควบคุมแบบฟัซซี
ระบบควบคุมแบบฟัซซี (Mamdani) มี 4 ขั้นตอน:
- 1Fuzzification — แปลงค่าตัวเลขเป็นค่าฟัซซี
- 2Inference — ประเมินกฎ IF-THEN (Mamdani/Sugeno)
- 3Aggregation — รวมผลของทุกกฎ
- 4Defuzzification — แปลงกลับเป็นตัวเลข (Centroid)
🌀 ระบบควบคุมพัดลมแบบฟัซซี — ปรับอุณหภูมิและความชื้น แล้วดูผลแบบ Real-time
(เดโมนี้คือคำตอบของแบบฝึกหัด 6.2 และ 6.3 ที่ทำงานจริงในเบราว์เซอร์)
กฎ IF-THEN (4 กฎ) และระดับการทำงาน (firing strength)
ผลรวมของกฎ (Aggregation) และจุด Defuzzification (Centroid)
5.5 การประยุกต์ใช้ในงานจริง
ระบบควบคุมแบบฟัซซีถูกใช้อย่างแพร่หลายในอุปกรณ์และระบบอัจฉริยะหลายชนิด:
6. แบบฝึกหัด / แบบทดสอบ
ออกแบบ Triangular MF สำหรับอุณหภูมิ (เย็น/อุ่น/ร้อน) ในช่วง 0–40 °C
ตัวอย่างคำตอบ (ปรับได้ในเดโม 5.2/5.4): กำหนดจุด [a, b, c] ของแต่ละพจน์
เขียนกฎฟัซซี IF-THEN สำหรับควบคุมพัดลม 4 กฎ
- R1: IF ร้อน OR ชื้นสูง THEN พัดลม = เร็ว
- R2: IF อุ่น THEN พัดลม = กลาง
- R3: IF เย็น AND ชื้นต่ำ THEN พัดลม = ช้า
- R4: IF อุ่น AND ชื้นสูง THEN พัดลม = เร็ว
ใช้ scikit-fuzzy สร้างระบบควบคุมพัดลมและทดสอบ
เฉลย (ไฟล์ fuzzy_fan_control.py) — ติดตั้งด้วย pip install scikit-fuzzy