Mục lục Chương 1 TỔNG QUẢN VỀ HỆ CHUYÊN GIA 3 1 1 Hệ chuyên gia là gì? 3 1 2 Cấu trúc 3 1 2 1 Bộ giao diện người máy 4 1 2 2 Mô tơ suy diễn 4 1 2 3 Cơ sở tri thức 4 1 2 4 Bộ giải thích 4 1 2 5 Bộ tiếp[.]
Trang 1Mục lục
Chương 1: TỔNG QUẢN VỀ HỆ CHUYÊN GIA 3
1.1 Hệ chuyên gia là gì? 3
1.2 Cấu trúc 3
1.2.1 Bộ giao diện người máy 4
1.2.2 Mô tơ suy diễn 4
1.2.3 Cơ sở tri thức 4
1.2.4 Bộ giải thích 4
1.2.5 Bộ tiếp nhận tri thức 4
1.2.6 Bộ nhớ làm việc 5
1.3 Các lĩnh vực ứng dụng 6
Chương 2: LOGIC MỜ 7
2.1 Tập rõ, tập mờ 7
2.1.1 Các khái niệm 7
2.2 Các phép toán trên tập mờ 10
2.3 Suy diễn mờ 11
2.3.1 Biểu diễn tri thức bằng các sự kiện mờ, luật 11
2.3.2 Suy diễn mờ 12
2.4 Quy trình giải bài toán bằng logic mờ 13
Chương 3: XÂY DỰNG ỨNG DỤNG 18
3.1 Phát biểu bài toán 18
3.2 Thiết kế chương trình 18
3.3 Hình ảnh minh họa 26
KẾT LUẬN 35
TÀI LIỆU THAM KHẢO 36
Trang 2Chương 1: TỔNG QUẢN VỀ HỆ CHUYÊN GIA 1.1 Hệ chuyên gia là gì?
Theo E Feigenbaum : Hệ chuyên gia (Expert System) là một chương trìnhmáy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận(inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi nhữngchuyên gia mới giải được Hệ chuyên gia là một hệ thống tin học có thể môphỏng (emulates) năng lực quyết đoán (decision) và hành động (making abilily)của một chuyên gia (con người) Hệ chuyên gia là một trong những lĩnh vực ứngdụng của trí tuệ nhân tạo (Artificial Intelligence)
1.2 Cấu trúc
Các hành phần của hệ chuyên gia
Trang 31.2.1 Bộ giao diện người máy
Thực hiện giao tiếp giữa HCG và người sử dụng Bộ này nhận các thông tin
từ người sử dụng và đưa ra các câu trả lời, các lời khuyên, các giải thích về lĩnhvực đó
1.2.2 Mô tơ suy diễn
Hệ chuyên gia mô hình hóa cách lập luận của con người với mô dun động
cơ suy diễn Hệ chuyên gia chứa động cơ suy diễn để tiến hành các suy diễn nhằm tạo ra các tri thức mới dựa trên các sự kiện, tri thức trong vùng nhớ làm việc và tri thức trong cơ sở tri thức.Hai kiểu suy diễn chính trong động cơ suy diễn là suy diễn tiến và suy diễn lùi
về con đường mà hệ chuyên gia sử dụng mang lại kết quả
1.2.5 Bộ tiếp nhận tri thức
Làm nhiệm vụ thu nhận tri thức từ hệ chuyên gia con người (human
expert), từ kỹ sư xử lý tri thức và người sử dụng thông qua các yêu cầu và lưu trữ vào CSTT
Trang 41.2.6 Bộ nhớ làm việc
Chứa các sự kiện liên quan được phát hiện trong quá trình đưa ra kết luận
Bộ nhớ làm việc tương đương với bộ nhớ ngắn hạn(Short- Term Memory) trong
mô hình giải quyết vấn đề của con người
Trang 5Lập luận dựa trên những chứng cứ quan sát được
Truyền đạt Dạy học kiểu thông minh sao cho sinh viên có thể hỏi vì sao,
như thế nào, và cái gì nếu giống như hỏi một người thấy giáo.Giải thích Giải thích những dữ liệu thu thập được
Kiểm tra So sánh dữ liệu thu lượm được với dữ liệu chuyên môn để đánh
giá hiệu quảLập kế
hoạch
Lập kế hoạch sản xuất theo yêu cầu
Dự đoán Dự đoán hậu quả từ một tình huống xảy ra
Chữa trị Chỉ định thụ lý một vấn đề
Điều khiển Điều khiển một quá trình, đòi hỏi diễn giải, chuẩn đoán, kiểm
tra, lập kế hoạch, dự đoán và chữa trị
Trang 6Chương 2: LOGIC MỜ 2.1 Tập rõ, tập mờ
2.1.1 Các khái niệm
Logic mờ xuất hiện đầu tiên vào những năm 1920 nhưng mãi đến năm
1965, giáo sư Lotfi Zadeh mới hoàn thiện, đưa ra một lý thuyết tập mờ (FuzzySet Theory) hoàn chỉnh và công bố lần đầu tiên tại Mỹ 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
Trong logic rõ, một tập hợp A thường có một biên rõ để phân biệt giữa các đốitượng thuộc A và các đối tượng không thuộc A Từ đó người ta có thể trả lờichính xác câu hỏi: x có thuộc A hay không? Còn trong logic mờ, biên giới giữacác đối tượng thuộc tập A và các đối tượng không thuộc tập A là không rõ ràng
và nó được phản ánh bởi một hàm thuộc μA(x) (xem định nghĩa hàm thuộc dướiđây) Lấy một ví dụ, rất khó có thể chọn ra các học sinh có trạng thái tình cảm là
“buồn” trong một lớp học vì “buồn” là một khái niệm mờ
- Biến ngôn ngữ là thuật ngữ mô tả các khái niệm trong logic mờ VD: nhiệt
độ,
chiều cao, cân nặng,…
- Giá trị ngôn ngữ là những giá trị mà một biến ngôn ngữ có thể nhận được
diễn giải bằng ngôn ngữ tự nhiên Giá trị ngôn ngữ phản ánh sự mờ hóa của biếnngôn ngữ:
Trang 7- Tập mờ được định nghĩa như sau:
● Cho X là một tập không rỗng, gọi là tập vũ trụ hay tập tham chiếu.Một tập mờ A trong vũ trụ X là một hàm: μA: X → [0,1]
● Hàm μA được gọi là hàm thuộc của tập mờ A mỗi phần tử x X xácđịnh một giá trị μA(x) [0,1] gọi là mức thuộc của x trong tập mờ A Mức thuộc
μA(x) biểu thị mức độ chân lý của sự kiện x X và thể hiện tính mờ của tập hợp.
● Có 2 phương pháp sử dụng hàm thuộc để tính độ phụ thuộc của mộtphần tử x nào đó: tính trực tiếp nếu μA cho trước dưới dạng công thức hoặc trabảng nếu A được cho dưới dạng bảng
● Để tiện so sánh, ta có thể tham khảo lại hàm đặc trưng XA của mộttập hợp A trong lý thuyết tập hợp: XA: X → {0, 1}
● XA nhận giá trị trong tập {0, 1} sao cho:
XA(x) = 1 nếu x A, XA(x) = 0 nếu x A
● Độ cao H của một tập mờ a (định nghĩa trên tập vũ trụ X) là giá trị
H = sup { μA(x) | x X}
● Một tập mờ với ít nhất một phần tử có độ phụ thuộc = 1 (H=1) được gọi là
tập mờ chính tắc, ngược lại một tập mờ với H<1 được gọi là tập mờ không chính tắc.
● Miền xác định S của tập mờ A (định nghĩa trên tập vũ trụ X) là tậpcon của X thỏa mãn: S = { x X | μA(x) >0 }
● Miền tin cậy T của tập mờ A (định nghĩa trên tập vũ trụ X) là tập concủa X thỏa mãn: T = {x ∈ X | μA(x) = 1 }
Ví dụ sau sẽ chỉ ra sự khác nhau giữa tập mờ và tập rõ:
Cho biến ngôn ngữ = “chiều cao” và giá trị ngôn ngữ = “thấp”
Trong đó tập vũ trụ H của biến ngôn ngữ “chiều cao” (ký hiệu: H - tập chiều cao;
Trang 8Hình 2 Đồ thị hàm thuộc μ thấp (h)
Khi đó, nếu một người có chiều cao h=1.5m, chiều cao của người này được coithuộc tập mờ “Chiều cao là thấp” với mức độ 0.67, nói theo ngôn ngữ tự nhiên là
Trang 9“khá thấp” Trong khi tập rõ lại khẳng định chiều cao như vậy là không thấp(h>1.4m) Rõ ràng cách tiếp cận theo lý thuyết tập mờ là mềm dẻo hơn và tổngquát hơn.
Cho X là tập hợp: A, B là hai tập mờ trong X và có các hàm thuộc lần lượt
là μ ´A , μ ´A Phép trừ của hai tập hợp mờ A và B trong X kí hiệu A\B được địnhnghĩa như sau: A\B = A∩ ´B
⮚ Luật De Morgan
Cho A, B là hai tập con của X, khi đó:
(A ∪ B) C = A C ∩ B C và (A ∩ B) C = A C ∪ B C
Trang 102.3 Suy diễn mờ
2.3.1 Biểu diễn tri thức bằng các sự kiện mờ, luật
Lý thuyết tập mờ là khung toán học chặt chẽ (không có gì mập mờ trong
lý thuyết tập mờ) để nghiên cứu những khái niệm mờ một cách cụ thể và chặtchẽ Nó cũng có thể được coi như một ngôn ngữ mô hình rất phù hợp cho cácquan hệ, các tiêu chuẩn, các hiện tượng mờ
Khi xây dựng một hệ chuyên gia nhằm mục đích trợ giúp chẩn đoán bệnh, máytính sẽ phải xử lý một loạt các thông tin mờ (ranh giới không định nghĩa được rõràng) Không thể đưa các thông tin này vào máy mà không qua xử lý Ví dụ:mức độ sốt có thể là “nhẹ”, “hơi hơi”, “cao”, “rất cao”, … hoặc thời gian sốt lại
có thể là “ngắn”, “khá lâu”, “lâu”, “rất lâu” Đây chính là nơi mà lý thuyết tập
mờ - một ngành đang phát triển mạnh của toán học, phát huy sức mạnh của nó
Lý thuyết tập mờ là một công cụ toán học có hiệu quả dùng để biểu diễn và thaotác trên các thông tin mờ các hệ chuyên gia ứng dụng trong y tế sử dụng lýthuyết này để suy diễn, đưa ra lời khuyên hoặc chẩn đoán nhờ lý thuyết toán họcnày, chúng ta có thể đưa vào máy tính những thông tin không chính xác có dạngnhư “rất”, “hơi hơi”, “khá”, “có lẽ”…
- Sự kiện mờ
Với một hệ chuyên gia chẩn đoán bệnh nói chung, tri thức của các bác sĩ chính lànhững sự kiện mờ Các sự kiện mờ này được mô tả dưới dạng các biến ngôn ngữtương ứng
Ví dụ:
● X có thể được mô tả dưới các giá trị ngôn ngữ:
A= {“hơi sưng”, “sưng vừa”, “rất sưng”}
Sự kiện mờ được biểu diễn ở dạng: X is A
Trang 11Khi đó, mỗi sự kiện tương ứng một tập mờ Chẳng hạn ở ví dụ trên, các sự kiện
mờ là: “Khớp hơi sưng”, “Khớp sưng vừa”, Khớp rất sưng”
- Biểu diễn luật mờ
Một luật mờ bao gồm: Các tiền đề chứa trong phần IF và kết luận chứa trongphần THEN Các tiền đề và kết luận trong luật mờ là những giá trị mờ, được nốivới nhau bằng toán tử AND Luật mờ đơn giản được biểu diễn như sau:
IF X IS A THEN Y IS B
Cụ thể với các tập mờ A và B, ta có luật mờ tổng quát như sau:
IF A{x, μA(x)} AND B{y, μB(y)} AND AND C {z, μC(z) }THEN D{t, μD(t) } AND E{u, μC(u) } AND AND F{ v, μC(v) }
2.3.2 Suy diễn mờ
Cho luật mờ: IF A THEN B
Giả sử ta có giả thiết A’ có cùng tập vũ trụ với A, suy diễn mờ sẽ cho biết kếtluận B’ có cùng tập vũ trụ với B là gì Để có thể thực hiện được như vậy thì mỗiluật mờ dạng IF A THEN B có thể biểu diễn bởi một ma trận M gọi là ma trậnliên hệ mờ có kích thước n x m (với n,m là lực lượng tập vũ trụ của tập mờ A vàB)
Người ta có 2 cách để xây dựng ra ma trận này:
● Max-min: Mij = min(μA(ai) , μB(bj) )
● Max-product: Mij = μA(ai) * μB(bj)
Để tìm được B’ khi biết A’ người ta sử dụng công thức xác định như sau:
B’j = max(min(μA(ai),Mi,j)) (i=1 n)
Phép max ở đây tương đương với chuẩn t-conorm, còn phép min tương đươngvới chuẩn t-norm (xem các chuẩn t-norm, t-conorm)
Trang 12Trong một số hệ chuyên gia, nếu giá trị cho giả thiết A’ là một giá trị rõ, (giả sửai) khi đó người ta tính trực tiếp tập mờ B’ như sau
● Max-min: B’j = min(μA(ai) , μB(bj) )
● Max-product: B’j = μA(ai) * μB(bj)
Trong thực tế, có những luật mờ có dạng
Trong đó Ai và B là các tập mờ Khi đó không thể xây dựng được ma trận quan
hệ mờ như trước được Một trong cách tiếp cận của Kosko (1992) là tách thành nluật mờ rời rạc Sau đó dựa trên các giả thiết A1’,A2’,…,An’ để tính ra B1,B2,
…,Bn Kết quả B’ thu được sẽ được tính bằng việc hợp hoặc giao các tập mờB1,B2,…,Bn tuỳ thuộc vào dạng kết nối logic của luật mờ
Có thể trong hệ chuyên gia tồn tại nhiều luật mờ dạng:
2.4 Quy trình giải bài toán bằng logic mờ
*Quy trình:
Bước 1: Xây dựng biến ngôn ngữ và các hàm thành viên(Mờ hóa)
Bước 2: Xây dựng hệ cơ sở tri thức
Bước 3: Viết tập luật
Bước 4: Tính toán mờ
Trang 13Bước 5: Giải mờ
*Ví dụ: Bài toán bơm nước:
Bước 1: Xây dựng biến ngôn ngữ và các hàm thành viên (khâu mờ hóa)
Cho 1 bể nước cao 10m có 3 mức nước: X: -Cao: μCao(X)
-Lưng: μLưng(X)-Cạn: μCạn(X)
Một hồ nước cao 2m có 3 mức nước: Y: -Đầy: μĐầy(Y)
-Vừa: μVừa(Y)-Cạn: μCạn(Y)
Một cái bơm có 3 trạng thái: Z: -Bơm lâu: 30’
-Bơm hơi lâu: 20’
-Bơm vừa: 15’
Bước 2: Xây dựng hệ cơ sở trí thức Từ kinh nghiệm (ý kiến của chuyên gia) ta
có thể xây dựng được bảng như dưới đây
Y(hồ)
X(bể)
Bước 3: Viết luật Từ bảng mô tả tri thức trên, có thể mô tả thành 4 luật như sau:
Luật 1: IF(x là cao) ∧ (y là vừa) THEN (z là bơm vừa)
Luật2: IF (x là lưng) ∧ (y là vừa) THEN (z là bơm vừa)
Luật 3: IF (x là cao) ∧ (y là cạn) THEN (z là bơm lâu)
Trang 14Luật 4: IF (x là lưng) ∧ (y là cạn) THEN (z bơm hơi lâu)
Bước 4: Tính toán mờ (hay chính xác hơn suy diễn mờ) thuộc khối: động cơ suy
diễn (Inference Engine: phần chính yếu của hệ mờ) Để thực hiện tính toán mờ bằng trực quan, chúng ta mô tả lời giải bằng phương pháp đồ thi hay ma trận (bảng) suy diễn Trong ma trận (bảng) dưới đây, các dòng thể hiện các luật; các cột gồm hai phần: i) phần đầu vào phía bên trái mô tả đầu vào 1: biến x, đầu vào 2: biến y; ii) phần đầu ra y
Phần chuẩn bị Vẽ đồ thị theo mô tả của luật đưa các giá trị ban đầu là y0= 1^m, giá trị ban đầu của hồ là x0 = 2^m vào các cột tương ứng Các giá trị đó cắt các đường đặc tính của các hàm thuộc về với các giá trị tương ứng Tại các điểm cắt, kéo theo trục ngang; gạch chân phần diện tích mà đương kéo dài trục ngang với trục ngang tọa độ (xem hình dưới đây)
Phần suy diễn mờ
Giả sử luật suy diễn được chọn là Suy diễn Mamdani Trong bài toán này, các luật hợp thành của các luật mờ sử dụng toán tử AND Và luật tính giá trị hàm thuộc về đầu ra là hàm MIN Để thực hiện điều này trên đồ thị, thực hiện từng dòng (theo từng luật như sau: Từ các giá trị hàm thuộc của mỗi dòng, xét giá trị nào nhỏ nhất (MIN), chiếu sang kết quả đầu ra.cắt đường đặc trưng đầu ra của mỗi đường Gạch chéo phần diện tích được bao của đầu ra như đã gạch chân ở đầu vào Lặp lại cho hết các luật (các dòng trên biêu đồ ma trận)
Trang 15Bước 5: Giải mờ
Từ các kết quả ở bước B4, sử dụng một trong các phương pháp mờ hóa để tìm kếtquả cuối cùng Cho dù phương pháp này hay phương pháp khác, nguyên tắc chung của giải mờ được những nhà nghiên cứu sử dụng theo nguyên lý trung bình của các đầu ra Để đơn giản trong minh họa và hiểu được nguyên tắc, nhưng không làm mất tính tổng quát, chúng ta sử dụng phương pháp tính toán trung bìnhtheo các giá trị lớn nhất của các cận trái và cận phải; Đối với đầu ra của luật
Trang 161(dòng 1): ZMAX.1=6 (phút); ZMAX.2=30-6 (phút) ZTRUNG_BÌNH.1=
(ZMAX.1+ ZMAX.2)/2= [6 phút +(30-6 phút]/2= 15 phút
Trang 17Chương 3: XÂY DỰNG ỨNG DỤNG
3.1 Phát biểu bài toán
Chọn độ rộng đường bằng 4 và mật độ giao thông bằng 20 làm biến đầu vào Tính thời gian dừng đèn đỏ bằng logic mờ
⇨ Ta đi xây dựng các biến ngôn ngữ cùng trạng thái
a Độ rộng đường (0 – 10 dơn vị-mét vuông)
Trang 18b Mật độ giao thông
Trang 19c Thời gian dừng đèn đỏ
a Tập luật
M.độ thưa M.độ đông M.độ rất đông Làn đường Hẹp T.gian Vừa T.gian Lâu T.gian Lâu
Làn đường Vừa T.gian Nhanh T.gian Vừa T.gian Vừa
Làn đường Rộng T.gian Nhanh T.gian Nhanh T.gian Nhanh
b Thuật toán
B1: Xác định các luật mờ
Luật 1: IF x is MĐ.thưa and y is DR.hẹp THEN z is TG.vừa
Luật 2: IF x is MĐ.đông and y is DR.hẹp THEN z is TG.lâu
Luật 3: IF x is MĐ.rất đông and y is DR.hẹp THEN z is TG.lâu
Luật 4: IF x is MĐ.thưa and y is DR.vừa THEN z is TG.nhanh
Luật 5: IF x is MĐ.đông and y is DR.vừa THEN z is TG.vừa
Trang 20Luật 6: IF x is MĐ.rất đông and y is DR.vừa THEN z is TG.vừa
Luật 7: IF x is MĐ.thưa and y is DR.rộng THEN z is TG.nhanh
Luật 8: IF x is MĐ.đông and y is DR.rộng THEN z is TG.nhanh
Luật 9: IF x is MĐ.rất đông and y is MĐ.rất đông THEN z is TG.nhanh
Trang 21với mỗi luật ta đi tìm các giá trị M để tính M của thời gian
do mỗi luật đầu có dấu & => lấy min giữa 2 giá trị M
Trang 22T = h6∗(3∗m22 −3∗m12
+b2
−a2 +3∗m1∗a+3∗m2∗b)
● y0{ làn đường hẹp: 0.2; làn đường vừa: 0.5; làn đường rộng: 0}
● z0{ mật độ thưa: 0.43; mật độ đông: 0.2; mật độ rất đông: 0}
=>w3= h.thời gian lâu = min(0.2;0) = 0
r4: h.làn đường vừa = 0.5 và h mật độ thưa = 0.43
=>w4= h.thời gian nhanh = min(0.5;0.43) = 0.43
r5: h.làn đường vừa = 0.5 và h mật độ đông = 0.2
=>w5= h.thời gian vừa = min(0.5;0.2) = 0.2
Trang 23r6: h.làn đường vừa = 0.5 và h mật độ rất đông = 0
=>w6= h.thời gian vừa = min(0.5;0) = 0.2
Trang 24Áp dụng công thức trên ta tính được:
Trang 27Hình 3.1: Lớp DoRong
Trang 29Hình 3.2: Lớp MatDo
Trang 32Hình 3.3: Lớp GiaiMo
Trang 33Hình 3.4: Chương trình
Hình 3.5: Kết quả chạy chương trình
Trang 34KẾT LUẬN
Việc thiết kế một chương trình dự báo thời gian dừng đèn đỏ dựa trên logic mờ phù hợp với thể nhu cầu của mọi người là mục tiêu chương trình hướngđến, để từ đó ta có thể tham khảo hoặc lấy thêm ý kiến từ chuyên gia để giúp việc dự đoán thời gian dừng đèn đỏ hiệu quả và chính xác nhất
Trang 35TÀI LIỆU THAM KHẢO
1 Giáo trình Hệ Chuyên Gia : Trần Hùng Cường, Trần Thanh Hùng, NXB Khoa
Học và Kỹ Thuật
2 6J3ZgELE5mB
https://viblo.asia/p/su-dung-he-mo-giai-bai-toan-tinh-thoi-gian-bom-nuoc-3 https://fita.vnua.edu.vn/wp-content/uploads/2013/06/F_Ch.1.pdf