Logic mờ (fuzzy logic) là một công cụ dùng để mô hình hóa các quyết định của con người. Ví dụ: người lái xe quan sát chướng ngại vật, đánh giá tình trạng của đường (tốt hay xấu, rộng hay hẹp, thẳng hay cong, tối hay sáng ...) để ra các quyết định điều khiển xe (gas, thắng, tay lái ...). Để có thể tiến hành mô hình hóa, cần có các hiểu biết về cách thức quyết định của con người.
Trí Tuệ Nhân Tạo GVGD: Th.S Nguyễn Võ Ngọc Thạch Khoa Cơ Khí Cơng Nghệ ĐH Nơng Lâm Tp.HCM Email: nvnthach@hcmuaf.edu.vn soft computing MỤC LỤC Chương Logic mờ ứng dụng … 1.1 Tập hợp mờ 1.1.1 Tập hợp rõ 1.1.2 Tập hợp mờ 1.1.3 Các phép tốn tập hợp mờ 1.1.4 Biến ngơn ngữ 1.2 Quan hệ mờ 1.2.1 Quan hệ rõ 1.2.2 Quan hệ mờ 1.2.3 Hình chiếu 1.2.4 Kết hợp quan hệ rõ 1.2.5 Kết hợp quan hệ mờ 1.3 Suy diễn mờ 1.3.1 Mệnh đề mờ 1.3.2 Diễn dịch luật IF … THEN … 1.3.3 Logic cổ điển 1.3.4 Logic mờ 1.4 Hệ thống xử lý mờ 1.4.1 Khối mờ hóa 1.4.2 Khối suy diễn mờ 1.4.3 Khối giải mờ 1.4.4 Tính phi tuyến hệ thống xử lý mờ 1.4.5 Hệ thống xử lý mờ loại 1.5 Điều khiển mờ 1.6 Nhận dạng hàm thành viên luật hợp thành 1.6.1 Nhận dạng luật hợp thành 1.6.2 Nhận dạng hàm thành viên 1.6.3 Nhận dạng hệ thống động dùng mơ hình mờ 1.6.4 Mơ dự báo 1.6.5 Cân kênh thơng tin 1.7 Phân nhóm mờ soft computing 1.7.1 Phân nhóm rõ 1.7.2 Phân nhóm mờ 1.8 Hướng dẫn sử dụng phần mềm Matlab/Fuzzy toolbox Bài tập Chương Mạng neuron nhân tạo …… 43 2.1 Khái niệm 2.1.1 Mạng neuron nhân tạo 2.1.2 Neuron 2.1.3 Kết nối 2.1.4 Huấn luyện mạng neuron 2.2 Mạng perceptron lớp 2.2.1 Đơn vị tuyến tính (linear unit, LU) 2.2.2 Đơn vị phân loại tuyến tính (linear graded unit, LGU) 2.2.3 Đơn vị ngưỡng tuyến tính (linear threshold unit, LTU) 2.2.4 Ứng dụng phân nhóm 2.2.5 Ứng dụng nhận dạng hệ thống động 2.2.6 Ứng dụng điều khiển 2.2.7 Ứng dụng nhận dạng ký tự 2.3 Mạng truyền thẳng nhiều lớp 2.3.1 Tổng quan 2.3.2 Giải thuật huấn luyện lan truyền ngược (back propagation) 2.3.3 Các thông số luật học lan truyền ngược 2.4 Mạng hồi quy 2.5 Mạng Hopfield 2.5.1 Mạng Hopfield rời rạc 2.5.2 Mạng Hopfield liên tục 2.5.3 Bộ nhớ kết hợp (associative memory) 2.5.4 Hopfield recurrent associative memory 2.5.5 Bộ nhớ kết hợp hai chiều (bidirectional associative memory BAM) 2.6 Các giải thuật học không giám sát 2.6.1 Luật học Hebb soft computing 2.6.2 Luật học cạnh tranh 2.6.3 Differential Hebbian learning rule 2.6.4 Differential competitive learning rule 2.7 Self-organizing feature maps 2.8 Hướng dẫn sử dụng phần mềm Matlab/Neural networks toolbox 2.8.1 Ví dụ 2.8.2 Neural Network Toolbox 2.8.3 Các hàm tiêu biểu Bài tập Chương : Hệ thống neuron - mờ mờ - neuron … 77 3.1 Hệ thống mờ sở mạng neuron 3.2 Mạng neuron sở logic mờ 3.3 Các ứng dụng tiêu biểu Bài tập Chương : Giải thuật di truyền … 85 4.1 Giải thuật di truyền 4.2 Các thông số giải thuật di truyền 4.3 Các ứng dụng tiêu biểu Bài tập Bài tập lớn .91 Tài liệu tham khảo .93 soft computing Chương LOGIC MỜ VÀ ỨNG DỤNG Logic mờ (fuzzy logic) công cụ dùng để mơ hình hóa định người Ví dụ: người lái xe quan sát chướng ngại vật, đánh giá tình trạng đường (tốt hay xấu, rộng hay hẹp, thẳng hay cong, tối hay sáng ) để định điều khiển xe (gas, thắng, tay lái ) Để tiến hành mơ hình hóa, cần có hiểu biết cách thức định người 1.1 TẬP HỢP MỜ (fuzzy set) 1.1.1 Tập hợp rõ a) Hàm thành viên (membership function) Hàm thành viên tập rõ có hai giá trị µA(x) = có nghĩa x ∈ A µA(x) = có nghĩa x ∉ A Ví dụ: Tập hợp A = [1, 3] có hàm thành viên µA(x) (hình 1.1) Tập hợp B = {1, 2, 3} có hàm thành viên µB(x) (hình 1.2) Hình 1.1 Hình 1.2 b) Các phép tốn Các phép toán tập hợp rõ (hội, giao, hiệu, bù, tích) định nghĩa thơng qua hàm thành viên sau Hội: µAUB(x) = max {µA(x), µB(x)} = {1, µA(x) + µB(x)} Giao: µA∩B(x) = {µA(x), µB(x)} = µA(x)µB(x) Hiệu: µA\B(x) = µA(x)[1 - µB(x)] Bù: µ A (x) = - µA(x) Tích: µAxB(x,y) = µA(x)µB(y) 1.1.2 Tập hợp mờ Tập mờ A tập sở X xác định hàm thành viên µA(x) với ≤ µA(x) ≤ µA(x) = có nghĩa x ∈ A với độ chắn 100% µA(x) = có nghĩa x ∉ A Độ cao HA = sup x∈X {µA(x) } soft computing Hình 1.3: Tập mờ xác định sở R (hình A) Z (hình B) 1.1.3 Các phép tốn tập hợp mờ a) Hội (union) Hội hai tập mờ sở Xét hai tập mờ A B với hàm thành viên µA(x) µB(x) Hội A B tập mờ, ký hiệu AUB, xác định hàm thành viên µAUB(x) = s(µA(x),µB(x)) s(a,b) ánh xạ [0,1]x[0,1]→ [0,1] thoả điều kiện sau 1) s(1,1) = 1, s(0,a) = s(a,0) = a 2) s(a,b) = s(b,a) 3) a ≤ a’ b ≤ b’ s(a,b) ≤ s(a’,b’) 4) s(s(a,b),c) = s(a,s(b,c)) s(a,b) gọi s-norm Một số s-norm thơng dụng Luật SUM : µAUB(x) = {1, µA(x) + µB(x)} Luật MAX : µAUB(x) = max {µA(x), µB(x)} Luật EINSTEIN : µAUB(x) = [µA(x) + µB(x)]/[1+ µA(x)µB(x)] Luật khác : µAUB(x) = µA(x) + µB(x) - µA(x)µB(x) Ví dụ : Hội hai tập mờ A B dùng luật SUM luật MAX (hình 1.4 bảng 1.1) Bảng 1.1 x µA(x) µB(x) µAUB(x) (luật SUM) µAUB(x) (luật MAX) -1 0 0 -0,5 0,5 0,5 0,5 1 1 1 1,5 0,5 0,5 0,5 1 1 4,5 0,5 0,5 0,5 0 0 soft computing Hình 1.4 : Hội hai tập mờ Hình 1.5 Hội hai tập mờ khác sở A: tập mờ sở X với hàm thành viên µA(x) B: tập mờ sở Y với hàm thành viên µB(y) A: tập mờ mở rộng A tập mờ sở XxY với hàm thành viên µA(x,y) = µA(x), ∀y B: tập mờ mở rộng B tập mờ sở XxY với hàm thành viên µB(x,y) = µB(y), ∀x Hội tập mờ khác sở A B hội hai tập mờ mở rộng A B với hàm thành viên µAUB(x,y) = µAUB(x,y) Ví dụ: Cho hai tập mờ A B (hình 1.5) Các tập mờ mở rộng A B xác định bảng 1.2 1.3 Bảng 1.4 cho hội A B dùng luật SUM Bảng 1.5 cho hội A B dùng luật MAX µA(x,y) -2 -1 x Bảng 1.2 : µA(x,y) = µA(x), ∀y y 0 0 0,5 0,5 0,5 0,5 0,5 1 1 0,5 0,5 0,5 0,5 0,5 0 0 0,5 0,5 0,5 0,5 µB(x,y) -2 -1 x Bảng 1.3 : µB(x,y) = µB(y), ∀x y 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 0,5 0,5 0,5 0,5 0 0 soft computing Bảng 1.4 : µAUB(x,y) = µAUB(x,y) dùng luật SUM y µAUB(x,y) -2 0,5 1 0,5 -1 0,5 1 1 0,5 x 1 1 1 1 0,5 1 1 0,5 0,5 1 0,5 Bảng 1.5 : µAUB(x,y) = µAUB(x,y) dùng luật MAX y µAUB(x,y) -2 0,5 1 0,5 -1 0,5 0,5 1 0,5 0,5 x 1 1 1 1 0,5 0,5 1 0,5 0,5 0,5 1 0,5 b) Giao (intersection) Giao hai tập mờ sở Xét hai tập mờ A B với hàm thành viên µA(x) µB(x) Giao A B tập mờ, ký hiệu A∩B, xác định hàm thành viên µA∩B(x) = t(µA(x),µB(x)) Trong t(a,b) ánh xạ [0,1]x[0,1]→ [0,1] thoả điều kiện sau 1) t(0,0) = 0, t(1,a) = t(a,1) = a 2) t(a,b) = t(b,a) 3) a ≤ a’ b ≤ b’ t(a,b) ≤ t(a’,b’) 4) t(t(a,b),c) = t(a,t(b,c)) t(a,b) gọi t-norm Một số t-norm thông dụng Luật PROD : µA∩B(x) = µA(x)µB(x) Luật MIN : µA∩B(x) = {µA(x), µB(x)} Luật Lukasiewicz: µA∩B(x) = max{0, µA(x) + µB(x) - 1} Luật khác : µA∩B(x) = µA(x)µB(x)/[2 - µA(x) - µB(x) + µA(x)µB(x)] Ví dụ: Giao hai tập mờ A B dùng luật PROD luật MIN (hình 1.6 bảng 1.6) soft computing Hình 1.6: Giao hai tập mờ Bảng 1.6 x µA(x) µB(x) µA∩B(x) (luật PROD) µA∩B(x) (luật MIN) 0 0 0,5 0 0 0,75 0,25 0,1875 0,25 0,5 0,5 0,25 0,5 0,25 0,75 0,1875 0,25 0 16 0 18 0,5 0 20 0 0 Giao hai tập mờ khác sở A : tập mờ sở X với hàm thành viên µA(x) B : tập mờ sở Y với hàm thành viên µB(y) Giao tập mờ khác sở A B giao hai tập mờ mở rộng A B với hàm thành viên µA∩B(x,y) = µA∩B(x,y) Ví dụ : Giao hai tập mờ A B (hình 1.5, bảng 1.2 1.3) dùng luật PROD (bảng 1.7) luật MIN (bảng 1.8) Bảng 1.7 : µA∩B(x,y) = µA∩B(x,y) dùng luật PROD y µA∩B(x,y) -2 0 0 0 -1 0,25 0,5 0,5 0,5 0,25 x 0 0,5 1 0,5 0,25 0,5 0,5 0,5 0,25 0 0 0 10 soft computing Bảng 1.8 : µA∩B(x,y) = µA∩B(x,y) dùng luật MIN y µA∩B(x,y) -2 0 0 0 -1 0,5 0,5 0,5 0,5 0,5 x 0 0,5 1 0,5 0,5 0,5 0,5 0,5 0,5 0 0 0 c) Bù (complement) Xét tập mờ A với hàm thành viên µA(x) Bù A tập mờ, ký hiệu A , xác định hàm thành viên µ A (x) = c(µA(x)) Trong c(a) ánh xạ [0,1]→ [0,1] thoả điều kiện sau 1) c(0) = 1, c(1) = 2) a < b c(a) ≥ c(b) Định nghĩa thơng dụng µ A (x) = - µA(x) Hình 1.7 : bù tập mờ Hình 1.8 : tập mờ tốc độ xe 1.1.4 Biến ngôn ngữ a) Biến ngơn ngữ Ví dụ : tốc độ xe V mơ tả tập mờ (hình 1.8) - Chậm với hàm thành viên µC(v) - Vừa với hàm thành viên µV(v) - Nhanh với hàm thành viên µN(v) b) Gia tử (hedge) Các trạng từ nhấn mạnh : rất, hơi, có vẽ, , dùng để định nghĩa tập mờ từ tập mờ có sẳn µrất nhanh(v) = [µ nhanh(v)]2 rất µrất nhanh(v) = [µ nhanh(v)]n với n >