Hình 1.2: Biểu diễn tập nhiệt độ “Lạnh”, “Bình thường” và “Nóng” Qua biểu diễn của hình trên ta thấy không thể áp dụng logic mệnh đề để phânbiệt các thành phần trong cùng một tập hợp.. L
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Giáo viên HD : PGS.TS Đỗ Văn Nhơn
Họ tên học viên : Phạm Văn Đăng
Trang 2CHƯƠNG I: TỔNG QUAN 3
1 Lý do chọn đề tài 3
2 Mục tiêu đề tài 4
CHƯƠNG II: LOGIC MỜ 5
1 Logic mệnh đề (logic truyền thống) 5
2 Tập mờ 6
a Khái niệm tập mờ 6
b Các dạng hàm thuộc tiêu biểu 8
c Các khái niệm liên quan 9
d Các toán tử logic trên tập mờ 9
e Các phép toán mở rộng 12
3 Logic mờ 15
a Khái niệm logic mờ 15
b Biến ngôn ngữ 15
c Mệnh đề mờ 17
e Các phép toán mệnh đề mờ 17
f Phép toán kéo theo mờ 18
g Luật mờ 19
h Luật Modus Ponens hay Modus Tollens 19
i Thủ tục ra quyết định mờ (fuzzy decision making procedure) 22
k Giải mờ 23
4 Số mờ 25
a Định nghĩa 26
b Nguyên lý suy rộng của Zadeh 26
c Các số học mờ 27
5 Hệ mờ 27
a Kiến trúc của hệ mờ tổng quát 27
b Cơ sở luật mờ 29
c Bộ suy diễn mờ 29
d Bộ mờ hóa 31
e Hệ mờ là một hệ xấp xỉ vạn năng 32
f Giới thiệu một số hệ luật mờ trong thực tế 33
Trang 3CHƯƠNG III: PHƯƠNG PHÁP THIẾT KẾ HỆ ĐIỀU KHIỂN MỜ TỪ TẬP DỮ LIỆU VÀO - RA VÀ MINH HỌA BẰNG CÁC ỨNG DỤNG
THỰC TẾ 35
1 Đặt vấn đề 35
2 Thiết kế hệ điều khiển mờ bằng bảng dữ liệu vào 35
3 Minh họa hệ điều khiển mờ bằng ứng dụng điều khiển máy bơm nước tự động 36
4 Minh họa hệ điều khiển mờ bằng ứng dụng điều khiển máy giặt tự động 41
a Mô tả bài toán máy giặt 41
b.Ứng dụng hệ điều khiển mờ 41
5 Viết chương trình minh họa hệ điều khiển mờ trong máy giặt, cài đặt, cách sử dụng và chạy thử nghiệm 50
a.Viết chương trình minh họa hệ điều khiển mờ trong máy giặt 50
b.Cài đặt 55
c Cách sử dụng 55
d.Chạy thử nghiệm 57
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58
1 Kết luận 58
a Kết quả đạt được 58
b Rút ra bài học cho bản thân 59
2 Những hạn chế và hướng phát triển 60
a.Những hạn chế 60
b.Hướng phát triển 61
TÀI LIỆU THAM KHẢO 63
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 3
Trang 4CHƯƠNG I: TỔNG QUAN
1 Lý do chọn đề tài
Qua việc được học và đọc các tài liệu về Logic Mờ (Fuzzy Logic), Em đã
cảm nhận được có nhiều điều mà mình chưa hiểu rõ về Logic mờ, thế giới quanh
ta có muôn màu sắc chứ không phải nằm gọi trong hai màu chính đó là trắng vàđen Cũng như con người giao tiếp với nhau bằng ngôn ngữ tự nhiên, mà bảnchất ngôn ngữ tự nhiên là mang đầy tính mơ hồ và không chính xác Tuy vậy,nhưng trong nhiều tình huống giao tiếp giữa người với người, trong đó có nhữngđiều mà người khác muốn nói với mình, lúc này mình cũng có thể hiểu đượckhông nhiều thì ít Khả năng hiểu và sử dụng đúng ngôn ngữ tự nhiên, thực chất
là hiểu và xử lý đúng thông tin không chính xác chứa trong đó, có thể coi làthước đo mức độ hiểu biết, thông minh của con người Do vậy con người cũngluôn mơ ước máy tính là người bạn, là người giúp việc đắc lực cho mình, ngàycàng thông minh và hiểu biết hơn Vì vậy, nhu cầu làm cho máy tính hiểu và xử
lý được những thông tin không chính xác, mang tính xấp xỉ, áng chừng là mộtnhu cầu cần thiết của con người, đã và đang đặt ra trong thời đại ngày nay
Như chúng ta đã thấy Logic mờ ra đời đã cung cấp một công cụ hiện hữu
để nghiên cứu và xây dựng các hệ thống có khả năng xử lý thông tin không chínhxác Nhờ có Logic mờ mà con người xây dựng được những hệ điều khiển có tínhlinh động rất cao Chúng có thể hoạt động tốt ngay trong điều kiện có nhiềunhiễu hoặc những tình huống chưa được học trước Nhờ có logic mờ mà conngười xây dựng được những hệ chuyên gia có khả năng suy luận như nhữngchuyên gia hàng đầu và có khả năng tự hoàn thiện thông qua việc thu nhận trithức mới
Ngày nay logic mờ có phạm vi ứng dụng rộng rãi trên thế giới, từ những
hệ thống cao cấp phức tạp như những hệ dự báo, nhận dạng, robos, vệ tinh, duthuyền, máy bay,… đến những đồ dùng hằng ngày như máy giặt, máy điều hoàkhông khí, máy chụp hình tự động,… Những trung tâm lớn về lý thuyết cũng nhưứng dụng của logic mờ hiện nay là Mỹ, Nhật, và Châu Âu
Với những lý do mà Em đã trình bày ở trên đã làm cho bản thân mình cònrất nhiều điều chưa biết đến, kiến thức còn rất hạn chế, cho nên Em đã quyết định
Trang 5đi tìm hiểu về cơ sở lý thuyết Logic mờ để áp dụng vào những ứng dụng trongthực tế
2 Mục tiêu đề tài
Bài thu hoạch này tập trung vào một số điều quan trọng cần đạt được như sau:
Tóm tắt lại toàn bộ cơ sở lý thuyết về Logic mờ
Tìm hiểu về các phương pháp giải mờ, và áp dụng phương pháp trọng tâmvào giải bài toán máy giặt
Tóm lược phương pháp xây dựng cho hệ điều khiển mờ điển hình
Từ lý thuyết và phương pháp xây dựng hệ điều khiển mờ để áp dụng minhhọa cho các ứng dụng như: Điều khiển máy bơm nước tự động và ứngdụng Logic mờ vào vận hành điều khiển máy giặt tự động
Viết chương trình mô phỏng Ứng dụng Logic mờ vào vận hành máy giặt
Làm sao có thể viết chương trình áp dụng được Logic mờ để viết đượcmột chương trình ứng dụng, để có thể áp dụng trong thực tế
Tạo được file cài đặt chương trình mô phỏng thiết kế hệ điều khiển mờvào điều khiển máy giặt tự động
Chương trình được viết bằng ngôn ngữ C# để biểu diễn hình ảnh của các
biến nhập (biến nhập: Độ bẩn và Loại chất bẩn) và biến xuất (thời gian
giặt) ở dạng 2D và 3D.
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 5
Trang 615oC 32oC Nhiệt độ
CHƯƠNG II: LOGIC MỜ
1 Logic mệnh đề (logic truyền thống)
Cơ sở chính của logic mệnh đề là ta chỉ quan tâm đến 2 tiêu chuẩn sau:
Ví dụ 1.2: Nếu nhiệt độ dưới 20 độ C thì lạnh, còn nhiệt độ từ 21 độ C đến 32 độ
C là bình thường, ngược lại từ 32 độ C trở lên là nóng Hình 1.2 bên dưới minh
họa tập hợp “LẠNH” gồm tất cả các nhiệt độ từ 20 độ C trở xuống, còn “NÓNG”gồm tất cả các nhiệt độ từ 32 độ C trở lên
Hình 1.2: Biểu diễn tập nhiệt độ “Lạnh”, “Bình thường” và “Nóng”
Qua biểu diễn của hình trên ta thấy không thể áp dụng logic mệnh đề để phânbiệt các thành phần trong cùng một tập hợp Giả sử ta xét trường hợp về nhiệt độlạnh giữa hai nhiệt độ 10 độ C và 8 độ C, thì logic mệnh đề không thể hiện đượcnhiệt độ nào lạnh hơn nhiệt độ nào, còn giả sử ta xét trường hợp nhiệt độ nóng
Trang 7giữa hai nhiệt độ 40 độ C và 50 độ C, thì logic mệnh đề cũng không thể hiệnđược nhiệt độ nào nóng hơn nhiệt độ nào.
Như vậy đối với logic mệnh đề thì không thể giải quyết được các dữ kiện mangtính mơ hồ, không chính xác, mà trong thực tế lại có rất nhiều phát biểu bằngngôn ngữ tự nhiên ở dạng này
Ví dụ 1.3:
- An khá cao vậy An có thuộc tập hợp những người cao hay không?
- An khá thông minh như thế nào là thông minh
Nhưng dữ kiện mang tính không rõ ràng ở trên thì logic mệnh đề không thể nàobiểu diễn được
Quy tắc tính toán của logic mệnh đề: Trong logic mệnh đề để tính toán suyluận ta có 5 phép toán cơ bản sau:
Ta xét tập hợp những người trẻ Ta thấy rằng người dưới 26 tuổi thì rõràng là trẻ và người trên 60 tuổi thì rõ ràng là không trẻ Nhưng những người cótuổi từ 26 đến 60 thì có thuộc tập hợp những người trẻ hay không? Nếu áp dụngkhái niệm tập hợp cổ điển thì ta phải định ra một ranh giới rõ ràng và mang tínhchất áp đặt, chẳng hạn là 45 tuổi để xác định tập hợp những người trẻ Và trongthực tế thì có một ranh giới mờ để ngăn cách những người trẻ và những người
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 7
Trang 8không trẻ đó là những người trung niên Như vậy, những người trung niên lànhững người có một “độ trẻ” nào đó Nếu coi “độ trẻ” của người dưới 26 tuổi làhoàn toàn đúng tức là có giá trị là 1 và coi “độ trẻ” của người trên 60 tuổi là hoàntoàn sai tức là có giá trị là 0, thì “độ trẻ” của người trung niên sẽ có giá trị p nào
đó thoả 0 < p < 1 (có nghĩa là: p [0, 1]).)
Như vậy nhu cầu mở rộng khái niệm tập hợp và lý thuyết tập hợp là hoàntoàn tự nhiên Các công trình nghiên cứu về lý thuyết tập mờ và logic mờ đãđược L.Zadeh công bố đầu tiên năm 1965, và sau đó liên tục phát triển mạnh mẽ
Định nghĩa: Cho không gian nền U, tập A ¿ U được gọi là tập mờ nếu Ađược xác định bởi hàm:
μ A :X->[0,1])
- μ A được gọi là hàm thuộc, hàm liên thuộc hay hàm thành viên(membership function)
- Với x ¿ X thì μ A (x) được gọi là mức độ thuộc của x vào A
Như vậy ta có thể coi tập rõ là một trường hợp đặc biệt của tập mờ, trong đó hàmthuộc chỉ nhận 2 giá trị 0 và 1
Ký hiệu tập mờ, ta có các dạng ký hiệu sau:
Liệt kê phần tử: giả sử U={a,b,c,d} ta có thể xác định một tập mờ A=0.1
Trang 9b Các dạng hàm thuộc tiêu biểu
Theo lý thuyết thì hàm thuộc có thể là một hàm bất kỳ thoả μ A
:X->[0,1]) Nhưng trong thực tế thì có các dạng hàm thuộc sau đây là quan trọng và
có tính ứng dụng cao hơn cả
Nhóm hàm đơn điệu
Nhóm này gồm đơn điệu tăng và đơn điệu giảm Ví dụ tập hợp người già cóhàm thuộc đơn điệu tăng theo tuổi trong khi đó tập hợp người trẻ có hàm thuộcđơn điệu giảm theo tuổi Ta xét thêm ví dụ minh họa sau:
- Cho tập vũ trụ E = Tốc độ = {20, 50, 80, 100, 120} đơn vị là km/h
- Xét tập mờ F=Tốc độ nhanh xác định bởi hàm thuộc μ nhanh như đồ thị
Như vậy tốc độ dưới 20km/h được coi là không nhanh Tốc độ càng cao thì độthuộc của nó vào tập F càng cao Khi tốc độ là 100km/h trở lên thì độ thuộc là 1
Trang 10c Các khái niệm liên quan
Giả sử A là tập mờ trên vũ trụ U, có hàm thuộc μ A thì ta có các khái niệm sau:
Giá đỡ của A, ký hiệu supp(A) là một tập rõ bao gồm tất cả các phần tử
Độ cao của A, ký hiệu height(A) là cận trên đúng của μ A (x)
height(A)= supx∈U μ A(x)
Tập mờ A được gọi là tập mờ chuẩn tắc (normal fuzzy set) nếu
height(A)=1 Tức là tập mờ chuẩn tắc có nhân khác rỗng
d Các toán tử logic trên tập mờ
Cho X,Y là hai tập mờ trên không gian nền B, có các hàm thuộc tương ứng
là μX , μ Y , khi đó:
- Phép hợp hai tập mờ : X∪Y
+ Theo luật Max μX ∪Y (b) = Max{ μX(b) , μY(b) }
+ Theo luật Sum μX ∪Y (b) = Min{ 1, μX(b) + μY(b) }
+ Tổng trực tiếp μX ∪Y (b) = μX(b) + μY(b) - μX(b).μY(b)
- Phép giao hai tập mờ : X ∩ Y
+ Theo luật Min μX ∪Y(b) = Min{ μX(b) , μY(b) }
Trang 11+ Theo luật Lukasiewicz μX ∪Y(b) = Max{0, μX(b)+μY(b)-1}
+ Theo luật Prod μX ∪Y (b) = μ X (b).μ Y (b)
- Phép bù tập mờ : μX(b) = 1- μX(b)
Trong bài khóa luận này chúng ta sử dụng luật Max cho phép hợp (union)
và luật Min cho phép giao (intersection), do đó ở phần sau sẽ trình bày rõ hơnmột chút về các phép hợp và giao này cũng như phép bù
Ta có 3 toán tử logic trên tập mờ quan trọng sau: OR, AND, NOT
Phép hợp (hay toán tử OR)
Khái niệm: Hợp của hai tập mờ (A∪B) thể hiện mức độ một phần
tử thuộc về một trong hai tập là bao nhiêu
Công thức: μ A ∨ B(x) = max (μA(x) , μB(x))
A ∪ B
Ví dụ d.1 :
μTrẻ(An) = 0.8 và μTrung niên(An) = 0.3
μTrẻ ∨ Trung Niên(An) = max( 0.8, 0.3) = 0.8
Phép giao (hay toán tử AND)
Khái niệm: Giao của hai tập mờ (A∩B) thể hiện mức độ một phần
tử thuộc về cả hai tập là bao nhiêu
Công thức: μ A∧ B(x) = min (μA(x) , μB(x))
A ∩ B
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 11
Trang 12Ví dụ d.2 :
μTrẻ(An) = 0.8 và μTrung niên(An) = 0.3
μTrẻ ∧ Trung Niên(An) = min( 0.8, 0.3) = 0.3
Phép bù (hay toán tử NOT)
A
Khái niệm: Bù của một tập mờ thể hiện mức độ một phần tử không
thuộc về tập đó là bao nhiêu
Công thức: μ ¬AA(x) = 1 - μA(x)
Ví dụ d.3 :
μTrẻ(An) = 0.8
μ ¬ATrẻ(An) = 1 – 0.8 = 0.2
Trang 13Nhận xét : Logic mờ không tuân theo các luật về tính bù của logic
truyền thống: μ ¬AA ∨ A(x) ≡ 1 và μ ¬AA ∧ A(x) ≡ 0
Ví dụ d.4 :
μ ¬AA ∨ A(x) = max (0.8, 0.2) = 0.8
μ ¬AA ∧ A(x) = min( 0.8, 0.2) = 0.2
quát hoá tính chất của hàm C thì ta sẽ có tổng quát hoá định nghĩa của phần bù
mờ Từ đó ta có định nghĩa: Phần bù mờ của tập mờ A là tập mờ A với hàm
thuộc được xác định bởi μA (x) = C( μ A (x)), trong đó C là một hàm số thoả
các điều kiện sau:
i Tiên đề C1 (điều kiện biên): C(0) = 1, C(1) = 0
ii Tiên đề C2 (đơn điệu giảm): ∀ a, b ¿ [0,1]) Nếu a < b thì C(a)
¿ C(b)
Hàm C thoả các điều kiện trên được gọi là hàm phần bù.
Ta thấy rằng hàm thuộc của phần bù chuẩn là một hàm đặc biệt trong họ các hàmphần bù
Ví dụ:
Hàm phần bù Sugeno C(a) =
1−a 1+ λaa trong đó λa là tham số thoả λa >-1 Hàm bù chuẩn là trường hợp đặc biệt của hàm Sugeno khi λa = 0.Hàm phần bù Yager C(a) = (1−aw)
Trang 14Phép toán max trong công thức hàm hợp mờ chuẩn có thể được tổng quát hoáthành các hàm S-norm:
Một hàm số S: [0,1]).x[0,1]) -> [0,1]) được gọi là một S-norm nếu thoả các điềukiện sau:
i Tiên đề S1 (điều kiện biên): S(0,a) = a, ∀ a ¿ [0,1])
ii Tiên đề S2 (giao hoán): S(a,b) = S(b,a), ∀ a,b ¿ [0,1])
iii Tiên đề S3 (kết hợp): S(S(a,b),c) = S(a,S(b,c)), ∀ a,b,c ¿ [0,1])
iv Tiên đề S4 (đơn điệu tăng): Nếu a ¿ b và c ¿ d thì S(a,c) ¿ S(b,d),
∀ a,b,c,d ¿ [0,1])
S-norm còn được gọi là co-norm hoặc T-đối chuẩn
Hợp của tập mờ A và tập mờ B là tập mờ A ¿ B với hàm thuộc được xác địnhbởi:
μ A∪B (x) = S( μ A (x), μ B (x))trong đó S là một S-norm
Ngoài hàm max, ta có một số hàm S-norm quan trọng sau đây:
Trong đó w là tham số thoả w > 0
Giao mờ – các phép toán T-norm
Ta có định nghĩa hàm T-norm là tổng quát hoá của hàm min:
Một hàm số T: [0,1]).x[0,1]) -> [0,1]) được gọi là một T-norm nếu thoả các điềukiện:
i Tiên đề T1 (điều kiện biên): T(1,a) = a, ∀ a ¿ [0,1])
Trang 15ii Tiên đề T2 (giao hoán): T(a,b) = T(b,a), ∀ a,b ¿ [0,1]).
iii Tiên đề T3 (kết hợp): T(T(a,b),c) = T(a,T(b,c)), ∀ a,b,c ¿ [0,1])
iv Tiên đề T4 (đơn điệu tăng): Nếu a ¿ b và c ¿ d thì T(a,c) ¿ T(b,d),
∀ a,b,c,d ¿ [0,1])
T-norm còn được gọi là T-chuẩn hoặc chuẩn tam giác
Giao của tập mờ A và tập mờ B là tập mờ A ¿ B với hàm thuộc được xác địnhnhư sau:
μ A∩ B (x) = T( μ A (x), μ B (x))Trong đó T là một T-norm
Ngoài hàm min, ta có một số hàm T-norm quan trọng sau đây:
Trong đó w là tham số thoả w>0
Định lý: Với mọi T-norm bất kỳ T và S-norm bất kỳ S ta có:
a ¿ b ¿ T(a,b) ¿ min(a,b) ¿ max(a,b) ¿ S(a,b) ¿ a
¿ b
Tích đề-các mờ
Tích đề-các của tập mờ A1 , A2 , …, A1 trên các vũ trụ U1 , A2 , …,
A1 tương ứng là tập mờ A = A1 ¿ A2 ¿ … ¿ A1 trên không
gian tích U1 ¿ A2 ¿ … ¿ A1 với hàm thuộc được xác định như sau:
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 15
Trang 16Khi U = V ta nói R là quan hệ trên U.
Tổng quát một quan hệ mờ R giữa các tập U1 , A2 , …, A1 là tập mờ A
= A1 ¿ A2 ¿ … ¿ A1 trên không gian tích U1 ¿ A2 ¿ …
μ RoS (u,w) = maxv ∈V { min( μ R (u,v), μ Z (v,w)) }
Hàm hợp max-tích (hay max-prod):
μ RoS (u,w) = maxv ∈V { μ R (u,v) μ Z (v,w) }
Trang 17a Khái niệm logic mờ
Để khắc phục khuyết điểm của logic truyền thống (logic mệnh đề),
Lotfi Zadeh đã đưa ra lý thuyết mới về logic gọi là logic mờ (fuzzy logic) Lýthuyết của Zadeh biểu diễn tính mờ hay tính thiếu chính xác trong các phátbiểu ở trên, theo cách định lượng bằng cách đưa ra một hàm tư cách thànhviên tập hợp (set membership function - hay còn được gọi là hàm thuộc) nhận
gi trị thực giữa 0 và 1
b Biến ngôn ngữ
Ta xét một biến nhận giá trị trong một miền giá trị nào đó, chẳng hạn
“nhiệt độ” có thể nhận giá trị số là 1 ∘ C, 2 ∘ C, … là các giá trị chính xác Khi
đó, với một giá trị cụ thể gán vào biến sẽ giúp chúng ta xác định được tính chất,quy mô của biến Ngoài ra chúng ta còn biết được những thông tin khác liên quanđến biến đó Ví dụ chúng ta hiểu là không nên chạm tay trần vào vật có “nhiệtđộ” là 80 ∘ C trở lên Nhưng trong thực tế thì chúng ta thường nói “không nênchạm vào vật có nhiệt độ cao” chứ ít khi nói “không nên chạm vào vật có nhiệt
độ là 80 ∘ C trở lên” Thực tế là lời khuyên đầu thì có ích hơn bởi vì nếu nhậnđược lời khuyên sau thì ta dễ bị ngộ nhận là có thể chạm tay vào vật có nhiệt độ
là 79 ∘ C trong khi đó vật có nhiệt độ 80 ∘ C trở lên thì không Nhưng vấn đềđặt ra là nếu nghe theo lời khuyên đầu thì ta có thể xác định rõ là nhiệt độ bằngbao nhiêu thì có thể chạm tay vào? Câu trả lời là tuỳ vào ý kiến của từng người.Với nhiệt độ là 60 ∘ C thì có người cho là cao trong khi người khác thì không.Tuy các ý kiến là khác nhau nhưng có một điều chắc chắn là khi giá trị của biếnnhiệt độ càng tăng thì càng dễ dàng được chấp nhận là “cao” Như vậy nếu xéthàm μ cao nhận biến nhiệt độ và trả về tỷ lệ ý kiến đồng ý là “cao” thì μ cao sẽ
là hàm thuộc của tập mờ “nhiệt độ cao” trên vũ trụ “nhiệt độ”, xem hình b.1 bên
dưới
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 17
Trang 18Hình b.1: Biểu diễn thang nhiệt độ
Biến nhiệt độ có thể nhận giá trị “cao” là một giá trị của ngôn ngữ tự nhiên nên
nó được gọi là một biến ngôn ngữ (linguistic variable)
Khái niệm biến ngôn ngữ đã được Zadeh đưa ra năm 1973 như sau:
Một biến ngôn ngữ được xác định bởi bộ (x, T, U, M)
trong đó: x là tên biến Ví dụ: “nhiệt độ”, “tốc độ”, “độ ẩm”,…
T là tập các từ là các giá trị ngôn ngữ tự nhiên mà x có thể nhận
Ví dụ: x là “tốc độ” thì T có thể là {“chậm”, “trung bình”, “nhanh”}
U là miền các giá trị vật lý mà x có thể nhận
Ví dụ: x là “tốc độ” thì U có thể là {0km/h,1km/h, …, 150km/h}
M là luật ngữ nghĩa, ứng mỗi từ trong T với một tập mờ At trong U
Từ định nghĩa trên chúng ta có thể nói rằng biến ngôn ngữ là biến có thể nhận giátrị là các tập mờ trên một vũ trụ nào đó
c Mệnh đề mờ
Trong logic cổ điển (logic vị từ cấp một), một mệnh đề phân tử P(x) là
một phát biểu có dạng “x là P” trong đó x là một đối tượng trong một vũ trụ Unào đó thoả tính chất P Ví dụ “x là số chẵn” thì U là tập các số nguyên và P làtính chất chia hết cho 2 Như vậy ta có thể đồng nhất một mệnh đề phân tử “x làP” với một tập (rõ) A = { x ¿ U | P(x) }
Từ đó ta có:
P(x) = λa (x)Trong đó λa là hàm đặc trưng của tập A ( x ¿ A λa (x) = 1) Giá trị chân
lý của P(x) chỉ nhận một trong hai giá trị 1 và 0 (true và false) tương ứng với sựkiện x thuộc A hoặc không
Trong trường hợp P là một tính chất mờ chẳng hạn như “số lớn” thì ta sẽ có mộtmệnh đề logic mờ phần tử Khi đó tập hợp các phần tử trong vũ trụ U thoả P là
một tập mờ B có hàm thuộc μ B sao cho:
Trang 19P(x) ¿ Q(y) = min(P(x), Q(y))
P(x) ¿ Q(y) = max(P(x), Q(y))
P(x) =>Q(y) = ¬ ¿ ¿ P(x) ¿ Q(y) = max(1-P(x), Q(y))
P(x) =>Q(y) = ¬ ¿ ¿ P(x) ¿ (P(x) ¿ Q(y)) = max(1-P(x), min(P(x),Q(y)))
Như vậy, ta sẽ có mở rộng một cách tự nhiên từ logic cổ điển sang logic mờ vớiquy tắc tổng quát hoá dùng hàm bù mờ cho phép phủ định, hàm T-norm chophép giao () và S-norm cho phép hợp () Sự mở rộng này dựa trên sự tươngquan giữa mệnh đề logic mờ với hàm mờ và các phép toán trên tập mờ Ta có:
f Phép toán kéo theo mờ
Các phép toán kéo theo có vai trò quan trọng trong logic mờ Chúng tạonên các luật mờ để thực hiện các phép suy diễn trong tất cả các hệ mờ Do mộtmệnh đề mờ tương ứng với một tập mờ nên ta có thể dùng hàm thuộc thay chocác mệnh đề
Sau đây là một số phép kéo theo quan trọng được sử dụng rộng rãi:
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 19
Trang 20 Phép kéo theo Dienes – Rescher
Nếu áp dụng công thức (1) với S-norm max và C là hàm bù chuẩn cho ta có phép
kéo theo Dienes – Rescher
μ A (x) => μ B (y) = max(1- μ A (x), μ B (y))
Phép kéo theo Lukasiewicz
Nếu áp dụng công thức (1) với S-norm là hàm hợp Yager với w=1 và C là hàm
bù chuẩn cho ta có phép kéo theo Lukasiewicz:
μ A (x) => μ B (y) = min(1, 1- μ A (x)+ μ B (y))
Phép kéo theo Zadeh
Nếu áp dụng công thức (2) với S-norm là max, T-norm min hoặc tích và C là
hàm bù chuẩn cho ta có phép kéo theo Zadeh:
μ A (x) => μ B (y) = max( 1- μ A (x), min( μ A (x), μ B (y))) (a)
μ A (x) => μ B (y) = max( 1- μ A (x), μ A (x) μ B (y)) (b)
Kéo theo Mamdani
Ta có thể coi mệnh đề μ A (x) => μ B (y) xác định một quan hệ 2 ngôi R ¿
UxV Trong đó U là không gian nền của x (vũ trụ chứa x), V là không gian nền
của y (vũ trụ chứa y) Khi đó giá trị chân lý của mệnh đề μ A (x) => μ B (y) làgiá trị hàm thuộc của cặp (x,y) vào R Theo công thức xác định hàm thuộc củaquan hệ mờ ta có:
Trang 21- ‘nhiệt độ’, ‘giá dầu’ và ‘sưởi ấm’ là các biến
- ‘lạnh’, ‘rẻ’, ‘nhiều’ là các giá trị hay chính là các tập mờ
Hoặc: If một người có chiều cao là cao và cơ bắp là lực lưỡng Then chơi
bóng rổ hay
- Các biến ở đây sẽ là: ‘chiều cao’, ‘cơ bắp’, ‘chơi bóng rổ’
- Các giá trị hay tập mờ là: ‘cao’, ‘lực lưỡng’, ‘hay’
h Luật Modus Ponens hay Modus Tollens
Thông thường, suy diễn mờ (suy luận mờ) hay sử dụng luật Modus Ponen
hoặc Modus Tollens Trong logic cổ điển, Modus Ponens diễn đạt nhưsau:
Mệnh đề 1 (Luật hoặc tri thức) : P → Q
đúng
Tương tự logic cổ điển, trong logic mờ (suy diễn mờ hay suy luận mờ) cũng
có luật Modus Ponens như sau:
Giả thiết 1 (luật mờ) : Nếu x là A thì y là B
Giả thiết 1 (sự kiện mờ) : x là A’
Trong đó A, B, A’, B’ là các biến ngôn ngữ (có nghĩa là các tập mờ) A
và A’ là các tập mờ trên không gian nền U, còn B và B’ là các tập mờ trênkhông gian nền V
Ví dụ :
Luật mờ : Nếu góc quay tay ga lớn thì xe đi nhanh
Sự kiện mờ : Góc quay tay ga khá lớn
Trong logic cổ điển, Modus Tollens diễn đạt như sau:
Mệnh đề 1 (Luật hoặc tri thức) : P → Q
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 21
Trang 22Mệnh đề 2 (sự kiện) : ¬Q đúng
Tương tự logic cổ điển, trong logic mờ (suy diễn mờ hay suy luận mờ) luật
được diễn đạt như sau :
Giả thiết 1 (Luật mờ hoặc tri thức mờ) : P → Q
Ví dụ :
Luật mờ : Nếu góc quay tay ga lớn thì xe đi nhanh
Sự kiện mờ : Xe không đi nhanh lắm
Kết luận : Góc quay tay ga không lớn lắm
Để ứng dụng suy diễn mờ (suy luận mờ) vào trong bài toán thực tế thì vấn
đề mấu chốt cần thực hiện là xây dựng cơ chế lập luận xấp xỉ để có thểđưa ra kết luận hay quyết định mờ
Công thức tính kết luận của luật Modus Ponens như sau:
μ B' (y) = sup
x T( μ R (x,y), μ A ' (x))(*)
Trong đó T là một hàm T-norm và R là quan hệ hai ngôi xác định bởi phép
kéo theo Cách tính μ R (x,y), chính là cách tính giá trị chân lý của phép kéotheo trình bày ở phần trước Như vậy tuỳ theo cách chọn cách tính luật kéotheo khác nhau mà ta có cách tính kết quả của luật Modus Ponens khác nhau
Ví dụ: Giả sử quan hệ giữa nhiệt độ và áp suất cho bởi luật sau:
Nếu nhiệt độ là cao thì áp suất là lớn
Nhiệt độ nhận các giá trị trong U = {30, 35, 40, 45}
Áp suất nhận các giá trị trong V = {50, 55, 60, 65}
Ta có các tập mờ xác định bởi các biến ngôn ngữ nhiệt độ và áp suất như sau:
Trang 23Mờ hóa
(fuzzification)
Khử tính mờ (defuzzification) Suy luận
Áp dụng luật kéo theo Mamdani tích ta có quan hệ mờ sau (giá trị dòng i, cột
j là giá trị hàm thuộc của cặp nhiệt độ i và áp suất j vào quan hệ)
50 55 60 65
Bây giờ, giả sử ta biết sự kiện “nhiệt độ là trung bình” và
A’ = “nhiệt độ trung bình” =
i Thủ tục ra quyết định mờ (fuzzy decision making procedure)
Để hệ thống mờ có thể suy luận bằng các luật mờ và đưa ra kết luận từ các sốliệu chính xác ở đầu vào, hệ thống thực hiện 3 bước:
Hình i.1 – Mô hình suy luận của một hệ thống mờ
1 Mờ hóa: Tính toán các giá trị mờ từ các số liệu chính xác ở đầu vào
2 Suy luận mờ: Áp dụng tất cả các luật mờ có thể áp dụng để tính ra giá trị
mờ cho kết luận, sau đó kết hợp các kết quả đầu ra
3 Giải mờ hóa: Xác định giá trị chính xác từ kết quả mờ có được ở bước 2.
Có nhiều kỹ thuật giải mờ hóa có thể áp dụng được, phương pháp thông
dụng nhất là phương pháp trọng tâm (centriod method)
Ví dụ i.2 : Cho hệ thống mờ dùng trong điều trị bệnh gồm các luật sau đây
1 IF sốt nhẹ THEN liều lượng asperine thấp
2 IF sốt THEN liều lượng asperine bình thường
3 IF sốt cao THEN liều lượng asperine cao
4 IF sốt rất cao THEN liều lượng asperine cao nhất
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 23
Trang 24Hình i.2 - Biểu diễn của các tập mờ trong ví dụ i.2
Ví dụ i.3: Một bệnh nhân sốt ở 38.7 độ, hãy xác định liều lượng asperince cần
thiết để cấp cho bệnh nhân
Trang 25Hình i.4 – Giải mờ hóa để có kết xuất rõ ở đầu ra Bước 3: Giải mờ hóa kết quả bằng cách tính trọng tâm của diện tích được tô
trong hình trên, chiếu xuống trục hoành ta được giá trị ±480mg, đây chính làliều lượng aspirine cần cấp cho bệnh nhân
Hình k.1 – Giải mờ theo phương pháp cực đại
Nguyên lý trung bình: y’ = (y1+y2)/2
Nguyên lý cận trái: chọn y’ = y1
Nguyên lý cận phải: chọn y’ = y2
Phương pháp trọng tâm
Điểm y’ được xác định là hoành độ của điểm trọng tâm miền được bao
bởi trục hoành và đường μB’ (y).
Công thức xác định :
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 25
Trang 26trong đó S là miền xác định của tập mờ B’
Phương pháp trọng tâm cho luật Sum-Min
Giả sử có m luật điều khiển được triển khai, ký hiệu các giá trị mờ đầu
ra của luật điều khiển thứ k là μ B’k(y) thì với quy tắc Sum-Min hàm
Trang 27Trong phần số mờ này ta tập trung vào 2 vấn đề quan trọng đó là: Giới
thiệu về số mờ và các tính toán của số mờ Khái niệm số mờ thực chất là dựa
trên khái niệm về tập mờ và từ định nghĩa của tập mờ dẫn đến định nghĩa số mờ.
Ví dụ: Một số thực thì biểu diễn trên trục số là một điểm, còn nếu về một số có
thể biểu diễn là một điểm Nếu xét về mặt tập hợp thì tập hợp gồm một phần tử,còn nếu số mà nó bị mờ, chẳng hạn ta có số 1, vậy số 1 đúng là diễn đạt 1 điểmtrên trục số Ta nói 1 số xấp xỉ 1, ta hiểu các con số nằm chỗ này hay chỗ kia, nóichung là nó gần 1, như vậy ta không xét thành một vị trí mà thành một tập hợp vịtrí Như vậy số cái mà xấp xỉ 1 nó phải xác định bằng một tập hợp những số thực
mà nằm gần 1, vậy bản thân chữ gần 1 là mơ hồ, vậy tập này gọi là số mờ Số mờ
được định nghĩa là 1 tập mờ trên trục thực, nhưng mà nó phải có tập điểm chứ
không phải bất kỳ tập nào trên trục thực cũng gọi là số mờ, ta phải dựa trên cácđặc điểm
a Định nghĩa
Cơ sở khoa học của số mờ là tập mờ trên trục thực thỏa 2 điều kiện, ta cóđịnh nghĩa về số mờ như sau: Tập mờ M trên đường thẳng số thực R1 là tập số
mờ nếu thỏa 2 điều kiện sau:
a) M là chuẩn số, tức là có điểm x’ sao cho μ M(x’) = 1
b) Ứng với mỗi α ¿ R1, tập mức {x:M(x)≥a} là đoạn đóng trên R1
Người ta thường dùng các số mờ dạng tam giác, hình thang và dạng Gauss
Và dẫn đến các qui tắc là ta giả định rằng tập mờ đó là dạng đặc biệt mà đường
biểu diễn tạo thành tam giác cân trên biểu đồ, do đó ta có các qui tắc tính toán số
mờ như sau:
Các phép toán (dùng để tính toán) trên số mờ:
Cộng : [a,b]) + [d,e]) = [a+d, b+e])
Trừ : [a,b]) - [d,e]) = [a-e, b-d])
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 27
Trang 28 Nhân : [a,b]) * [d,e]) = [min(ad,ae, bd, be), max(ad,ae, bd, be)]).
Chia : [a,b]) / [d,e]) = [min(a/d,a/e, b/d, b/e), max(a/d,a/e, b/d, b/e)])
b Nguyên lý suy rộng của Zadeh
Để làm việc với các hệ thống có nhiều biến vào, nguyên lý suy rộng của Zadeh làrất quan trọng
Định nghĩa: Cho Ai là tập mờ với các hàm thuộc μ Ai trên không gian nền Xi,(i=1 n) Khi đó tích A1xA2x An là tập mờ trên X=X1xX2x Xn với hàm thuộc:
μ A(x)=min{ μ Ai(xi); i=1 n} Trong đó x=(x1,x2, xn)
Giả sử mỗi biến đầu vào xi lấy giá trị là Ai(i=1 n) Hàm f: X->Y chuyển các giátrị đầu vào là Ai thành giá trị đầu ra B Khi đó B là tập mờ trên Y với hàm thuộcxác định bởi:
μ B(x)=max{min( μ Ai(xi)); i=1 n : x ¿ f −1 (y)} nếu f −1(y) ¿ φ
μ B(x)=0 nếu f −1 (y) = φ
Trong đó f −1 (y) = {x ¿ X : f(x)=y}
Ta có thể áp dụng nguyên lý suy rộng cho định nghĩa suy rộng của phép cộngnhư một hàm 2 biến mờ Tương tự cho các phép toán trừ, nhân, chia
c Các số học mờ
Từ các phép toán cơ bản (Các phép toán trên số mờ) người ta xây dựng nên
số học mờ Có nhiều cách xây dựng một số học mờ Sau đây là số học mờ dựatrên khái niêm α -cuts (lát cắt alpha) α -cuts của số mờ là khoảng đóngthực với mọi 0< α <=1 Gọi * là một trong 4 phép toán sau: {+, -, , /}
[a,b]).*[d,e]).={f x g / a£ f £ b, d £ g £ e}
Các tính chất số học mờ dựa trên khoảng đóng:
Gọi A=[a1,a2])., B=[b1,b2])., C=[c1, c2])., 0=[0,0])., 1=[1,1]) ta có một số tính chất sốhọc mờ sau:
4 A.(B+C) ¿ A.B+A.C
Trang 29Cơ sở luật mờ
Bộ suy diễn mờ
Đầu vào (số) Đầu vào (tập mờ)
Tham khảo luật mờ
a Kiến trúc của hệ mờ tổng quát
Một hệ mờ tiêu biểu có kiến trúc như hình 5.a.1 sau:
Hình 5.a.1: Mô hình biểu diễn hệ mờ
Thành phần trung tâm của hệ mờ là cơ sở luật mờ (fuzzy rule base) Cơ sở
luật mờ bao gồm các luật mờ if-then biểu diễn tri thức của chuyên gia trong lĩnhvực nào đó Trong trường hợp một hệ điều khiển mờ cụ thể thì cơ sở luật mờchính là tri thức và kinh nghiệm của các chuyên gia trong việc điều khiển khichưa áp dụng hệ điều khiển mờ
Thành phần quan trọng kế tiếp là bộ suy diễn mờ (fuzzy inference engine).
Nhiệm vụ của bộ phận này là kết hợp các luật trong cơ sở luật mờ, áp dụng vàotập mờ đầu vào theo các phương pháp suy diễn mờ để xác định tập mờ đầu ra
Dữ liệu đầu vào của hệ điều khiển mờ là các tín hiệu do các bộ phận cảm
biến môi trường cung cấp sau khi đã số hoá nên có tính chất rõ (khái niệm rõ ở
đây có nghĩa là các tín hiệu đó không phải là các tập mờ, chứ không có nghĩa là các tín hiệu không có nhiễu) Vì vậy cần phải có bộ mờ hoá (fuzzier) để chuyển
các dữ liệu số đầu vào thành các tập mờ để bộ suy diễn mờ có thể thao tác được
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 29
Trang 30Hệ mờ nhiều đầu vào – một đầu ra
x
V
y
…
Dữ liệu đầu ra của bộ suy diễn mờ ở dạng các tập mờ sẽ được bộ giải mờ
(defuzzier) chuyển thành tín hiệu số trước khi truyền đến các cơ quan chấp hành
như tay máy, công tắc, van điều khiển,…
Do các dữ liệu đầu vào và đầu ra được số hoá nên ta chỉ cần xem xét các
hệ mờ làm việc với các biến số Trường hợp tổng quát, hệ mờ nhận một vector nchiều ở đầu vào và cho ra một vector m chiều ở đầu ra Hệ mờ như thế được gọi
là hệ mờ nhiều đầu vào – nhiều đầu ra (MIMO) Nếu m bằng 1, ta có hệ hệ mờnhiều đầu vào – một đầu ra (MISO) Một hệ mờ nhiều đầu vào – nhiều đầu ra cóthể phân tích thành nhiều hệ nhiều đầu vào – một đầu ra Do đó ta chỉ cần tìmhiểu kỹ về hệ mờ nhiều đầu vào – một đầu ra với các biến số Khi chỉ nói về hệ
mờ nhiều - một thì ta sẽ ngầm hiểu là một hệ mờ nhiều đầu vào – một đầu ra vớicác biến số
i=1
n
U i⊂R n , V ⊂R
, trong đó U i là miền xác định của các biến
vào i, i=1 n và V là miền giá trị của biến ra y, ta có mô hình hệ mờ nhiều đầu
vào – một đầu ra như hình 5.a.2 sau:
Hình 5.a.2: Mô hình hệ mờ nhiều đầu vào – một đầu ra
Các mục kế tiếp sẽ mô tả kỹ hơn về các bộ phận chức năng của hệ mờ
b Cơ sở luật mờ
Cơ sở luật mờ của hệ mờ n đầu vào – một đầu ra gồm m luật if-then mờ có dạng:
If “x1 là Ak1” và “x2 là Ak2” và … và “xn là Akn” then “y là Bk” , k=1 m (1)
Trang 31Trong đó k là chỉ số của luật (luật thứ k trong tập luật), xi là các biến đầu vào, Aki
là các tập mờ trên Ui (i=1 n), y là biến đầu ra và Bk là tập mờ trên V (k=1 m)
Các luật mờ dạng (1) được gọi là các luật if-then mờ chuẩn tắc Các luật mờ
không chuẩn tắc có thể biến đổi để đưa về dạng chuẩn tắc tương đương
Có nhiều phương pháp để xác định các luật mờ để đưa vào cơ sở luật mờ.Các phương pháp thông dụng là nhờ các chuyên gia trong lĩnh vực áp dụng, hoặc
từ quan sát, thực nghiệm thống kê để có được các tập dữ liệu mẫu đầu vào và ratương ứng, từ đó dùng các kỹ thuật khai mỏ dữ liệu để rút ra các luật
c Bộ suy diễn mờ
Chúng ta sẽ nghiên cứu phương pháp thiết kế bộ suy diễn mờ trong trườnghợp cơ sở luật mờ gồm m luật if-then mờ chuẩn tắc, nhiều đầu vào và một đầu ra(MISO)
Các luật if-then có thể được áp dụng bằng các công thức tổng quát như đã
trình bày trong chương logic mờ (Fuzzy Logic) nhưng trong thực tế thì thường
được tính bằng công thức Mamdani max-min hoặc max-tích (max-prod) Chúng
ta sẽ xem xét kỹ kiến trúc bộ suy diễn mờ sử dụng phương pháp suy diễn min Khi chuyển qua phương pháp suy diễn max-tích thì chỉ cần thay min bằngphép nhân trong các công thức
max-Cho A, A’, B lần lượt là các tập mờ trên vũ trụ X, X, Y Luật if A then B
được thể hiện như một quan hệ mờ R=A ¿ B trên X ¿ Y Khi đó tập mờ B’ suy
ra từ A’ được xác định bởi:
μ B' (y) = max {min [ μ A ' (x), μ R (x,y)]).} (*)
Trường hợp một đầu vào và một luật, xem hình 5.c.1
Trang 32B
h x
= min { h A'∩ A , μ B (y)}
Trong đó h A'∩ A là độ cao của tập mờ A’ ¿ A
Hình 5.c.1: Trường hợp một đầu vào và một luật
Trường hợp hai đầu vào và một luật
Đây là trường hợp luật được phát biểu “Nếu x là A và y là B thì z là C”
Vậy ta có suy luận sau:
μ c' (z) = min { ( i=1 nmin hA ' i∩ Ai ), μ B (z)}
Xem hình minh họa sau:
Trang 33 Trường hợp nhiều đầu vào và nhiều luật
Trong trường hợp nhiều đầu vào và nhiều luật, ta tính kết quả đầu ra cho từngluật sau đó kết quả của hệ sẽ là các phép giao hoặc hợp các kết quả riêng đó tùytheo bản chất của hệ là hội hay tuyển các luật
Nếu trong một luật có dạng “Nếu x là A hoặc y là B thì z là C” ta tách thành 2luật riêng biệt “Nếu x là A thì z là C” và “Nếu y là B thì z là C” để tính
d Bộ mờ hóa
Mờ hoá là quá trình biến đổi một vector x=(x1, x2, …, xn) ¿ U ¿ R n
thành một tập mờ A’ trên U A’ sẽ là đầu vào cho bộ suy diễn mờ Mờ hoá phảithoả các tiêu chuẩn sau:
Điểm dữ liệu x phải có độ thuộc cao vào A’
Vector x thu nhận từ môi trường ngoài có thể sai lệch do nhiễu nên A’phải phản ánh được tính gần đúng của dữ liệu thực
Hiệu quả tính toán: đơn giản cho các tính toán trong bộ suy diễn
Sau đây là một số phương pháp mờ hoá thông dụng
i Mờ hoá đơn trị
Mỗi điểm dữ liệu x được xem như một tập mờ đơn trị tức là tập mờ A có hàmthuộc xác định như sau:
μ A' (u)= { 1 if u=x 0 if u≠x
ii Mờ hoá Gauss
Mỗi giá trị xi được biểu diễn thành một số mờ A’i Tập A’ là tích đề-các của cácA’i
μ A '
i ( u i ) = e−(u i−x i
a i )2
iii Mờ hoá tam giác
Mỗi giá trị xi được biểu diễn thành một số mờ A’i Tập A’ là tích đề-các của cácA’i
Họ tên học viên: Phạm Văn Đăng – Mã số: CH1001008 Trang 33