Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
PHÒNG ĐT SĐH-KHCN&QHĐN
TOÁN CHO MÁY TÍNH
Tên đề tài:
LOGIC MỜ VÀ PHÁT TRIỂN ỨNG
DỤNG DỰA TRÊN LOGIC MỜ
GVHD: PGS.TS Dương Tôn Đảm
Nhóm thực hiện:
Nguyễn Thị Kim Anh - CH1301078
Phan Tử Ánh - CH1301080
Trần Quốc Cường - CH1301082
Trần Văn Cường - CH1301083
Nguyễn Phương Thanh Diệu - CH1301085
TPHCM – 11/2014
MỤC LỤC
NHÓM HỌC VIÊN:2A2C1D Trang 1
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
NHÓM HỌC VIÊN:2A2C1D Trang 2
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
DANH SÁCH HỌC VIÊN THAM GIA THỰC HIỆN TIỂU LUẬN
Nguyễn Thị Kim Anh - MSHV: CH1301078
Phan Tử Ánh - MSHV: CH1301080
Trần Quốc Cường - MSHV: CH1301082
Trần Văn Cường - MSHV: CH1301083
Nguyễn Phương Thanh Diệu - MSHV: CH1301085
Bảng kế hoạch phân công thực hiện nhiệm vụ
ST
cho chúng em những kiến thức và tài liệu bổ ích giúp chúng em hoàn thành tốt bài thu
hoạch này!
NHÓM HỌC VIÊN:2A2C1D Trang 4
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
CHƯƠNG I: LOGIC MỜ
1. GIỚI THIỆU CHUNG VỀ LOGIC MỜ.
1.1. Giới thiệu
Logic mờ là một ngành của logic, xác định mức độ phụ thuộc hay mức độ thành viên
của một đối tượng đối với các tập thay vì xác định đối tượng đó thuộc hay không thuộc về
một tập. Logic mờ (Fuzzy logic) được phát triển từ lý thuyết tập mờ để thực hiện lập luận
một cách xấp xỉ thay vì lập luận chính xác theo logic vị từ cổ điển. Logic mờ có thể được
coi là mặt ứng dụng của lý thuyết tập mờ để xử lý các giá trị trong thế giới thực cho các bài
toán phức tạp
Năm 1965, Zadeh phát triển lý thuyết khả năng, đề xuất hệ thống hình thức của logic
toán học. Điều quan trọng là Zadeh đã hướng các nhà khoa học về các khái niệm mới. Đó là
khái niệm có giá trị trong thuật ngữ ngôn ngữ tự nhiên. Công cụ logic để thể hiện và xử lý
các thuật ngữ mờ được gọi là logic mờ.
Người ta hay nhầm lẫn mức độ đúng với xác suất. Tuy nhiên, hai khái niệm này khác
hẳn nhau; độ đúng đắn của logic mờ biểu diễn độ liên thuộc với các tập được định nghĩa
không rõ ràng, chứ không phải khả năng xảy ra một biến cố hay điều kiện nào đó. Để minh
họa sự khác biệt, xét tình huống sau: Bảo đang đứng trong một ngôi nhà có hai phòng thông
nhau: phòng bếp và phòng ăn. Trong nhiều trường hợp, trạng thái của Bảo trong tập hợp
gồm những thứ "ở trong bếp" hoàn toàn đơn giản: hoặc là anh ta "trong bếp" hoặc "không ở
trong bếp". Nhưng nếu Bảo đứng tại cửa nối giữa hai phòng thì sao? Anh ta có thể được coi
là "có phần ở trong bếp". Việc định lượng trạng thái "một phần" này cho ra một quan hệ liên
thuộc đối với một tập mờ. Chẳng hạn, nếu Bảo chỉ thò một ngón chân cái vào phòng ăn, ta
có thể nói rằng Bảo ở "trong bếp" đến 99% và ở trong phòng ăn 1%. Một khi anh ta còn
đứng ở cửa thì không có một biến cố nào (ví dụ một đồng xu được tung lên) quyết định rằng
Bảo hoàn toàn "ở trong bếp" hay hoàn toàn "không ở trong bếp". Các tập mờ được đặt cơ sở
đã giúp trình diễn những đội quân lớn, tạo các chuyển động một cách ngẫu nhiên nhưng vẫn
có thứ tự
• Camera
• Xử lý ảnh số (Digital image processing), chẳng hạn như phát hiện biên (edge detection)
• Nồi cơm điện
NHÓM HỌC VIÊN:2A2C1D Trang 6
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
• Máy rửa bát
• Thang máy
• Máy giặt và các thiết bị gia dụng khác
• Trí tuệ nhân tạo trong trò chơi điện tử
• Các bộ lọc ngôn ngữ tại các bảng tin (message board) và phòng chat để lọc bỏ các đoạn văn
bản khiếm nhã
• Nhận dạng mẫu trong Cảm nhận từ xa (Remote Sensing)
• Gambit System trong Final Fantasy XII
• Lôgic mờ cũng đã được tích hợp vào một số bộ vi điều khiển và vi xử lý, ví dụ Freescale
68HC12.
2. TẬP MỜ
2.1. 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 tuổi để xác
0.5
10020 50 80
E
120
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
Ví dụ: Tập mờ A là tập “số gần 2” xác định bởi hàm thuộc ta có thể ký
hiệu: A = hoặc A =
2.2. 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ả :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.2.1. 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 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.
2.2.2. 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.
NHÓM HỌC VIÊN:2A2C1D Trang 9
1
0.4
10020 50 80
E
120
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
(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) }
+ 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ơn mộ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 .
2.4.1. 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ụ :
μ
Trẻ
(An) = 0.8 và μ
Trung niên
Trẻ
∧
Trung Niên
(An) = min( 0.8, 0.3) = 0.3
2.4.3. Phép bù (hay toán tử NOT)
¬A
NHÓM HỌC VIÊN:2A2C1D Trang 12
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
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: μ
¬A
(x) = 1 - μ
A
(x)
Ví dụ :
μ
Trẻ
(An) = 0.8
μ
¬Trẻ
(An) = 1 – 0.8 = 0.2
Nhậ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: μ
¬A
∨
A
(x) ≡ 1 và μ
¬A
∧
Ví dụ:
Hàm phần bù Sugeno C(a) = 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) = 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.
2.5.2. Hợp mờ – các phép toán S-norm
Phé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ều kiện sau:
Tiên đề S1 (điều kiện biên): S(0,a) = a, a [0,1]
Tiên đề S2 (giao hoán): S(a,b) = S(b,a), a,b [0,1]
Tiên đề S3 (kết hợp): S(S(a,b),c) = S(a,S(b,c)), a,b,c [0,1]
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 định bởi:
(x) = S( (x), (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:
Tổng Drastic :
NHÓM HỌC VIÊN:2A2C1D Trang 14
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
Tổng chặn:
Tổng đại số:
Phép hợp Yager:
Trong đó w là tham số thoả w > 0
2.5.3. 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:
Tiên đề T1 (điều kiện biên): T(1,a) = a, a [0,1]
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
2.5.5. Quan hệ mờ
Cho U và V là các vũ trụ. Khi đó một quan hệ mờ hai ngôi R giữa U và V là một tập
mờ trong tích đề-các UxV. Như vậy ta có thể xác định hàm thuộc cho quan 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 , , …, là tập mờ = …
trên không gian tích … . Trong đó , i = 1 n
2.5.6. 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
(u,w) = T( (u,v), (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ờ :
Hàm hợp max-min:
(u,w) = min( (u,v), (v,w))
Hàm hợp max-tích (hay max-prod):
(u,w) = (u,v) . (v,w)
3. LOGIC MỜ
3.1. 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át biểu ở trên, theo cách định lượng
NHÓM HỌC VIÊN:2A2C1D Trang 17
1
0.9
10050 80
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 đó.
3.3. 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 = x U | P(x) .
Từ đó ta có:
P(x) = (x)
Trong đó là hàm đặc trưng của tập A ( x 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ộ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 sao cho:
NHÓM HỌC VIÊN:2A2C1D Trang 19
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
P(x) = (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ờ.
3.4. 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ó:
(x) => (y) = min(1, 1- (x)+ (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:
(x) => (y) = max( 1- (x), min( (x), (y))) (a)
(x) => (y) = max( 1- (x), (x). (y)) (b)
Kéo theo Mamdani
Ta có thể coi mệnh đề (x) => (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 đề (x) => (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ó:
NHÓM HỌC VIÊN:2A2C1D Trang 21
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
(x) => (y) = T( (x), (y))
Trong đó T là một T-norm. Khi chọn T là min hoặc tích ta có các phép kéo theo
Mamdani:
(x) => (y) = min( (x), (y)) (a)
(x) => (y) = (x). (y) (b)
3.6. Luật mờ
Một luật mờ là một biểu thức If - Then được phát biểu ở dạng ngôn ngữ tự nhiên
thể hiện sự phụ thuộc nhân quả giữa các biến.
Ví dụ:
Ifnhiệt độ là lạnh và giá dầu là rẻThensưởi ấmnhiều.
Trong đó:
- ‘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:
Giả thiết 2 (Sự kiện mờ) : ¬Q khá đúng
Kết luận : ¬P khá đúng
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:
(y) = T( (x,y), (x)) (*)
NHÓM HỌC VIÊN:2A2C1D Trang 23
Toán trong khoa học máy tính GVHD: PGS.TS DƯƠNG TÔN
ĐẢM
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 (x,y), chính là cách tính giá trị chân lý của phép kéo theo trình bày ở phần trước.
Như vậy tuỳ theo cách chọn cách tính luật kéo theo 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:
A = “nhiệt độ cao” =
B = “áp suất lớ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ệ)
R=
Bây giờ, giả sử ta biết sự kiện “nhiệt độ là trung bình” và
A’ = “nhiệt độ trung bình” =