Khái niệm tập mờ Fuzzy set: Một tập mờ A được đặt trưng bằng hàm thành viên và x là một phần tử, x phản ánh mức độ thuộc về A.x phản ánh mức độ thuộc về A... b Ứng với mỗi R1, tập
Trang 1BÀI THU HOẠCH MÔN HỌC TOÁN HỌC CHO KHOA HỌC MÁY TÍNH
ĐỀ TÀI
ỨNG DỤNG LOGIC MỜ VÀO VIỆC CẢI TIẾN TÍNH NĂNG NỒI CƠM ĐIỆN
Thành Phố Hồ Chí Minh – 01/2014
Học viên thực hiện: Lê Thị Thu Thảo MSHV: CH1301057
GVHD:PGS.TS Đỗ Văn Nhơn
Trang 2Chương II: Ứng dụng logic mờ để xây dựng bài toán cải tiến tính
năng nồi cơm điện
Trang 3Em xin chân thành cảm ơn thầy PGS.TS Đỗ Văn Nhơn, người
đã tận tâm truyền đạt kiến thức nền tảng, cung cấp những thông tin,
tư liệu quý giá về môn Toán học cho khoa học máy tínhđể cho em hòan thành bài thu hoạch này.
Thành phố Hồ Chí Minh, Tháng 01 Năm 2014.
Trang 4Tập mờ 0.80
1.00
CHƯƠNG I
LOGIC MỜ (FUZZY LOGIC)
1 TẬP MỜ VÀ CÁC PHÉP TOÁN TRÊN TẬP MỜ
1.1 Khái niệm tập mờ (Fuzzy set):
Một tập mờ A được đặt trưng bằng hàm thành viên và x là một phần
tử, (x) phản ánh mức độ thuộc về A.x) phản ánh mức độ thuộc về A
A(x) phản ánh mức độ thuộc về A.x):X [0,1] , trong đó:
{ ¿ { ¿ { ¿¿¿¿ AA(x) phản ánh mức độ thuộc về A.x) = 1, nếu x hoàn toàn thuộc A(x) phản ánh mức độ thuộc về A.x) = 0, nếu x không thuộc A
0 <A(x) phản ánh mức độ thuộc về A.x) < 1, nếu x thuộc một phần của A
A(x) phản ánh mức độ thuộc về A.x) được gọi là hàm thuộc hoặc hàm liên thuộc (x) phản ánh mức độ thuộc về A.hoặc hàm thànhviên -membership function) của tập mờ A
Tập X được gọi là cơ sở của tập mờ A
A(x) phản ánh mức độ thuộc về A.x) là độ phụ thuộc, sử dụng hàm thuộc để tính độ phụ thuộc củamột phần tử x nào đó
Ví dụ: Xét một tập về chiều cao như sau:
cao(x) phản ánh mức độ thuộc về A.x) = { ¿ { ¿ { ¿ { ¿¿¿¿
0 nếu chiều_cao(x) phản ánh mức độ thuộc về A.x) <= 150 cm(x) phản ánh mức độ thuộc về A.chiều_cao(x) phản ánh mức độ thuộc về A.x)-150) /30 nếu 150cm <chiều_cao(x) phản ánh mức độ thuộc về A.x) <= 180cm
1 nếu chiều_cao(x) phản ánh mức độ thuộc về A.x) > 180cm
Tên Chiều cao (x) phản ánh mức độ thuộc về A.cm) Phạm vi phụ thuộc
Trang 5150 160 170 180 190 200
1.2.Biểu diễn tập mờ:
Tập mờ A trên tập vũ trụ X là tập mà các phần tử x X với mức độphụ thuộc của x vào tập mờ A tương ứng Có ba phương pháp biểu diễn tậpmờ: phương pháp ký hiệu, phương pháp tích phân và phương pháp đồ thị
Phương pháp ký hiệu: Liệt kê các phần tử và các thành viên tương ứngtheo ký hiệu
Trang 71.4 Các phép toán trên tập mờ:
Cho A và B là hai tập mờ trên không gian nền R’, có các hàm liên thuộc
A, B Khi đó ta có các phép toán sau:
Stt Phép toán trên tập mờ Định nghĩa hàm liên thuộc
1 AB A(x) phản ánh mức độ thuộc về A.x)≤B(x) phản ánh mức độ thuộc về A.x)
2 AB AB(x) phản ánh mức độ thuộc về A.x)=max{A(x) phản ánh mức độ thuộc về A.x),B(x) phản ánh mức độ thuộc về A.x)}
3 AB AB(x) phản ánh mức độ thuộc về A.x)=min{A(x) phản ánh mức độ thuộc về A.x),B(x) phản ánh mức độ thuộc về A.x)}
5 AB AB=A(x) phản ánh mức độ thuộc về A.x)+B(x) phản ánh mức độ thuộc về A.x)-A(x) phản ánh mức độ thuộc về A.x)B(x) phản ánh mức độ thuộc về A.x)
6 R’ R’(x) phản ánh mức độ thuộc về A.x)=1
7 (x) phản ánh mức độ thuộc về A.x)=0
8 AxB AxB(x) phản ánh mức độ thuộc về A.x,y)=min{A(x) phản ánh mức độ thuộc về A.x),B(x) phản ánh mức độ thuộc về A.y)}
Như các phép toán trên tập rõ, các phép toán trên tập mờ cũng có một
số tính chất sau đối với các tập mờ A, B, C trên tập vũ trụ X:
Trang 82 HỆ LUẬT MỜ (FUZZY RULES):
Để xây dựng một hệ thống điều khiển mờ, ta phải xây dựng các luật mờ.Các luật mờ giúp truyền đạt, mô tả một cách tự nhiên những qui luật mà
ta muốn đưa vào hệ thống mờ Các luật này có dạng :
Trang 9IF Dirtiness_Large AND Greasy_Large THENWash_Time_Verylong
IF Dirtiness_Medium AND Greasy_Large THEN Wash_Time_Long
IF Dirtiness_Small AND Greasy_None THEN Wash_Time_VeryShort
Như vậy ta có thể khái quát luật mờ như sau:
- Giúp truyền đạt, mô tả rất tự nhiên những quy luật trong cuộc sống
- Thể hiện được những diễn đạt về chuyên môn hơn
- Hiệu lực đối với phạm vi các biến rộng lớn hơn
- Một Luật mờ có thể thay thế nhiều, thường là rất nhiều những luật rõ
3 SỐ MỜ VÀ CÁC PHÉP TOÁN TRÊN SỐ MỜ
3.1 Giới thiệu:
Số mờ hay khoảng mờ dùng diễn tả khái niệm một số hay một khoảngxấp xỉ, gần bằng một số thực hay một khoảng số thực cho trước Số mờ haykhoảng mờ là tập mờ xác định trên tập số thực
3.2 Định nghĩa:
Tập mờ M trên đường thẳng số thực R1 là tập số mờ nếu:
a) M là chuẩn hoá, tức là có điểm x’ sao cho M(x) phản ánh mức độ thuộc về A.x’)=1
b) Ứng với mỗi R1, tập mức {x:M(x) phản ánh mức độ thuộc về A.x)≥} 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ạngGauss
Trang 10Hệ thống điều khiển được thiết kế dựa trên cơ sở toán học là logic mờ
4.1 Cấu trúc bộ điều khiển mờ
Bộ điều khiển mờ gồm có bốn thành phần chính: bộ mờ hóa, cơ sở luật
mờ, bộ suy diễn mờ và bộ giải mờ
Cấu trúc bộ điều khiển mờ
4.1.1 Bộ mờ hóa
Vì các luật cho dưới dạng dùng các biến ngôn ngữ với các từ thôngthường Như vậy với những giá trị (x) phản ánh mức độ thuộc về A.rõ) quan sát được, đo được cụ thể, để cóthể tham gia vào quá trình điều khiển thì cần thiết phải mờ hóa
Có thể định nghĩa, mờ hóa là một ánh xạ từ không gian các giá trị quansát được n vào không gian của các từ - tập mờ trên không gian nền của cácbiến ngôn ngữ đầu vào
4.1.2 Cơ sở các luật mờ
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ươngpháp thông dụng là nhờ các chuyên gia trong lĩnh vực ápdụng, hoặc từ quan sát, thực nghiệm thống kê để có được các tập dữ liệumẫ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
Dạng tổng quát của các luật điều khiển mờ là bộ các quy tắc mờ dạngnếu …thì…(x) phản ánh mức độ thuộc về A.IF…THEN…), trong đó các điều kiện đầu vào và cả các biến
ra sử dụng các biến ngôn ngữ Viết ở dạng tổng quát, cơ sở các luật mờ chodưới dạng sau:
Nếux 1 là A k1 và x 2 là A k2 và … và x n là A kn thìy là B k
Trong đók là chỉ số của luật (x) phản ánh mức độ thuộc về A.luật thứktrong tập luật), x ilà các biến đầu
vào, A ki là cáctập mờ trênU i (x) phản ánh mức độ thuộc về A.i=1 n), ylà biến đầu ra vàB k là tập mờ trênV (x) phản ánh mức độ thuộc về A.k=1 m)
4.1.3 Bộ suy diễn mờ
Đây là phần cốt lõi nhất của bộ điều khiển mờ trong quá trình mô hìnhhóa các bài toán điều khiển và chọn quyết định của con người trong khuônkhổ vận dụng logic mờ và lập luận xấp xỉ
Trang 11Cho x 1 , x 2 ,…,x m là các biến vào của hệ thống, y là biến ra (thường là các biến ngôn ngữ) Các tậpA ij , B j , với i = 1,2,…,m và j = 1,2, …,n là các
tập mờ trong không gian nền tương ứng của các biến vào và biến ra đang sử
dụng của hệ thống CácR j là các suy diễn mờ như sau:
Trong đó A 1* ,…,A m* là các giá trị đầu vào có thể mờ hoặc rõ
Theo suy diễn xấp xỉ, tập mờ B* có thể suy diễn như sau:
- Đầu tiên tìm quan hệ thành phầnR ilà quan hệ được định bởi:
- Sau đó xác định quan hệ tích hợp R từ các quan hệ thành phầnR iquaphép hợp:
- Sau đó xác định tập mờ đầu ra B* qua toán tử hợp thành:
Tập mờ ra B* dùng trong bộ giải mờ
4.1.4 Bộ giải mờ
Đây là khâu thực hiện quá trình xác định một giá trị rõ có thể chấp nhậnđược làm đầu ra từ hàm thuộc của giá trị mờ đầu ra Có hai phương phápgiải mờ chính: phương pháp điểm cực đại và phương pháp điểm trọng tâm
4.2 Nguyên lý làm việc của bộ điều khiển mờ
Bộ điều khiển mờ có thể được hiểu là một bộ điều khiển làm việc theonguyên tắc tự động hóa những kinh nghiệm điều khiển của con người.Những kinh nghiệm này được rút ra từ kinh nghiệm của chuyên gia điềukhiển hoặc từ dữ liệu, chúng được đúc kết lại luật hợp thành gồm nhiềumệnh đề hợp thành với cấu trúc chung như sau:
Nếu A = A i thì B = B j
Trang 12Trong đó, A là biến ngôn ngữ đầu vào, B là biến ngôn ngữ đầu ra, A i ,
i=1,2,…là các giá trị ngôn ngữ của biếnA và B j , j=1, 2,… là các giá trị ngôn
ngữ của biến B
4.3 Các loại điều khiển mờ thường sử dụng
4.3.1 Điều khiển Mamdani
Điều khiển Mamdani (x) phản ánh mức độ thuộc về A.còn gọi là điều khiển ước lượng) được sử dụngtrong trường hợp cả mệnh đề nguyên nhân và mệnh đề kết quả đều là cácgiá trị mờ, có dạng tổng quát sau:
R i : Nếu (x 1 là A 1i ) và … và (x) phản ánh mức độ thuộc về A.x n là A ni) thì (x) phản ánh mức độ thuộc về A.y 1 là B 1i ), …, (x) phản ánh mức độ thuộc về A.y m là B mi) Trong đó: n là số tín hiệu vào, m là số tín hiệu ra,i 1 k , với k là sốqui tắc điều khiển
Kết luận của phương pháp điều khiển mờ Mamdani là mệnh đề mờ
4.3.2 Điều khiển Tagaki-Sugeno
Tagaki-Sugeno đưa ra mô hình mờ sử dụng cả không gian trạng thái
mờ lẫn mô tả linh hoạt hệ thống Theo Tagaki/Sugeno thì một vùng mờLXk được mô tả bởi luật:
(x) phản ánh mức độ thuộc về A.1) Luật này có nghĩa là: nếu véctơ trạng thái x nằm trong vùng LXk thì hệthống được mô tả bởi phương trình vi phân cục bộ Nếu toàn bộ các luật của
hệ thống được xây dựng thì có thể mô tả toàn bộ trạng thái của hệ trong
toàn cục.Trong (x) phản ánh mức độ thuộc về A.1) ma trậnA(x k ) và B(x k )là những ma trận hằng của hệ
thống ở trọng tâm của miềnLX kđược xác định từ các chương trình nhậndạng Từ đó rút ra được:
(x) phản ánh mức độ thuộc về A.2)Với wk(x) phản ánh mức độ thuộc về A.x) [0 , 1] là độ thoả mãn đã chuẩn hoá của x* đối với vùng
mờ LXk
Luật điều khiển tương ứng sẽ là :
R ck : If x = LX k Then u = K(x k )x
Và luật điều khiển cho toàn bộ không gian trạng thái có dạng:
Từ (x) phản ánh mức độ thuộc về A.1) và (x) phản ánh mức độ thuộc về A.2) ta có phương trình động học cho hệ kín:
Trang 13Ví dụ: cho một hệ Tagaki-Sugeno gồm hai luật điều khiển với hai đầuvào x1,x2 và đầu ra y
R1 : If x1 = BIG and x2 = MEDIUM Then y1 = x1-3x2
R2: If x 1 = SMALL and x 2 = BIG Then y 2 = 4+2x 1
Đầu vào rõ đo được làx 1 * = 4 và x 2 * = 60
Từ hình bên dưới ta xác định được:
- Bước 3: Xây dựng luật hợp thành
- Bước 4: Chọn qui tắc thực hiện luật hợp thành
- Bước 5: Chọn phương pháp giải mờ
Trang 14ta dùng nồi cơm điện để nấu cháo, súp, hay nấu nước sôi, thì như thế nào?
Và câu trả lời là ta vẫn nấu được nhưng cho sản phẩm không như ý ta mongmuốn
Như vậy vấn đề cần giải quyết ở đây làta cần nấu một dạng hỗn hợp nào
đó với một khối lượng tùy ý vànhiệm vụ của nồi cơm điện là phải đưa ra thờigian chính xác (x) phản ánh mức độ thuộc về A.một cách tương đối) và thực hiện việc nấu để đáp ứng yêu cầunày
Để tự động quá trình này chúng ta có thể dùng một bộ cảm biến (x) phản ánh mức độ thuộc về A.sensor)
để nhận những thông số: trọng lượng, hàm lượng các thành phần Thờigian nấu sẽ được phân tích tùy thuộc vào các thông số đầu vào này Vì quan
hệ giữa các giá trị tham số đầu vào và giá trị đầu ra của quá trình nấu là không
rõ ràng, do đó ta dùng logic mờ để giải quyết vấn đề này
Chương trình minh họa được xây dựng mang tính mô phỏng một hệ điềukhiển mờ dùng cho nồi cơm điện
2 XÂY DỰNG BỘ ĐIỀU KHIỂN MỜ
2.1 Bộ điều khiển mờ:
Hình sau mô tả bộ điều khiển mờ dùng cho nồi cơm điện cải tiến:
Trang 15Trọng lượng
Độ sệt
Thời gian nấu
Bộ điều khiển mờ
Giá trị đầu vào gồm 2 tham số:
Trọng lượng: được đo bằng một lò xo phía dưới đáy nồi
Độ sệt:dùng một thiết bị làm nhiệm vụ giống như trộn đểđo tỉ lệ nướcvới độ rắn của chất đem đi nấu
2.2 Định nghĩa biến đầu vào, biến kết luận:
Trước khi thiết kế bộ điều mờ, ta phải xác định khoảng giá trị có thể củacác biến đầu vào và biến kết luận
Về trọng lượng tùy vào độ nén của lò xo ta chia ra làm các dạng: Nặng,Vừa và Nhẹ
Về mức độ sệt: Hoàn toàn (x) phản ánh mức độ thuộc về A.Cơm), Vừa(x) phản ánh mức độ thuộc về A.Canh, Soup) và Loãng (x) phản ánh mức độ thuộc về A.Nước)
Về thời gian nấu, ta định nghĩa các dạng: Thời gian nấu lâu, thời giannấu hơi lâu, thời gian nấu trung bình, thời gian nấu ngắn, thời gian nấu rấtngắn
Giá trị của các biến đầu vào Trọng lượng có giá trị từ 0 – 100 (x) phản ánh mức độ thuộc về A.Tươngứng với mức 0kg – 4kg - Bao gồm cả nước và nồi)
Giá trị của biến đầu vào của Độ sệt có giá trị từ 0 – 100
2.3 Các hàm thành viên:
Trang 16Khối lượng = Vừa
TG Nấu = Hơi lâu
Trang 17W.Heavy W.Medium W.LightTH.Thick T.Long (x) phản ánh mức độ thuộc về A.R1) T.S_Long (x) phản ánh mức độ thuộc về A.R2) T.Medium (x) phản ánh mức độ thuộc về A.R3)
TH.Medium T S_Long (x) phản ánh mức độ thuộc về A.R4) T Medium (x) phản ánh mức độ thuộc về A.R5) T Short (x) phản ánh mức độ thuộc về A.R6)
TH.Liquid T Medium (x) phản ánh mức độ thuộc về A.R7) T Short (x) phản ánh mức độ thuộc về A.R8) T.V_Short (x) phản ánh mức độ thuộc về A.R9)
Giả sử hàm thành viên thời gian nấu được định nghĩa như sau:
Nấu lâu (x) phản ánh mức độ thuộc về A.T.Long) = 40 (x) phản ánh mức độ thuộc về A.phút)
Nấu hơi lâu (x) phản ánh mức độ thuộc về A.T.S_Long) = 30 (x) phản ánh mức độ thuộc về A.phút)
Nấu trung bình (x) phản ánh mức độ thuộc về A.T.Medium) = 20 (x) phản ánh mức độ thuộc về A.phút)
Nấu ngắn (x) phản ánh mức độ thuộc về A.T.Short) = 10 (x) phản ánh mức độ thuộc về A.phút)
Nấu rất ngắn (x) phản ánh mức độ thuộc về A.T.V_Short) = 5 (x) phản ánh mức độ thuộc về A.phút)
2.5 Hàm thành viên: (pp mờ hóa tam giác)
2.5.1 Hàm thành viên của Khối lượng (x) phản ánh mức độ thuộc về A.Weight):
Để đơn giản ta cho khối lượng tương đương 4kg với mức 100 Nhưvậy mỗi 1 kg tương đương với 25 đơn vị
W.Light(x) phản ánh mức độ thuộc về A.x) = { ¿¿¿¿ 1 - x/50 nếu 0 <= x <= 50 0 nếu 50 <= x <= 100W.Medium(x) phản ánh mức độ thuộc về A.x) =
TH.Liquid(x) phản ánh mức độ thuộc về A.y) =
1- y/50 nếu 0 <= y <= 50
0 nếu 50 <= y <= 100TH.Medium(x) phản ánh mức độ thuộc về A.y) =
y/50 nếu 0 <= y <= 50
2 - y/50 nếu 50 <= y <= 100TH.Thick(x) phản ánh mức độ thuộc về A.y) =
0 nếu 0 <= y <= 50y/50 –1 nếu 50 <= y <= 1002.5.3 Hàm thành viên Thời gian của kết luận cho từng luật:
Trang 18T.VeryShort(x) phản ánh mức độ thuộc về A.z) = { ¿ { ¿¿¿¿ 1 nếu 0 <= z <= 5(x) phản ánh mức độ thuộc về A.10-z)/5 nếu 5 <= z <= 10
0 nếu 10 <= z <= 40
T Short(x) phản ánh mức độ thuộc về A.z) = { ¿ { ¿ { ¿¿¿¿ 0 nếu 0 <= z <= 5(x) phản ánh mức độ thuộc về A.z-5)/5 nếu 5 <= z <= 10
(x) phản ánh mức độ thuộc về A.20-z)/10 nếu 10 <= z <= 20
0 nếu 20 <= z <= 40
T.Medium(x) phản ánh mức độ thuộc về A.z) = { ¿ { ¿ { ¿¿¿¿ 0 nếu 0 <= z <= 10(x) phản ánh mức độ thuộc về A.z-10)/10 nếu 10 <= z <= 20
(x) phản ánh mức độ thuộc về A.30-z)/10 nếu 20 <= z <= 30
0 nếu 30 <= z <= 40
T.S_Long(x) phản ánh mức độ thuộc về A.z) =
0 nếu 0 <= z <= 20(x) phản ánh mức độ thuộc về A.z-20)/10 nếu 20 <= z <= 30(x) phản ánh mức độ thuộc về A.40-z)/10 nếu 30 <= z <= 40
T.Long(x) phản ánh mức độ thuộc về A.z)= { ¿¿¿¿ 0 nếu 0 <= z <= 30(x) phản ánh mức độ thuộc về A.z-30)/10 nếu 30 <= z <= 40
Trang 195 – 10 (x) phản ánh mức độ thuộc về A.10-z)/5 (x) phản ánh mức độ thuộc về A.z-5)/5 0 0 0
10 – 20 0 (x) phản ánh mức độ thuộc về A.20-z)/10 (x) phản ánh mức độ thuộc về A.z-10)/10 0 0
20 – 30 0 0 (x) phản ánh mức độ thuộc về A.30-z)/10 (x) phản ánh mức độ thuộc về A.z-20)/10 0
30 – 40 0 0 0 (x) phản ánh mức độ thuộc về A.40-z)/10 (x) phản ánh mức độ thuộc về A.z-30)/10
Với x0, y0 ta sẽ phân ra được 4 trường hợp chính như sau:
TH1: x0 < 50, y0 < 50
Với TH1: Ta có 4 luật: R5, R6, R8, R9
W.Heavy W.Medium W.LightTH.Thick
TH.Medium T Medium (x) phản ánh mức độ thuộc về A.R5) T Short (x) phản ánh mức độ thuộc về A.R6)
TH.Liquid T Short (x) phản ánh mức độ thuộc về A.R8) T.V_Short (x) phản ánh mức độ thuộc về A.R9)