Chúng ta thường xuyên phải tiếp nhận, xửlý những thông tin mơ hồ, không chính xác, không chắc chắn, hoặc mang tính xác suất, ngẫu nhiên. Chúng ta cần phải ra quyết định khi xửlý thông tin?Các hệthống máy tính, dựa trên lý thuyết cổđiển (tập hợp, logic nhịphân), không thểlý luận như con người bởi vì chúng không có câu trảlời hoàn toàn đúng. Từđó dẫn đến yêu cầu một cách tiếp cận giải quyết các vấn đềnày: TÍNH TOÁNMỀM (SOFT COMPUTING).Ý tưởng vềtính toán mềm được bắt đầu vào năm 1981 bởi Lotfi A. Zadeh. Zadeh xác định tính toán mềm thành 1 hệthống hợp nhất giữa các lĩnh vực Logic mờ(Fuzzy Logic), mạng Neural, tính toán tiến hóa và di truyền, và tính toán dựa trên xác suất.Ngày nay,Logic mờ(Fuzzy Logic) 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, robot,người máy, trí thông minh nhân tạo,vệtinh, du thuyền, máy bay... đến những đồdùng hằng ngàynhư máy giặt, máy điều hoà không khí, máy chụp hình tựđộng.Bài tập lớnnày của nhóm là kết quảtìm hiểu vềLogic mờ, phương pháp xây dựng một hệđiều khiển mờđiển hình và minh hoạlý thuyết bằng một hệmờđơn giản đểđiều khiển máy giặt.Với máy giặt thật, nó còn kiểm tra xem cần bao nhiêu xà phòng, cần thêm bao nhiêu nước, phải quay nhanh thếnào, theo hướng nào... Nếu muốn vẽđồthịcho từng tính toán của máy giặt Logic mờthì nhómsẽcó một bộđiều khiểnkhá phức tạp. Vìlý do khách quan là hạn hẹp vềthời gian và lượng kiến thức,nênởđây nhómchỉgiới hạn ởhai yếu tố: độbẩn và sốlượng quần áo cần giặt.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Khoa Công Nghệ Thông Tin
BÀI TẬP LỚN
Một số phương pháp tính toán mềm
Đề Tài: Ứng dụng mô hình logic mờ Mamdani trong điều khiển
máy giặt theo luật hợp thành MAX - MIN
Giảng Viên Hướng Dẫn: T.S Đỗ Văn Tuấn
Trang 2Mục Lục
LỜI NÓI ĐẦU 4
Phần I TÍNH TOÁN MỀM (SOFT COMPUTING) 5
1 Giới thiệu về tính toán mềm 5
2 Phân biệt Tính Toán Mềm và Tính Toán Cứng 6
3 Mục tiêu của tính toán mềm 7
4 Các kỹ thuật trong tính toán mềm 7
5 Ứng dụng của tính toán mềm 7
Phần II LOGIC MỜ 9
2.1 Tập Mờ 10
2.1.1 Tập mờ và khái niệm tập mờ 10
2.1.2 Các dạng hàm thuộc tiêu biểu 12
2.1.3 Các khái niệm liên quan 13
2.1.4 Các phép toán trên tập mờ 14
2.1.5 Các phép toán mở rộng 15
2.2 Số Mờ 20
2.2.1 Định nghĩa về số mờ 20
2.2.2 Các phép toán 20
2.2.3 Nguyên lý suy rộng của Zadeh 20
2.3 Logic Mờ 23
2.3.1 Biến ngôn ngữ 23
2.3.2 Mệnh đề mờ 24
2.3.4 Luật modus-ponens tổng quát 27
Phần III HỆ MỜ 29
3.1 Kiến trúc của hệ mờ tổng quát 29
3.2 Cơ sở luật mờ 30
3.3 Bộ suy diễn mờ 31
Trang 33.3.1 Trường hợp một đầu vào và một luật 31
3.3.2 Trường hợp hai đầu vào và một luật 32
3.3.3 Trường hợp nhiều đầu vào và nhiều luật 33
3.4 Bộ mờ hóa 33
3.4.1 Mờ hóa đơn trị 34
3.4.2 Mờ hóa Gaus 34
3.4.4 Mờ hoá tam giác 34
3.5 Bộ giải mờ 34
3.5.1 Phương pháp lấy max 35
3.5.2 Phương pháp lấy trọng tâm 35
3.5.3 Phương pháp lấy trung bình tâm 35
3.6 Hệ mờ là một hệ xấp xỉ vạn năng 36
3.7 So sánh hệ mờ với mạng nơron 36
Phần IV THIẾT KẾ HỆ ĐIỀU KHIỂN MỜ 38
PHẦN V HỆ ĐIỀU KHIỂN MÁY GIẶT 40
5.1 Giá trị đầu vào (Input): 40
5.2 Giá trị đầu ra (Output): 41
5.3 Tập Luật 41
5.4 Hàm thành viên 42
5.5 Máy giặt 3 biến (độ bẩn, số lượng, thời gian) 43
5.6 Hình ảnh minh hoạ 46
Phần VI TÀI LIỆU THAM KHẢO 63
PHẦN VII MỘT SỐ THUẬT NGỮ 66
Trang 4LỜI NÓI ĐẦU
Chúng ta thường xuyên phải tiếp nhận, xử lý những thông tin mơ hồ, không chính xác, không chắc chắn, hoặc mang tính xác suất, ngẫu nhiên Chúng ta cần phải
ra quyết định khi xử lý thông tin?
Các hệ thống máy tính, dựa trên lý thuyết cổ điển (tập hợp, logic nhị phân), không thể lý luận như con người bởi vì chúng không có câu trả lời hoàn toàn đúng
Từ đó dẫn đến yêu cầu một cách tiếp cận giải quyết các vấn đề này: TÍNH TOÁN MỀM (SOFT COMPUTING)
Ý tưởng về tính toán mềm được bắt đầu vào năm 1981 bởi Lotfi A Zadeh Zadeh xác định tính toán mềm thành 1 hệ thống hợp nhất giữa các lĩnh vực Logic
mờ (Fuzzy Logic), mạng Neural, tính toán tiến hóa và di truyền, và tính toán dựa trên xác suất
Ngày nay, Logic mờ (Fuzzy Logic) 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, robot, người máy, trí thông minh nhân tạo, vệ tinh, du thuyề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
Bài tập lớn này của nhóm là kết quả tìm hiểu về Logic mờ, phương pháp xây dựng một hệ điều khiển mờ điển hình và minh hoạ lý thuyết bằng một hệ mờ đơn giản để điều khiển máy giặt
Với máy giặt thật, nó còn kiểm tra xem cần bao nhiêu xà phòng, cần thêm bao nhiêu nước, phải quay nhanh thế nào, theo hướng nào Nếu muốn vẽ đồ thị cho từng tính toán của máy giặt Logic mờ thì nhóm sẽ có một bộ điều khiển khá phức tạp Vì lý do khách quan là hạn hẹp về thời gian và lượng kiến thức, nên ở đây nhóm chỉ giới hạn ở hai yếu tố: độ bẩn và số lượng quần áo cần giặt
Trang 5Phần I TÍNH TOÁN MỀM (SOFT COMPUTING)
1 Giới thiệu về tính toán mềm
TÍNH TOÁN MỀM như là một phương hướng để xây dựng các hệ thống
thông minh, bắt chước trí thông minh của con người (intelligent systems)
Tính toán mềm khác với tính toán cứng (hard computing): Có thể chấp nhận
sự thiếu chính xác, không chắc chắn, xấp xỉ; tính toán mềm dẻo với chi phí vừa phải
Tính toán mềm: Không phải là một ngành học hay môn học riêng biệt Tính toán mềm không phải là hỗn hợp, kết hợp các giải thuật
Tính toán mềm là một mối quan hệ đối tác giữa các hướng tiếp cận tính toán trong đó các đối tác đóng góp một phương pháp riêng biệt để giải quyết vấn đề trong phạm vi của nó
Aristotle đặt khái niệm cho logic cổ điển, phát biểu luật bài trung & luật phi
mâu thuẫn Logic cổ điển áp dụng rất thành công trong toán học
Plato là người đặt nền tảng cho Logic mờ khi cho rằng còn giá trị thứ ba “khác
hơn là đúng, sai”
Vào những năm 1900, Lukasiewicz đề xuất Logic “3 giá trị”, trong đó giá trị
thứ ba có thể mô tả như là “có thể” Sau đó, ông đề nghị tiếp logic “4 giá trị”, logic
“5 giá trị” Lukasiewicz cũng cảm thấy giữa logic “ba giá trị” và logic “vô hạn giá trị” có rất nhiều điểm tương đồng
Năm 1965, Lotfi A.Zadeh đã xuất bản bài báo “Fuzzy set” trong đó mô tả
toán học của lí thuyết “Fuzzy set” và “Fuzzy Logic” Zadeh đề nghị định nghĩa tập
mờ bởi một hàm thành viên (membership function) nhận giá trị trong [0.0,1.0] Vào thời gian này những phép tính toán mới cho Logic cũng được đề nghị
Trang 62 Phân biệt Tính Toán Mềm và Tính Toán Cứng
Tính toán truyền thống, hay còn gọi là tính toán cứng (hard computing), là phương pháp sử dụng các kỹ thuật tính toán, dựa trên dữ liệu đầu vào để đưa ra kết quả cuối cùng một cách chính xác theo yêu cầu bài toán
Bảng dưới đây đưa ra một số điểm khác biệt giữa tính toán mềm và tính toán cứng để chúng ta có được một cái nhìn cụ thể hơn về tính toán mềm
Dữ liệu xử lý Xử lý bài toán dựa trên
Thời gian tính toán Thời gian tính toán
thường chậm hơn
Thời gian tính toán nhanh hơn với chi phí thấp hơn
Lĩnh vực áp dụng
Các bài toán yêu cầu lời giải chính xác, không cho phép sai lệch
Các bài toán không yêu cầu lời giải chính xác, song phải đưa ra kết quả trong một khoảng thời gian nhất định với chi phí nhất định
Trang 73 Mục tiêu của tính toán mềm
Mục tiêu của tính toán mềm:
• Phát triển các máy thông minh để tìm ra các giải pháp cho các vấn đề thế giới thực, đó là các vấn đề không theo 1 mô hình cụ thể, hoặc quá khó khăn trong mô hình hóa tính toán
• Khai thác khả năng có thể tính toán khi dữ liệu thiếu chính xác, không chắc chắn, gần đúng để con người đưa ra quyết định tối ưu
Có thể coi tính toán mềm như một lĩnh vực tính toán mới để xây dựng thế hệ mới của trí tuệ nhân tạo, được gọi là trí tuệ máy tính
Công nghệ tính toán mềm gồm các thành phần sau:
• Giải thuật di truyền
• Logic mờ
• Mạng Nơron
• …
5 Ứng dụng của tính toán mềm
• Các hệ chuyên gia trong thương mại, kinh doanh, dịch vụ
• Các hệ hỗ trợ ra quyết định trong thương mại, kinh doanh, dịch vụ
• Các chương trình ứng dụng trong các lĩnh vực:
- Điều khiển
- Sản phẩm tiêu dùng; các hệ thống trong công nghiệp
- Các hệ thống tự động hóa; phân tích quyết định
- Y học; địa chất
Trang 9Phần II LOGIC MỜ
Logic mờ được công bố lần đầu tiên tại Mỹ vào năm 1965 do giáo sư Lotfi Zadeh Kể từ đó, logic mờ đã có nhiều phát triển qua các chặng đường sau: phát minh ở Mỹ, áp dụng ở Châu Âu và đưa vào các sản phẩm thương mại ở Nhật
Ứng dụng đầu tiên của logic mờ vào công nghiệp được thực hiện ở Châu Âu, khoảng sau năm 1970 Tại trường Queen Mary ở Luân Đôn – Anh, Ebrahim Mamadani dùng logic mờ để điều khiển một máy hơi nước mà trước đây ông ấy không thể điều khiển được bằng các kỹ thuật cổ điển Và tại Đức, Hans Zimmermann dùng logic mờ cho các hệ ra quyết định Liên tiếp sau đó, logic mờ được áp dụng vào các lĩnh vực khác như điều khiển lò xi măng, … nhưng vẫn không được chấp nhận rộng rãi trong công nghiệp
Kể từ năm 1980, logic mờ đạt được nhiều thành công trong các ứng dụng ra quyết định và phân tích dữ liệu ở Châu Âu Nhiều kỹ thuật logic mờ cao cấp được nghiên cứu và phát triển trong lĩnh vực này
Cảm hứng từ những ứng dụng Châu Âu, các công ty Nhật bắt đầu dùng logic
mờ vào kỹ thuật điều khiển từ năm 1980 Nhưng do các phần cứng chuẩn tính toán theo giải thuật logic mờ rất kém nên hầu hết các ứng dụng đều dùng các phần cứng chuyên về logic mờ Một trong những ứng dụng dùng logic mờ đầu tiên tại đây là nhà máy xử lý nước của Fuji Electric vào năm 1983, hệ thống xe điện ngầm của Hitachi vào năm 1987
Những thành công đầu tiên đã tạo ra nhiều quan tâm ở Nhật Có nhiều lý do
để giải thích tại sao logic mờ được ưa chuộng Thứ nhất, các kỹ sư Nhật thường bắt đầu từ những giải pháp đơn giản, sau đó mới đi sâu vào vấn đề Phù hợp với việc logic mờ cho phép tạo nhanh các bản mẫu rồi tiến đến việc tối ưu Thứ hai, các hệ dùng logic mờ đơn giản và dễ hiểu Sự “thông minh” của hệ không nằm trong các
Trang 10hệ phương trình vi phân hay mã nguồn Cũng như việc các kỹ sư Nhật thường làm việc theo tổ, đòi hỏi phải có một giải pháp để mọi người trong tổ đều hiểu được hành
vi của hệ thống, cùng chia sẽ ý tưởng để tạo ra hệ Logic mờ cung cấp cho họ một phương tiện rất minh bạch để thiết kế hệ thống Và cũng do nền văn hóa, người Nhật không quan tâm đến logic Boolean hay logic mờ; cũng như trong tiếng Nhật , từ
“mờ‟ không mang nghĩa tiêu cực
Do đó, logic mờ được dùng nhiều trong các ứng dụng thuộc lĩnh vực điều khiển thông minh hay xử lý dữ liệu Máy quay phim và máy chụp hình dùng logic
mờ để chứa đựng sự chuyên môn của người nghệ sĩ nhiếp ảnh Misubishi thông báo
về chiếc xe đầu tiên trên thế giới dùng logic mờ trong điều khiển, cũng như nhiều hãng chế tạo xe khác của Nhật dùng logic mờ trong một số thành phần Trong lĩnh vực tự động hóa, Omron Corp có khoảng 350 bằng phát minh về logic mờ Ngoài
ra, logic mờ cũng được dùng để tối ưu nhiều quá trình hóa học và sinh học
2.1 Tập Mờ
2.1.1 Tập mờ và khái niệm tập mờ
Một tập hợp trong một không gian nào đó, theo khái niệm cổ điển sẽ chia không gian thành 2 phần rõ ràng Một phần tử bất kỳ trong không gian sẽ thuộc hoặc không thuộc vào tập đã cho Tập hợp như vậy còn được gọi là tập rõ Lý thuyết tập hợp cổ điển là nền tảng cho nhiều ngành khoa học, chứng tỏ vai trò quan trọng của mình Nhưng những yêu cầu phát sinh trong khoa học cũng như cuộc sống đã cho thấy rằng lý thuyết tập hợp cổ điển cần phải được mở rộng
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ụng khá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ính chất áp đặt chẳng hạn là 45 để xác định tập hợp những người trẻ Và trong thực tế thì có một ranh giới
Trang 11mờ để ngăn cách những người trẻ và những người khô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àn toà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
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àn toà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 xX 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àm thuộ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 co thể xác định một tập mờ
A=
d c b a
0 2 0 3 0 1
Trang 1220 , 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
Nhóm hàm hình chuông
Nhóm hàm này có đồ thị dạng hình chuông, bao gồm dạng hàm tam giác, hàm hình thang, gauss
1 0.85 0.5
100
20 50 80
E
120
Trang 13Xét ví dụ cũng với tập vũ trụ E ở trên, xét tập mờ F=Tốc độ trung bình xác
50 / ) 100 (
50 20
30 / ) 20 (
100 20
0
x khi
x
x khi
x
x x
khi
trungbình
2.1.3 Các khái niệm liên quan
Giả sử A là tập mờ trên tập vũ trụ U, có hàm thuộc A thì ta có các khái niệm như 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ử
▪ 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
Trang 14Theo 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ả
2.1.4 Các phép toán trên tập mờ
Giả sử A và B là các tập mờ trên vũ trụ U thì ta có các định nghĩa sau:
Quan hệ bao hàm
A được gọi là bằng B khi và chỉ khi xU, A(x) = B(x)
A được gọi là tập con của B, ký hiệu A B khi và chỉ khi xU,
(x) = min(A(x), B(x)) (3)
Tích đề các
Trang 15Giả sử A1, A2, …, A n là các tập mờ trên các vũ trụ U1, U2, …, U n tương ứng Tích đề-các của A1, A2, …, A n là tập mờ A = A1 A2 … A n trên không gian tích U1 U2 … U n với hàm thuộc được xác định bởi:
Giả sử A là tập mờ trên không gian tích U1 U2 Hình chiếu của A trên U1
là tập mờ A1với hàm thuộc được xác định bởi:
Trang 16đó 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 (x) = C(A 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àm phần bù
1 trong đó là tham số thoả > -1 Hàm bù chuẩn là trường hợp đặc biệt của hàm Sugeno khi = 0
Hàm phần bù Yager C(a) = w w
a
1
) 1 ( − trong đó w là tham số thoả w > 0 Hàm
bù chuẩn là trường hợp đặc biệt của hàm Yager khi w = 1
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]
Trang 17S-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ờ AB với hàm thuộc được xác định bởi:
B A
(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:
0 0
b a if
a if b
b if a b a
, 1 min ) , (
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ều kiện:
i Tiên đề T1 (điều kiện biên): T(1,a) = a, a[0,1]
ii Tiên đề T2 (giao hoán): T(a,b) = T(b,a), a,b[0,1]
Trang 18iii 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 ab và cd 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ờ AB với hàm thuộc được xác định như sau:
B A
(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:
1 1
b a if
a if b
b if a b a
, 1 min 1 ) , (
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ó:
ab T(a,b) min(a,b) max(a,b) S(a,b) ab
Trang 19Tích đề-các mờ
Tích đề-các của tập mờ A1, A2, …, A n trên các vũ trụ U1, U2, …, U n tương
ứng là tập mờ A = A1 A2 … A n trên không gian tích U1 U2 … U n với hàm thuộc được xác định như sau:
hệ mờ theo cách tính hàm thuộc cho tích đề-các mờ
Khi 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, U2, …, U n là tập mờ A = A1
2
A … A n trên không gian tích U1 U2 … U n Trong đó A i U i, i = 1 n
Hợp của các quan hệ mờ
Hợp của quan hệ mờ R từ U đến V và quan hệ mờ Z từ V đến W là quan hệ
mờ RoZ từ U đến W có hàm thuộc xác định bởi
RoS
(u,w) =
V v
max T(R(u,v), Z(v,w)) Trong T là một T-norm bất kỳ
Các hàm thuộc quan trọng sau được dùng rộng rãi để xác định hợp của các quan hệ mờ:
Trang 20▪ Hàm hợp max-min:
RoS (u,w) =
V v
max min(R(u,v), Z(v,w))
▪ Hàm hợp max-tích (hay max-prod):
RoS
(u,w) =
V v
max R(u,v) Z(v,w)
2.2 Số Mờ
2.2.1 Định nghĩa về số mờ
Tập mờ M trên đương thẳng thực R là tập số mờ nếu:
a) M là chuẩn hoá, tức là có điểm x sao cho M(x) = 1
b) Ứng với mỗi a R, tập mức {x: M(x) } là đoạn đóng
Người ta thường dùng các số mờ tam giác, hình thang và dạng Gauss
2.2.2 Các phép toán
o Cộng: [a, b] + [d, e] = [a + d, b + e]
o Trừ: [a, b] - [d, e] = [a - e, b - d]
o Nhân: [a, b]*[d, e] = [min(ad, ae, bd, be), max(ad, ae, bd, be)]
o Chia: [a, b]/[d, e] = [min(a/d, a/e, b/d, b/e), max(a/d, a/e, b/d, b/e)]
2.2.3 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
Trang 21Giả 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ộc xác định bởi:
B(x)=max{min( Ai(xi)); i=1 n : xf− 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ộng như một hàm 2 biến mờ Tương tự cho các phép toán trừ, nhân, chia
Từ các phép toán cơ bản 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ựa trên khái niêm -cuts (lát cắt alpha)
-cuts của số mờ là khoảng đóng thực với mọi 0< <=1
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], O=[0,0], 1=[1,1] ta có:
Trang 22c A.B E.F
d A/B E/F
Trang 232.3 Logic Mờ
2.3.1 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à 1C, 2C,… 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à 80C trở lên Nhưng trong thực tế thì chúng ta thường nói “không nên chạ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à 80C 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à 79C trong khi đó vật có nhiệt độ 80C 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ằng bao 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à 60C 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ến nhiệt độ càng tăng thì càng dễ dàng được chấp nhận là “cao” Như vậy nếu xét hà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 độ”
1 0.9
100
50 80
Nhiệt độ
120
Trang 24Biế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 đó
2.3.2 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ụ U nà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 = xU | P(x)
Từ đó ta có: P(x) = (x)
Trong đó là hàm đặc trưng của tập A ( xA (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
Trang 25Trong 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ột mệ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 Bsao cho: P(x) = B(x)
Lúc này P(x) có thể nhận các giá trị tuỳ ý trong [0,1] Và ta thấy có thể đồng nhất các hàm thuộc với các mệnh đề logic mờ
Các phép toán mệnh đề mờ
Trong logic cổ điển, từ các mệnh đề phân tử và các phép toán (AND),
(OR), (NOT) ta có thể lập nên các mệnh đề phức Ta có:
P(x) = 1 – P(x)
P(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ới quy tắc tổng quát hoá dùng hàm bù mờ cho phép phủ định, hàm T-norm cho phép giao và S-norm cho phép hợp Sự mở rộng này dựa trên sự tương quan 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ó:
Trang 26Trong đó C là hàm bù mờ (hay phủ định mờ), T là hàm T-norm, S là hàm norm Các hàm này đã trình bày trong phần phép toán trên tập mờ
S-Phép toán kéo theo mờ – luật if-then mờ thông dụng
Các phép toán kéo theo có vai trò quan trọng trong logic mờ Chúng tạo nê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ột mệnh đề
mờ tương ứng với một tập mờ nên ta có thể dùng hàm thuộc thay cho cá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:
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ũ
Trang 27trụ 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ủa quan hệ mờ ta có:
2.3.4 Luật modus-ponens tổng quát
Tương tự logic cổ điển, trong logic mờ cũng có luật modus-ponens như sau:
GT1 (luật) : if “x là A” then “y là B”
GT2 (sự kiện) : “x là A’”
-
KL : “y là B’”
Trong đó A, B, A’, B’ là các biến ngôn ngữ (có nghĩa là các tập mờ)
Công thức tính kết luận của luật modus-ponens như sau:
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
Trang 28Nhiệ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:
A = “nhiệt độ cao” =
45
1 40
9 0 35
3 0 30
B = “áp suất lớn” =
65
1 60
1 55
5 0 50
45 40 35 30
1 1 5 0 0
9 0 9 0 45 0 0
3 0 3 0 15 0 0
0 0 0 0
Bây giờ, giả sử ta biết sự kiện “nhiệt độ là trung bình” và
A’ = “nhiệt độ trung bình” =
45
1 0 40
8 0 35
1 30
6
Áp dụng công thức (*) ta suy ra B’ =
65
8 0 60
8 0 55
45 0 50
Trang 29Phần III HỆ MỜ 3.1 Kiến trúc của hệ mờ tổng quát
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ĩnh vự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 khi chưa áp dụng hệ
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ào tậ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
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…
Cơ sở luật mờ
Bộ suy diễn mờ
Bộ mờ hoá
Đầu ra (số)
Trang 30Do 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 n chiề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ìm hiể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ới các biến số
, 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 vẽ
2
U
x
n U
x
3.2 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)
Trong đó 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)
Hệ mờ nhiều đầu vào – một đầu ra
Trang 31Cá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à ra tương ứng,
từ đó dùng các kỹ thuật khai mỏ dữ liệu để rút ra các luật
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=AB trên XY Khi đó tập mờ B’ suy ra từ A’ được xác định bởi: B' (y) = max {min [A'(x), R(x,y)]} (*)
3.3.1 Trường hợp một đầu vào và một luật
Trang 32Trong đó hA ' A là độ cao của tập mờ A’A
3.3.2 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”
Trang 333.3.3 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ừng luậ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ùy theo 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
2 luậ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
3.4 Bộ mờ hóa
Mờ hoá là quá trình biến đổi một vector x = (x1, x2, …, xn) U n
R 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ải thoả 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
h2