CHƯƠNG III: CƠ SỞ LÝ THUYẾT
3.1. LÝ THUYẾT TẬP MỜ VÀ LOGIC MỜ
3.1.3. Luật hợp thành mờ
3.1.3.1.Khái niệm mệnh đề hợp thành mờ
Mệnh đề hợp thành mờ là mệnh đề dạng Nếu A Thì B (A ⇒ B) : Nghĩa là với giá trị đầu vào xo thoả mãn mệnh đề thì sẽ xác định được giá trị mờ đầu ra của yo.
Mệnh đề hợp thành mờ là phép suy diễn được xây dựng trên cơ sở tri thức của người thực hiện chương trình.
3.1.3.2.Phép suy diễn mờ
Giá trị của mệnh đề hợp thành mờ là một tập mờ B’ định nghĩa trên nền Y (không gian nền của B) và có hàm thuộc :
à (àA ,àB) : [0,1]2 → [0,1]
thỏa mãn :
a. àA ≥ à (àA ,àB) với mọi àA ,àB ∈ [0,1]
b. à (àA , 0) = 0 với mọi àA ∈ [0,1]
c. àA1 ≤ àA2 ⇒ à (àA1 ,àB) ≤ à (àA2 ,àB) d. àB1 ≤ àB2 ⇒ à (àA ,àB1) ≤ à (àA ,àB2)
Từ nguyên tắc Mamdani, ta xác định được công thức xác định hàm thuộc cho mệnh đề hợp thành B’ = A ⇒ B. Một trong số các công thức :
1. à (àA ,àB) = min{(àA ,àB } 2. à (àA ,àB) = àA àB
Hai công thứùc trên có tên chung là quy tắc hợp thành theo Mamdani 3.1.3.3.Qui tắc hợp thành Min
Theo qui tắc hợp thành Min, giá trị của mệnh đề hợp thành mờ B’ được định
nghĩa trên nền Y (không gian nền của B) có hàm thuộc : àB’(y) = min{àA ,àB(y )}
3.1.3.4.Qui tắc hợp thành Prod
Theo qui tắc hợp thành Prod, giá trị của mệnh đề hợp thành mờ B’ được định nghĩa trên nền Y (không gian nền của B) có hàm thuộc :
àB’(y) = àA . àB(y)
c.
à
y x
à
àtaờng(y)
chậm(x) à
x0
B'(y) à àB'(y) x0
àchậm(x) àtăng(y)
à
x y
à b.
a.
à
y x
à
àtaờng(y)
chậm(x) à
Hỡnh 3.7: a. Hàm thuộc àchậm(x) và àtăng(y).
b. àB’(y) xỏc định theo quy tắc hợp thành Min.
c. àB’(y) xỏc định theo quy tắc hợp thành Prod.
3.1.3.5.Luật hợp thành mờ
Luật hợp thành mờ là tập hợp của một hay nhiều mệnh đề hợp thành mờ. Một luật hợp thành chỉ có một mệnh đề hợp thành được gọi là luật hợp thành đơn.
Ngược lại, nếu luật hợp thành có hơn nhiều hơn một mệnh đề hợp thành được gọi là luật hợp thành kép.
Phần lớn các hệ mờ trong thực tế đều có mô hình xây dựng từ các luật hợp thành
keùp.
a. Thuật toán thực hiện luật hợp thành đơn max-Min, max-Prod cấâu trúc SISO:
Luật hợp thành max-Min:
Xét luật hợp thành SISO chỉ có một mệnh đề hợp thành R1 : Neáu X = A Thì Y = B
Ma trận R của luật hợp thành max-Min được xõy dựng gồm cỏc giỏ trị àB’(y) tương ứng với giỏ trị đầu vào x. Ứng với giỏ trị (x,y) thỡ giỏ trị àR(x,y) được xỏc ủũnh :
àR(x,y) = min{àA(x),àB(y )}
àchậm(x) àtăng(y)
0.5
0.5 0.5 àB'(y)
(0.2,y) àR
y 0.9 0.7 0.5
0.5 0.7 0.9
0.5
0.3 x y
àtaờng(y)
chậm(x) à
0.1
Hình 3.8 : Xây dựng R theo quy tắc max - Min.
Luật hợp thành Max-Prod:
Xét luật hợp thành SISO chỉ có một mệnh đề hợp thành R1 : Neáu X = A Thì Y = B
Tương tự luật hợp thành max-Prod, ma trận R của luật hợp thành max-Prod được xõy dựng gồm cỏc giỏ trị àB’(y) tương ứng với giỏ trị đầu vào x.
Ứng với giỏ trị (x,y) thỡ giỏ trị àR(x,y) được xỏc định : àR(x,y) = àA(x). àB(y )
B'
taêng(y) à
taêng
à (y) à(y)
àR(0.2,y) àchậm(x)
chậm(x) à 0.5
0.7
0.5 0.9
0.1 0.3 0.5
0.25 0.5
y 0.9
0.7 0.5 0.5
x y
Hình 3.9 : Xây dựng R theo quy tắc max - Prod.
b. Thuật toán thực hiện luật hợp thành đơn có câu trúc MISO Xét luật hợp thành MISO chỉ có một mệnh đề hợp thành
R1 : Nếu X1 = A1 và X2 = A2 và … và Xn = An Thì Y = B
Bao gồm n biến ngôn ngữ đầu vào và một biến đầu ra. Luật hợp thành được xây dựng như sau :
Rời rạc húa miền xỏc định hàm thuộc àA1(x1), àA2(x2), …, àAn(xn), àB(y) của các mệnh đề điều kiện và mệnh đề kết luận.
Xác định độ thỏa mãn H cho từng vectơ các giá trị rõ đầu vào là vectơ tổ hợp n điểm mẩu thuộc miền xỏc định của cỏc hàm thuộc àAi(xi), i = 1:n.
Giả sử với một vectơ các giá trị rõ đầu vào x = ( x1, x2, …, xn )T thì H = min {àA1(x1), àA2(x2), …, àAn(xn)}
Tập R gồm các hàm thuộc giá trị mờ đầu ra cho từng vectơ các giá trị véc tớ đầu vào theo nguyên tắc :
àB’(y) = min{H, àB(y)} nếu sử dụng quy tắc max-Min àB’(y) = H. àB(y) nếu sử dụng quy tắc max-Prod
A
A
à (x) (z)
C
0.5
àB'(y)
C(z) à
y àB(y) à
x
à(x) 1.0
0.5 0.7 0.9 y
0.5 0.3 0.1
B(y) à
Hình 3.10 : Xây dựng R cho luật hợp thành MISO theo quy tắc max - Min.
c. Thuật toán xác định luật hợp thành kép max_Min, max_Prod
Trong thực tế ít có luật hợp thành mờ nào chỉ làm việc với một mệnh đề hợp
thành mà thông thường với nhiều mệnh đề hợp thành, hay còn gọi là một tập các luật điều khiển Rk.
Luật hợp thành có hai mệnh đề hợp thành:
Xét một hợp thành gồm hai mệnh đề hợp thành của ví dụ về lái ô tô R1: NẾU χ = chậm THÌ γ = tăng hoặc
R2: NẾU χ = nhanh THÌ γ = giảm
Trong đó biến ngôn ngữ χ chỉ tốc độ xe và γ chỉ sự tác động vào bàn đạp ga xe.
Ký hiệu R’ là giá trị của luật hợp thành R thì R’ = R1’ ∪ R2’
Trong đó R1’, R2’ là giá trị của từng mệnh đề hợp thành
Ký hiệu hàm thuộc của R1’ là àR1’(y) và của R2’ là àR2’(y) thỡ hàm thuộc àR’(y) cuỷa R’ seừ nhử sau:
àR’(y) = max {àR1’(y), àR2’(y)}
0.5
àchậm(x) à(x)
ànhanh(x)
à
taêng(y) à (y)
àgiảm(y)
x0 x y
b.
c.
a.
0 R
taêng(y) à
giảm(y) à (x ,y) à
y H2
1
giảm(y) à
0
ànhanh(x)
à(x) à(y)
x y
x 0.5 H
àtaờng(y)
chậm(x) à
Hình 3.11 : Hàm thuộc của hợp hai luật điều khiển.
a. Xác định hàm thuộc đầu ra của luật điều khiển thứ nhất.
b. Xác định hàm thuộc đầu ra của luật điều khiển thứ hai.
c. Hàm thuộc đầu ra của luật hợp thành.
Thuật toán thực hiện luật hợp thành kép có nhiều mệnh đề hợp thành Tổng quát hóa phương pháp mô hình hóa trên cho mệnh đề hợp thành gồm :
R1 : Neáu X1 = A1 Thì Y1 = B1 R2 : Neáu X2 = A2 Thì Y2 = B2
…
Rn : Neáu Xn = An Thì Yn = Bn
Trong đó các giá trị mờ A1, A2, …, An có cùng tập nền X và B1, B2, …, Bn có cùng tập nền Y. Gọi hàm thuộc của Ak, Bk là àAk(x) và àBk(y) với k = 1:n. Thuật toỏn trieồn khai :
R = R1 ∪ R2 ∪ … ∪ Rn Seừ nhử sau :
1. Rời rạc hoá X tại n điểm x1, x2, …, xn và Y tại n điểm y1, y2, …, yn
2. Xác định các vectơ
Ak
à và
Bk
à , K = 1:n theo
T Ak
à = (àAk(x1), (àAk(x2), …,(àAk(x2))
T Bk
à = (àBk(y1), (àBk(y2), …,(àBk(y2)) tức là mờ hoá các điểm rời rạc của X, Y 3. Xác định mô hình cho luật điều khiển
a. Rk =
Ak
à T
Bk
à = (rijk), i, j = 1:n
b. Trong đó phép nhân được thay bằng phép tính lấy cực tiểu min khi sử dụng nguyên tắc max-Min
4. Xác định luật hợp thành R = max ( | k = 1:n) rijk
Khi xây dựng luật hợp thành, từng mệnh đề điều kiện nên được mô hình hoá thống nhất theo một qui tắc chung như qui tắc max-Min hoặc max-Prod… Khi đó
các luật điều khiển sẽ có tên chung là luật hợp thành max-Min hay luật hợp thành max-Prod và gọi chung là luật hợp thành.
d. Thuật toán xác định luật hợp thành sum_Min và sum_Prod
Kiểu liên kết nhiều mệnh đề hợp thành, hay còn gọi là luật điều khiển Rk, bằng toán tử HOẶC theo luật hợp thành max_Min và max_Prod không có tính thống kê. Chẳng hạn như khi đa số các mệnh đề hợp thành Rk có cùng một giá trị đầu ra nhưng vì không phải là giá trị lớn nhất nên sẽ không được để ý tới và bị mất trong kết quả chung.
Có nhiều cách khắc phục nhược điểm này. Một trong những phương pháp phổ biến là sử dụng phép hợp Lukasiewz để liên kết các mệnh đề hợp thành Rk lại với nhau
⎭⎬
⎫
⎩⎨
= ⎧ ∑
= p k
Rk
R
1
, 1 min
Trong đó phép lấy cực tiểu min được thực hiện giữa số 1 và từng phần tử của ma trận tổng.
Luật hợp thành theo liên kết Lukasiewz sẽ có tên gọi là sum_Min hoặc sum_Prod thay vì max_Min hoặc max_Prod.
Hình 3.12 : Mô hình hoá với quy tắc sum_Min
Thuật toán triển khai R theo quy tắc sum_Min hoặc sum_Prod cũng bao gồm các bước như triển khai với quy tắc max_Min hoặc max_Prod đã được trình bày ở mục trên. Chỉ riêng tại bước 4 thì công thức R = max ( | k = 1:n) được thay bằng công thức
ijk
r
⎭⎬
⎫
⎩⎨
= ⎧ ∑
= p k Rk
R
1
, 1 min