Fuzzy Logic จะมีความเหมาะสมและตรงกับตรรกะของมนุษย์มากกว่า เพราะมนุษย์จะพูดถึงเรื่องต่างๆในแบบที่ไม่ชัดเจน หรือ ไม่แม่นยำมากนัก เช่น เวลาที่เราพูดถึงความสูงของคน ถ้าจะวัดความสูงกันจริงๆ นาย ก. สูง 170 ซม. นาย ข. สูง 150 ซม. และ นาย ค. สูง 200ซม. เป็นต้น แต่เวลาเราพูดอาจจะบอกว่า นาย ก. สูง นาย ข. ไม่สูง และ นาย ค. สูงมาก ซึ่งไม่ใช่มีแค่สูงกับไม่สูง แต่ยังมีค่าอื่นๆด้วย
Membership Functions
เมื่อเราต้องการระบุถึงสิ่งใดสิ่งหนึ่งที่มีความคลุมเครือ เราสามารถใช้ fuzzy ระบุถึงความเป็นสิ่งนั้นได้ด้วยฟังก์ชันค่าความเป็นสมาชิก หรือที่เรียกว่า membership function โดยที่ฟังก์ชันนี้จะให้ค่าอยู่ในช่วง 0-1 เป็นการระบุค่าดีกรีของความเป็นสิ่งนั้นว่ามากน้อยเพียงไร
โดยปกติแล้ว เพื่อให้ง่ายต่อการคำนวณ เรามักจะใช้สมการเส้นตรงระบุค่าความเป็นสมาชิก เช่น

Operators
เมื่อต้องการประมวลผลค่าความเป็นสมาชิกของหลายๆสิ่ง มีวิธีการคำนวณดังนี้
M(not A) = 1 - M(A)
M(A) and M(B) = MIN(M(A), M(B))
M(A) or M(B) = MAX(M(A), M(B))
ส่วนเงื่อนไข IF A THEN B นั้น ปกติแล้ว เรามีเงื่อนไขเทียบเท่าคือ not A or B
ซึ่งสามารถคำนวณด้วย not และ or ได้
แต่เพื่อความสมเหตุสมผลมากกว่านี้ Godel ได้เสนอเงื่อนไข IF A THEN B ใหม่เป็นเทียบเท่ากับ (A <= B) or B
Rules
เมื่อเรานำเอาเงื่อนไข IF A THEN B มาใช้งาน โดยใช้เป็นกฏของการพิจารณาเรื่องที่เราสนใจเป็นข้อๆ ทำให้เราสามารถสร้างเงื่อนไขที่ซับซ้อนขึ้นได้ แต่จากกฏแต่ละข้อ เราสามารถคำนวณหาค่าความเป็นสมาชิกของเงื่อนไข IF A THEN B ได้ไม่ยาก แต่เมื่อนำค่าที่ได้จากกฏหลายๆข้อมารวมกัน เราจะต้องมีวิธีการรวมกันที่เหมาะสม เช่น ถ้ากฏแต่ละข้อ เป็นเงื่อนไขของแต่ละกรณีที่ไม่เกี่ยวข้องกัน เรามักจะเอาผลลัพธ์ของกฏแต่ละข้อมารวม(บวก)กัน แต่ถ้าเป็นกฏที่ขัดแย้งกัน เราก็จะรวมกันแบบ and เป็นต้น
Defuzzification
นอกจากนี้ เนื่องจาก B ยังเป็น fuzzy อยู่ เราก็จะต้องแปลงคำตอบที่ได้กลับไปเป็นค่าจริง โดยใช้วิธีการหา center of gravity ของคำตอบ B
สมชัย หลิมศิโรรัตน์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น