Hệ chuyên gia mờ cũng như các hệ chuyên gia khác. Nó cũng cần một mô tơ suy diễn cho mình. Trong phần này, chúng ta xét những nội dung:
Mệnh đề và luật mờ
Suy diễn mờ
Các luật nhiều tiền đề
Khử mờ
6.1. Mệnh đề và luật mờ Mệnh đề mờ Mệnh đề mờ
Mệnh đề mờ được biểu diễn thông qua biến ngôn ngữ và giá trị của biến ngôn ngữ đó. Trong ngôn ngữ tự nhiên có vô số mệnh đề mờ như "nhiệt độ nóng", "độ cao trung bình", "tốc độ từ từ"...
Tổng quát, mệnh đề mờ được biểu diễn là: X là A
trong đó, X là tập vũ trụ còn A là tập mờ được định nghĩa trên X.
Luật mờ
Luật mờ ở dạng luật IF ... THEN ... cho phép kết nối các mệnh đề mờ lại với nhau. Luật mờ cung cấp mối quan hệ giữa các mệnh đề mờ. Chẳng hạn, ta có luật mờ:
IF Góc tay ga quay lớn THEN Xe đi nhanh Tổng quát, luật mờ có dạng sau:
IF X là A THEN Y là B
Chẳng hạn, với luật mờ dưới đây ta có biểu diễn:
IF Nhiệt độ của hệ thống thấp THEN Áp suất của hệ thống thấp Chúng ta sẽ biểu diễn luật mờ này. Chọn các tập vũ trụ cho luật mờ:
U = {Nhiệt độ của hệ thống} = {Thấp, Kém trung bình, Hơn trung bình, Cao} = {u1, u2, u3, u4}
V = {Áp suất của hệ thống} = {Thấp, Kém trung bình, Trung bình,
Hơn trung bình, Cao} = {v1, v2, v3, v4, v5} Tập mờ A biểu diễn sự kiện "Nhiệt độ của hệ thống thấp" dạng vector đơn giản:
Tập mờ B biểu diễn sự kiện "Áp suất của hệ thống thấp": B = (1, 0.8, 0.1, 0 0}
6.2. Suy diễn mờ
Hệ chuyên gia mờ lưu trữ các luật mờ IF A THEN B, trong đó A và B là những tập mờ, dưới dạng quan hệ (A, B) vào các ma trận M. Thực chất, ma trận M thực hiện ánh xạ tập mờ A vào tập mờ B. Người ta gọi mối liên kết mờ này là bộ nhớ liên kết mờ FAM. Một FAM ánh xạ một tập mờ vào một tập mờ khác. Đó là quá trình suy diễn mờ. Trước khi xem xét các chiến lược suy diễn mờ, chúng ta hãy nghiên cứu phép nhân một vector với một ma trận trên lý thuyết tập mờ.
6.2.1. Phép nhân vector và ma trận trên tập mờ
Giả sử có một vector X và một ma trận A. Gọi vector tích của vector X và ma trận A là Y. Theo lý thuyết nhân vector và ma trận cổ điển, ta có:
Y1×p = X1×n . An×p (6.1) trong đó ∑ = = n i ij i i xa y 1 (6.2)
Theo lý thuyết tập mờ, phép nhân giữa một vector và một ma trận lại sử dụng toán tử hợp thành. Ký hiệu là dấu tròn "°". Toán tử này thực hiện các phép max và min để nhân ma trận và vector. Phép min thay thế cho phép nhân ở trên còn phép max thay cho phép tính tổng.
Giả sử có luật IF A THEN B. Ta sẽ có 2 tập mờ A và B được định nghĩa lần lượt trên X và Y. A và B được biểu diễn ở dạng vector đơn giản như sau:
A = (a1, a2, ... , an) với ai = µA(xi) B = (b1, b2, ... , bn) với bi = µB(xi)
Khi đó, phép nhân vector A với ma trận M được vector B:
A ° M = B (6.3)
trong đó
bj = max{min(ai,mij)}
Chẳng hạn, ta có vector A = (0.2, 0.4, 0.6, 1) và ma trận M là:
Theo công thức trên ta sẽ có vector B = (0.6, 0.6, 05). M = 0.1 0.6 0.8
0.6 0.8 0.60.8 0.6 05 0.8 0.6 05 0.0 0.5 0.5
6.2.2. Suy diễn max-min
Người ta sử dụng toán tử suy diễn min trong chiến lược suy diễn max-min được biểu diễn như sau:
mij = truth(ai → bj) = min(ai, bj) (6.4)
trong đó mij là hệ số ma trận M ứng vị trí i và j, ai là hệ số vector của tập mờ A và bj là hệ số vector của tập mờ B.
Để hiểu rõ hơn, ta quan sát ví dụ sau. Gọi X là tập vũ trụ biểu diễn "nhiệt độ" và A là tập mờ được định nghĩa trên X biểu diễn "nhiệt độ bình thường". Gọi Y là tập vũ trụ biểu diễn "vận tốc" và B là tập mờ được định nghĩa trên Y biểu diễn "vận tốc trung bình". Ta có mối quan hệ giữa chúng theo luật:
IF Nhiệt độ bình thường THEN Vận tốc trung bình
Rõ ràng, luật trên có dạng là IF A THEN B. Đồng thời, ta có vector biểu diễn hai tập mờ:
Nhiệt độ bình thường = (0/100, 0.5/125, 1/150, 0.5/175, 0/200) Vận tốc trung bình = (0/10, 0.6/20, 1/30, 0.6/40, 0/50)
Từ đó, ta có được M dựa trên đẳng thức trên mij = min(ai, bj). Chẳng hạn, m00 = min(a0,b0) = min(0, 0) = 0.0.
Như vậy, chúng ta đã có được ma trận M để làm nhiệm vụ suy diễn. Nếu biết vector A thì chúng ta có thể biết được vector B thông qua M.
Chẳng hạn, có tập con biểu diễn giá trị rõ đọc vào là nhiệt độ ở 125 độ được A': A' = (0/100, 0.5/125, 0/150, 0/175, 0/200)
và theo công thức ở trên bj = max{min(ai,mij)} ta có
B' = (0/10, 0.5/20, 0.5/30, 0.5/40, 0/50).
Bản chất của tập mờ B' là sự cắt cụt của tập mờ B bởi tập mờ A. Hình 6.1 minh hoạ điều này. M = 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.0 0.0 0.6 1.0 0.6 0.0 0.0 0.5 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.0
Kết quả trên có được nhờ chúng ta giới hạn A' là giá trị rõ. Chẳng hạn, khi ta đọc giá trị vào của nhiệt độ là 125 độ thì được A' = (0, 0.5, 0, 0, 0) với độ thuộc 0.5 vào tập mờ "nhiệt độ trung bình". Từ đó, tính theo ma trận M có B' = (0, 0.5, 0.5, 0.5, 0).
Một cách khác cho phép tính toán B' mà không cần dùng tới ma trận M. Trong nhiều ứng dụng thực tế của các hệ lôgic mờ, ngoài sử dụng các giá trị của tập rõ xk, người ta còn sử dụng trực tiếp các giá trị mờ µA(xk) với tập mờ B.
B' = µA(xk) ∧µB(y) (6.5)
Như vậy, nhiệt độ 125 độ có độ thuộc 0.5 vào tập "nhiệt độ trung bình" sẽ tính được B' theo cách khác:
B' = (min(0.5, 0), min(0.5, 0.6), min(0.5, 1), min(0.5, 0.6), min(0.5, 0)) = (0, 0.5, 0.5, 0.5, 0)
Như vậy, nếu đầu vào là giá trị rõ thì ta có 2 cách tính như trên. Còn nếu đầu vào là giá trị mờ thì người ta tính giao của 2 giá trị đầu ra của A và A' theo min(a, a') để có được B'.
6.2.3. Suy diễn max-product
Suy diễn max-product sử dụng toán tử kéo theo dưới đây để thực hiện suy diễn.
mij = aibj (6.6)
Chúng ta vẫn xét ví dụ ở phần suy diễn max-min. Tập mờ A biểu diễn cho "nhiệt độ bình thường" và tập mờ B biểu diễn cho "vận tốc không đổi".
A = (0/100, 0.5/125, 1/150, 0.5/175, 0/200) B = (0/10, 0.6/20, 1/30, 0.6/40, 0/50) Ma trận M khi đó sẽ là: M = 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.5 0.3 0.0 0.0 0.6 1.0 0.6 0.0 0.0 0.3 0.5 0.3 0.0 0.0 0.0 0.0 0.0 0.0 Luật A B
Hình 6.1: Suy diễn max-min Đọc vào
Giả sử có vector A' = (0, 0.5, 0, 0, 0). Tính toán theo ma trận M và công thức trên thì được vector B' = (0, 0.3, 0.5, 0.3, 0).
Tương tự như suy diễn max-min, cũng có thể tính B' bằng: B' = µA(xk) ∧µB(y)
6.3. Các luật nhiều tiền đề
Phần trước chúng ta đã nghiên cứu quá trình suy diễn trên các luật một tiền đề dạng: