ตรรกศาสตร์คลุมเครือ

ตรรกศาสตร์คลุมเครือ หรือ ฟัซซีลอจิก (fuzzy logic) พัฒนาจาก ทฤษฎีเซตวิภัชนัย โดยเป็นการใช้เหตุผลแบบประมาณ ซึ่งแตกต่างจากการใช้เหตุผลแบบเด็ดขาดในลักษณะ ถูก/ผิด ใช่/ไม่ใช่ ของ ตรรกศาสตร์แบบฉบับ (classical logic) ตรรกศาสตร์คลุมเครือนั้นสามารถถือเป็นการประยุกต์ใช้งานเซตวิภัชนัย เพื่อจำลองการตัดสินใจของผู้เชี่ยวชาญ ต่อปัญหาที่ซับซ้อน 
ค่าระดับความจริง ในตรรกศาสตร์คลุมเครือนั้นมักจะสับสนกับ ค่าความน่าจะเป็น ซึ่งมีแนวความคิดที่แตกต่างกัน ค่าระดับความจริงคลุมเครือนั้นใช้ในการระบุ ค่าความเป็นสมาชิก ของเซต แต่ค่าความน่าจะเป็นนั้นระบุความเป็นไปได้ของสภาพการณ์แต่ละรูปแบบที่อาจจะเกิดขึ้น ตัวอย่างเช่น สมมติว่า นาย ก กำลังเดินเข้าบ้าน สถานะของนาย ก ตามตรรกศาสตร์แบบฉบับ คือ "อยู่ในบ้าน" หรือ "อยู่นอกบ้าน" แต่หากเขากำลังยืนอยู่ระหว่างช่องประตู เราอาจพิจารณาได้ว่าเขา "อยู่ในบ้านบางส่วน" ระดับของสถานะกึ่งนี้ จะระบุด้วยค่าความเป็นสมาชิกของเซตวิภัชนัย สมมุติเขาเพิ่งจะก้าวปลายนิ้วเท้าผ่านข้ามธรณีประตูเข้าบ้าน เราอาจกล่าวว่า นาย ก นั้น 0.99 "อยู่นอกบ้าน" ซึ่งต่างจากความน่าจะเป็นของเหตุการณ์สุ่ม (เช่น ความน่าจะเป็นระบุผลลัพธ์ของการโยนเหรียญ แต่ผลลัพธ์จะออก หัว หรือ ก้อย) หากพิจารณาความน่าจะเป็นที่นาย ก "อยู่นอกบ้าน" และ "อยู่ในบ้าน" จะออกผลลัพธ์เป็น นาย ก อยู่นอกบ้าน หรือ ในบ้าน ไม่ได้จำลองสถานะกึ่ง คือ กำลังยืนอยู่ที่ประตู เซตวิภัชนัยนั้นมีหลักการพื้นฐานจากเซตที่มีขอบเขตคลุมเครือไม่ชัดเจน ไม่ได้มีพื้นฐานจากการสุ่ม
ตรรกศาสตร์คลุมเครือนั้น สามารถระบุค่าความเป็นสมาชิกของเซต  ด้วยค่าระหว่าง 0 และ 1 ทำให้เกิดระดับกึ่งในลักษณะของ สีเทา นอกจาก ขาว และ ดำ ซึ่งมีประโยชน์ในการจำลองระดับซึ่งสามารถระบุด้วยคำพูด "เล็กน้อย" "ค่อนข้าง" "มาก" โดยใช้ค่าความเป็นสมาชิกของเซตบางส่วน ตรรกศาสตร์คลุมเครือนี้มีความสัมพันธ์กับ เซตวิภัชนัย  และ ทฤษฎีความเป็นไปได้  ซึ่งคิดค้นขึ้นในปี ค.ศ. 1965 โดยศาสตราจารย์ ลอตฟี ซาเดห์ แห่งมหาวิทยาลัยแห่งรัฐแคลิฟอร์เนีย เบิร์กลีย์
ตรรกศาสตร์คลุมเครือ ถึงแม้ว่าจะได้รับการยอมรับค่อนข้างกว้างขวาง แต่ก็ยังถูกโต้แย้งจากบางกลุ่ม เช่น จากวิศวกรระบบควบคุม ในเรื่องของการอธิบายพฤติกรรมต่าง ๆ และ จากนักสถิติบางกลุ่ม ซึ่งถือมั่นว่าทฤษฎีความน่าจะเป็น เป็นวิธีทางคณิตศาสตร์ที่เคร่งครัดเพียงวิธีเดียว ในการจำลองความไม่แน่นอน  นอกจากนั้นแล้ว ก็ยังมีการวิเคราะห์วิจารณ์ว่า เซตวิภัชนัย นั้นไม่ได้เป็นซุปเปอร์เซตของ ทฤษฎีเซตสามัญ เนื่องจาก ฟังก์ชันภาวะสมาชิก นั้นกำหนดในรูปของ เซตแบบดั้งเดิม
การประยุกต์ใช้งาน.
ตรรกศาสตร์คลุมเครือนั้น สามารถใช้ในการควบคุม อุปกรณ์เครื่องใช้ในครัวเรือน เช่น เครื่องซักผ้า (โดยการวัดปริมาณผ้า และ ความเข้มข้นของน้ำยาซักผ้า และปรับวงจรการซักให้เหมาะสม) และ ตู้เย็น
วิธีการใช้งานง่าย ๆ นั้นอาจใช้ในการจำลองช่วงย่อย ๆ ของตัวแปรที่มีค่าต่อเนื่อง เช่น การวัดอุณหภูมิในระบบห้ามล้อแบบกันล้อตาย อาจมีฟังก์ชันความเป็นสมาชิกของเซตหลายฟังก์ชัน สำหรับอุณหภูมิซึ่งแบ่งเป็นหลายช่วง เพื่อควบคุมการห้ามล้อให้เหมาะสม โดยแต่ละฟังก์ชันจะทำการส่งค่าอุณหภูมิหนึ่ง ๆ ไปเป็นค่าความจริงในช่วง 0 ถึง 1 ซึ่งค่าความจริงเหล่านี้จะถูกนำไปใช้ในการควบคุมการห้ามล้อ
ในภาพ "cold" (เย็น) "warm" (อุ่น) and "hot" (ร้อน) เป็นฟังก์ชันในการส่งค่าระดับอุณหภูมิ ที่แต่ละจุดของอุณหภูมิจะมีค่าความจริง 3 ค่า ซึ่งเป็นค่าของแต่ละฟังก์ชัน ซึ่งค่าความจริงทั้งสามนี้ สามารถใช้ในการตีความค่าอุณหภูมิใด ๆ ว่า "ค่อนข้างเย็น" "อุ่นนิด ๆ" "ไม่ร้อน"
ตัวอย่างของการใช้งานที่ซับซ้อนขึ้น ก็คือ การใช้งานตรรกศาสตร์คลุมเครือใน การแก้ความผิดพลาด  ประสิทธิภาพสูง เพื่อเพิ่มประสิทธิภาพของการรับข้อมูลผ่านช่องสัญญาณแบนด์วิดท์จำกัด ที่ข้อมูลถูกรบกวนด้วยสัญญาณรบกวน โดยการใช้รหัสเทอร์โบ  ส่วนต้นของภาคถอดรหัส จะวัดค่าความควรจะเป็น ของค่าบิตในสายบิตที่ส่งมากจากภาคส่ง (ว่าควรจะเป็น 0 หรือ 1) ค่าความควรจะเป็นอาจแบ่งเป็น 256 ระดับ ระหว่างระดับสูงสุดหมายถึง "ค่าควรจะเป็น 1 แน่นอน" และต่ำสุดหมายถึง "ค่าควรจะเป็น 0 แน่นอน" ตัวถอดรหัสสองตัวอาจวิเคราะห์ข้อมูลที่รับมาพร้อมกัน ได้เป็นค่าความควรจะเป็นที่ต่างกัน ตัวถอดรหัสแต่ละตัวสามารถใช้ค่าความควรจะเป็นที่ได้จากตัวถอดรหัสอื่นเข้าช่วยในการตีความ จนได้ข้อสรุปค่าที่ควรจะเป็นมากที่สุด
ตัวอย่างของระบบที่มีการใช้ตรรกศาสตร์คลุมเครือ.
นอกจากนี้แล้ว ไมโครคอนโทรลเลอร์และไมโครโพรเซสเซอร์บางรุ่น ได้มีการสร้างรวมตรรกศาสตร์คลุมเครือเอาไว้อีกด้วย เช่น ฟรีสเกล 68HC12 
การใช้ประยุกต์ใช้ตรรกศาสตร์คลุมเครือ.
การประยุกต์ใช้งานตรรกศาสตร์คลุมเครือโดยทั่วไป จะใช้ในการจำลองความรู้ หรือประสบการณ์ของผู้เชี่ยวชาญ โดยการใช้เหตุผล หรือ การตัดสินใจต่อสภาวการณ์ต่าง ๆ ของมนุษย์นั้น สามารถเขียนอยู่ในรูปเชิงภาษาศาสตร์ของ ระบบกฎเกณฑ์(rule-based system) คือ เงื่อนไข IF/THEN หรือ อยู่ในรูปอื่นที่เท่าเทียมกัน เช่น เมทริกซ์เปลี่ยนหมู่ฟัซซี 
กฎเกณฑ์:
<code>IF(ถ้า) <เงื่อนไข> THEN(แล้ว) <ผลที่ตามมา> </code>
การใช้เหตุผล การตัดสินใจ หรือ การตอบสนองต่อเหตุการณ์ต่าง ๆ ของมนุษย์นั้น โดยปกติจะมีลักษณะที่คลุมเครือ เช่น การประเมินสภาวการณ์ หรือ การระบุการตอบสนอง โดยไม่ได้ระบุเป็นค่าที่แน่นอนชัดเจน ดังนั้นจึงถูกจำลองไว้ในกฎเกณฑ์ด้วย เซตวิภัชนัย
ตัวอย่าง เช่น ระบบควบคุมอุณหภูมิโดยใช้พัดลม อาจมีกฎเกณฑ์ดังนี้:
 IF อุณหภูมิ เย็นมาก THEN หยุดพัดลม
 IF อุณหภูมิ เย็น THEN ปรับพัดลมให้ช้าลง
 IF อุณหภูมิ ปานกลาง THEN รักษาระดับความเร็ว
 IF อุณหภูมิ ร้อน THEN ปรับพัดลมให้เร็วขึ้น
สังเกตว่าไม่มีการใช้ <code>ELSE(ไม่เช่นนั้น)</code> ทุกเงื่อนไขจะต้องถูกนำมาพิจารณา เนื่องมาจากสภาพก้ำกึ่งในตรรกศาสตร์คลุมเครือ เช่น อุณหภูมิอาจเป็นสมาชิกของ ทั้งเซต "เย็น" และ "ปานกลาง" โดยอาจมีค่าระดับความเป็นสมาชิกของแต่ละเซตต่างกัน ซึ่งชุดของกฎเกณฑ์ดังกล่าวนี้เรียกว่า กฎเกณฑ์ฟัซซี (fuzzy rule) ฐานกฎเกณฑ์ฟัซซี (fuzzy rule base) หรือ ฐานความรู้ (knowledge base)
การดำเนินการทางตรรกศาสตร์ เช่น AND (และ) OR (หรือ) NOT (ไม่) นั้นก็มีใช้สำหรับตรรกศาสตร์คลุมเครือ สำหรับการสร้างเงื่อนไขของเหตุการณ์ที่ซับซ้อน เช่นเดียวกับตรรกศาสตร์แบบฉบับ โดยปกติแล้วจะนิยาม AND=minimum OR=maximum และ NOT=complement ซึ่งการนิยามตามแบบนี้เรียกว่า "ตัวดำเนินการซาเดห์" (Zadeh operator) เนื่องจากเป็นไปตามลักษณะนิยามที่ ซาเดห์ ใช้ในบทความดั้งเดิมของเขา ดังนั้นหากเรามีตัวแปรฟัซซี x และ y: 
 NOT x = (1 - truth(x))
 x AND y = minimum(truth(x), truth(y))
 x OR y = maximum(truth(x), truth(y))
นอกจากนี้แล้วก็ยังมีตัวดำเนินการอื่นที่สื่อความหมายในเชิงภาษาพูด เรียกในภาษาอังกฤษว่า "hedges" หรือ "linguistic hedges" (หมายถึง คำที่ทำให้คลุมเครือ) เช่น "มาก" "บ้าง" ซึ่งใช้ในการแปลงความหมายของเซตโดยใช้วิธีการทางคณิตศาสตร์ 
ในทางปฏิบัติ การนำกฎเกณฑ์ความชำนาญนี้มาใช้งาน มักจะเกี่ยวข้องกับค่าที่แน่นอน เช่นค่าที่ได้จากการวัด และค่าที่ส่งออกเพื่อใช้งานก็มักจะเป็นค่าที่แน่นอนเช่นเดียวกัน ส่วนที่ทำการแปลงค่ารับเข้าที่เป็นค่าแน่นอนนี้ ไปสู่เซตภัชนัย ด้วยฟังก์ชันภาวะสมาชิก เรียกว่า ตัวทำให้คลุมเครือ (fuzzifier) และส่วนที่ทำการส่งค่าผลลัพธ์จากเงื่อนไขไปสู่ค่าแน่นอนเพื่อส่งออกไปใช้งานจริง เรียก ตัวกำจัดความคลุมเครือ (defuzzifier) นอกจากนั้นแล้วในการสร้างกฎเกณฑ์ฟัซซี ที่มีตัวแปรค่ารับเข้าเป็นจำนวนมาก ให้ครอบคลุมทุกเงื่อนไขนั้นเป็นไปได้ยากในทางปฏิบัติ บางครั้งจึงต้องมีการผสมเงื่อนไขหลายเงื่อนไขในกฎเกณฑ์ฟัซซีเข้าด้วยกัน โดยมีส่วนตีความผลลัพธ์ร่วมจากการผสมเงื่อนไข เรียก เครื่องอนุมานฟัซซี (fuzzy inference engine) ซึ่งมีหลายชนิดด้วยกัน