Bài giảng Hệ chuyên gia - Trường Đại học Hàng Hải
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ chuyên gia - Trường Đại học Hàng Hải", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_he_chuyen_gia_truong_dai_hoc_hang_hai.pdf
Nội dung text: Bài giảng Hệ chuyên gia - Trường Đại học Hàng Hải
- BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HỌC MÁY TÍNH KHOA: CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỆ CHUYÊN GIA TÊN HỌC PHẦN : HỆ CHUYÊN GIA MÃ HỌC PHẦN : 17213 TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN HẢI PHÒNG - 2010
- MỤC LỤC NỘI DUNG TRANG Mở đầu 1 Chương 1: Tổng quan về hệ chuyên gia 2 1.1 Hệ chuyên gia - chƣơng trình ứng dụng (HCG - CTƢD) 2 1.2 Cấu trúc hệ chuyên gia 4 1.3 Ứng dụng hệ chuyên gia 5 B i tập chƣơng 1 6 Chương 2: Biễu diễn tri thức 7 2.1 Mở đầu 7 2.2 Dƣ thừa (Redundancy) 7 2.3 Mâu thuẫn (consistency - inconsistency) 11 2.4 Lƣu trữ CSTT 14 2.5 Soạn thảo tri thức 16 2.6 Cập nhật sửa đổi 16 B i tập chƣơng 2 17 Chương 3: Các kỹ thuật suy diễn và lập luận 18 3.1 Nhập môn 18 3.2 Phân rã CSTT 18 3.3 Mô tơ suy diễn 20 3.4 Biểu diễn tri thức bằng Logic vị từ v suy diễn 30 3.5 Ứng dụng các kỹ thuật suy diễn 32 B i tập chƣơng 3 37 Chương 4: Hệ hỗ trợ quyết định 38 4.1 Khái niệm về hệ hỗ trợ ra quyết định 38 4.2 Cấu trúc của một hệ hỗ trợ ra quyết định 39 B i tập chƣơng 4 41 Chương 5: Máy học 42 5.1 Thế n o l máy học 42 5.2 Học bằng cách xây dựng cây định danh 43 B i tập chƣơng 5 48 Chương 6: Logic mờ và lập luận xấp xỉ. 49 6.1 Biểu diễn tri thức bằng logic vị từ 49 6.2 Một số ví dụ 49 6.3 Cơ chế suy diễn 50 6.4 Biểu diễn tri thức bằng logic mờ v suy diễn 52 B i tập chƣơng 6 63 Đề cƣơng ôn tập 64 Đề thi mẫu 65
- Tên học phần: Hệ chuyên gia . Loại học phần : 3 Bộ môn phụ trách giảng dạy : Khoa học máy tính Khoa phụ trách: CNTT. Mã học phần: 17213 Tổng số TC: 3 TS tiết Lý thuyết Thực h nh/ Xemina Tự học B i tập lớn Đồ án môn học 60 45 0 0 15 0 Điều kiện tiên quyết: Sinh viên phải nắm đƣợc một ngôn ngữ lập trình v học môn TTNT. Mục tiêu của học phần: - Cung cấp các kiến thức cơ bản về các kỹ thuật biểu diễn v xử lý tri thức. - Rèn luyện tƣ duy khoa học. Nội dung chủ yếu: - Tổng quan về hệ chuyên gia; - Biểu diễn tri thức v lập luận; - Hệ hỗ trợ ra quyết định. - Máy học; - Logic mờ v lập luận xấp xỉ; Nội dung chi tiết: Phân phối số tiết Tên chương mục TS LT BT Xemina KT MỞ ĐẦU Chương I. Hệ chuyên gia, chương trình ứng dụng 08 08 1.1. Hệ chuyên gia - chƣơng trình ứng dụng 03 1.2. Cấu trúc hệ chuyên gia 03 1.3. Ứng dụng hệ chuyên gia 02 Chương II. Biểu diễn tri thức 08 08 2.1. Mở đầu 01 2.2. Dƣ thừa (Redundancy) 01 2.3. Mâu thuẫn (consistency - inconsistency) 01 2.4. Lƣu trữ CSTT 02 2.5. Soạn thảo tri thức 02 2.6. Cập nhật sửa đổi 01 Chương III. Các kỹ thuật suy diễn và lập luận 09 08 01
- 3.1. Nhập môn 01 3.2. Phân rã CSTT 02 01 3.3. Mô tơ suy diễn 01 3.4. Biểu diễn tri thức bằng Logic vị từ v suy diễn 02 3.5. Ứng dụng các kỹ thuật suy diễn 02 Chương IV. Hệ hỗ trợ quyết định 06 05 01 4.1. Khái niệm về hệ hỗ trợ ra quyết định 02 4.2. Cấu trúc của một hệ hỗ trợ ra quyết định 03 01 Chương V. Máy học 08 08 5.1. Thế n o l máy học 02 5.2. Học bằng cách xây dựng cây định danh 06 Chương VI. Logic mờ và lập luận xấp xỉ. 06 05 01 6.1. Biểu diễn tri thức bằng logic vị từ 01 6.2. Một số ví dụ 01 01 6.3. Cơ chế suy diễn 01 6.4. Biểu diễn tri thức bằng logic mờ v suy diễn 02 Nhiệm vụ của sinh viên: Lên lớp đầy đủ v chấp h nh mọi quy định của Nh trƣờng. L m b i tập lớn đúng hạn. Tài liệu tham khảo: 1. Nguyễn Thanh Thủy - Hệ Chuyên gia - Trƣờng Đại học Bách khoa H nội - 2002 2. Ho ng Kiếm - Các hệ cơ sở tri thức - Nh xuất bản ĐHQG TPHCM - 2002 3. JohnDurkin - Expert systems - NXB Prentic Hall - 1994 Hình thức và tiêu chuẩn đánh giá sinh viên: - Thi viết rọc phách, thời gian l m b i: 60 phút. Thang điểm : Thang điểm chữ A,B,C,D,F. Điểm đánh giá học phần: Z=0,3X+0,7Y. B i giảng n y l t i liệu chính thức và thống nhất của Bộ môn Khoa học máy tính, Khoa Công nghệ thong tin v đƣợc dùng để giảng dạy cho sinh viên. Ngày phê duyệt: / /2010 Trưởng Bộ môn: (ký và ghi rõ họ tên)
- Mở đầu Ng y nay việc ứng dụng công nghệ kĩ thuật cao v o đời sống đang l một đòi hỏi bức thiết. Một trong những lĩnh vực đó l trí tuệ nhân tạo, m một phần quan trọng của nó l Hệ chuyên gia. Vậy hệ chuyên gia l gì? Theo giáo sƣ Edward Feigenbaum của trƣờng đại học STANFORD , ông l một trong những chuyên gia đầu ng nh về hệ chuyên gia đã cho rằng: Hệ chuyên gia l một hệ thống chƣơng trình máy tính chứa các thông tin tri thức v các quá trình suy diễn về một lĩnh vực cụ thể n o đó dể giải quyết các b i toán khó m dòi hỏi sự uyên bác của các chuyên gia trong ngành. Một cách khác ta có thể thấy: Hệ chuyên gia = CSTT + MTSD + GD + Modul hỏi đáp + Thu nhận tri thức Các vấn đề của hệ chuyên gia: Quản trị tri thức Môtơ - suy diễn: Sd thông thƣờng Sd với Metaknowledge Sd không chắc chắn Sd xấp xỉ logic xác suất Logic mờ Giao diện Hỏi đáp KDD : thu nạp (phát hiện) tri thức từ dữ liệu HCG phân tán 1
- Chương 1: Tổng quan về hệ chuyên gia 1.1. Hệ chuyên gia - chương trình ứng dụng (HCG - CTƯD) Khái niệm: Hệ chuyên gia (HCG ) l một chƣơng trình ứng dụng (CTƢD) khai thác cơ sở tri thức (CSTT) thu nạp từ nguồn tri thức chuyên môn dựa trên việc sử dụng cơ chế suy diễn để giải quyết các b i toán tƣ vấn KHÓ đạt trình độ cỡ nhƣ một CHUYÊN GIA LÂU NĂM LÀNH NGHỀ i) Ta có sơ đồ mô tả nhƣ sau: HCGƢD = CSTT + MTSD (BDTT) Nguồn tri thức NSD Chuyên gia T i liệu chuyên môn Qua sơ đồ trên ta có thể thấy: Một chƣơng trình ứng dụng đƣợc xây dựng dựa trên CSTT v (MTSD) mô tơ suy diễn. Trong đó CSTT đƣợc lấy từ nguồn tri thức. Có hai loại l xin ý kiến từ các chuyên gia trong lĩnh vực đó, cũng có thể lấy theo cách thứ hai đó l tổng hợp từ các t i liệu chuyên môn. Còn MTSD phụ thuộc v o ngƣời dùng do ngƣời dùng đƣa ra . ii) Vai trò của kỹ sƣ tri thức (knowledge Engineer) Lĩnh vực CM Tin học 1. Xd HT3QL SUPER Super Nhà c/m Super Super LTV Super Analyzer SUPER 2. XD HCG C gia S LTV Super Kĩ sƣ TT Super iii) Xây dựng hệ chuyên gia 2
- Sau khi đã xét ai trò của các nhân tố ở mục trên ta có thể thấy rằng để xây dựng một hệ chuyên gia thì cần có sự tham gia của các nhân tố. v sự kết hợp của họ tiến h nh trong một thời gian d i( long-term). Các nhân tố bao gồm: - CGia - LTV - Kĩ sƣ tri thức iv) Hai phƣơng cách xây dựng hệ chuyyên gia ứng dụng Cách 1: Với cách n y có sự kết hợp v nỗ lực giũa các chuyên gia, các kĩ sƣ tri thức và các lập trình viên. Họ l m việc cùng nhau và kết quả l xây dựng một hệ chuyên gia. HCGƯD = ∑ nỗ lực (CGia + KSTT + LTV) Cognitive Engineering Cách 2: Trong cách này không có sự tham gia của Lập trình viên HCGƯD = ∑ nỗ lực (CGia + KSTT) + CÔNG CỤ ES Generation KBMS Shell ES ES Building to Empty ES v) Hệ tri thức(knowledge system) Tri thức đƣợc thu nạp từ nhiều nguồn khác nhau nhƣ là: +T i liệu +KDD +Knowledge Base System +Knowledge Base System : Hệ thống l m việc trên cơ sở tri thức vi) Hệ chuyên gia nhằm giải quyết b i toán tƣ vấn (consultation) khó vii) Hệ chuyên gia phải đạt trình độ cao HTTTQL HCG Nhiều thông tin Ít 3
- Nhanh Chậm SUPER cross - validation Chính xác KCX 1.2. Cấu trúc hệ chuyên gia Phiên tƣ vấn chuyên gia Tập tin (1) Ngày, giờ, tháng, năm, giới tính user TT(2) SD (3) Expert Kluận/ tƣ vấn (1) (0) Phiên thu nạp tri.thức : off - line (1) Phiên hỏi: để lấy thông tin (2) Suy diễn On - line (3) Giải đáp NSD C.Gia Giao diện (1) KSTT Soạn thảo Mô tơ suy diễn (3) Giải thích tri thức Các cơ chế Các cơ (4) (5) sử dụng chế ĐK CSTT(2 ) CS luật Cs sự KDD l.vực kiện CSDL (NSD) L 4
- Phân tích (If then) HCG = 1 +(2 + 3) + 4 + 5 + 6 Kenel(nhân) Ví dụ: (1) Đánh cờ i) CHƢƠNG TRÌNH CỜ = CTDL + Thuật giải Heuristic ii) Cẩm nang If thế cờ Then đi quân (2) Hệ Tử vi (3) Hệ khám bệnh 1.3. Ứng dụng hệ chuyên gia Hiên nay hệ chuyên gia đƣợc ứng dụng trong nhiều lĩnh vực khác nhau: ví dụ nhƣ công nghệp, nông nghiệp, khoa học máy tính, thƣơng mại khí tƣợng, y học, quân sự, hoá học Đặ biệt trong giai đoạn gần đây việc ứng dụng hệ chuyên gia vào lĩnh vực giáo dục đ o tạo đang đƣợc phát triển mạnh. Ở đâu cần tƣ vấn ở đó có thể xây dựng hệ chuyên gia nên phải * Các dạng b i toán (Sự tƣ vấn) 1 - Diễn giải (Interpretation): Đƣa ra mô tả tình huống các dữ liệu thu thập đƣợc. 2 - Dự báo (Hediction): đƣa ra hậu quả của một tình huống nào đó, nhƣ là dự báo thời tiết, dự báo giá cả thị trƣờng. 3 - Chuẩn đoán (Diagnosis): Xác định các lỗi , các bộ phận hỏng hóc của hệ thống dựa trên các dữ liệu quan sát đƣợc. (Khi hệ thống hoạt động không bình thƣờng) 4 - Gỡ rối (Debugging): Mô tả các phƣơng pháp khắc phục hệ thống khi gặp sự cố. 5
- 5 - Thiết kế : lựa chọn cấu hình các đói tƣợng nhằm thoả mãn một số ràng buộc nào đó: x: CAD Intelligent (x) : CAD 6 - Giảng dạy : Phần mềm dạy học, có thể chuẩn đoán và sủa lỗi của học sinh trong quá trình học tập. - Multimedia - Internet Bài tập chương 1: Câu 1: Hệ chuyên gia l gì? Cho ví dụ? Câu 2: Trình b y cấu trúc của một hệ chuyên gia trong thực tế. Câu 3: Liệt kê các hệ chuyên gia đã đƣợc ứng dụng thực tế (tối thiểu 6 hệ). 6
- Chương 2: Biểu diễn tri thức 2.1. Mở đầu Ở chƣơng trƣớc chúng ta đã có khái niệm đơn giản nhƣ thế nào là một hệ chuyên gia. Một thành phần vô cùng quan trọng của hệ chuyên gia đó là cơ sở tri thức. Thông qua các phiên thu nạp tri thức ( trực tiếp hay gián tiếp) chúng ta đã xây dựng đƣợc một cơ sở tri thức cho hệ chuyên gia. Vậy làm thế nào đẻ quản lí và thao tác xử lí để hệ chuyên gia có thể hoạt động đƣợc. Trong chƣơng này chúng ta sẽ đề cập đến vấn đề đó và giải quyết vấn đề đó nhƣ thế nào. HCSTT/ HCGƢD = CSTT + MTSD + Giao Diện + Giải thích + Thu nạp (KDD)/ Soạn thảo (Tri thức chuyên gia) KB Administrator - Dƣ thừa - Đúng đắn Chính xác phi mâu thuẫn Không chính xác - Tổ chức lƣu trữ suy diễn hiệu năng - Phân tán - Chuyển đổi biểu diễn các mức / user 2.2. Dư thừa (Redundancy) - CSTT = ( CS luật, CS sự kiện) Rule Base, Fact base Tri thức chuyên về l.vực Thông tin về một b i toán (cụ thể) 2.2.1. Dƣ thừa luật ĐN: cho CSTT: B1 = (R1, F1) B2 = (R2, F2) Ta nói R1 R2 Sức mạnh suy diễn của R1 bằng sức mạnh suy diễn của R2 Bao đóng suy diễn cho R. Xét A F Tiến * 7
- A R = f F/ A f GT VD: 1) a b c 2) b c d e 3) a d f 4) c g 5)a h 6) d c h 7) b u a+ = a,h a,b+ = a,b,c, g,u,h Nhận xét: Một luật trong logic mệnh đề PTH v bao đóng = bao đóng của PTH VD: Logic vị từ: V1: td (U, XY) tđ (V, XZ) SS (UV, YZ) V2: SS (UV, XY) SS (XY, ST) SS (UV, ST) V3: SS (UV, XY) SS (UT, XY) THAG (U,V,T) tđ (U, XY) tđ (U, YX) SS (UV, XY) SS (XY, UV) SS (UV, XY) SS (VU, XY) A Q P K L B C GT = tđ (P, AB), tđ (Q, AC), tđ (K,BQ), tđ (L,CP) 8
- GT R = ? VD: Quy nạp toán học P(x) (1) P(1) (2) P (i) P (i + 1) P(1)R = P(1), P(2), P(3), x P (x) * Việc xác định bao đóng suy diễn dựa v o SD tiến: Max, min,quece, stack a,d a,d,h suy diễn có tính chất đơn điệu (a,d,h,g) (đ.với logic m.đề) (3) VD: Y(x,y) C (x,y) Y(a,b),Y(a,c) Y(a,b), C(a,b) Y(a,c), C(a,c) VD: Xây dựng tập luật cho Robot A C B E C E A B Robot Tay (x) Tay ko Trong (x) Trên (x,y) Tay ko Trong (x) Tay (x) + Tay (x) Trong (y) Trên (x,y) + Trong (y) - Tay (x) San (x), Trong (x) + Ta nói R1 R2 A F A R1 = A R2 Giả sử R = m: R = 9
- ri : lefti qi le ft i K F (1+K)m = (m) = 0 (m) ĐN: Luật r R thừa trong R R\ r R Tiêu chuẩn 1 (áp dụng cho logic mệnh đề) r: left q R dƣ thừa q left R / r giải thích: left q R / r Câu hỏi: Thuật toán xác định bao đóng của 1 tập 2 A R 0 (m ) 0(m) (logic mệnh đề) (SD tiến) VD: 1) a m u 2) u c u c 3) a b c a b c 4) u b Q3 : Thứ tự có ảnh hƣởng r R không 5) b g 6) g c - Khi xét các biểu diễn l logic vị từ vấn đề dƣ thừa nhƣ thế n o? 2.2.2. Dƣ thừa sự kiện Giả sử cơ sở luật không chứa luật dư thừa ĐN: Xét r : left q f left f đƣợc coi l dƣ thừa trong r thay r bởi r’ : left \ f q vẫn có tập luật tƣơng đƣơng ( R r) r R 10
- TC 2: f dƣ thừa f (left \ rf ) R+ Giải thích: (m2) r: (left\ f ) f q 0 (m) CHÚ Ý: - Dƣ thừa không có ý nghĩa l vô ích - Duy trì dƣ thừa kéo theo nâng cao chất lƣợng suy diễn KSTT q.định dƣ thừa có vô ích hay không? VD: GT = a,m KL = c Vet1 = r1, r2 Vet2 = { r1, r4, r5, r6 } Luật hợp th nh (compositional rule): T vet1: a m c (tăng suy diễn, giảm bộ nhớ) VD: Hệ chuyên gia chứng minh biểu thức hoá học Tri thức 7: 2.3. Mâu thuẫn (consistency - inconsistency) 2.3.1 Mâu thuẫn tƣờng minh - Khi duyệt CSTT, chỉ qua ht bên ngo i của các luật đã phát hiện ra > 10 11
- Phát hiện mâu thuẫn m(m - 1) cặp (r, r’) 0(1) 2 le ft k 0(m2) 2 0(k ) 0 (K log2K) * Xử lý mâu thuẫn - Xử lý cục bộ : r > < Theo những đồ thị: bỏ luật cùng các cạnh liên thuộc để có một đồ thị con R\ R0 chỉ còn các đỉnh cô lập (tức l (R, R0, )) + Tiêu chuẩn (R0) max / min · Tiêu chuẩn (R0) = · R min · w(r) min r R0 12
- 2.3.2. Mâu thuẫn không tƣờng minh (KTM) ĐN: CSTT (R,F) chứa >< KTM F F 1) F không chứa cặp sự kiện đụng độ SUY DIỄN * 2) F R chứa cặp sự kiện đụng độ F F R R VD: _ 1) a b a,u R = a,u, e, e 2) b c 3) c d 4) d e 5) a u v 6) v w _ 7) w u e * Thuật toán: R={r1,r2 ,rm} Xét a F: R1={rj:leftj qj/a leftj} R2={rl:leftl ql/a leftl} R3=R\{R1,R2} ' ' R 1 = R1 R3 ; R 2 = R2 R 3 ' Mâu thuẫn không tƣờng minh (R) Mâu thuẫn không tƣờng minh (R 1 ) mâu thuẫn không tƣờng minh (R ) ’ Nếu a R1 = hoặc R2 = ; R = LA thì mâu thuẫn không tƣờng minh (R) 2 left R chứa cặp sự kiện đụng độ 0(m ) 2.4. Lưu trữ CSTT A. Cấu trúc tĩnh: Với bảng luật lƣu trữ bằng mảng ARRAY VD: 1) a b c a b c b c d e 2) b c d e a d f c g a h 13 d c h b u Vế trái Vế phải
- 3) a d f 4) c g 5) a h 6) d c h 7) b u Hai lƣu trữ cơ sở sự kiện v cơ sở luật Tên Ý nghĩa Cơ sở luật A + + + + SK1 SK2 SK3 KL b a b c c * * * * b c d e d - - - - a d f c g a f B. Cấu trúc động a + + a b e b . . . b c d e . . . . . . . c * * 14
- C. Cấu trúc lại CS/ Bảng sự kiện Giá trị: lƣu thực trong máy tính (boolean) Ngữ nghĩa: diễn giải ý nghĩa của nó Câu hỏi: user đƣa ra các gợi ý đối với sự kiện Trỏ: chỉ ra vị trí xuất hịên đầu tiên trong bảng luật trỏ 1: chỉ sự kiện tiếp theo trỏ 2: móc nối các sự kiện cùng tên trỏ 3: nạp 1 danh sách móc nối giữa các luật STT Tên Giá NN Ques VT VP Tro STT Tên Tro1 Tro2 Tro3 Dạng trị s.k 1 a – +++ ? 1 1 a 1 2 b – &&& ?? 1 2 b 1 3 c – ??? 1 1 3 c 1 4 b 1 4 d – ### ???? 1 5 c 1 5 e – $$$ ????? – 1 6 d 1 7 c 1 8 a 1 9 d 1 Chú ý” Cấu trúc dữ liệu nào thì gắn với thao tác đó + Cập nhật: thêm, bớt, sửa: tất cả thao tác này là do ngƣời quản trị tri thức, hay là kĩ sƣ tri thức đảm nhận + Suy diễn 15
- 2.5. Soạn thảo tri thức: K.E CSTT BDTT Chuyên gia (NN tự nhiên) a → b (NN lập trình) Text Editor Text Editor Text Editor Checker Mâu thuẫn Quản lí dƣ thừa Cú pháp text file PT cú pháp Sự chuyển đổi Văn phạm 2.6. Cập nhật sửa đổi A. Hiển thị CSTT Br ow er Dạng biểu thị ngo i text (linear) Đồ hoạ (non-) Linear a b c a c b c d e b d e 16
- B. Cập nhật Thêm có hại: mâu thuẫn Bớt Dị thƣờng Sửa bất lợi: dƣ thừa ___ Bài tập chương 2: B i 1: Biểu diễn một cơ sở tri thức trong thực tế gồm 6 luật. B i 2: Biểu diễn một cơ sở tri thức gồm 8 luật, xác định v xử lý các luật dƣ thừa. B i 3: Biểu diễn một cơ sở tri thức gồm 8 luật, xác định v xử lý các mâu thuẫn. 17
- Chương 3: Các kỹ thuật suy diễn và lập luận 3.1. Nhập môn Động cơ US ER CSTT Tình huống Kernel Động cơ, mô tơ hay máy suy diễn gồm 2 bộ phận chính: - Cơ chế suy diễn (Processor) gồm: + Suy diễn tiến Inference (CT, KL, set of facts) và KQ: boolean + Suy diễn lùi R: set of rule - Cơ chế cổ điển (control unit): + chọn hƣớng suy diễn (MACRO) + chọn luật thƣờng có MẸO (heuristc metaknowledge) + phân rã CSTT SD phân tán SD song song + Lọc (tinh) (nhìn thấy cái n o không cần thiết thì loại, xác định cái n o đƣợc chọn trƣớc) 3.2. Phân rã CSTT Fact Precedence Graph (FPG) = (F, A) + Đỉnh : tập các sự kiện + Cung: (a,b) A r: left b R ; a left 18
- D: 1) a b 2) b c a b c c 3) c e 4) c d e d 5) d e f 6) b h f 7) f h g h g Tập sự kiện: F = { a, b, c, d, e, f, g, h} tách ra hai sự kiện: F1 = { a, b, c} R1 = { a b, b c} F2 = { e, d, f, g, h} R2 = { d e f, f h g} R0 = {c e, c d, b h} F0 = {b, c, d, b, h} Đây l một cách phân R1 R0 R2 rã CSTT F0 eval({F1, F2}) min - Mô hình star R4 R1 R0 R2 R3 19
- A b B c C e c d f h g b h d e h - Nếu phân rã dựa trên tập luật l m gốc thì dẫn đến full condition - Phân rã theo tập sự kiện hình sao. 3.3. Mô tơ suy diễn A. Suy diễn tiến, lùi (nhắc lại) 1. Suy diễn tiến tìm kiếm VD: 1) a b 5) d e f 2) b c 6) b h 3) c e 7) f h g 4)c d GT = {a} {a}f min {a,b} min {a,b,c} {a,b,c,d} 2,6 r2 r1 3,4,6 r3 {a} r1 {a, b} r2 r6 {a, b, c} {a, b, h} (3,4,6) {a, b, h, c} (3,4) 20
- SUY DIỄN TIẾN ĐỒ THỊ SUY DIỄN TIẾN 1) GT 1) Đỉnh gốc 2) T.gian (SK đã chứng minh) 2) Nút 3) THOẢ 3) CUNG r T.Gian T.Gian {q} T.Gian T.Gian r: left q T.gian = Tgian {q} r thoa 4) Kết thúc 4) Lá T.Gian KL 5) VẾT 5) Đƣờng đi Chú ý: - Nếu SDT theo vét cạn độ phức tạp tƣơng ứng với quá trình tìm kiếm trên đồ thị SD. CSD trên(vecan) Ctìm kiếmVC = 0(BH) B: Branching (độ phân nhánh) v H l chiều cao của cây 2. Suy diễn lùi tìm kiếm f {g} {f, h} {d, e, h} r5 r1 ĐỒ THỊ SUY DIỄN LÙI ( And, or) {g} r7 {f} {h} r6 {d} {e} {} r4 r3 {c} {c} {a} {b} {a} 21
- Suy diễn lùi tìm kiếm theo chiều sâu H ' CSDlùi CTKsâu = 0 (B ) - Trong trƣờng hợp suy diễn lùi mà có chu trình : * Prolog r1 A B c r2 A C B GT = {a, b, hc} r3 B C A KL = {c} r A r4 a hc A {c} 1 {A, B} {B, C, B} r3 r5 b hc A chỉ số max: {c} {AB} {B} A B r1 B. Chọn hƣớng SD r5 r4 - Tình huống GT, KL NSD SD Tiến, Lùi - Tập luật R CTIẾN CLÙI HT H L 0(B T ) 0(B L ) - Cây SD tiến G.thiết Cây SD Lùi KL K.luận GT R R BT (GT, KL, R) BL (GT, KL, R) HT (GT, KL, R) HL (GT, KL, R) BT = max BT(GT, KL, R) G.thiết: + HT HL + Ƣớc lƣợng - BT - BL 1. ƣớc lƣợng BT VD: 22
- 1) a b C c 9) a b c P 2) a b ma c 10) a b c P 3) a b mb c 11) a b c mc 4) A B C 12) a ha S 5) a hc B 13) a b C S 6) b hc A 14) a b c P S 7) a R A 15) b S hb 8) b R B 16) S p r F1= {a, b, C} R1 = {r1, r2} F2 = {a, b, ma} R2 = {r2} F3 = {a, b, mb} R3 = {r3} F4 = {A, B} R4 = {r4} F5 = {a, hc} R5 = {r5} F6 = {b, hc} R6 = {r6} F7 = {a, R} R7 = {r7} F8 = {b,R} R8 = {r8} F9 = {a, b, c, p} R9 = {r9, r10, r11, r14} F10 = {a, ha} R10 = {r12} F11 = {b, S} R11 = {r15} F12 = {S, p} R12 = {r16} Ƣớc lƣợng: m B T = max (2, 1, 4) = 4 _ 16 B = = 1,33 T 12 23
- 2.Ƣớc lƣợng BL c có 3 luật C có 1 B có 2 BL max = 3 _ 16 A có 2 B = = 1,6 L 10 P có 1 p có 1 mc có 1 S có 3 hb có 1 r có 1 3. Luật (Meta Knowlegde) 1. If BT > BL Then chọn Lùi 2. If BT > BL Then chọn Tiến 3. If BT = BL # GT > # KL Then chọn Lùi 4. # GT < # KL Then chọn Tiến 0. If user thích Then chọn C. Chọn luật trong quá trình SD (B i toán đụng độ luật - Rule Conflict) 1. Suy diễn tiến Tại 1 thời điểm n o đó trong quá trình SD tiến chúng ta có thể dùng nhiều luật cùng một lúc: TGian = {sự kiện f đã CM}; TG = {GT} (Mở) THOẢ = {r: left q/ left TGian} tập luật có thể áp dụng (Đóng) VET = {r1 rk} tập những luật đã dùng - Khi # THOA 2 chọn r thoả ? 24
- 2 cơ chế chọn: + cứng nhắc (LIFO, FIFO) (sâu, rộng) (max, min) + mềm dẻo Đều l quá trình vét cạn (to n bộ tập luật) Độ phức tạp 0 (Bh) _ Để chọn theo mềm dẻo hàm h (r) (heurestic) Max/ min (extremum) Đánh giá: - # VET min (c ng ít c ng tốt) - Dƣ min VD: (*) Gt = {a, b, R}, Kl = {p} {a, b, R}CS m in {a, b, R, A} {a b R A B} r 4 {a bR AB} r min {a b RABCc} 7,8 VET = {r7, r8, r4, r1, r9, r10, r11} r7 8 r8 1,13 r1 13,9,10,11 A B C c P Dƣ = 2 Nên theo CS Min VET = {r7, r8, r4, r1, r9, r10, r11} (2) CS Max VET = {r8, r7, r4, r13, r11} (1) FIFO VET = {r7 r8 r4 r11 r13 r9 r10 r11} (3) LIFO VET = {r8 r7 r4 r13 r15 r1 r9 r10 r11} (4) Vậy có cách n o để Dƣ = 0 ? {a, b, R} {a, b, R, A} {a, b, R, A, B} {a, b, R, A, B, C} 7,8 r7 r8 4 r4 1,13 25
- Đồ thị FPG (Fact Precedence Graph) Sử dụng để miêu tả mối tƣơng quan giữa điều n y với điều khác Vd (*) hc R A B C a b ma c mb mc P p ha S hb r ˆ h 1(r) = 1(r: left q) = UL (a, K, L) = kcFPG (a, KL) Chọn r: 1(r) min NXét: 1) f g FPG thì f đƣợc dùng trực tiếp để suy ra G (r: left g, f left) 2) Có đƣờng đi P: f g thì đƣợc dùng gián tiếp để suy ra g. {a,b,r}7,8 {a b R A}8 {a b R A B}4 {a b R A B C}1,13 1(r7)=kc(A,p)=3 1(r8)=kc(B,p)=3 1(r1)=kc(c,p)=1 Chọn r1 1(r13)=kc(s,p)= 1(r9)=kc(P,p)= Chọn r11 1(r10)=kc(mc,p)= 1(r11)=kc(p,p)=0 26
- Nhận xét: #VET +Complexity hˆ x m ii)Đồ thị RPG(Rule Precedence Graph) RPG=(R,A) Trong đó R: Tập các đỉnh A: l tập các cạnh sao cho: r r’, r:left q q left’ r’:left q’ VD:Xây dựng đồ thị RPG cho ví dụ trên ta có: r5 r13 r6 r4 r1 r+9 r7 r2 r10 r8 r3 r11 r16 r14 r12 r15 *Xây dụng h m 2 (r)? 2 (r)=? RKL={r:left q/q KL} R 2 (r)=kcRPG(r,RKL) Chọn r sao cho 2 (r) min Xét ví dụ sau: GT={a b R}, KL={r} {a,b,r}7,8 {a b R A}8 {a b R A B}4 {a b R A B C}1,13 {a b R A B C c}9,10,11 KL 2 (r7)=kcRPG(r7, r16)=3 27
- ˆ h 2 (r8)=kcRPG(r8, r16)=3 2 (r1)=kcRPG(r1, r16)=2 Chọn r13 2 (r13)=kcRPG(r13, r16)=1 2 (r15)=kcRPG(r15, r16)= 2 (r10)=kcRPG(r10, r10)=1 2 (r11)=kcRPG(r11, r16)=1 2 (r14)=kcRPG(r14, r16)=1 2 (r16)=kcRPG(r16, r16)=0 2. Suy diễn lùi Đồ thị FPG Tình huống đụng độ khi suy diễn lùi: Goal= Tập những sự kiện cần chứng minh; ban đầu Goal=KL Xét f Goal. Có nhiều luật suy ra f. Ta chọn luật bằng các thử sai v quay lui. Để tránh phải quay lui ta cần chọn luật nhƣ thế n o. Nhắc lại các cách chọn có quay lui: + cứng nhắc: - Chỉ số max: chọn luật có chỉ số lớn nhất trong tập luât thoả - Chỉ số min: chọn luật có chỉ số nhỏ nhất trong tập luât thoả + mềm dẻo : (r) max/min: Đánh giá tốt hay không dựa v o quay lui, c ng nhiều cáng kém VD: GT={a b R} {S}12,13,14 {a b c p} {a b mb p} . * Cách tính 3(r) 3(r)= 3(left f)=kc(GT,left) Chọn r: 3(r) min Kc(GT, left)=max(GT,a) a left 28
- Kc(GT, left)=max(b,a) b GT VD: GT={a b R}, KL={S} {S}12,13,14 {a b c p} {a b mb p} . ˆ h 3(r12)=kc(a b R,a ha)= Chọn r13 3(r13)=kc(a b R,a a b C)= 2 3(r14)=kc(a b R,a b c p)= 4 3(r6)=kc(a b R,b hc)= Chọn r7 3(r17)=kc(a b R,a R)= 0 3(r5)=kc(a b R,a hc)= Chọn r8 3(r8)=kc(a b R,b R)= 0 ii) Đồ thị RPG. * Cách tính 4(r)? 4(r)=kcRPG(RGT , r) Chọn r: 4(r) min RGT={r: left q/left GT} VD: GT={a b R} KL={S} {S}12,13,14 {a b c p} {a b mb p} . Tính 4(r) ta có: . D. Hạn chế các ứng viên trong quá trình suy diễn 1. Suy diễn tiến Giả sử xét tại một thời điểm trong quá trình suy diễn : + Thời gian + THOẢ= LỌC(R, TGian)={r: left q/ left TGian} (Hạn chế các ứng viên) THOẢ’ THOẢ . Khi đó lựa chọn trong THOẢ’ bằng phƣơng pháp vét cạn hay heuristic. 29
- 1. Suy diễn lùi Xét 1 sự kiện thuộc Goal. hˆ () = /min XACDINH (f) = {r; left f} = 0/max Kĩ sƣ tri thức XACDINH’(f) XACDINH (f) Kết luận: Nâng cao hiẹu quả quá trình suy diễn - Chọn hƣớng suy diễn - Chọn luật Control - Phân tách cơ sở tri thức (CSTT) mechanisms - Hạn chế ứng viên 3.4. Biểu diễn TRI THỨC bằng LOGIC vị từ và SUY DIỄN Luật ri P1 ( ) P2 ( ) Pn ( ) q ( ) Pi ( ) l vị từ / predicate: l những phát biểu có phụ thuộc v o các biến q ( ) hay tham số VD: Các định lý hình học 1.tđ(U,XY) tđ(V,XZ) SS(UV,XZ) 2.SS(UV,XY) SS(UV,ST) SS(ST,XY) Explicit 3.SS(XY,UV) SS(XZ,UV) Thang(X,Y,Z) 4.SS(XY,UV) Thang(X,Y,Z) SS(UV,XZ) tđ(U,XY) tđ(U,YX) SS(XY,UV) SS(UV,XY) Implici t SS(XY,UV) SS(VU,YX) A. Suy diễn tiến A GT: tđ (P, AB); tđ (Q, AC) tđ (I, BQ); tđ (J, CP) Q P tđ (E, CQ) KL { SS (PS, BC) I J B C 30
- ' B 1 : TG0 = GT THOA = {(r1, 1), (r1, 2), (r1, 3), (r1, 4)} 1 = {A/X; B/Y; C/Z; P/U; Q/V} 2 = {C/X; Q/Y; P/Z; E/U; J/V} 3 = 4 = Chọn (r1, 1) TG1 = TG0 {SS (UV, YZ), 1} = TG0 {SS (PQ, BC)} ' B 2 : TG1 = THOA = {(r1, 2), (r1, 3), (r1, 4) . Vđề: L m nhƣ thế n o để xác định (ri, i) B. Suy diễn lùi. Nói chung suy diễn tiến v suy diễn lùi đều giống nhƣ nhau trong logic mệnh đề vì đều l quá trình hợp nhất (Unification) Để rõ hơn ta hãy xét ví dụ sau: GT tđ(P,AB), tđ(Q,AC), tđ(I,PQ), tđ(J,CP), tđ(E,QC) KL SS(IJ, BC) Ta áp dụng thủ tục suy diễn lùi, nhƣng co khó khăn l khi không tiếp tục đƣợc ta lại phải quay lui.Từ đây ta có thể đƣa ra nhận xét sau: Sự giống v khác nhau giữa suy diễn lùi của logic vị từ v suy diễn Prolog - Giống nhau: cả trong prolog cv logic vị từ đều có phép hợp nhất v quá trình thử sai - Khác nhau: Tính chất trong prolog l chúng minh suy ra điều vô lý, còn suy diễn lùi l suy ra goal=0. Cơ chế của prolog l theo chỉ số min v đi từ trái sang phải. Còn trong logic vị từ thì có thể áp dụng hất mọi cacchs đi thông thƣờng: Trai, phải v ngƣợc lại hay l trên duới v ngƣợc lại. 31
- 3.5. Ứng dụng các kỹ thuật suy diễn vào xây dựng hệ chuyên gia 3.5.1. Giao diện 3.5.1.1. Mở đầu Đầu tiên chúng ta xét đến các loại ngƣời sử dụng hệ chuyên gia. Bao gồm 4 loại sau: - Ngƣời sủ dụng không chuyên, đầu cuối. Thƣờng - Ngƣời sử dụng chuyên , thƣờng sử dụng hệ thống ở trình độ không cao. là tƣ vấn - Ngƣời sủ dụng l kĩ sƣ tri thức Làm việc chủ yếu với - Ngƣời sử dụng la chuyên gia phần soạn thảo tri thức ở góc độ tƣ vấn cần giải quyết các vấn đề sau: Tƣ vấn + Tình huống: +Đã biết + Điều cần biết + Thu thập giả thiết + Chất vấn v giải thích Nhƣ vậy chúng ta có thể cùng đi đến một định nghĩa về giao diên: Ngƣời sử dụng nhằm mục đích thu thập thong tin ban đầu về tình huống cần tƣ vấn. Các vấn đề cần phải giải quyết: - Xác định tập HỎI: những điều cần hỏi - Phƣơng thức hỏi: Thân thiện với ngƣời sử dụng( ta có thể đƣa về gần ngôn ngữ tự nhiên bao nhiêu c ng tốt bấy nhiêu) hay Tránh hỏi thừa. 3.5.1.2 Xác định tập những sự kiện cần hỏi. A. Khi biết kết luận. Khi đó tập các sự kiện cần hỏi l : HỎI = Tập các sự kiện liên quan đến kết luận (xét trong liên quan đến tập luật) i) Phƣơng thức hỏi gần Ta xét ví dụ sau: 1. a b c 2. d e f 3. c e g 32
- 4. d b h 5. m g 6. m a h 7. f h k 8. g c k KL={k} Khi đó ta có: HỎIgần= U{lefti / r:left qi , qi KL} = {f c g h} Nhận xét: HỎIgần={f/ (f,g) FPG, g KL} ii) Hỏi xa HỎIxa= {f/ đƣờng đi p FPG, p= f g, g KL} m TRÁI= lefti i i PHẢI={q1 qn} R={r1 rm} ri: left i qi HỎIxa={f TRAI\ PHẢI/ đƣờng đi p:f g, g KL} B. Không biết kết luận HỎI= TRÁI \ PHẢI Xét vid dụ ở trên: TRÁI={ a b c m n f g h} PHẢI={c f g h k} HỎI=TRÁI \ PHẢI={a b d e m n} 3.5.1.3. Phƣơng thức hỏi gần A. Hỏi thân thiện HỎI={đau, } f HỎI Câu hỏi (f) l một văn bản hiện lên m n hình để nhằm gợi ý ngƣời dùng đƣa thông tin về sự kiện f 33
- B. Tránh câu hỏi thừa Hỏi có tính đến kết quả trả lời của các câu hỏi trƣớc KỊCH BẢN HỎI/ CÂY HỎI 1. Hỏi xa. 2. Hỏi gần 3.5.1.4 Giao diện ngƣời sử dụng Giao diện l hiển thị cở sở tri thức bằng đồ hoạ Các loại hiển thị: + Tuyến tính: ri: lefti q1 rm: leftm qm f F Diễn giải (f) r1: p1 . pn q Nếu nhƣ diễn giải p1 v diễn giải pn thì diễn giải q + Phi tuyến: . Đồ thị FPG . Đồ thị RPG . Cây lồng nhau 34
- 3.5.2. Modul giải thích 3.5.2.1. Mở đầu G D MTSD User CSTT Trợ giúp đ o tạo: Cho NSD thông tin về vấn đề n o đó: +CSTT: Why + Suy diễn : How Yếu tố tâm lý với ngƣời dùng: Tăng sức thuyết phục . Phân loại câu hỏi hỏi ngƣời sử dụng. Why f? Tại sao lại cần có thông tin có thông tin về sự kiện f. Why r? Tại sao lại có luật r trong CSTT How f? L m thế n o đƣa ra Kết Luận, nhận định f How not f Tại sao lại không có kết luận, sự kiện f. Câu hỏi giả định: What If 1) what if thêm f 2) what if thêm r 3.5.2.2 Câu hỏi why f. Phiên l m việc user gồm 2 phần Phiên HỎI Phiên sử dụng( hình vẽ) 35
- TRẢ LỜI f ? G MTSD User D f ! WHY f? CSTT Muc đích của câu hỏi why - Ngƣời sƣr dụng muốn biết tầm quan trọng/ sự liên quan của f với quá trình sử dụng Hệ thống chỉ ra mối liên hệ của f với mục đích sƣ dụng Về mặt kĩ thuật : xác định xem f KL có mối quan hệ n o không Phƣơng thức trả lời: Có hai phƣơng thức đó l : - Phƣơng thức 1:Dựa trên đồ thị FPG( Khi đó ta tìm xem có đƣờng đi từ f đến KL ?) Ma trận liên thuộc G=(N,A) Biểu diễn ma trận Mnxm Trong đó: . - Phƣơng thức 2:Dựa v o phƣơng pháp xác định hỏi( xa, gần) . Phƣơng pháp n y cần phải biết kết luận trƣớc 3.5.2.3. Why? Mục đích: Tại sao lại có luật/ tri thức R trong cơ sở tri thức. Xuất sứ, nguồn thu thâph tri thức r. Hệ thống: Chỉ rõ đƣợc phƣơng thức có đƣợc tri thức r Kĩ thuật: r R kèm theo xuất sứ: - Nguồn t i liệu+ Kĩ sƣ tri thức/ chuyên gia - Ý kiến chuyên gia Sử dụng phƣơng pháp n o đó KDD v trên nguồn thông tin n o Thu nạp một cách tự động. Tóm lại hệ thống cần đảm bảo cho ngƣời sử dụng đƣợc cung cấp thông tin một cách có xuất sứ. 36
- 3.5.2.4. Câu hỏi How f Ngƣời sử dụng đang đƣợc cung cấp sơ bộ về một lĩnh vực n o đấy . Much đích ngƣời sử dụng muón biết quá trình suuy diễn để suy ra f. Hệ thống: - GIẢ THIẾT: Tập tin ngƣời sử dụng cung cấp trực tiếp hoặc gián tiếp. Kĩ thuật: Xác địng đƣợc cách suy diễn. Từ đó có đƣợc vết suy diễn. Vết ={ri1, ri2 rik} GT TG1 .TGkf Phƣơng thức trả lời. -“Một lèo”: Đƣa ra to n bộ sự kiện -“Nhát gừng”: Chỉ đƣa ra một bƣớc của ngƣời sử dụng( thƣờng l bƣớc cuối) Chú ý: Việc lựa chọn phƣơng thức phụ thuộc v o ngữ cảnh của ngƣời sử dụng. 3.5.2.5.Câu hỏi How not f Ngƣời sử dụng muốn biết lí do không có kết luận f Hệ thống: GT KL Phƣơng thức: - “Trần thuật”: Dựa tên suy diễn lùi - “Trực tiếp”: Dựa trên suy diễn tiến Khắc phục những dị thƣờng: Bằng cách xây dựng tập hợp hỏi, thêm tri thức v o hệ thống. Bài tập chương 3: B i 1: Biểu diễn một cơ sở tri thức bằng logic mệnh đề trong thực tế gồm 6 luật. B i 2: Biểu diễn một cơ sở tri thức trong thực tế, áp dụng thủ tục suy diễn tiến v o cơ sở tri thức. B i 3: Biểu diễn một cơ sở tri thức trong thực tế, áp dụng thủ tục suy diễn lùi v o cơ sở tri thức. 37
- Chương 4: Hệ hỗ trợ ra quyết định 4.1. Khái niệm về hệ hỗ trợ ra quyết định - Các khái niệm căn bản về quyết định Thí dụ về hệ hỗ trợ quyết định (HHTQĐ) • Nghiên cứu v hoạch định tiếp thị: chính sách giá cho khách h ng, dự báo sản phẩm tiêu thụ • Hoạch định chiến lƣợc v vận h nh: theo dõi, phân tích v báo cáo về xu hƣớng thị trƣờng • Hỗ trợ bán h ng: chi tiết v tổng hợp tình hình bán h ng, so sánh v phân tích xu hƣớng bán h ng - Quyết định là gì ? Đó l một lựa chọn về “đƣờng lối h nh động” (Simon 1960; Costello & Zalkind 1963; Churchman 1968), hay “chiến lƣợc h nh động” (Fishburn 1964) dẫn đến “một mục tiêu mong muốn” (Churchman 1968) - Ra quyết định là gì ? “Một quá trình lựa chọn có ý thức giữa hai hay nhiều phƣơng án để chọn ra một phƣơng án tạo ra đƣợc một kết quả mong muốn trong các điều kiện r ng buộc đã biết”. Quyết định có thể l nhận thức ở dạng sự kiện, “Chi $10,000 cho quảng cáo v o quý 3” . Quyết định có thể l nhận thức ở dạng quá trình, “Trƣớc tiên thực hiện A, sau đó B hai lần v nếu có đáp ứng tốt hãy thực thi C”. Quyết định có thể l một hoạt động gi u kiến thức, Quyết định có kết luận n o thì hợp lý/hợp lệ trong ho n cảnh n o ? Quyết định có thể l những thay đổi trạng thái kiến thức. Quyết định có chấp nhận một kiến thức mới không ? Tại sao phải hỗ trợ ra quyết định ? Nhu cầu hỗ trợ ra quyết định + Ra quyết định luôn cần xử lý kiến thức + Kiến thức l nguyên liệu v th nh phẩm của ra quyết định, cần đƣợc sở hữu hoặc tích lũy bởi ngƣời ra quyết định 38
- Giới hạn về nhận thức (trí nhớ có hạn ) ‰ Giới hạn về kinh tế (chi phí nhân lực ) Giới hạn về thời gian Áp lực cạnh tranh Bản chất của hỗ trợ ra quyết định cung cấp thông tin, tri thức có thể thể hiện qua tƣơng tác ngƣời - máy, qua mô phỏng Các yếu tố ảnh hưởng đến ra quyết định Công nghệ - thông tin - máy tính Tính cạnh tranh - sự phức tạp về cấu trúc Thị trƣờng quốc tế - ổn định chính trị - chủ nghĩa tiêu thụ Các thay đổi biến động 4.2. Cấu trúc của một hệ hỗ trợ ra quyết định Các định nghĩa trƣớc đây của HHTQĐ nhấn mạnh v o khả năng hỗ trợ các nh ra quyết định quản lý trong các tình huống nửa cấu trúc. Nhƣ vậy, HHTQĐ có ý nghĩa l một bổ trợ cho các nh quản lý nhằm mở rộng năng lực nhƣng không thay thế khả năng phân xử của họ. Tình huống ở đây l cần đến các phân xử của các nh quản lý hay các quyết định không ho n to n đƣợc giải quyết thông qua các giải thuật chặt chẽ. Thông thƣờng các HHTQĐ sẽ l các hệ thông tin máy tính hóa, có giao tiếp đồ họa v l m việc ở chế độ tƣơng tác trên các mạng máy tính. Cơ sở của các định nghĩa về HHTQĐ thay đổi từ nhận thức HHTQĐ l m gì (thí dụ, hỗ trợ ra quyết định trong các b i toán phi cấu trúc) cho đến cách thức đạt đƣợc các mục tiêu của HHTQĐ (các th nh phần yêu cầu, khuôn mẫu sử dụng, quá trình phát triển ) 39
- Cấu trúc cơ bản của một hệ hỗ trợ ra quyết định: Phân hệ quản lý dữ liệu gồm một cơ sở dữ liệu (database) chứa các dữ liệu cần thiết của tình huống v đƣợc quản lý bởi một hệ quản trị cơ sở dữ liệu (DBMS - data base management system). Phân hệ n y có thể đƣợc kết nối với nh kho dữ liệu của tổ chức (data warehouse) - l kho chứa dữ liệu của tổ chức có liên đới đến vấn đề ra quyết định. Phân hệ quản lý mô hình còn đƣợc gọi l hệ quản trị cơ sở mô hình (MBMS - model base management system) l gói phần mềm gồm các th nh phần về thống kê, t i chánh, khoa học quản lý hay các phƣơng pháp định lƣợng nhằm trang bị cho hệ thống năng lực phân tích; cũng có thể có các ngôn ngữ mô hình hóa ở đây. Th nh phần n y có thể kết nối với các kho chứa mô hình của tổ chức hay ở bên ngoài nào khác. Phân hệ quản lý dựa vào kiến thức có thể hỗ trợ các phân hệ khác hay hoạt động độc lập nhằm đƣa ra tính thông minh của quyết định đƣa ra. Nó cũng có thể đƣợc kết nối với các kho kiến thức khác của tổ chức. 40
- Phân hệ giao diện người dùng giúp ngƣời sử dụng giao tiếp với v ra lệnh cho hệ thống. Các th nh phần vừa kể trên tạo nên HHTQĐ, có thể kết nối với intranet/extranet của tổ chức hay kết nối trực tiếp với Internet. Bài tập chương 4: Câu 1: Nêu ra 5 hệ hỗ trợ ra quyết định đã đƣợc ứng dụng trong thực tế. Câu 2: Trình b y chi tiết cấu trúc của một hệ hỗ trợ ra quyết định đã đƣợc ứng dụng. Câu 3: Thiết kế một hệ hỗ trợ ra quyết định dựa trên lý thuyết đã đƣợc học. 41
- Chương 5: Máy học 5.1. Thế nào là máy học? Thuật ngữ "học" theo nghĩa thông thƣờng l tiếp thu tri thức để biết cách vận dụng. Ở ngo i đời, quá trì học diễn ra dƣới nhiều hình thức khác nhau nhƣ học thuộc lòng (học vẹt), học theo kinh nghiệm (học dựa theo trƣờng hợp), học theo kiểu nghe nhìn, Trên máy tính cũng có nhiều thuật toán học khác nhau. Tuy nhiên, trong phạm vi của giáo trình n y, chúng ta chỉ khảo sát phƣơng pháp học dựa theo trƣờng hợp. Theo phƣơng pháp n y, hệ thống sẽ đƣợc cung cấp một số các trƣờng hợp "mẫu", dựa trên tập mẫu n y, hệ thống sẽ tiến h nh phân tích v rút ra các quy luật (biểu diễn bằng luật sinh). Sau đó, hệ thống sẽ dựa trên các luật n y để "đánh giá" các trƣờng hợp khác (thƣờng không giống nhƣ các trƣờng hợp "mẫu"). Ngay cả chỉ với kiểu học n y, chúng ta cũng đã có nhiều thuật toán học khác nhau. Một lần nữa, với mục đích giới thiệu, chúng ta chỉ khảo sát một trƣờng hợp đơn giản. Có thể khái quát quá trình học theo trƣờng hợp dƣới dạng hình thức nhƣ sau : Dữ liệu cung cấp cho hệ thống l một ánh xạ f trong đó ứng một trƣờng hợp p trong tập hợp P với một "lớp" r trong tập R. f : P |® R p ® r Tuy nhiên, tập P thƣờng nhỏ (v hữu hạn) so với tập tất cả các trƣờng hợp cần quan tâm P’ (P Ì P’). Mục tiêu của chúng ta l xây dựng ánh xạ f ’ sao cho có thể ứng mọi trƣờng hợp p’ trong tập P’ với một "lớp" r trong tập R. Hơn nữa, f ’ phải bảo to n f, nghĩa l : Với mọi p Î P thì f(p) º f ’(p) Phƣơng pháp học theo trƣờng hợp l một phƣơng pháp phổ biến trong cả nghiên cứu khoa học v mê tín dị đoan. Cả hai đều dựa trên các dữ liệu quan sát, thống kê để từ đó rút ra các quy luật. Tuy nhiên, khác với khoa học, mê tín dị đoan thƣờng dựa trên tập mẫu không đặc trƣng, cục bộ, thiếu cơ sở khoa học. 42
- 5.2. Học bằng cách xây dựng cây định danh Phát biểu hình thức có thể khó hình dung. Để cụ thể hợn, ta hãy cùng nhau quan sát một ví dụ cụ. Nhiệm vụ của chúng ta trong ví dụ n y l xây dựng các quy luật để có thể kết luận một ngƣời nhƣ thế n o khi đi tắm biển thì bị cháy nắng. Ta gọi tính chất cháy nắng hay không cháy nắng l thuộc tính quan tâm (thuộc tính mục tiêu). Nhƣ vậy, trong trƣờng hợp n y, tập R của chúng ta chỉ gồm có hai phần tử {"cháy nắng", "bình thƣờng"}. Còn tập P l tất cả những ngƣời đƣợc liệt kê trong bảng dƣới (8 ngƣời) Chúng ta quan sát hiện tƣợng cháy nắng dựa trên 4 thuộc tính sau : chiều cao (cao, trung bình, thấp), m u tóc (v ng, nâu, đỏ) cân nặng (nhẹ, TB, nặng), dùng kem (có, không),. Ta gọi các thuộc tính n y gọi l thuộc tính dẫn xuất. Dĩ nhiên l trong thực tế để có thể đƣa ra đƣợc một kết luận nhƣ vậy, chúng ta cần nhiều dữ liệu hơn v đồng thời cũng cần nhiều thuộc tính dẫn xuất trên. Ví dụ đơn giản n y chỉ nhằm để minh họa ý tƣởng của thuật toán máy học m chúng ta sắp trình bày. Tên Tóc Ch.Cao Cân Dùng Kết quả Nặng kem? Sarah Vàng T.Bình Nhẹ Không Cháy Dana Vàng Cao T.Bình Có Không Alex Nâu Thấp T.Bình Có Không Annie Vàng Thấp T.Bình Không Cháy Emilie Đỏ T.Bình Nặng Không Cháy Peter Nâu Cao Nặng Không Không John Nâu T.Bình Nặng Không Không Kartie Vàng Thấp Nhẹ Có Không 43
- Ý tƣởng đầu tiên của phƣơng pháp n y l tìm cách phân hoạch tập P ban đầu th nh các tập Pi sao cho tất cả các phần tử trong tất cả các tập Pi đều có chung thuộc tính mục tiêu. P = P1 È P2 È È Pn và " (i,j) i¹ j : thì (Pi Ç Pj = Æ ) và " i, " k,l : pk Î Pi và pl Î Pj thì f(pk) = f(pl) Sau khi đã phân hoạch xong tập P th nh tập các phân hoạch Pi đƣợc đặc trƣng bởi thuộc tính đích ri (ri Î R), bƣớc tiếp theo l ứng với mỗi phân hoạch Pi ta xây dựng luật Li : GTi ® ri trong đó các GTi l mệnh đề đƣợc hình th nh bằng cách kết hợp các thuộc tính dẫn xuất. Một lần nữa, vấn đề hình thức có thể l m bạn cảm thấy khó khăn. Chúng ta hãy thử ý tƣởng trên với bảng số liệu m ta đã có. Có hai cách phân hoạch hiển nhiên nhất m ai cũng có thể nghĩ ra. Cách đầu tiên l cho mỗi ngƣời v o một phân hoạch riêng (P1 = {Sarah}, P2 = {Dana}, tổng cộng sẽ có 8 phân hoạch cho 8 ngƣời). Cách thứ hai l phân hoạch th nh hai tập, một tập gồm tất cả những ngƣời cháy nắng v tập còn lại bao gồm tất cả những ngƣời không cháy nắng. Tuy đơn giản nhƣng phân hoạch theo kiểu n y thì chúng ta chẳng giải quyết đƣợc gì !! 5.2.1. Đâm chồi Chúng ta hãy thử một phƣơng pháp khác. Bây giờ bạn hãy quan sát thuộc tính đầu tiên – m u tóc. Nếu dựa theo m u tóc để phân chia ta sẽ có đƣợc 3 phân hoạch khác nhau ứng với mỗi giá trị của thuộc tính m u tóc. Cụ thể l : Pvàng = { Sarah, Dana, Annie, Kartie } Pnâu = { Alex, Peter, John } Pđỏ = { Emmile } Ta thấy rằng phân hoạch Pnâu v Pđỏ thỏa mãn đƣợc điều kiện "có chung thuộc tính mục tiêu" (Pnâu chứa to n ngƣời không cháy nắng, Pđỏ chứa to n ngƣời cháy nắng). 44
- Còn lại tập Pv ng l còn lẫn lộn ngƣời cháy năng v không cháy nắng. Ta sẽ tiếp tục phân hoạch tập n y th nh các tập con. Bây giờ ta hãy quan sát thuộc tính chiều cao. Thuộc tính n y giúp phân hoạch tập Pv ng th nh 3 tập con : PV ng, Thấp = {Annie, Kartie}, PVàng, T.Bình= {Sarah} và PVàng,Cao= { Dana } Nếu nối tiếp v o cây ở hình trƣớc ta sẽ có hình ảnh cây phân hoạch nhƣ sau : Quá trình n y cứ thế tiếp tục cho đến khi tất cả các nút lá của cây không còn lẫn lộn giữa cháy nắng v không cháy nắng nữa. Bạn cũng thấy rằng, qua mỗi bƣớc phân hoạch cây phân hoạch ng y c ng "phình" ra. Chính vì vậy m quá trình n y đƣợc gọi l quá trình "đâm chồi". Cây m chúng ta đang xây dựng đƣợc gọi l cây định danh. Đến đây, chúng ta lại gặp một vấn đề mới. Nếu nhƣ ban đầu ta không chọn thuộc tính m u tóc để phân hoạch m chọn thuộc tính khác nhƣ chiều cao chẳng hạn để phân hoạch thì sao? Cuối cùng thì cách phân hoạch n o sẽ tốt hơn? 5.2.2. Phƣơng án chọn thuộc tính phân hoạch Vấn đề m chúng ta gặp phải cũng tƣơng tự nhƣ b i toán tìm kiếm : "Đứng trƣớc một ngã rẽ, ta cần phải đi v o hƣớng n o?". Hai phƣơng pháp đánh giá dƣới đây sẽ giúp ta chọn đƣợc thuộc tính phân hoạch tại mỗi bƣớc xây dựng cây định danh. 5.2.2.1. Quinlan Quinlan quyết định thuộc tính phân hoạch bằng cách xây dựng các vector đặc trƣng cho mỗi giá trị của từng thuộc tính dẫn xuất v thuộc tính mục tiêu. Cách tính cụ thể nhƣ sau : Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch, tính : VA(j) = ( T(j , r1), T(j , r2) , , T(j , rn) ) T(j, ri) = (tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A l j v có giá trị thuộc tính mục tiêu l ri ) / ( tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A l j ) * trong đó r1, r2, , rn l các giá trị của thuộc tính mục tiêu * 45
- Nhƣ vậy nếu một thuộc tính A có thể nhận một trong 5 giá trị khác nhau thì nó sẽ có 5 vector đặc trƣng. Một vector V(Aj ) đƣợc gọi l vector đơn vị nếu nó chỉ có duy nhất một th nh phần có giá trị 1 v những th nh phần khác có giá trị 0. Thuộc tính đƣợc chọn để phân hoạch l thuộc tính có nhiều vector đơn vị nhất. Trở lại ví dụ của chúng ta, ở trạng thái ban đầu (chƣa phân hoạch) chúng ta sẽ tính vector đặc trƣng cho từng thuộc tính dẫn xuất để tìm ra thuộc tính dùng để phân hoạch. Đầu tiên l thuộc tính m u tóc. Thuộc tính m u tóc có 3 giá trị khác nhau (v ng, đỏ, nâu) nên sẽ có 3 vector đặc trƣng tƣơng ứng l : VTóc (v ng) = ( T(v ng, cháy nắng), T(v ng, không cháy nắng) ) Số ngƣời tóc v ng l : 4 Số ngƣời tóc v ng v cháy nắng l : 2 Số ngƣời tóc v ng v không cháy nắng l : 2 Do đó VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5) Tƣơng tự VTóc(nâu) = (0/3, 3/3) = (0,1) (vector đơn vị) Số ngƣời tóc nâu l : 3 Số ngƣời tóc nâu v cháy nắng l : 0 Số ngƣời tóc nâu v không cháy nắng l : 3 VTóc(đỏ) = (1/1, 0/1) = (1,0) (vector đơn vị) Tổng số vector đơn vị của thuộc tính tóc v ng l 2 Các thuộc tính khác đƣợc tính tƣơng tự, kết quả nhƣ sau : VC.Cao(Cao) = (0/2,2/2) = (0,1) VC.Cao(T.B) = (2/3,1/3) VC.Cao(Thấp) = (1/3,2/3) VC.Nặng (Nhẹ) = (1/2,1/2) VC.Nặng (T.B) = (1/3,2/3) VC.Nặng (Nặng) = (1/3,2/3) 46
- VKem (Có) = (3/3,0/3) = (1,0) VKem (Không) = (3/5,2/5) Nhƣ vậy thuộc tính m u tóc có số vector đơn vị nhiều nhất nên sẽ đƣợc chọn để phân hoạch. Sau khi phân hoạch theo m u tóc xong, chỉ có phân hoạch theo tóc v ng (Pv ng) l còn chứa những ngƣời cháy nắng v không cháy nắng nên ta sẽ tiếp tục phân hoạch tập n y. Ta sẽ thực hiện thao tác tính vector đặc trƣng tƣơng tự đối với các thuộc tính còn lại (chiều cao, cân nặng, dùng kem). Trong phân hoạch Pv ng, tập dữ liệu của chúng ta còn lại là : Tên Ch.Cao Cân Dùng Kết quả Nặng kem? Sarah T.Bình Nhẹ Không Cháy Dana Cao T.Bình Có Không Annie Thấp T.Bình Không Cháy Kartie Thấp Nhẹ Có Không VC.Cao(Cao) = (0/1,1/1) = (0,1) VC.Cao(T.B) = (1/1,0/1) = (1,0) VC.Cao(Thấp) = (1/2,1/2) VC.Nặng (Nhẹ) = (1/2,1/2) VC.Nặng (T.B) = (1/2,1/2) VC.Nặng (Nặng) = (0,0) VKem (Có) = (0/2,2/2) = (0,1) 47
- VKem (Không) = (2/2,0/2) = (1,0) 2 thuộc tính dùmg kem v chiều cao đều có 2 vector đơn vị. Tuy nhiên, số phân hoạch của thuộc tính dùng kem l ít hơn nên ta chọn phân hoạch theo thuộc tính dùng kem. Bài tập chương 5: B i 1: Nêu ra các 5 ví dụ ứng dụng máy học trong thực tế. B i 2: Thu thập dữ liệu cho một hệ dự báo tăng giảm một chỉ số chứng khoán. Xây dựng cây định danh v đƣa ra tập luật cho hệ trên. B i 3: Thu thập dữ liệu cho một hệ dự báo đối với sinh viên dự thi tuyển sinh đại học. Xây dựng cây định danh v đƣa ra tập luật cho hệ trên. 48
- Chương 6: Logic mờ và lập luận xấp xỉ 6.1. Biểu diễn tri thức bằng LOGIC VỊ TỪ. CSTT(knowlegde) = Cơ sở sự kiện, Cơ sở luật Thông tin về tình Tri thức về lĩnh huống vực chuyên môn (Do ngƣời sử dụng) (Do chuyên gia) Cung cấp qua Có qua phiên phiên hỏi thu nạp tri thức Các sự kiện(Fact) đƣợc mô tả bởi Vị từ(Predicate). Mỗi vị từ l một phát biểu, quan sát về đối tƣợng m ta đang xét. F={p(t1,t2 .tn)/p vị từ} p: Tên vị từ ti: hạng thức( tẻm) có thể l một biến, mộthằng, hoặc l một h m(rất quan trọng) VD: Ai cũng có ke yêu ngƣời ghét. Luật( Rule) Mọi tri thức chuyên môn đều đƣợc biểu diễn bằng mệnh đề.: Nếu thì . p1(t1 .tk) pn(u1 un) suy ra q(v1 .vm) trong đó: pi, q: Tên vị từ ti, u, v: các hạng thức Câu(clause) l một câu v tƣơng ứng với một luật có dạng nhƣ ở trên 6.2. Một số ví dụ Bài toán chở đồ vật qua sông. Coa một con sói, một con dê v mọt chiếc bắp cải muốn qua sông. Nhƣng chỉ só một bác lái đò. L m thế n o dể bác lái đò có thể chở đƣợc các vật trên qua sông an to n. 49
- Biết rằng Sói ăn thịt dê nếu chỉ có hai con một mình, dê ăn bắp cải nếu nhƣ không có sói ở đó. Sói Dê Bắp cải Bờ bắc Lái đò Bờ nam Biểu diễn: -Vị trí :vt(LĐ,S,D,B) -An toàn: at(LĐ,S,D,B) -Vị trí xuất phát, đến : ql(Đ1, Đ2) Ta có mô tả nhƣ sau: 1. vt(b,b,b,b) 2. dd(b,n) 3. dd(n,b) 4. vt(LD,S,D,B) dd at(LD,LD’) at(LD’,S,D,B) vt(LD’,S,D,B) 5. vt(X,X,D,B) dd(X,X’) at(X,X’,D,B) vt(X’,X,D,B) 6. vt(X,S,X,B) dd(X,X’) at(X,X’,B,S) vt(X’,X’,B,S) 7. vt(X,S,X,D) dd(X,X’) at(X,X’,D,S) vt(X’,X’,D,S) 8. at(X S X B) 9. dd(X X’) at(X X X’ X) Tóm lại ta thấy đây chỉ l luật v sự kiện chứ không phải tri thức chuyên gia 6.3. Cơ chế suy diễn SUY DIỄN: +Suy diễn tiến( Modus Ponens, Modus Tollens) +Suy diễn lùi( Modus Ponens, Modus Tollens) 50
- p q p q q : p p p p : q q q:- Rule Clause Prolog rule Ví dụ: 1. membership( x1, [x1:-] ) l danh sách có hai phần tử với: +) x l phần tử đầu +)- l mô tả các phần còn lại 2. membership( x2, [-:y] ) :- membership (x2, y) Goal: membership(1, [ 1,2,3]): :- membership (1, [1,2,3]) Chú ý: Trong Prolog áp dụng suy diễn lùi với: luật theo chỉ số min v sự kiện từ trái qua phải Từ giả thiết v áp dụng phƣơng pháp suy diễn lùi ta có quá trình suy diễn nhƣ sau: 3. :-mb(x, [1,2,3]) 4. :- {x/x1, 1/x1} (3,1) nên x=1 5. :-mb(x,[2,3] {x/x2 ; 2,3/x1} (3,2) 6. :- {x/x3; 2/x} (5,1)nên x=2 7. :-mb(x,[3]) {x/x4; 3/x4} (5,2) 8. :- {3/x} (7,1) nên x=3 9. : mb(x,[]) (7,2) 10. fail (9,1) 11. fail (9,2) 51
- 6.4. Biểu diễn tri thức bằng logic mờ và suy diễn 6.4.1. Tập mờ( Fuzzy set) Trở lại với các kiểu định nghĩa về tập hợp (set) . Chúng ta đã biết l có hai kiểu định nghĩa tập hợp: 1- Phƣơng pháp lệt kê tất cả các phần tử thuộc tập hợp đó. Ví dụ tập số nguyên nhỏ hơn 10 l tập: N=1,2,3,4,5,6,7,8,9 2- Phƣơng pháp mô tả thông qua vị từ đặc trƣng( characteurstic predicate) PA(x) = 1 nếu x A 0 nếu x A PA: U {0,1} X U PA(x) Trực quan Trừu tượng A B PA PB A B PA PB A \B PA PB A =B PA PB ~ Mở rộng: A 0,1 ~ :x 0 A (x) 1 ~ ~ ~ Vậy khi có tập mờ A : thì A (x) gọi l độ thuộc của x v o A H m thuộc: l h m do ngƣời quan sát cung cấp (subjective opinon) Mờ hoá: Với mọi mọi giá trị ngôn ngữ ta gán một tập mờ VD : Tuổi = “Trạc 30” ~ Tuổi = A 52
- ~ A (x) +) 0 với x (0,25) +) 1 với x (26,32) +) 0,7 với x (33,38) +) 0,2 với x (39,45) +) 0 với x> 45 6.4.2. Các phép toán trên tập mờ: Cho tập nền ( tập vũ trụ ) U ( Universer Set) ~ Một tập mờ A trên U đƣợc một mô tả bởi h m thuộc ( mebership function) A :U 0,1 A U S= {x/ A (x) 0} Tập giá đỡ K={x/ A (x) 1} Tập core A x / A Một số dạng thƣờng gặp: Dạng 1: 1 a b c A (x) +) 0 nếu x<a 53
- +) x nếu a x b +) x nếu b x c +) 0 nếu x>c ~ A (a, b, c) Số mờ Dạng 2 a b c d ~ A = (a, b, c, d) Tập mờ không phải l tập theo nghĩa thông thƣờng nên quan niệm phải định nghĩa theo h m thuộc. Do đó không biểu diễn bằng biểu đồ Ven m biểu biểu diễn bằng đồ thị Hợp của các tập mờ Cho hai tập mờ A, B với A và B l hai h m thuộc tƣơng ứng ~ ~ ~ Từ đó ta xây dựng 1). A B C C (x) AB (x) max( A (x); B (x) ) 54
- Chú thích: lấy tất cả phần trên của đồ thị Khi đó hợp của hai tập mờ l một tập rõ ~ ~ ~ 2). A B C C (x) AB (x) min ( A (x); B (x) ) Chú thích: Bây giờ ta lấy to n bộ phần dƣới. 3). Phần bù: ~ ~ A với A (x) khi đó phần bù l : A (x) 1 (x) +) có h m thuộc: A A 4). Hiệu hai tập hợp: ~ ~ ~ ~ +) A \ B A B 5). Hai tập mờ bằng nhau: ~ ~ A B A B x : A (x) B (x) Các tính chất: 1. Tính giao hoán ~ ~ ~ ~ A B B A ~ ~ ~ ~ A B B A 2. Tính kết hợp : ~ ~ ~ ~ ~ ~ (A B) C A (B) C) ~ ~ ~ ~ ~ ~ (A B) C A (B) C) 3. Tính lũy đẳng : ~ ~ ~ A A A ~ ~ ~ A A A ~ ~ ~ ~ 4. ( A B ) A A 55
- ~ ~ ~ ~ ( A B ) A A 5. Tính phân phối : ~ ~ ~ ~ ~ ~ ~ A ( B C ) ( A B )( A C ) ~ ~ ~ ~ ~ ~ ~ A ( B C ) ( A B )( A C ) 6. Tính chất khác : ~ ~ ~ A ~ A u~ u~ ~ 7. u~ ~ u~ ~ ~ 8. A A ~ ~ A A ~u ~ ~ ~ ~ 9. A B A B ~ Ví dụ : A {(a, 0.1), (b, 0.2), (c, 0.3), (d, 0.4)} ~ A {(a, 0.9), (b, 0.8), (c, 0.7), (d, 0.6)} ~ ~ A A { (a, 0.1, (b, 0.2), (c, 0.3), (d, 0.4), (a, 0.9), (b, 0.8), (c, 0.7), (d, 0.6)} Nhận xét : - L. Zadel (max, min, 1-) *) MỞ RỘNG PHÉP TOÁN TẬP MỜ - AB ( x ) s( A( x ),B ( x )) Hàm s là t – conorm : s : [0, 1] x [0, 1] → [0, 1] - AB( x ) t( A( x ),B( x )) Hàm t là t – norm : s : [0, 1] x [0, 1] → [0, 1] - Hàm t – conorm thỏa mãn các tính chất : + s(x, y) = s(y, x) + s(s(x, y), z) = s(x, s(y, z)) s( x,1) 1 + s( x,0 ) x - Hàm t – norm thỏa mãn các tính chất : + t(x, y) = t(y, x) + t(s(x, y), z) = t(x, s(y, z)) t( x,1) x + t( x,0 ) 0 Ví dụ : s(x, y) = x + y - xy 56
- t(x, y) = xy → Kiểm tra : 1. Giao hoán : hiển nhiên 2. Kết hợp : Hàm s : s(x, s(y, z)) x y z xy yz zx xyz s( x, s( x, y )) s( s( x, y ), z ) s(s(x, y), z) x y z xy yz zx xyz Hàm t : → hiển nhiên 3. Tính chất cuối : s( x,1) 1 t( x,1) x + ; s( x,0 ) x t( x,0 ) 0 - Bộ ba : (s, t, n) ; A( x ) n( A ( x ) n:[0,1] [0,1] Hàm negation : n( 0 ) 1 1. n(1) 0 2. n(n(x)) = x 3. Đơn điệu : x y → n(x) n(y) Ví dụ : hàm 1 – x - Bộ ba : (s, t, n) → thích hợp khi : 1. s (x, t (y, z)) = t (s (x, y), s (x, z)) 2. t (x, s (y, z)) = s (t (x, y), t (x, z)) 3. n ( s (x, y)) = t (n (x), n (y)) 4. n ( t (x, y)) = s (n (x), n (y)) 6.4.3 Biểu diễn tri thức mờ : - Dạng luật : If X1 = v1 và X2 = v2 và và Xn = vn then Y = v + vi , v : l giá trị ngôn ngữ. - Mờ hóa : ~ ~ ~ ~ If X A và X A và và X A then Y B 11 22 nn V U1 U2 Un *) xét X = A → Y = B - Logic kinh điển : A → B ≡ A B U = {x1, xn} = tập vũ trụ/nền của A V = {y1, yn} = tập vũ trụ/nền của B - Luật mờ ≡ quan hệ mờ ≡ tập mờ trên U x V . Luật mờ → vectơ : A ~ μA 57
- . Tập mờ → ma trận * * * X = ( μ1 , μ2 , , μn ) B B B Y = ( μ1 , μ2 , , , μn ) A μi = μA (xi) B μj = μB (yj) If X = x1 then Y = y1 μ11 If X = x2 then Y = ym μ1m If X = xn then Y = y1 μn1 If X = xn then Y = ym μnm → ma trận n x m. → từ một luật X = A → Y = B, ta có n x m luật, mỗi luật có độ chắc chắn n o đó ( có khoảng 37 cách khác nhau) Ví dụ : A B - Nguyên tắc tính : μij = s (n (μi , μj )) - Nếu có 1 luật : If x = V then Y = U → Ma trận : y1 y2 ym x1 μ11 μ12 μ1m x2 μ21 μ22 μ2m xn μn1 μn2 μnm - Ngyên tắc tính khác : A B μij = μi . μj A B μij = min (μi , μj ) - Nếu có nhiều luật : If X = A Y = B then Z = C RC/A, B = RC/A RC/B If X = A If Y = B then Z = C then Z = C RC/A RC/B - μijR = min (μiR , μjR) 58
- Ví dụ : Xét X = A → Y = B A = (0.1, 0.3, 0.6) B = (0.1, 0.3, 0.2) (Min) 0.1 0.1 0.1 (Product) 0.07 0.03 0.02 ( 0.9 0.9 0.9 ) 0.3 0.2 0.2 0.21 0.03 0.06 0.7 0.7 0.7 0.6 0.3 0.2 0.42 0.18 0.12 0.7 0.4 0.4 - Tri thức mờ ≡ Luật mờ : If x = A A A then Y B 1 1 2 n V U1 U2 Un Quan hệ mờ giữa U1 Un và V : Tập mờ trên U1 x U2 x x Un x V If X = A then Y = B RB/A tập mờ trên U x V B / A : U xV [ 0,1] B / A (u,v ) [ 0,1] Tập A trên U A : U [ 0,1] A (u ) [ 0,1] Tập B trên V B : V [ 0,1] B (v ) [ 0,1] B/ A = ₣(μA, μB) có hai dạng : ₣(x, y) = xy ₣(x, y) = min(x, y) A → B ≡ A B ₣(x, y) = s(m(x), y) Chú ý : max s( x, y ) min t ( x, y ) – 1 – x n (x) (kéo theo) max(1 A ,B ) 7.4 Suy diễn mờ. (Fuzzy Inference) Cho tập luật : R = { r1, r2, , rm} ri : lefti → qi → ~ ~ ~ ~ ri : X1 A1 X 2 A2 X n An Y B → tri thức về lĩnh vực. Biết : ~ ~ ~ GT (giả thiết) = { U1 C1 ,U2 C2 , ,Ul Cl } 59
- Cần xác định : ~ ~ ~ KL (kết luận) = { V1 D1 , V2 D2 , ,Vk Dk } Suy diễn : l m thế n o xác định đƣợc , , , ? D1 D2 Dk = ₣ ( , , , ; , , , ) Di r1r2 rm e1e2 el R GT - Procedure SD ( R : set of rules ; GT, KL : set of facts ; var KQ : Boolen ; vet : set of rules ) - GT KL ~ ~ ~ ~ X1 A1 X 2 A2 X n An Y B ~ ~ ~ X1 A1 X 2 A2 X n An Y B F( , , , ) B r A1 An - Xét : ~ ~ If X A thenY B ~ X A ~ Y B B A RB / A RB / A A B 11 12 1m 21 22 2m ( , , , ) 1 2 n n1 n2 nm ~ A l tập mờ trên U = { x , x , , x } ~ 1 2 n B l tập mờ trên V = { y1, y2, , yn} i A ( xi ) n j B (y j ) k .kj k 1 trong mờ max (min ( k , kj )) ~ ~ If X Ai thenY Bi 60
- ~ X A ~ Y B max ( R ) B ABi / Ai Vét cạn *) B i toán : Cho một số luật → có thể tạo ra hình thức để duyệt luật không vét cạn hay không ? + Heuristic (TTNT) + GT di truyền. ~ ~ ~ ~ If X1 A1 X 2 A2 X n An then Y B ~ ~ ~ X1 A1 X 2 A2 X n An ~ Y B ( , , , ) R~ B A1 A2 An B / A1 , ,An ~ ~ If X i Ai thenY B ~ X Ai ~ ~ n ~ Y B ; Y B Bi i 1 ~ ~ ~ If X1 A1 X 2 A2 then Y B ~ X A ~ ~ n ~ Y B ; Y B Bi i 1 +) Đơn luật Đơn điều kiện +) Đa luật Đơn điều kiện : Vét cạn +) Đơn luật Đa điều kiện : trực tiếp gián tiếp AND : OR : +) Đa luật Đa điều kiện : Vét cạn *) Suy diễn mờ = áp dụng liên tiếp nhiều lần Modus Ponen (Fred Forward) Ví dụ : 1. If X = A1 then Y = B1 2. If X = A2 then Y = B2 3. If X = B3 then Z = C3 4. If X = B4 then Z = C4 61
- 5. If X = A5 then Z = C5 6. If X = A6 then Y = B1 7. If X = A1 Y = B6 then Z = C7 (bỏ qua luật n y chƣa xét) Tập nền X : U = {1, 2, 3} Tập nền Y : V = {A, b} Tập nền Z : W = {+, –} M a B M a b M a b B1 / A1 B2 / A2 C4 / B4 (0.6 ; 0.2 ; 0.1) 1 0.6 0.5 1 0.7 0.8 a 0.6 0.7 2 0.3 0.9 2 0.4 0.3 b 0.8 0.5 3 0.2 0.1 3 0.3 0.6 M M a b C3 / B3 C5 / A5 (0.6 ; 0.6) a 0.2 0.3 1 0.1 0.2 b 0.9 0.7 2 0.3 0.4 3 0.9 0.3 Đồ thị : X Y Z (DAG) ` x = A0 = (0.6, 0.2, 0.1) *) Áp dụng nguyên tắc min : - MP (r1, A0 ) Y (0.6, 0.5) Y (0.6, 0.6) B0 - MP (r2 , A0 ) Y (0.6, 0.6) - MP (r3 , B0 ) Z (0.6, 0.6) Z (0.6, 0.6) C0 - MP (r4 , B0 ) Z (0.6, 0.6) max - MP (r1, A0 ) Z (0.2, 0.2) Z = (0.6, 0.6) *) 1 - MP (r1, A0 ) Y (0.6, 0.5) B0 1 - MP (r3 , B0 ) Z (0.6, 0.5) 1 (0.6, 0.6) - MP (r4 , B0 ) Z (0.6, 0.6) 2 - MP (r2 , A0 ) Y (0.6, 0.6) B0 2 - MP (r3 , B0 ) Z (0.6, 0.6) 2 (0.6, 0.6) - MP (r4 , B0 ) Z (0.6, 0.6) 62
- - MP (r5 , A0 ) (0.2, 0.2) Z (0.6, 0.6) Chứng minh : Tổng kết : 1. Biẻu diễn tập mờ → chỉ số mờ & thao tác 2. Nghiên cứu về : t – norm : t – conorm : n(.) : not ₣ (x, y) : 3. Mâu thuẫn : tƣờng minh không tƣờng minh ( chƣa có trong TLTK tự tìm hiểu ) 4. Dƣ thừa (trong tập luật) 5. Duyệt / Áp dụng không vét cạn. 6. Lựa chọn thể hiện phép toán phù hợp. 7. Suy diễn thao tác trực tiếp (Linguistic Reasoning) Bài tập chương 6: B i 1: Trình b y ba tập mờ trong thực tế. B i 2: Trình b y hai tập mờ trong thực tế, chỉ ra quan hệ mờ giữa chúng. B i 3: Biểu diễn một hệ mờ gồm 5 luật. 63
- Đề cương ôn tập 1. Nắm vững cấu trúc v chi tiết các th nh phần của hệ chuyên gia. 2. Nắm vững các phƣơng pháp biểu diễn tri thƣc 3. Nắm vững các phƣơng pháp lập luận 4. Nắm vững khái niệm v cấu trúc của hệ hỗ trợ ra quyết định. 5. Nắm vững khái niệm về máy học. Phƣơng pháp xây dựng cây định danh 6. Nắm vững logic mờ v lập luận xấp xỉ 64
- Đề thi tham khảo: Đề 1: Câu 1 (3 đ): Hệ chuyên gia là gì? Hãy cho biết những đặc trƣng cơ bản của một hệ chuyên gia. Câu 2 (4 đ): Cho tập các luật sau R = {r1, , r6} r1: a ^ b -> c r5: c ^ d -> e r2: b -> c r6: a ^ e -> f r3: b ^ h -> d r7: e ^ f -> m r4: a ^ c -> d a) Tập sự kiện {a, b} có l cơ sở sự kiện của tập sự kiện cho trong R không? b) Với GT = {a, b}, KL = {m}. Hãy áp dụng kỹ thuật suy diễn để đƣa ra kết luận. Câu 3 (3 đ) Cho luật IF A THEN B với A = (0, 0.5, 0.6, 0.8, 0) và B = (0, 0.5, 1, 0.5, 0.4), A' = (0, 0.5, 0, 0, 0). Tìm B' bằng cách sử dụng suy diễn tích cực đại. Đề 2: Câu 1 (3 đ): Trong cấu trúc của một hệ chuyên gia. Vì sao việc phân tách cơ sở tri thức v cơ chế lập luận (mô tơ suy diễn) l quan trọng? Câu 2 (4 đ): Cho tập các luật sau R = {r1, , r6} r1: b ^ c -> a r5: a ^ d -> e r2: b -> a r6: a ^ e -> k r3: a ^ h -> d r7: k ^ e -> x r4: a ^ c -> d a) Tập sự kiện {b, c} có l cơ sở sự kiện của tập sự kiện cho trong R không? b) Với GT = {b, c}, KL = {x}. Hãy áp dụng kỹ thuật suy diễn để đƣa ra kết luận. 65
- Câu 3 (3 đ) Cho luật IF A THEN B với A = (0, 0.5, 0.6, 0.8, 1) v B = (0, 0.5, 1, 0.5, 0), A' = (0, 0.5, 0, 0, 0). Tìm B' bằng cách sử dụng suy diễn max - min. Đề 3: Câu 1 (3 đ) a) Nêu đặc điểm chính của hệ chuyên gia. b) Ý nghĩa của việc xây dựng hệ chuyên gia. Câu 2 (4 đ) Cho miền của các đối tƣợng có các thuộc tính v có các giá tri nhƣ sau: Tóc = {nhiều,ít} M u tóc ={trắng,đen,v ng} Dáng ngƣời ={cao, thấp,trung bình} 1. Sử dụng vị từ logic để biểu diễn các đối tƣợng n y. 2. Sử dụng các phép toán tổng quát để định nghĩa không gian học của các đối tƣợng 3. Xây dựng các tập mẫu huấn luyện dƣơng P v âm N để học nhận dạng đối tƣợng l ngƣời có dáng ngƣời cao sử dụng cả 3 giải thuật đã thảo luận trên. Câu 3 (3 đ) Xem xét các câu sau đây: Hùng thích tất cả các loại thực phẩm Táo l thực phẩm G l thực phẩm Bất cứ thứ gì mọi ngƣời ăn v không bị hại đó l thực phẩm Phong ăn đậu phọng v vẫn còn sống Lan ăn bất cứ thứ gì Phong ăn 1. Hãy biểu diễn các sự kiện trên bằng logic vị từ 2. Chuyển đổi các tiên đề ở câu 1 sang mệnh đề 3. Chứng minh Hùng thích ăn đậu phọng sử dụng phƣơng pháp hợp giải 4. Sử dụng phƣơng pháp hợp giải để trả lời câu hỏi:”Lan ăn thực phẩm n o?”. 66
- Đề 4: Câu 1 (3đ) a) Anh (chị) cho nhận xét của mình về Chƣơng trình = Cấu trúc dữ liệu + Giải thuật Hệ chuyên gia = Cơ sở tri thức + mô tơ suy diễn b) Anh (chị) cho biết lý do xây dựng hệ chuyên gia. Câu 2 (4đ) Sử dụng thuật toán Quinlan để rút ra quy luật cho những ngƣời có đặc điểm n o có khả đỗ đại học hoặc không theo cơ sở dữ liệu ở bảng sau: Thứ Tên Bố hoặc mẹ Điều kiện Học lực Có Kết tự ngƣời đỗ Đại học kinh tế học thêm quả 1 Giáp Có Trung bình Giỏi Không Đỗ 2 Ất Có Cao Trung bình Có Không 3 Bính Có Thấp Trung bình Có Không 4 Đinh Không Thấp Trung bình Không Không 5 Mậu Có Trung bình Khá Có Đỗ 6 Kỷ Không Thấp Khá Không Không 7 Canh Có Trung bình Khá Có Đỗ 8 Tân Có Thấp Giỏi Có Đỗ Câu 3 (3đ) Cho Ω = {1, 2, 3, 4, 5}. A, B l các tập mờ trong Ω nhƣ sau: A = {(1,0), (2,1), (3,0.5), (4,0.3), (5,0.2)} B = {(1,0), (2,0.5), (3,0.7), (4,0.2), (5,0.4)} Hãy tính: A∩B, B∩Ac, A∪B 67