Vai trò của công nghệ tri thức Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhucầu của người dùng đối với máy tính ngày một cao hơn: không chỉ giải quyết
Trang 1CHƯƠNG I TỔNG QUAN VỀ CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 3
1 Công nghệ tri thức 3
2 Vai trò của công nghệ tri thức 4
CHƯƠNG II LOGIC MỜ (FUZZY LOGIC) 5
1 Tổng quan về Logic mờ (Fuzzy Logic) 5
2 Ứng dụng của Logic mờ 6
CHƯƠNG III HỆ THỐNG MỜ 8
1 Các khái niệm cơ bản 8
1.1 Tập rõ và hàm thành viên 8
1.2 Tập mờ và hàm thành viên 8
1.3 Các dạng của hàm thành viên 9
a) Dạng S tăng 9
b) Dạng S giảm 10
c) Dạng hình chuông 10
2 Các phép toán trên tập mờ 11
2.1 Phép giao 11
2.2 Phép hội 11
2.3 Phép bù 11
3 Các hệ thống mờ 12
3.1 Hàm thành viên cho các biến rời rạc 12
3.2 Hàm thành viên trong không gian các biến liên tục 13
4 Xử lý bài toán mờ 13
CHƯƠNG IV ỨNG DỤNG LOGIC MỜ TRONG BÀI TOÁN MÁY GIẶT 14
1 Giới thiệu bài toán 14
2 Bộ điều khiển mờ 15
3 Giải quyết bài toán 15
4 Giải thuật trên máy tính 22
CHƯƠNG V KẾT QUẢ ĐẠT ĐƯỢC 24
Trang 2CHƯƠNG VI TÀI LIỆU THAM KHẢO 25
1 Tài liệu giấy: 25
2 Tài liệu Web: 25
Trang 3CHƯƠNG I TỔNG QUAN VỀ CÔNG NGHỆ TRI
THỨC VÀ ỨNG DỤNG
1 Công nghệ tri thức
Công nghệ tri thức (Knowledge Engineering): có thể xem là một nhánh nghiên
cứu của trí tuệ nhân tạo, phân tích tri thức lĩnh vực và chuyển nó thành những mô hình
tính toán đưa vào máy tính để phục vụ những nhu cầu cần thiết (John F.Sowa Knowledge representation: Logical, philosophical, and Computational Foundations Copyright @2000 by Brooks/Cole A division of Thomson Learning)
Công nghệ tri thức (Knowledge Engineering): là các phương pháp, kỹ thuật được những kỹ sư tri thức (knowledge engineers) dùng để xây dựng những hệ thống thông
minh như: hệ chuyên gia, hệ cơ sở tri thức, hệ hổ trợ quyết định, etc (Dr Dickson Lukose Department of Mathematics, Statistics and Computer Science - The University
of New England Dr Rob Kremer Department of Computer Science The University of Calgary Calgary, Alberta, T2N 1N4 Canada Courses: KNOWLEDGE ENGINEERING, PART A: Knowledge Representation July 1996)
Công nghệ tri thức là những phương pháp, kỹ thuật dùng để:
Tiếp nhận, biểu diễn tri thức
Xây dựng các hệ cơ sở tri thức
Khám phá tri thức
Tham khảo và trích dẫn từ giáo trình “Công nghệ tri thức và
ứng dụng” của GS.TSKH Hoàng Văn Kiếm
Trang 42 Vai trò của công nghệ tri thức
Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhucầu của người dùng đối với máy tính ngày một cao hơn: không chỉ giải quyết nhữngcông việc lưu trữ, tính toán bình thường, người dùng còn mong đợi máy tính có khảnăng thông minh hơn, có thể giải quyết vấn đề như con người Và từ đó trí tuệ nhân tạonói chung và đặc biệt là công nghệ tri thức ra đời và phát triển
Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Công nghệthông tin, nâng cao sự hữu dụng của máy tính, giúp con người gần gũi với máy tính hơn
Công nghệ tri thức còn góp phần thúc đẩy nhiều ngành khoa học khác phát triển,khả năng phát triển khoa học dựa trên tri thức liên ngành
Trang 5CHƯƠNG II LOGIC MỜ (FUZZY LOGIC)
1 Tổng quan về Logic mờ (Fuzzy Logic)
lập luận một cách xấp xỉ thay vì lập luận chính xác theo lôgic vị từ cổ điển Lôgic 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ớithực cho các bài toán phức tạp (Klir 1997)
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àykhác hẳn nhau; độ đúng đắn của lôgic mờ biểu diễn độ liên thuộc với các tập được địnhnghĩ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, ta 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òngthì 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ảochỉ 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" hayhoàn toàn "không ở trong bếp" Các tập mờ được đặt cơ sở trên các định nghĩa mờ vềcác tập hợp chứ không phải dựa trên sự ngẫu nhiên
Lôgic mờ cho phép độ liên thuộc có giá trị trong khoảng đóng 0 và 1, và ở hìnhthức ngôn từ, các khái niệm không chính xác như "hơi hơi", "gần như", "khá là" và
"rất" Cụ thể, nó cho phép quan hệ thành viên không đầy đủ giữa thành viên và tập hợp.Tính chất này có liên quan đến tập mờ và lý thuyết xác suất Lôgic mờ đã được đưa ralần đầu vào năm 1965 bởi GS Lotfi Zadeh tại Đại học California, Berkeley
Mặc dù được chấp nhận rộng rãi và có nhiều ứng dụng thành công, lôgic mờ vẫn bịphê phán tại một số cộng đồng nghiên cứu Nó bị phủ nhận bởi một số kỹ sư điều khiển
vì khả năng thẩm định và một số lý do khác, và bởi một số nhà thống kê - những ngườikhẳng định rằng xác suất là mô tả toán học chặt chẽ duy nhất về sự không chắc chắn
(uncertainty) Những người phê phán còn lý luận rằng lôgic mờ không thể là một siêu
Trang 6tập của lý thuyết tập hợp thông thường vì các hàm liên thuộc của nó được định nghĩatheo các tập hợp truyền thống.
Tham khảo và trích dẫn từ “http://vi.wikipedia.org/wiki/Logic_m
%E1%BB%9D”
2 Ứng dụng của Logic mờ
Lôgic mờ có thể được sử dụng để điều khiển các thiết bị gia dụng như máy giặt(cảm nhận kích thước tải và mật độ bột giặt và điều chỉnh các chu kỳ giặt theo đó) và tủlạnh
Một ứng dụng cơ bản có thể có đặc điểm là các khoảng con của một biến liên tục
Ví dụ, một đo đạc nhiệt độ cho phanh (anti-lock brake) có thể có một vài hàm liên thuộc
riêng biệt xác định các khoảng nhiệt độ cụ thể để điều khiển phanh một cách đúng đắn.Mỗi hàm ánh xạ cùng một số đo nhiệt độ tới một chân giá trị trong khoảng từ 0 đến 1.Sau đó các chân giá trị này có thể được dùng để quyết định các phanh nên được điềukhiển như thế nào
Hình 1.2.1: miền chân trị
Trong hình, cold (lạnh), warm (ấm), và hot (nóng) là các hàm ánh xạ một thang
nhiệt độ Một điểm trên thang nhiệt độ có 3 "chân giá trị" , mỗi hàm cho một giá trị Đốivới nhiệt độ cụ thể trong hình, 3 chân giá trị này có thể được giải nghĩa là 3 miêu tả sau
về nhiệt độ này: "tương đối lạnh", "hơi hơi ấm", và "không nóng"
Các sản phẩm ứng dụng công nghệ cao trong cuộc sống hiện đại
Các hệ thống con của ô tô và các phương tiện giao thông khác, chẳng hạn các
hệ thống con như ABS và quản lý hơi (ví dụ Tokyo monorail)
Máy điều hòa nhiệt độ
Trang 7 Phần mềm MASSIVE dùng trong các tập phim Chúa nhẫn (Lord of the
Rings), phần mềm đã 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ự
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
Phần mềm dự đoán tăng giảm tỉ giá chứng khoán
Trang 8Khác với tập rõ, khái niệm thuộc về được mở rộng nhằm phản ánh mức độ x là phần
tử của tập mờ A Một tập mờ fuzzy set): A được đặc trưng bằng hàm thành viên m vàcho x là một phần tử m (x) phản ánh mức độ x thuộc về A
Ví dụ: Cho tập mờ Young Lan 16 tuổi, (Lan)=1, Hùng 25 tuổi, (Hùng)=0.5
Hình 3.1.1.2: miền chân trị tập mờ
Trang 91 -[2(x- )/( - )] nếu < x <
1 nếu x >=
Hình 3.1.3.1: Hàm S tăng
Trang 12a./ Xét tập mờ F = Nhanh xác định bởi hàm membership
nhanh: E 0,1
x1 nhanh (X)
Khi ta gán nhanh (20) = 0 nghĩa là tốc độ 20 Km/g được xem như là khôngnhanh
Hình 3.3.1.1: biểu đồ minh họa
theo nguyên tắc đó tập mờ nhanh = (20,0), (50,0.5), (80,0.6), 100, 1) hay vắntắt hơn Nhanh = 0,0.5,0.6,1
Vậy hàm thành viên đánh giá mức độ đúng của các tốc độ trong tập vũ trụ E vớikhái niệm nhanh Hàm này có tính chủ quan và do kinh nghiệm hay do thựcnghiệm
b./ Xét tập mờ trung-bình với hàm thành viên xác định như sau:
Hình 3.3.1.2: biểu đồ minh họa
thì tập Trung Bình = { 0.3,1,0.5,0 }
3.2 Hàm thành viên trong không gian các biến liên tục
Chẳng hạn như các tập mờ Nhanh và Trung bình ở trên có thể định nghĩa như là các hàm
nhanh (x) = (x/100)2
Trang 13 trung b ình(x )={ 0 if x<¿20
¿(x−20)/30 if 20≤x≤50
¿(100−x)/50 if 50≤x≤100Trong phần sau chỉ xét các hàm thành viên có biến liên tục
4 Xử lý bài toán mờ
Hình 3.4.1: sơ đồ xử lí bài toán mờ
Tham khảo và trích dẫn từ giáo trình “Công nghệ tri thức và
ứng dụng” của GS.TSKH Hoàng Văn Kiếm
BÀI TOÁN MÁY GIẶT
1 Giới thiệu bài toán
Ngày nay cùng với sự phát triển vượt bậc của khoa học công nghệ, việc cho lựa cácsản phẩm điện máy gia dụng thông minh ngày càng phổ biến và giá thành ngày càng thấp
(Theo số liệu khảo sát về thị trường máy giặt Electrolux cửa trước năm 2002 giá từ 12 – 15 triệu và 2012
là khoảng 8 triệu nếu so sánh về tính năng thì các máy giặt thông minh thế hệ 2012 vượt trội hơn hẳn).
Trang 14 Vậy thế nào được gọi là 1 sản phẩm điện máy thông minh (cụ thể là máy giặt)? 1sàn phẩm thông minh đầu tiên phải đáp ứng nhu cầu sử dụng của khách hàng và giảnlược tối đa các thao tác không cần thiết nhưng vẫn đảm bảo yêu cầu sử dụng, điều thứ 2
ta cần quan tâm là giá thành sản phẩm
Cụ thể với 1 chiếc máy giặt thông minh phải đáp ứng các yêu cầu đặt ra:
Giặt sạch quần áo
Không làm hư hỏng (rách, sờn, biến dạng, v.v…) quần áo sau khi giặt
Đơn giản hóa thao tác người dùng
An toàn khi vận hành (tự động ngắt điện khi gặp sự cố bên ngoài)
Tiết kiệm điện năng, nước, bột giặt (nước giặt)
Tối ưu hóa thời gian chờ (thời gian giặt)
Độ bền theo thời gian
V.v…
Khi ta dùng máy giặt, việc lựa chọn chế độ giặt dựa trên chất liệu quần áo, độ bẩn
Áp dụng logic mờ, ta có thể tự động hóa quá trình này nhờ vào các cảm biến tự độngxác định chất liệu, độ bẩn, khối lượng quần áo cần giặt từ đó xác định được thời gianhoàn tất quá trình giặt để giảm hao phí điện năng, nước, bột giặt (nước giặt)
2 Bộ điều khiển mờ
Giá trị đầu vào gồm 2 tham số: 2 giá trị này được đo thông qua các cảm biếnquang
Dirtiness (độ bẩn): được đo qua độ trong của nước
Greasy (dầu mỡ): được xác định bởi thời gian bảo hòa, do dầu mỡ khó hòa tanhơn các loại chất bẩn khác
Hình 4.2.1: sơ đồ xử lí bài toán
Trang 153 Giải quyết bài toán
Với tham số đầu vào Độ bẩn có các tập mờ
Với tham số đầu ra xác định thời gian giặt có các tập mờ
Giặt rất nhanh (T.VeryShort)
Giặt nhanh (T.Short)
Giặt vừa (T.Medium)
Giặt lâu (T.Long)
Giặt rất lâu (T.Very Long)
3.1 Xây dựng tập luật
Gọi x: chỉ Độ bẩn (0 <= x <= 100)
y: chỉ Loại chất bẩn (0 <= y <= 100)z: Thời gian giặt (0 <= z <= 60)
Ta có:
if x is Large and y is Greasy then z is VeryLong;
if x is Medium and y is Greasy then z is Long;
if x is Small and y is Greasy then z is Long;
if x is Large and y is Medium then z is Long;
if x is Medium and y is Medium then z is Medium;
Trang 16 if x is Small and y is Medium then z is Medium;
if x is Large and y is NotGreasy then z is Medium;
if x is Medium and y is NotGreasy then z is Short;
if x is Small and y is NotGreasy then z is VeryShort;
K.NotGreasy T.VeryShort T.Short T.Medium
Hình 4.3.1.1: sơ đồ tập luật
3.2 Xác định các hàm thành viên
Hàm thành viên của Độ bẩn:
D Small (x )={1−x /50 nếu 0≤x≤50¿0 nếu 50≤x≤100
D Medium (x)={¿2−x /50 nếu 50≤x≤100 1−x /50 nếu 0≤x≤50
D Large ( x )={¿x /50 – 1nếu 50≤x≤100 0 nếu 0≤x≤50
Hàm thành viên của Độ dầu mỡ:
K NotGreasy ( y )={1− y /50 nếu 0≤ y≤50¿0 nếu 50≤ y≤100
K Medium ( y )={¿2− y /50 nếu 50≤ y ≤100 y /50 nếu 0≤ y ≤50
K Greasy ( y )={¿y /50 – 1nếu 50≤ y≤100 0 nếu 0≤ y≤50
Hàm thành viên của kết luận cho từng luật:
T VeryShort ( z )={¿(18−z)/14 nếu 4≤z≤181 nếu 0≤z≤4
¿0 nếu 18≤z≤60
Trang 17T Short ( z )={ ¿(z−4)/14 nếu 4≤z≤18 0 nếu 0≤z≤4
Trang 20Hình 4.3.2.1: sơ đồ về các hàm thành viên
Các luật áp dụng trong bài toán máy giặt
R1 : If Dirtiness_Large And Greasy_Large Then Wash_Time_Verylong
R2: If Dirtiness_Medium And Greasy_Large Then Wash_Time_Long
R3: If Dirtiness_Small And Greasy_Large Then Wash_Time_Long
R4: If Dirtiness_Large And Greasy_Medium Then Wash_Time_Long
R5: If Dirtiness_Medium And Greasy_Medium Then Wash_Time_Medium
R6: If Dirtiness_Small And Greasy_Medium Then Wash_Time_Medium
R7: If Dirtiness_Large And Greasy_None Then Wash_Time_Medium
R8: If Dirtiness_Medium And Greasy_None Then Wash_Time_Short
R9: If Dirtiness_Small And Greasy_None Then Wash_Time_VeryShort
3.3 Giải bài toán mờ
Giả sử tham số đầu vào:
x =40 (Độ bẩn)
y=60 (loại chất bẩn)
Trang 21W1 = min(µD.Large(x0), µK.Greasy(y0)) = min(0,1/5) = 0
W2 = min(µD.Medium(x0), µK.Greasy(y0)) = min(4/5, 1/5) = 1/5
W3 = min(µD.Small(x0), µK.Greasy(y0)) = min(1/5, 1/5) = 1/5
W4 = min(µD.Large(x0), µK.Medium(y0)) = min(0, 4/5) = 0
W5 = min(µD.Medium(x0), µK.Medium(y0)) = min(4/5, 4/5) = 4/5
W6 = min(µD.Small(x0), µK.Medium(y0)) = min(1/5, 4/5) = 1/5
W7 = min(µD.Large(x0), µK.NotGreasy(y0)) = min(0, 0) = 0
W8 = min(µD.Medium(x0), µK.NotGreasy(y0)) = min(4/5, 0) = 0
W9 = min(µD.Small(x0), µK.NotGreasy(y0)) = min(1/5, 0) = 0
µC(z) = W2*T.Long(z) + W3*T.Long(z) + W5*T.Medium(z) + W6*T.Medium(z)µC(z) = 2/5*T.Long(z) + T.Medium(z)
Defuzzy(z) = moment/area
= µC(z) d(z) / (W1 + W2 + W3 + … + W9)
= 705.6 / 19.6
= 36 Với độ bẩn(=40) và độ dầu mỡ(=60) thì thời gian cần giặt là 36 phút.
Trang 224 Giải thuật trên máy tính
public object Fuzzy(double X, double Y)
dx = int.Parse(((X - MinX) / DeltaX).ToString());
dy = int.Parse(((Y - MinY) / DeltaY).ToString());
//Luat R1: If Dirtiness_Large And Greasy_Large Then Wash_Time_Verylong
t1 = Dirtiness_Large[dx];
t2 = Greasy_Large[dy];
t3 = min(Convert.ToDouble(t1), Convert.ToDouble(t2));
area = area + t3;
moment = moment + t3 * wash_time_verylong;
//Luat R2: If Dirtiness_Medium And Greasy_Large Then Wash_Time_Long
t1 = Dirtiness_Medium[dx];
t2 = Greasy_Large[dy];
t3 = min(Convert.ToDouble(t1), Convert.ToDouble(t2));
area = area + t3;
moment = moment + t3 * wash_time_long;
//Luat R3: If Dirtiness_Small And Greasy_Large Then Wash_Time_Long
t1 = Dirtiness_Small[dx];
t2 = Greasy_Large[dy];
t3 = min(Convert.ToDouble(t1), Convert.ToDouble(t2));
area = area + t3;
moment = moment + t3 * wash_time_long;
//Luat R4: If Dirtiness_Large And Greasy_Medium Then Wash_Time_Long
t1 = Dirtiness_Large[dx];
t2 = Greasy_Medium[dy];
t3 = min(Convert.ToDouble(t1), Convert.ToDouble(t2));
area = area + t3;
moment = moment + t3 * wash_time_long;
//Luat R5: If Dirtiness_Medium And Greasy_Medium Then Wash_Time_Medium
t1 = Dirtiness_Medium[dx];
t2 = Greasy_Medium[dy];