Fuzzy Logic
Logic mờ gán giá trị chân lý trong khoảng từ 0 đến 1, cho phép các hệ thống dựa trên luật suy luận bằng những khái niệm mơ hồ như ấm hoặc gần. Nội dung đề cập đến bộ điều khiển và code.
Logic mờ là một dạng logic đa trị, trong đó một mệnh đề có thể đúng một phần, với mức độ đúng nằm trong khoảng từ 0 đến 1 thay vì chỉ đúng hoặc sai. Lĩnh vực này bắt nguồn từ bài báo năm 1965 của Lotfi Zadeh về tập mờ tại Đại học California, Berkeley, và cung cấp cho máy tính cách sử dụng các khái niệm mơ hồ của con người như “ấm”, “gần” hoặc “nhanh” trong các phép tính chính xác. Hệ thống mờ biểu diễn kiến thức chuyên gia bằng các quy tắc if-then đơn giản và kết hợp các quy tắc áp dụng một phần, nhờ vậy đầu ra thay đổi trơn tru theo đầu vào. Đặc tính này giúp logic mờ trở thành công cụ phổ biến trong kỹ thuật điều khiển, từ phanh tàu đến máy giặt; logic mờ vẫn là một phần của các hệ thống trí tuệ nhân tạo (AI) cần những quy tắc dễ diễn giải và có thể điều chỉnh thủ công.
Tập mờ và hàm thành viên#
Trong lý thuyết tập hợp cổ điển, một phần tử hoặc thuộc một tập hợp hoặc không. Tập mờ gán cho mỗi phần tử một mức độ thành viên từ 0 đến 1 thông qua hàm thành viên, thường là đường cong tam giác, hình thang hoặc Gaussian trên miền đầu vào. Các tập liền kề chồng lấn lên nhau, vì vậy một căn phòng ở 24 °C có thể vừa “ấm” ở mức 0.6 vừa “nóng” ở mức 0.2; nhãn thay đổi dần thay vì đột ngột tại một ngưỡng. Các toán tử logic cũng được mở rộng theo mức độ: định nghĩa ban đầu của Zadeh lấy giá trị nhỏ nhất trong hai mức độ cho AND, giá trị lớn nhất cho OR và 1 trừ đi mức độ cho NOT; các lựa chọn khác như phép nhân cho AND thuộc một họ gọi là t-norm.
Cách hệ thống suy luận mờ hoạt động#
Bộ điều khiển mờ chuyển giá trị đọc chính xác từ cảm biến thành một lệnh điều khiển rõ ràng qua bốn bước:
- Mờ hóa: Ánh xạ mỗi giá trị đầu vào sang mức độ thành viên của giá trị đó trong từng tập mờ, chẳng hạn xác định chướng ngại vật “gần”, “vừa” hay “xa” đến mức nào.
- Đánh giá quy tắc: Kích hoạt từng quy tắc if-then, chẳng hạn “nếu khoảng cách gần thì phanh mạnh”, ở mức độ tương ứng với mức độ điều kiện được đáp ứng.
- Tổng hợp: Cắt tập đầu ra của từng quy tắc tại mức kích hoạt của quy tắc đó rồi kết hợp các tập đã cắt, thường bằng phép lấy giá trị lớn nhất.
- Giải mờ: Rút gọn tập kết hợp thành một con số, thường là trọng tâm của tập.
Phương pháp này là phương pháp Mamdani, được đặt theo tên Ebrahim Mamdani, người cùng Sedrak Assilian sử dụng phương pháp này để điều khiển động cơ hơi nước trong phòng thí nghiệm vào năm 1975. Hệ thống Takagi-Sugeno thay các tập đầu ra bằng công thức của đầu vào rồi lấy trung bình, giúp giảm chi phí tính toán và dễ tinh chỉnh từ dữ liệu hơn. Ví dụ này triển khai bộ điều khiển Mamdani ba quy tắc, thiết lập lực phanh dựa trên khoảng cách đến chướng ngại vật:
import numpy as np
# Output fuzzy sets over braking force (0-100%)
force = np.linspace(0, 100, 501)
gentle = np.interp(force, [0, 40], [1, 0])
firm = np.interp(force, [20, 50, 80], [0, 1, 0])
hard = np.interp(force, [60, 100], [0, 1])
for distance in [8, 15, 22, 35]:
# Fuzzification: how near, medium, and far the obstacle is (meters)
near = np.interp(distance, [5, 20], [1, 0])
medium = np.interp(distance, [10, 20, 30], [0, 1, 0])
far = np.interp(distance, [20, 40], [0, 1])
# Rules: near -> hard, medium -> firm, far -> gentle; clip each set (min), combine (max)
combined = np.maximum.reduce([np.minimum(near, hard), np.minimum(medium, firm), np.minimum(far, gentle)])
# Defuzzification: the centroid of the combined set is the crisp braking command
print(f"{distance:>2} m -> brake {np.sum(force * combined) / np.sum(combined):.0f}%")Script in ra lực phanh lần lượt là 86%, 60%, 47% và 14% tại các khoảng cách 8, 15, 22 và 35 mét. Ở khoảng cách 15 mét, chướng ngại vật “gần” ở mức 0.33 và “vừa” ở mức 0.5, vì vậy các quy tắc phanh mạnh và phanh vừa đều được kích hoạt một phần; sự kết hợp của chúng tạo ra mức phanh 60%. Ba quy tắc tạo nên đường cong phanh trơn tru, không có ngưỡng khiến lệnh điều khiển thay đổi đột ngột.
Ứng dụng#
- Hệ thống điều khiển: Hệ thống vận hành tàu tự động bằng logic mờ của Hitachi đã điều khiển tăng tốc và phanh trên Tuyến Namboku của Tàu điện ngầm Sendai khi tuyến này khai trương năm 1987, giúp tàu chạy êm hơn và dừng chính xác hơn. Bộ điều khiển mờ cũng điều chỉnh các thiết bị gia dụng như máy giặt, nồi cơm điện và máy điều hòa không khí dựa trên số liệu cảm biến không chính xác tuyệt đối.
- Phân đoạn ảnh: Fuzzy c-means, phiên bản mềm của phân cụm k-means, gán cho mỗi pixel một mức độ thành viên trong từng cụm. Phương pháp này được sử dụng rộng rãi trong phân tích ảnh y khoa, chẳng hạn để tách các loại mô não trong ảnh MRI, nơi pixel ở ranh giới có thể chứa cả hai loại mô.
- Ra quyết định dựa trên thị giác: Giải pháp ước tính tốc độ của Ultralytics theo dõi phương tiện bằng model YOLO26 và báo cáo tốc độ của từng phương tiện theo km/h; đây là đầu vào rõ ràng mà một tập quy tắc mờ có thể phân loại thành chậm, vừa hoặc nhanh trước khi thiết lập mức cảnh báo hoặc thời gian tín hiệu.
- Hệ thống neuro-fuzzy: Hệ thống suy luận neuro-fuzzy thích nghi (ANFIS), do Jyh-Shing Roger Jang giới thiệu năm 1993, học các hàm thành viên và tham số quy tắc từ dữ liệu bằng phương pháp huấn luyện mạng nơ-ron trong khi vẫn giữ cho các quy tắc dễ đọc.
Logic mờ so với xác suất và AI biểu tượng#
Logic mờ và xác suất đều sử dụng các số từ 0 đến 1 nhưng mô tả các dạng bất định khác nhau. Xác suất, đại lượng được mạng Bayes sử dụng để suy luận, biểu thị khả năng xảy ra của một sự kiện được xác định rõ ràng, chẳng hạn xác suất ngày mai trời mưa là 30%. Mức độ thành viên mờ biểu thị mức độ một mô tả mơ hồ phù hợp với trạng thái đã biết, chẳng hạn một tách cà phê ở 50 °C “ấm” ở mức 0.7. So với AI biểu tượng cổ điển, tập quy tắc mờ giữ dạng if-then dễ đọc của hệ chuyên gia nhưng thay điều kiện đúng-sai của từng quy tắc bằng một mức độ, cho phép nhiều quy tắc cùng đóng góp vào một quyết định.










