Biện LuậnWiki
Tìm
Logic & máy tính

Logic mờ là gì: Lotfi Zadeh năm 1965 và chiếc nồi cơm điện fuzzy

Logic mờ cho câu đúng một phần, độ đúng từ 0 tới 1, do Lotfi Zadeh đặt nền năm 1965. Nhờ luật kiểu "hơi nóng thì giảm lửa", nồi cơm fuzzy tự chỉnh nhiệt mượt.

Logic mờ là gì: Lotfi Zadeh năm 1965 và chiếc nồi cơm điện fuzzy

Logic mờ là logic cho phép một câu đúng "một phần", với độ đúng là số bất kỳ từ 0 tới 1 thay vì chỉ 0 (sai) hoặc 1 (đúng). Nền móng của nó là bài báo "Fuzzy Sets" (Tập mờ) của Lotfi Zadeh, giáo sư Đại học California ở Berkeley, công bố năm 1965. Từ cuối thập niên 1980, kỹ sư Nhật đưa logic mờ vào tàu điện, máy giặt, nồi cơm điện — những chiếc nồi ghi chữ "fuzzy" là nồi có bộ điều khiển chạy bằng các luật kiểu "nếu nhiệt hơi cao thì giảm lửa một chút".

28 độ có "nóng" không: từ câu hỏi tới tập mờ

Logic cổ điển đòi mỗi câu phải đúng hoặc sai. Với "trời đang mưa" thì ổn. Nhưng với "trời nóng", "người cao", "nước ấm" thì gượng: nếu lấy 30°C làm ranh giới "nóng", thì 29,9°C là "không nóng" và 30,0°C là "nóng" — một bước 0,1 độ đổi hẳn từ sai sang đúng, trái với cảm nhận của bất kỳ ai. (Chuyện ranh giới mờ kiểu này dẫn tới nghịch lý đống cát nổi tiếng; ở đây không bàn nghịch lý, chỉ bàn công cụ.)

Zadeh đề nghị: thay vì hỏi "28°C có thuộc tập nóng không", hãy hỏi "28°C thuộc tập nóng tới mức độ nào". Mức độ đó gọi là độ thuộc, ký hiệu μ (đọc là "muy"), nằm trong đoạn từ 0 tới 1.

Tập mờ và hàm thuộc

Lấy ví dụ một phòng học. Định nghĩa hai tập mờ cho nhiệt độ t (độ C):

  • Mát: μ_mát(t) = 1 khi t ≤ 22; giảm đều về 0 khi t tăng tới 30; bằng 0 khi t ≥ 30. Trên đoạn 22–30: μ_mát(t) = (30 − t) / 8.
  • Nóng: μ_nóng(t) = 0 khi t ≤ 24; tăng đều lên 1 khi t tới 32; bằng 1 khi t ≥ 32. Trên đoạn 24–32: μ_nóng(t) = (t − 24) / 8.
Nhiệt độμ_mátμ_nóng
20°C10
24°C0,750
26°C0,50,25
28°C0,250,5
30°C00,75
32°C01

Ở 28°C, phòng "mát" ở mức 0,25 và "nóng" ở mức 0,5 cùng lúc. Không có bước nhảy nào: nhiệt độ tăng thì độ nóng tăng dần. Hình dạng hàm thuộc (tam giác, hình thang, đường cong) do người thiết kế chọn theo kinh nghiệm; con số 22, 30, 24, 32 ở trên là ví dụ minh hoạ.

Các phép logic trên độ đúng

Zadeh đề xuất cách tính quen thuộc nhất cho "và", "hoặc", "không" (ký hiệu: ∧ là "và", ∨ là "hoặc", ¬ là "không"):

PhépLogic cổ điển (0 hoặc 1)Logic mờ (Zadeh)Ví dụ ở 28°C
A ∧ B1 khi cả hai bằng 1min(μA, μB)mát ∧ nóng = min(0,25; 0,5) = 0,25
A ∨ B1 khi ít nhất một bằng 1max(μA, μB)mát ∨ nóng = 0,5
¬Ađổi 0 và 11 − μA¬nóng = 0,5

Hai điều đáng để ý:

  • Khi mọi độ thuộc chỉ là 0 hoặc 1, ba công thức này cho đúng kết quả của logic cổ điển: min(1, 0) = 0, max(1, 0) = 1. Logic mờ là mở rộng, không phải thay thế.
  • Quy luật cấm mâu thuẫn và quy luật bài trung không còn đúng tuyệt đối. Ở 28°C, "nóng và không nóng" = min(0,5; 0,5) = 0,5, chứ không phải 0. "Nóng hoặc không nóng" = 0,5, chứ không phải 1. Đây không phải lỗi mà là chủ ý: với khái niệm có ranh giới mờ, một thứ có thể "vừa nóng vừa chưa nóng" ở mức nào đó.

Cũng có những đề xuất để diễn đạt từ nhấn mạnh: một cách quen thuộc là coi "rất nóng" bằng bình phương độ nóng. Ở 28°C, rất nóng = 0,5² = 0,25 — ít "rất nóng" hơn là "nóng", đúng trực giác.

Hai ví dụ giải đầy đủ

Ví dụ 1: quạt tự chỉnh tốc độ

Một bộ điều khiển quạt có hai luật bằng lời:

  1. Nếu phòng mát thì quạt chạy 30% công suất.
  2. Nếu phòng nóng thì quạt chạy 90% công suất.

Logic cổ điển phải chọn một trong hai. Logic mờ cho cả hai luật cùng "bắn", mỗi luật mạnh theo độ đúng của vế điều kiện, rồi lấy trung bình có trọng số:

tốc độ = (μ_mát × 30 + μ_nóng × 90) / (μ_mát + μ_nóng)

Ở 28°C:

  1. Độ đúng: μ_mát = 0,25; μ_nóng = 0,5.
  2. Tử số: 0,25 × 30 + 0,5 × 90 = 7,5 + 45 = 52,5.
  3. Mẫu số: 0,25 + 0,5 = 0,75.
  4. Tốc độ: 52,5 / 0,75 = 70%.

Thử lại ở các mốc khác: 24°C có μ_mát = 0,75, μ_nóng = 0, nên tốc độ = (0,75 × 30) / 0,75 = 30%. Ở 26°C: (0,5 × 30 + 0,25 × 90) / 0,75 = (15 + 22,5) / 0,75 = 50%. Ở 32°C: chỉ luật 2 bắn, 90%. Nhiệt độ tăng từ 24 lên 32 thì tốc độ tăng mượt 30% → 50% → 70% → 90%, không giật cục kiểu bật/tắt. Với chỉ hai câu luật dễ hiểu, ta có một đường điều khiển trơn.

Ví dụ 2: máy tưới hai đầu vào

Thêm cảm biến độ ẩm đất h (%). Hai tập mờ: khô = 1 khi h ≤ 20, giảm đều về 0 ở h = 60, tức (60 − h) / 40 trên đoạn 20–60; ẩm = (h − 20) / 40 trên đoạn đó (0 khi h ≤ 20, 1 khi h ≥ 60). Ba luật:

  1. Nếu đất khô và trời nóng thì tưới 20 phút.
  2. Nếu đất khô và trời mát thì tưới 10 phút.
  3. Nếu đất ẩm thì tưới 0 phút.

Đo được h = 30%, t = 28°C.

  1. Độ thuộc: khô = (60 − 30) / 40 = 0,75; ẩm = (30 − 20) / 40 = 0,25; nóng = 0,5; mát = 0,25.
  2. Luật 1: min(0,75; 0,5) = 0,5. Luật 2: min(0,75; 0,25) = 0,25. Luật 3: 0,25.
  3. Trung bình có trọng số: (0,5 × 20 + 0,25 × 10 + 0,25 × 0) / (0,5 + 0,25 + 0,25) = (10 + 2,5 + 0) / 1 = 12,5 phút.

Thử lại một tình huống hiển nhiên: h = 60% thì khô = 0, luật 1 và 2 có độ đúng 0, chỉ luật 3 bắn: tưới 0 phút — đúng ý "đất đã ẩm thì thôi".

Đây là sơ đồ chung của mọi bộ điều khiển mờ: mờ hoá (đổi số đo thành độ thuộc) → áp luật (tính độ đúng mỗi luật bằng min, max) → gộp → giải mờ (đổi lại thành một con số để ra lệnh cho máy). Cách giải mờ bằng trung bình có trọng số ở trên là cách đơn giản nhất; các hệ thật có nhiều cách khác.

Từ bài báo 1965 tới chiếc nồi cơm

Thời điểmMốc
1965Lotfi Zadeh công bố "Fuzzy Sets" trên tạp chí Information and Control.
Giữa thập niên 1970Ebrahim Mamdani và cộng sự ở London dùng luật mờ điều khiển một máy hơi nước thí nghiệm — một trong những bộ điều khiển mờ đầu tiên.
1987Tuyến tàu điện ngầm Namboku ở Sendai (Nhật Bản) khai trương với hệ thống vận hành tự động dùng logic mờ để tăng tốc, hãm tàu êm.
Cuối thập niên 1980 – thập niên 1990Làn sóng đồ gia dụng "fuzzy" ở Nhật: máy giặt, điều hoà, máy ảnh, nồi cơm điện.

Trong nồi cơm "fuzzy", cảm biến đo nhiệt độ ở đáy và nắp; bộ vi điều khiển suy ra lượng gạo, lượng nước, giai đoạn nấu và chỉnh công suất theo bộ luật kiểu "nhiệt tăng nhanh hơn dự kiến thì lượng ít, giảm lửa sớm". Cơm ngon hơn hay không còn tuỳ nhiều thứ, nhưng ý tưởng là bỏ kiểu "bật hết cỡ rồi ngắt khi nóng quá" của nồi cơ. (Lịch sử chiếc nồi cơm điện có bài riêng ở site khác trong hệ.)

Những hiểu lầm hay gặp

Hiểu lầmSự thật
"Logic mờ là logic không chính xác"Các phép tính đều chính xác; cái "mờ" là ranh giới của khái niệm, không phải phép tính.
"Độ thuộc 0,5 nghĩa là xác suất 50%"Xác suất nói về khả năng một việc chưa biết sẽ xảy ra; độ thuộc nói về mức độ một việc đã biết khớp với một khái niệm. Biết chắc phòng đang 28°C, ta vẫn nói nó "nóng" ở mức 0,5.
"Logic mờ thay thế logic hai giá trị trong máy tính"Bộ điều khiển mờ vẫn chạy trên chip nhị phân thông thường; logic mờ là một cách lập trình, không phải một kiểu phần cứng.
"Có logic mờ thì máy tự hiểu ý người"Hàm thuộc và bộ luật do người thiết kế đặt; máy chỉ tính theo.

Bài tập

  1. Với hàm thuộc ở trên, tính μ_mát và μ_nóng ở 25°C. — Đáp án: μ_mát = (30 − 25) / 8 = 0,625; μ_nóng = (25 − 24) / 8 = 0,125.
  2. Tốc độ quạt ở 25°C là bao nhiêu? — Đáp án: (0,625 × 30 + 0,125 × 90) / 0,75 = (18,75 + 11,25) / 0,75 = 40%.
  3. Tính "nóng và không nóng" ở 30°C. — Đáp án: μ_nóng = 0,75, ¬nóng = 0,25, min = 0,25.
  4. Khi mọi độ thuộc bằng 0 hoặc 1, min(μA, μB) cho kết quả giống phép logic nào? — Đáp án: phép "và" cổ điển.

Dùng vào đâu

  • Sinh viên tự động hoá, điện – điện tử: điều khiển mờ là học phần quen thuộc, hay dùng khi mô hình toán của đối tượng khó lập mà kinh nghiệm vận hành lại có sẵn.
  • Người học logic: logic mờ là ví dụ dễ thấy nhất của logic nhiều giá trị, cho thấy quy luật bài trung là một lựa chọn của hệ logic cổ điển.
  • Tìm hiểu thêm: mục Fuzzy Logic trong Stanford Encyclopedia of Philosophy viết kỹ phần nền tảng logic; giáo trình điều khiển mờ của các trường kỹ thuật cho phần ứng dụng.

Câu hỏi thường gặp

Logic mờ là gì?

Logic mờ là logic trong đó độ đúng của một câu có thể là bất kỳ số nào từ 0 đến 1, không chỉ 0 (sai) hoặc 1 (đúng). Nó dùng để xử lý những khái niệm không có ranh giới sắc nét như "nóng", "cao", "nhanh".

Ai phát minh ra logic mờ?

Lotfi Zadeh, giáo sư Đại học California ở Berkeley, đặt nền móng với bài báo "Fuzzy Sets" năm 1965. Cụm từ "logic mờ" về sau được dùng cho các hệ suy luận dựa trên tập mờ của ông.

Nồi cơm điện fuzzy logic là gì?

Là nồi cơm có bộ vi điều khiển dùng các luật logic mờ để chỉnh công suất nấu theo số đo từ cảm biến nhiệt, thay vì chỉ bật tối đa rồi ngắt. Loại nồi này phổ biến từ khi các hãng Nhật đưa logic mờ vào đồ gia dụng, cuối thập niên 1980 – thập niên 1990.

Logic mờ khác xác suất thế nào?

Xác suất đo khả năng một sự việc chưa biết sẽ xảy ra. Độ thuộc trong logic mờ đo mức độ một sự việc đã biết khớp với một khái niệm. Phòng chắc chắn đang 28°C vẫn có thể "nóng" ở mức 0,5.

Trong logic mờ, phép "và", "hoặc", "không" tính thế nào?

Cách phổ biến nhất do Zadeh đề xuất: "và" lấy giá trị nhỏ hơn (min), "hoặc" lấy giá trị lớn hơn (max), "không" lấy 1 trừ độ đúng. Khi các giá trị chỉ là 0 và 1, ba phép này trùng với logic cổ điển.

Mở app Biện Luận

Ai nói thật, ai nói dối? Đóng dấu từng lời mà lần ra

Mở app Biện Luận

Bài viết liên quan

Mở app Biện Luận

Ai nói thật, ai nói dối? Đóng dấu từng lời mà lần ra

Mở app Biện Luận Xem app khác