Các Hệ cơ sở tri thức-KBS: Knowledge Based Systems - Nguyễn Đình Thuân

ppt 138 trang phuongnguyen 6701
Bạn đang xem 20 trang mẫu của tài liệu "Các Hệ cơ sở tri thức-KBS: Knowledge Based Systems - Nguyễn Đình Thuân", để 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:

  • pptcac_he_co_so_tri_thuc_kbs_knowledge_based_systems_nguyen_din.ppt

Nội dung text: Các Hệ cơ sở tri thức-KBS: Knowledge Based Systems - Nguyễn Đình Thuân

  1. Các Hệ cơ sở tri thức KBS: Knowledge Based Systems Nguyễn Đình Thuân Khoa Hệ thống Thông tin ĐH Công nghệ thông tin TP HCM 1-2011 1
  2. Hệ cơ sở tri thức Chương 1: Tổng quan về Hệ cơ sở tri thức Chương 2: Biểu diễn và suy luận tri thức Chương 3: Hệ MYCIN Chương 4: Hệ học Chương 5: Hệ thống mờ cho các biến liên tục Chương 6: Công cụ tạo lập Hệ CSTT 2
  3. Tài liệu tham khảo [1] McGraw-Hill/Irwin. Management information system The McGraw-Hill Companies, Inc. 2008 . [2] Robert I. Levine. Knowledge based systems. Wissenschafs Verlag, 1991 [3] Hoàng Kiếm. Giáo trình Các hệ cơ sở tri thức. ĐHQG TP Hồ Chí Minh. 2007 3
  4. Chương 1: Tổng quan về Hệ cơ sở tri thức 1.1 Khái niệm về Hệ Cơ sở tri thức ⚫ Hệ cơ sở tri thức là chương trình máy tính được thiết kế để mô hình hoá khả năng giải quyết vấn đề của chuyên gia con người. ⚫ Hệ CSTT là hệ thống dựa trên tri thức, cho phép mô hình hoá các tri thức của chuyên gia, dùng tri thức này để giải quyết vấn đề phức tạp thuộc cùng lĩnh vực. ⚫ Hai yếu tố quan trọng trong Hệ CSTT là: tri thức chuyên gia và lập luận, tương ứng với hệ thống có 2 khối chính là Cơ sở tri thức và 4 động cơ suy diễn.
  5. 1.1 Khái niệm về Hệ CSTT (Tiếp) ⚫ Hệ Chuyên gia là một loại cơ sở tri thức được thiết kế cho một lĩnh vực ứng dụng cụ thể. Ví dụ: Hệ Chuyên gia về chẩn đoán bệnh trong Y khoa, Hệ Chuyên gia chẩn đoán hỏng hóc của đường dây điện thoại, ⚫ Hệ Chuyên gia làm việc như một chuyên gia thực thụ và cung cấp các ý kiến dựa trên kinh nghiệm của chuyên gia con người đã được đưa vào Hệ Chuyên gia. 5
  6. 1.1 Khái niệm về Hệ CSTT (Tiếp) ⚫ Cơ sở tri thức: Chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia. Cơ sở tri thức bao gồm: các sự kiện, các luật, các khái niệm và các quan hệ. ⚫ Động cơ suy diễn: bộ xử lý tri thức theo mô hình hoá theo cách lập luận của chuyên gia. Động cơ hoạt động trên thông tin về vấn đề đang xét, so sánh với tri thức lưu trong cơ sở tri thức rồi rút ra kết luận. ⚫ Kỹ sư tri thức (Knowledge Engineer): người thiết kế, xây dựng và thử nghiệm Hệ Chuyên 6 gia.
  7. 1.2 Cấu trúc của Hệ CSTT 7
  8. 1.2 Cấu trúc của Hệ CSTT(tiếp) 1. Giao diện người máy (User Interface): Thực hiện giao tiếp giữa Hệ Chuyên gia và User. Nhận các thông tin từ User (các câu hỏi, các yêu cầu về lĩnh vực) và đưa ra các câu trả lời, các lời khuyên, các giải thích về lĩnh vực đó. Giao diện người máy bao gồm: Menu, bộ xử lý ngôn ngữ tự nhiên và các hệ thống tương tác khác. 2. Bộ giải thích (Explanation system): Giải thích các hoạt động khi có yêu cầu của User. 3. Động cơ suy diễn (Inference Engine): Quá trình trong Hệ Chuyên gia cho phép khớp các sự kiện trong vùng nhớ làm việc với các tri thức về lĩnh vực trong cơ sở tri thức, để rút ra các kết luận về vấn đề đang giải quyết. 8
  9. 1.2 Cấu trúc của Hệ CSTT(tiếp) 4. Bộ tiếp nhận tri thức (Knowledge editor): Làm nhiệm vụ thu nhận tri thức từ chuyên gia con người (human expert), từ kỹ sư tri thức và User thông qua các yêu cầu và lưu trữ vào cơ sở tri thức 5. Cơ sở tri thức: Lưu trữ, biểu diễn các tri thức mà hệ đảm nhận, làm cơ sở cho các hoạt động của hệ. Cơ sở tri thức bao gồm các sự kiện (facts) và các lụật (rules). 6. Vùng nhớ làm việc (working memory): Một phần của Hệ Chuyên gia chứa các sự kiện của vấn đề đang xét. 9
  10. 1.3 Các đặc tính của Hệ CSTT 1. Tách tri thức ra khỏi điều khiển: cơ sở tri thức và động cơ suy diễn là các khối tách rời: một khối chứa tri thức còn khối kia là cơ chế giải quyết vấn đề. 2. Tri thức của chuyên gia: các tri thức được thu nạp từ nhiều chuyên gia hiểu sâu về lĩnh vực đang giải quyết. Expert: “Người có kỹ năng giải quyết đúng vấn đề và giải quyết hiệu quả. Họ có khả năng lập luận hơn những người khác trong lĩnh vực đó.” 3. Tập trung nguồn chuyên gia: Mỗi chuyên gia chỉ giải quyết các vấn đề trong lĩnh vực của mình. Nên chia nhỏ bài toán chẩn đoán theo các hệ thống nhỏ hơn. 10
  11. 1.3 Các đặc tính của Hệ CSTT (tiếp) 4. Lập luận trên các ký hiệu: Chuyên gia dùng các ký hiệu để thể hiện tri thức, thay vì thực hiện việc xử lý số. 5. Lập luận may rủi: Kinh nghiệm giúp các chuyên gia nhanh chóng tìm đến các giải pháp. 6. Lập luận với thông tin không đầy đủ: chẳng hạn, bác sĩ khám bệnh nhân vào cấp cứu trong hoàn cảnh không hỏi được nhiều thông tin. 7. Chứa khả năng suy diễn, mức độ sâu sắc cao, có khả năng tự kiểm tra, tự học trong quá trình suy luận. 11
  12. 1.3 Các đặc tính của Hệ CSTT(tiếp) Đối tượng so sánh Chương trình bình thường Các hệ CSTT Xử lý Số Ký hịệu Sử dụng Thuật toán Kinh nghiệm Tổ chức thông tin Thông tin và điều khiển Tri thức tách rời điều khiển được tích hợp Khả năng thay đổi Khó thay đổi Dễ thay đổi Tính chắc chắn Thông tin chính xác Thông tin không chính xác Giao diện Giao diện câu lệnh Hội thoại tự nhiên có giải thích Loại kết quả Kết quả cuối cùng Khuyến cáo kèm theo giải thích Tính tối ưu Nghiệm tối ưu Lời giải chấp nhận được 12 Bảng 1.1: So sánh Hệ chuyên gia và chương trình bình thường
  13. 1.4 Hệ hỗ trợ ra quyết định DSS (Decision Support System) ⚫ Chức năng: Hỗ trợ ra quyết định ⚫ Hoạt động theo cách tương tác với người sử dụng Các tính chất của DSS: ⚫ Hướng đến các quyết định của người quản lý ⚫ Uyển chuyển với hoàn cảnh ⚫ Trả lời câu hỏi trong tình huống ⚫ Do người sử dụng khởi động và kiểm soát 13
  14. 1.5 Hệ học ⚫ Trong nhiều tinh huống, sẽ không có sẵn tri thức như: – Kỹ sư tri thức cần thu nhận tri thức từ chuyên gia lĩnh vực. – Cần biết các luật mô tả lĩnh vực cụ thể. – Bài toán không được biểu diễn tường minh theo luật, sự kiện hay các quan hệ. ⚫ Có hai tiếp cận cho hệ thống học: – Học từ ký hiệu: bao gồm việc hình thức hóa, sửa chữa các luật tường minh, sự kiện và các quan hệ. – Học từ dữ liệu số: được áp dụng cho những hệ thống được mô hình dưới dạng số liên quan đến các kỹ thuật nhằm tối ưu các tham số. Học theo dạng số bao gồm mạng Neural nhân tạo, thuật giải di truyền, bài toán tối ưu truyền thống. Các kỹ thuật học theo số không tạo ra CSTT tường minh. 14
  15. 1.6 Hệ điều khiển mờ ⚫ Mờ hóa: Chuyển đổi giá trị rõ đầu vào thành các vector mờ ⚫ Xác định các luật hợp thành và thuật toán xác định giá trị mờ ⚫ Giải mờ: Phương pháp điểm trọng tâm 15
  16. 1.7 Ứng dụng của Hệ Cơ sở tri thức 1. Diễn giải (Interpretation): Mô tả tình huống các dữ liệu thu thập được 2. Dự báo (Prediction): đưa ra các tri thức về dự báo một tình huống: dự báo giá cả, 3. Thiết kế (Design): Lựa chọn cấu hình phù hợp, ví dụ: sắp xếp công việc. 4. Chẩn đoán (Diagnosis): Dựa vào các dữ liệu quan sát được, xác định các lỗi hỏng hóc. 16
  17. 1.7 Ứng dụng của Hệ Cơ sở tri thức(tiếp) 5. Vạch kế hoạch (Planing): tạo lập các phương án hành động. 6. Dẫn dắt (Monotoring): So sánh dữ liệu và các kết quả hoạt động. 7. Gỡ rối (Debugging): Mô tả các phương pháp khắc phục của hệ thống. 8. Giảng dạy (Instruction): Sửa chữa các lỗi của người học trong quá trình học tập. 9. Điều khiển (Control): dẫn dắt dáng điệu tổng thể của hệ thống. 17
  18. Thông tin về môn học Đánh giá Phương pháp đánh giá Trọng số[%] Chuyên cần, bài tập trên lớp 15% Cài đặt 15% Tiểu luận, báo cáo 20% Thi cuối học kỳ 50% 18 6/11/2021 www.lhu.edu.vn
  19. Chương 2: Biểu diễn và suy luận tri thức 2.1. Mở đầu ⚫ tri thức, lĩnh vực và biểu diễn tri thức. 2.2. Các loại tri thức: được chia thành 5 loại 1. Tri thức thủ tục: mô tả cách thức giải quyết một vấn đề. Loại tri thức này đưa ra giải pháp để thực hiện một công việc nào đó. Các dạng tri thức thủ tục tiêu biểu thường là các luật, chiến lược, lịch trình và thủ tục. 2. Tri thức khai báo: cho biết một vấn đề được thấy như thế nào. Loại tri thức này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng hoặc sai. Tri thức khai báo cũng có thể là một danh sách các khẳng định nhằm mô tả đầy đủ hơn về đối tượng hay một khái niệm nào đó. 19
  20. 2.2. Các loại tri thức (tiếp) 3. Siêu tri thức: mô tả tri thức về tri thức. Loại tri thức này giúp lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề. Các chuyên gia sử dụng tri thức này để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri thức có khả năng hơn cả. 4. Tri thức heuristic: mô tả các “kinh nghiệm" để dẫn dắt tiến trình lập luận. Tri thức heuristic là tri thức không bảm đảm hoàn toàn 100% chính xác về kết quả giải quyết vấn đề. Các chuyên gia thường dùng các tri thức khoa học như sự kiện, luật, sau đó chuyển chúng thành các tri thức heuristic để thuận tiện hơn trong việc giải quyết một số bài toán. 5. Tri thức có cấu trúc: mô tả tri thức theo cấu trúc. Loại tri thức này mô tả mô hình tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm con, và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo cấu trúc xác định. 20
  21. Ví dụ: Hãy phân loại các tri thức sau 1. Nha Trang là thành phố đẹp. 2. Bạn Lan thích đọc sách. 3. Modus Ponens. 4. Modus Tollens. 5. Thuật toán tìm kiếm BFS 6. Thuật toán tìm kiếm DFS 7. Thuật toán AKT 8. Thuật giải Greedy 21
  22. Ví dụ: Hãy phân loại các tri thức sau(tiếp) 9. Một số cách chiếu tướng trong việc chơi cờ tướng. 10.Hệ thống các khái niệm trong hình học. 11.Cách tập viết chữ đẹp. 12.Tóm tắt quyển sách về Hệ chuyên gia. 13.Chọn loại cổ phiếu để mua cổ phiếu. 14. Chọn các thông tin về các loại cổ phiếu trên thị trường. 22
  23. 2.3. CÁC KỸ THUẬT BIỄU DIỄN TRI THỨC 2.3.1 Bộ ba Đối tượng-Thuộc tính-Giá trị 2.3.2 Các luật dẫn 2.3.3 Mạng ngữ nghĩa 2.3.4 Frames 2.3.5 Logic 23
  24. 2.3.1 Bộ ba Đối tượng-Thuộc tính-Giá trị ⚫ Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một vài đối tượng. Ví dụ, mệnh đề "quả bóng màu đỏ" xác nhận "đỏ" là giá trị thuộc tính "màu" của đối tượng "quả bóng". Kiểu sự kiện này được gọi là bộ ba Đối tượng-Thuộc tính-Giá trị (O-A-V – Object-Attribute-Value). Hình 2.1. Biểu diễn tri thức theo bộ ba O-A-V 24
  25. 2.3.1 Bộ ba Đối tượng-Thuộc tính-Giá trị (tiếp) ⚫ Trong các sự kiện O-A-V, một đối tượng có thể có nhiều thuộc tính với các kiểu giá trị khác nhau. Hơn nữa một thuộc tính cũng có thể có một hay nhiều giá trị. Chúng được gọi là các sự kiện đơn trị (single-valued) hoặc đa trị (multi-valued). Điều này cho phép các hệ tri thức linh động trong việc biểu diễn các tri thức cần thiết. ⚫ Các sự kiện không phải lúc nào cũng bảo đảm là đúng hay sai với độ chắc chắn hoàn toàn. Ví thế, khi xem xét các sự kiện, người ta còn sử dụng thêm một khái niệm là độ tin cậy. Phương pháp truyền thống để quản lý thông tin không chắc chắn là sử dụng nhân tố chắc chắn CF (certainly factor). Khái niệm này bắt đầu từ hệ thống MYCIN (khoảng năm 1975), dùng để trả lời cho các thông tin suy luận. Khi đó, trong sự kiện O-A-V sẽ có thêm một giá trị xác định độ tin cậy của nó là CF. 25
  26. 2.3.2 Các luật dẫn ⚫ Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác giúp đưa ra các suy luận, kết luận từ những thông tin đã biết. ⚫ Trong hệ thống dựa trên các luật, người ta thu thập các tri thức lĩnh vực trong một tập và lưu chúng trong cơ sở tri thức của hệ thống. Hệ thống dùng các luật này cùng với các thông tin trong bộ nhớ để giải bài toán. Việc xử lý các luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là bộ suy diễn. 26
  27. 2.3.2 Các luật dẫn(tiếp) Các dạng luật cơ bản: 7 dạng 1. Quan hệ: IF Bình điện hỏng THEN Xe sẽ không khởi động được 2. Lời khuyên: IF Xe không khởi động được THEN Đi bộ 3. Hướng dẫn IF Xe không khởi động được AND Hệ thống nhiên liệu tốt THEN Kiểm tra hệ thống điện 27
  28. 2.3.2 Các luật dẫn(tiếp) 4. Chiến lược IF Xe không khởi động được THEN Đầu tiên hãy kiểm tra hệ thống nhiên liệu, sau đó kiểm tra hệ thống điện 5. Diễn giải IF Xe nổ AND tiếng giòn THEN Động cơ hoạt động bình thường 6. Chẩn đoán IF Sốt cao AND hay ho AND Họng đỏ THEN Viêm họng 7. Thiết kế IF Là nữ AND Da sáng THEN Nên chọn Xe Spacy AND Chọn màu sáng 28
  29. 2.3.2 Các luật dẫn(tiếp) Mở rộng cho các luật Trong một số áp dụng cần thực hiện cùng một phép toán trên một tập hay các đối tượng giống nhau. Lúc đó cần các luật có biến. Ví dụ: IF X là nhân viên AND Tuổi của X > 65 THEN X có thể nghỉ hưu ⚫ Khi mệnh đề phát biểu về sự kiện, hay bản thân sự kiện có thể không chắc chắn, người ta dùng hệ số chắc chắn CF. Luật thiết lập quan hệ không chính xác giữa các sự kiện giả thiết và kết luận được gọi là luật không chắc chắn. Ví dụ: IF Lạm phát CAO THEN Hầu như chắc chắn lãi suất sẽ CAO Luật này được viết lại với giá trị CF có thể như sau: IF Lạm phát cao THEN Lãi suất cao, CF = 0.8 ⚫ Dạng luật tiếp theo là siêu luật: Một luật với chức năng mô tả cách thức dùng các luật khác. Siêu luật sẽ đưa ra chiến lược sử dụng các luật theo lĩnh vực chuyên dụng, thay vì đưa ra thông tin mới. Ví dụ: IF Xe không khởi động AND Hệ thống điện làm việc bình thường THEN Có thể sử dụng các luật liên quan đến hệ thống điện 29
  30. Ví dụ: Giải quyết vấn đề bằng cách biểu diễn tri thức Bài toán: Cho hai bình rỗng X và Y có thể tích lần lượt là VX và VY, hãy dùng hai bình này để đong ra z lít nước (với z min(VX,VY)). ⚫ Xét trường hợp cụ thể của bài toán, chẳng hạn: VX=5 và VY=7 và z = 4, có thể đưa ra quy trình sau: – Múc đầy bình 7 – Trút hết qua bình 5 cho đến khi 5 đầy. – Đổ hết nước trong bình 5 – Đổ hết nước còn lại từ bình 7 sang bình 5 – Múc đầy bình 7 – Trút hết qua bình 5 cho đến khi bình 5 đầy. – Phần còn lại chính là số nước cần đong. 30
  31. Ví dụ: Giải quyết vấn đề bằng cách biểu diễn tri thức (tt) ⚫ Lời giải trên được phát biểu tổng quát hơn: – Không mất tính tổng quát, giả sử rằng VX<VY. – Gọi lượng nước chứa trong bình X là x (0 x VX) – Gọi lượng nước chứa trong bình Y là y (0 y VY) – Điều kiện kết thúc của bài toán sẽ là: x=z hoặc y=z – Điều kiện đầu của bài toán là: x=0 và y=0 ⚫ Quá trình giải được thực hiện bằng cách xét lần lượt các luật sau, luật nào thỏa mãn thì sẽ được áp dụng. (L1) Nếu bình X đầy thì đổ hết nước trong bình X đi. (L2) Nếu bình Y rỗng thì đổ đầy nước vào bình Y. (L3) Nếu bình X không đầy và bình Y không rỗng thì hãy trút nước từ bình Y sang bình X (cho đến khi bình X đầy hoặc bình Y hết nước). 31
  32. Ví dụ: Giải quyết vấn đề bằng cách biểu diễn tri thức (tt) Lời giải trên được minh họa như sau: x:= 0; y := 0; WHILE ((x z)) DO BEGIN IF (x = Vx) THEN x := 0; IF (y = 0) THEN (y:= Vy); IF (y > 0) THEN BEGIN k:= min(Vx - x, y); x := x + k; y := y - k; END; END; - Cách giải quyết vấn đề theo kiểu này không đưa ra một trình tự giải quyết vấn đề cụ thể mà chỉ đưa ra các quy tắc dưới dạng các luật - Ghi chú: Người ta đã chứng minh được rằng, bài toán đong nước chỉ có lời giải khi số nước cần đong là một bội số của ước số chung lớn nhất của thể tích hai bình. 32
  33. 2.3.3 Mạng ngữ nghĩa Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượng. Hình 2.3. "Sẻ là Chim" thể hiện trên mạng ngữ nghĩa 33
  34. 2.3.3 Mạng ngữ nghĩa(tiếp) Hình 2.4. Phát triển mạng ngữ nghĩa 34
  35. 2.3.4 Frame Hình 2.6. Cấu trúc frame Hình 2.7. Nhiều mức của frame mô tả quan hệ phức tạp hơn 35
  36. Ví dụ: Giải bài toán tam giác tổng quát 3 •Có 22 yếu tố của tam giác. Như vậy có C 22 -1 cách để xây dựng hay xác định một tam giác. •Theo thống kê, có khoảng 200 công thức liên quan đến cạnh và góc 1 tam giác. • Để giải bài toán này bằng công cụ mạng ngữ nghĩa, sử dụng khoảng 200 đỉnh để chứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam giác. Mạng ngữ nghĩa cho bài toán này có cấu trúc như sau : •Đỉnh của đồ thị bao gồm hai loại : •·Đỉnh chứa công thức (ký hiệu bằng hình chữ nhật) •·Đỉnh chứa yếu tố của tam giác (ký hiệu bằng hình tròn) •Cung : chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu tố tam giác xuất hiện trong công thức nào •* Lưu ý : trong một công thức liên hệ giữa n yếu tố của tam giác, ta giả định rằng nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố còn lại. Chẳng hạn như trong công thức tổng 3 góc của tam giác bằng 1800 thì khi biết được hai góc, ta sẽ tính được góc còn lại. 36
  37. Ví dụ: Giải bt tam giác tổng quát (tt) •B1 : Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá trị) •B2 : Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa. •Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hình tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn lại này thông qua công thức ở đỉnh hình chữ nhật). 37
  38. Ví dụ: Giải bt tam giác tổng quát (tt) Ví dụ : "Cho hai góc a, b và chiều dài cạnh a của tam giác. Tính chiều dài đường cao hC". (6) p=(a+b+c)/2 38 p
  39. 2.3.5 Logic 1. Logic mệnh đề IF Xe không khởi động được (A) AND Khoảng cách từ nhà đến chỗ làm là xa (B) THEN Sẽ trễ giờ làm (C) ⚫ Luật trên có thể biểu diễn lại như sau:AB C 2. Logic vị từ ⚫ Logic vị từ, cũng giống như logic mệnh đề, dùng các ký hiệu để thể hiện tri thức. Những ký hiệu này gồm hằng số, vị từ, biến và hàm. 39
  40. 2.4 SUY DIỄN DỮ LIỆU 1. Modus ponens 1. E1 2. E1→ E2 3. E2 Nếu có tiên đề khác, có dạng E2 → E3 thì E3 được đưa vào danh sách. 2. Modus tollens 1.  E2 2. E1→ E2 3.  E1 40
  41. 2.4.2 Các hoạt động của Hệ thống Suy diễn tiến 41
  42. Ví dụ về Suy diễn tiến Luật 1. IF Bệnh nhân rát họng AND Nghi viêm nhiễm THEN Tin rằng bệnh nhân viêm họng, đi chữa họng. Luật 2. IF Nhiệt độ bệnh nhân qúa 37 độ THEN Bệnh nhân bị sốt Luật 3. IF Bệnh nhân ốm trên 1 tuần AND Bệnh nhân sốt THEN Nghi bệnh nhân viêm nhiễm. Thông tin từ bệnh nhân là: · Bệnh nhân có nhiệt độ 39 độ · Bệnh nhân đã ốm hai tuần · Bệnh nhân họng rát Khi hệ thống thấy giả thiết của luật khớp với thông tin trong bộ nhớ, câu kết luận của luật được bổ sung vào bộ nhớ. Minh họa Ví dụ suy diễn lùi 42
  43. Cơ chế suy diễn Suy diễn với logic mệnh đề: 1. Thuật toán suy diễn tiến Input: - Tập luật Rule= {r1, r2, , rm} - GT, KL Output: Thông báo “thành công” nếu GT→KL Ngược lại, thông báo “không thành công” Method: TD=GT; T=Loc(Rule, TD); While (KL  TD) AND (T ) Do { r = Get(T); TD=TD{q}; // r:left→q Rule = Rule \ {r}; T=Loc(Rule, TD); } If KL TD THEN Return “True” else Return “False” Ví dụ: Rule ={r1:a →c, r2:b →d, r3:a →e, r4:ad →e, r5:b  c →f, r6:e f→g} Hỏi a  b →g? a →g? 43
  44. Thuật toán suy diễn lùi If KL  GT THEN Return “True” Else {TĐích=; Vết = ; First=1; Quaylui= False;} For Each q KL DO TĐích=TĐích{(q,0)}; Repeat first ++; ((f,i)=Get(TĐích); If (f GT) THEN { j = Tìmluật(f,i,Rule); // rj: Leftj → f If (Tìm có rj) THEN { Vet = Vet {(f,j)}; For Each t (Leftj\GT) DO TĐích = TĐích{((t,0)}; else { Quaylui=True; While (f KL) AND Quaylui DO { Repeat { (g,k)=Get(Vết); TĐích = TĐích \ Leftk;} Until f Leftk; 44 l=Tìmluật(g,k,Rule);
  45. Thuật toán suy diễn lùi If (Tìm có rl) THEN { TĐích = TĐích \ Leftl ; For Each t (Leftl \GT) DO TĐích = TĐích{((t,0)}; Vết = Vết  {(g,l)}; Quaylui = False; } else f=g; } } } Until (TĐích = ) OR ((f KL) and (First>2)); If (f KL) then Return False else Return TRue; Ví dụ: Rule ={r1:a →c, r2:b →d, r3:a →e, r4:ad →e, r5:b  c →f, r6:ef→g} Hỏi a  b →g? , a →g? 45
  46. 2.4.3 Ưu điểm * Suy diễn tiến • Ưu điểm chính của suy diễn tiến là làm việc tốt khi bài toán về bản chất đi thu thập thông tin rồi thấy điều cần suy diễn. • Suy diễn tiến cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu. Nó sinh ra nhiều thông tin mới. • Suy diễn tiến là tiếp cận lý tưởng đối với loại bài toán cần giải quyết các nhiệm vụ như lập kế hoạch, điều hành điều khiển và diễn dịch. * Suy diễn lùi •Một trong các ưu điểm chính của suy diễn lùi là phù hợp với bài toán đưa ra giả thuyết rồi xem hiệu qủa giả thiết đó có đúng không. •Suy diễn lùi tập trung vào đích đã cho. Nó tạo ra một loạt câu hỏi chỉ liên quan đến vấn đề đang xét, đến hoàn cảnh thuận tiện đối với người dùng. •Khi suy diễn lùi muốn suy diễn cái gì đó từ các thông tin đã biết, nó chỉ tìm trên một phần của cơ sở tri thức thích đáng đối với bài toán 46 đang xét.
  47. 2.4.4 Nhược điểm * Suy diễn tiến • Một nhược điểm chính của hệ thống suy diễn tiến là không cảm nhận được rằng chỉ một vài thông tin là quan trọng. Hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được. • Hệ thống có thể hỏi cả câu không liên quan. Có thể các câu trả lời cũng quan trọng, nhưng làm người dùng lúng túng khi phải trả lời các câu không dính đến chủ đề. * Suy diễn lùi •Nhược điểm cơ bản của suy diễn này là nó thường tiếp theo dòng suy diễn, thay vì đúng ra phải đúng ở đó mà sang nhánh khác. Tuy nhiên có thể dùng nhân tố tin cậy và các luật meta để khắc phục. 47
  48. Chương 3: Hệ MYCIN 3.1 Giới thiệu MYCIN là một hệ lập luận trong y học được hoàn tất vào năm 1970 tại đại học Standford, Hoa Kỳ. Đây là một hệ chuyên gia dựa trên luật và sự kiện. MYCIN sử dụng cơ chế lập luật gần đúng để xử lý các luật suy diễn dựa trên độ đo chắc chắn. Tiếp theo sau MYCIN, hệ EMYCIN ra đời. EMYCIN là một hệ chuyên gia tổng quát được tạo lập bằng cách loại phần cơ sở tri thức ra khỏi hệ MYCIN. EMYCIN cung cấp một cơ chế lập luận và tuỳ theo bài toán cụ thể sẽ bổ sung tri thức riêng của bài toán đó để tạo thành hệ chuyên gia. Các đặc điểm chính: - Sử dụng kỹ thuật suy diễn lùi. - Có khả năng phân tích tri thức và điều khiển. - Có tích hợp Meta-Rule. - Có thể dùng khi thiếu thông tin hoặc thông tin không chắc chắn. - Dễ sử dụng, giao tiếp bằng tiếng Anh. - Cung cấp các chức giải thích: HOW, WHY. 48
  49. Một phiên làm việc cụ thể với MYCIN: ?Thông tin về bệnh nhân ⚫ MYCIN: Họ và tên? ⚫ User: Jack Durkin. ⚫ MYCIN: Tuổi? ⚫ User: 24. ⚫ MYCIN: Giới tính? ⚫ User: Nam. ⚫ MYCIN: Chủng tộc? ⚫ User: CAUCASIAN. ? Xác định bản chất lây nhiễm ⚫ MYCIN: Có bất kỳ phép cấy vi khuẩn cho Jack Durkin liên quan đến bệnh hiện tại? ⚫ User: Có. ⚫ MYCIN: Mẫu vật lấy từ đâu? ⚫ User: CSF. ⚫ MYCIN: Ngày giờ thực hiện cấy: ⚫ User: 5-6-77 8:09 AM ⚫ ⚫ MYCIN: Gần đây Jack Durkin có các triệu ⚫ chứng như: choáng ván, hôn mê không? ⚫ User: Có. ⚫ 49
  50. CÁC THÀNH PHẦN CỦA HỆ MYCIN 1. Chương trình tư vấn: Cung cấp cho các Bác sĩ các lời khuyên để chọn phương pháp điều trị thích hợp bằng cách xác định rõ cách thức điều trị bởi các dữ liệu lấy ra từ các phòng thí nghiệm lâm sàng thông qua các câu trả lời của bác sĩ cho câu hỏi của máy tính. 2. Khả năng giải thích có tác động qua lại: Cho phép chương trình tư vấn giải thích các kiến thức của nó về các phương pháp điều trị và chứng minh các chú thích về các phương pháp điều trị đặc biệt. 3. Thu nạp tri thức: cho phép các chuyên gia con người trong lĩnh vực điều trị các căn bệnh truyền nhiễm dạy cho MYCIN các luật quyết định theo phương pháp điều trị mà họ tìm thấy trong thực tế lâm sàng. 50
  51. PHẠM VI SỬ DỤNG CỦA HỆ MYCIN 1. Chẩn đoán nguyên nhân gây bệnh: đối với các bác sĩ điều trị, khi xét nghiệm cho bệnh nhân để có kết quả chẩn đoán chắc chắn mất 24-48 giờ. Nhiều trường hợp phải điều trị cả ngay khi chưa có kết luận hoàn chỉnh. MYCIN giúp chẩn đoán nguyên nhân gây bệnh nhanh hơn: khi gọi chương trình MYCIN, các bác sĩ trả lời các câu hỏi về tiểu sử bệnh nhân, bệnh án, các kết quả xét nghiệm, các triệu chứng, từ đó MYCIN đưa ra chẩn đoán bệnh. 2. Tạo ra phương pháp điều trị: Sau khi nhận được các câu trả lời của bác sĩ về tình trạng bệnh nhân thông qua đối thoại. Trong trường hợp câu trả lời không biết hoặc biết không chắc chắn, thì MYCIN sẽ suy luận từ các thông tin không hoàn chỉnh. 3. Dự đoán diễn biến của bệnh: Bằng các câu hỏi “HOW, WHY”, MYCIN sẽ giải thích các nguyên nhân và lý do cho các bác sĩ. Sau khi việc chẩn đoán bệnh và kê đơn hoàn tất, bác sĩ có thể theo dõi toàn bộ quá trình chẩn đoán bệnh của MYCIN và qua đó theo dõi diễn biến của bệnh 51
  52. NGUYÊN NHÂN THÀNH CÔNG CỦA MYCIN 1. Sự cần thiết của việc tư vấn dùng kháng sinh của các bác sĩ: vào thời điểm này việc lạm dụng kháng sinh đã đem lại không ít phản ứng phụ. 2. Cơ sở tri thức của MYCIN được thu nạp từ các chuyên gia xuất sắc nhất trong lĩnh vực. 3. MYCIN không bao giờ đi đến ngay kết luận để luôn có thêm các thông tin cốt yếu qua mỗi bước. 4. MYCIN được hình thành từ một chương trình trí tuệ nhân tạo đã được áp dụng thực tế (DENDRAL) và đã được thực hiện tại trung tâm y tế nổi tiếng với các tri thức mới nhất về bệnh học và dược học. 52
  53. 3.2 LÝ THUYẾT VỀ SỰ CHẮC CHẮN MB (Measure of Belief in): độ đo sự tin cậy MD (Measure of Disbelief in): độ đo sự không tin cậy CF (Certainly Factor): Hệ số chắc chắn Gọi: MB(H/E) là độ đo sự tin cậy của giả thuyết H khi có chứng cứ E. MD(H/E) là độ đo sự không tin cậy của giả thuyết H khi có chứng cứ E. Khi đó: 0 < MB(H/E) < 1 trong khi MD(H/E) = 0 0 < MD(H/E) < 1 trong khi MB(H/E) = 0 Độ đo chắc chắn CF(H/E) được tính bằng công thức: CF(H/E) = MB(H/E) – MD(H/E) 53
  54. 3.2 LÝ THUYẾT VỀ SỰ CHẮC CHẮN(tiếp) 1. Luật đơn giản: r: If(e) then (c) CF(e) là độ đo chắc chắn của chứng cớ. CF(r) là độ đo chắc chắn của luật suy diễn. Khi đó: CF(c) là độ đo chắc chắn của kết luận sẽ được tính bằng công thức: CF(c) = CF(e) * CF(r) 2. Luật phức tạp: ⚫ If(e1 AND e2) then (c) CF (e1 AND e2) = MIN(CF(e1), CF(e2)) ⚫ if (e1 OR e2) then (c) CF (e1 OR e2) = MAX(CF(e1), CF(e2)) 54
  55. 3.2 LÝ THUYẾT VỀ SỰ CHẮC CHẮN(tiếp) 3. Với luật: if ((e1 AND e2) OR e3) then (c) CF ((e1 AND e2) OR e3) = MAX(MIN(CF(e1), CF(e2)), CF(e3)) 4. CF(NOT e) = - CF(e) 5. Kết hợp nhiều luật có cùng kết luận: - Luật 1: If(e1) then (c) với CF(r1): độ đo chắc chắn của luật 1 - Luật 2: If(e2) then (c) với CF(r2): độ đo chắc chắn của luật 2 ⚫ Với CF(t1), CF(t2) là CF của kết luận của luật 1 và 2, khi CF(t1) và Cf(t2) đều dương thì: Ctổng = CF(t1) + CF(t2) – CF(t1) * CF(t2) ⚫ Khi CF(t1) và Cf(t2) đều âm thì: Ctổng = CF(t1) + CF(t2) + CF(t1) * CF(t2) ⚫ Nếu CF(t1) khác dấu với CF(t2) thì: Ctổng = (CF(t1) + CF(t2)) / (1 – MIN(ABS(CF(t1)), ABS(CF(t2)))) 55
  56. Ví dụ về lập luận trong Hệ MYCIN ⚫ Ví dụ: Có 7 luật sau đây: r1: If(e1) Then (c1) CF(r1) = 0,8 r2: If (e2) Then (c2) CF(r2) = 0,9 r3: If (e3) Then (c2) CF(r3) = 0,7 r4: If (e4) Then (c3) CF(r4) = 0,6 r5: If (NOT e5) Then (c3) CF(r5) = 0,5 r6: If (c2 AND c3) Then (c4) CF(r6) = 0,9 r7: If (c1 OR c4) Then (c5) CF(r7) = 0,8 ⚫ Bảng luật này tạo thành mạng suy diễn ở hình 3.1 với c5 là giả thuyết cần hướng đến. 56
  57. Hình 3.1. Mạng suy diễn e1 57
  58. Lập luận trên mạng suy diễn ⚫ Giả sử các chứng cớ e1, e2, e3, e4, e5 có độ đo chắc chắn như sau: CF(e1) = 0,9 CF(e2) = 0,9 CF(e3) = -0,3 CF(e4) = 0,4 CF(e5) = -0,3 58
  59. Lập luận trên mạng suy diễn (tiếp) ⚫ Chúng ta sẽ lập luận từ các CF của chứng cứ dần lên giả thuyết c5 như sau: ⚫ Dựa vào luật r1 tính được CF(c1): ⚫ CF(c1) = CF(e1) * CF(r1) = 0,8*0,9 = 0,72 ⚫ Dựa vào luật r2, r3 tính được CF(c2) ⚫ Với luật r2: CF(c2) = CF(e2) * CF(r2) = 0,9 * 0,9 = 0,81 ⚫ Với luật r3: CF(c2) = CF(e3) * CF(r3) = -0,3 * 0,7 = - 0,21 ⚫ Do CF(c2) của r2 trái dấu với CF(c2) của r3, nên: CF(c2)tổng = (0,81 + (-0,21)) / (1-MIN (0,81, 0,21)) = 0,74 59
  60. Lập luận trên mạng suy diễn (tiếp) ⚫ Dựa vào luật r4, r5 ta tính được CF(c3) ⚫ Với luật r4: ⚫ CF(c3) = CF(e4) * CF(r4) = 0,4 * 0,6 = 0, 24 ⚫ Với luật r5: ⚫ CF(c3) = CF(NOT e5)*CF(r5) = -CF(e5)*CF(r5) = 0,3*0,5 = 0,15 ⚫ Do CF(c3) của r4 và CF(c3) của r5 cùng dương nên CF(c3)tổng = 0,24 + 0,15 – 0, 24 * 0, 15 = 0,354 ⚫ Dựa vào luật r6 ta tính đươc CF(c4): ⚫ CF(c4) = MIN(CF(c2), CF(c3)) * CF(r6) = MIN(0,74, 0,354) * 0,9 = 0,354 * 0,9 = 0,3186 ⚫ Dựa vào luật r7 ta tính được CF(c5) ⚫ CF(c5) = MAX(CF(c1), CF(c4)) * CF(r7) = MAX(0,72, 0,3186) * 0,8 = 0,576 ⚫ Như thế độ chắc chắn của giả thuyết c5 là 0,576. 60
  61. Chương 4 Hệ học 4.1 MỞ ĐẦU ⚫ Các chương trước đã thảo luận về biểu diễn và suy luận tri thức. Trong trường hợp này giả định đã có sẵn tri thức và có thể biểu diễn tường minh tri thức. ⚫ Tuy vậy trong nhiều tinh huống, sẽ không có sẵn tri thức như: – Kỹ sư tri thức cần thu nhận tri thức từ chuyên gia lĩnh vực. – Cần biết các luật mô tả lĩnh vực cụ thể. – Bài toán không được biểu diễn tường minh theo luật, sự kiện hay các quan hệ. ⚫ Có hai tiếp cận cho hệ thống học: – Học từ ký hiệu: bao gồm việc hình thức hóa, sửa chữa các luật tường minh, sự kiện và các quan hệ. – Học từ dữ liệu số: được áp dụng cho những hệ thống được mô hình dưới dạng số liên quan đến các kỹ thuật nhằm tối ưu các tham số. Học theo dạng số bao gồm mạng Neural nhân tạo, thuật giải di truyền, bài toán tối ưu truyền thống. Các kỹ thuật học theo số không tạo ra CSTT tường minh. 61
  62. 4.2 CÁC HÌNH THỨC HỌC 1. Học vẹt: Hệ tiếp nhận các khẳng định của các quyết định đúng. Khi hệ tạo ra một quyết định không đúng, hệ sẽ đưa ra các luật hay quan hệ đúng mà hệ đã sử dụng. Hình thức học vẹt nhằm cho phép chuyên gia cung cấp tri thức theo kiểu tương tác. 2. Học bằng cách chỉ dẫn: Thay vì đưa ra một luật cụ thể cần áp dụng vào tình huống cho trước, hệ thống sẽ được cung cấp bằng các chỉ dẫn tổng quát. Ví dụ: "gas hầu như bị thoát ra từ van thay vì thoát ra từ ống dẫn". Hệ thống phải tự mình đề ra cách biến đổi từ trừu tượng đến các luật khả dụng. 3. Học bằng qui nạp: Hệ thống được cung cấp một tập các ví dụ và kết luận được rút ra từ từng ví dụ. Hệ liên tục lọc các luật và quan hệ nhằm xử lý từng ví dụ mới. 62
  63. 4.2 CÁC HÌNH THỨC HỌC (Tiếp) 4. Học bằng tương tự: Hệ thống được cung cấp đáp ứng đúng cho các tác vụ tương tự nhưng không giống nhau. Hệ thống cần làm thích ứng đáp ứng trước đó nhằm tạo ra một luật mới có khả năng áp dụng cho tình huống mới. 5. Học dựa trên giải thích: Hệ thống phân tích tập các lời giải ví dụ (và kết quả) nhằm ấn định khả năng đúng hoặc sai và tạo ra các giải thích dùng để hướng dẫn cách giải bài toán trong tương lai. 6. Học dựa trên tình huống: Bất kỳ tính huống nào được hệ thống lập luận đều được lưu trữ cùng với kết quả cho dù đúng hay sai. Khi gằp tình hướng mới, hệ thống sẽ làm thích nghi hành vi đã lưu trữ với tình huống mới. 7. Khám phá hay học không giám sát: Thay vì có mục tiêu tường minh, hệ khám phá liên tục tìm kiếm các mẫu và quan hệ trong dữ liệu nhập. Các ví dụ về học không giám sát bao gồm gom cụm dữ liệu, học để nhận dạng các đặc tính cơ bản như cạnh từ các điểm ảnh. 63
  64. Ví dụ về CÁC HÌNH THỨC HỌC Ví dụ: - Hệ MYCIN - Mạng Neural nhân tạo - Thuật toán học Quinland - Bài toán nhận dạng - Máy chơi cờ carô, cờ tướng 64
  65. 4.3 THUẬT GIẢI Quinlan - Là thuật toán học theo quy nạp dùng luật, đa mục tiêu. - Do Quinlan đưa ra năm 1979. - Ý tưởng: Chọn thuộc tính quan trọng nhất để tạo cây quyết định. - Thuộc tính quan trọng nhất là thuộc tính phân loại Bảng quan sát thành các bảng con sao cho từ mỗi bảng con này dễ phân tích để tìm quy luật chung. 65
  66. 4.3.1 THUẬT GIẢI A. Quinlan STT Size Nationality Family Conclusion 1 Small German Single A 2 Large French Single A 3 Large German Single A 4 Small Italian Single B 5 Large German Married B 6 Large Italian Single B 7 Large Italian Married B 8 Small German Married B 66
  67. Với mỗi thuộc tính của bảng quan sát: ⚫ Xét vector V: có số chiều bằng số phân loại – V(Size=Small) = (ASmall, BSmall) – ASmall=Số quan sát A có Size là Small / Tổng số quan sát có Size=Small – BSmall= Số quan sát B có Size là Small / Tổng số quan sát có Size=Small V(Size=Small) = (1/3 , 2/3) V(Size=Large) = (2/5 , 3/5) ⚫ Với thuộc tính Nationality V(Nat = German)= (2/4 , 2/4) V(Nat = French) = (1 , 0) V(Nat = Italian) = (0/3,3/3)=(0 , 1) ⚫ Thuộc tính Family: V(Family=Single) = (3/5 , 2/5) V(Family = Married) = (0/3,3/3)=(0, 1) 67
  68. Với mỗi thuộc tính của bảng quan sát: Chỉ còn xét German STT Size Family Conclusion •Thuộc tính Size: 1 Small Single A V(Size=Small) = (1/2 , 1/2) V(Size=Large) = (1/2 , 1/2) 2 Large Single A •Thuộc tính Family: 3 Large Married B V(Family=Single)=(2/2,0,2)=(1, 0) V(Family=Married)=(0/2,2/2)=(0,1) 4 Small Married B Nationality Italian French German 68 Single Married
  69. Với mỗi thuộc tính của bảng quan sát(tiếp) Nationality Italian French German Single Married Rule 1: If (Nationality IS Italian) then (Conclusion IS B) Rule 2: If (Nationality IS French) then (Conclusion IS A) Rule 3: If (Nationality IS German) AND (Family IS Single) then (Conclusion IS A) Rule 4: If (Nationality IS German) AND (Family IS Married) 69 then (Conclusion IS B)
  70. Thuật giải: Học theo độ bất định Stt Age Competition Type Profit 1 Old No Software Down 2 Midle Yes Software Down 3 Midle No Hardware Up 4 Old No Hardware Down 5 New No Hardware Up 6 New No Software Up 7 Midle No Software Up 8 New Yes Software Up 9 Midle Yes Hardware Down 70 10 Old Yes Hardware Down
  71. Học theo độ bất định(tiếp) k ⚫ Độ bất định của X: E(X ) = - pi log 2 pi i=1 ⚫ Tính Entropy cho mỗi thuộc tính và chọn thuộc tính có Entropy nhỏk nhất. E(C / A) = - p(ci ,ai )log 2 p(ci ,ai ) i=1 4 4 2 2 E(C / ) = - log - log = 0.918 Competition=No 6 2 6 6 2 6 1 1 3 3 E(C / ) = - log - log = 0.811 Competition=Yes 4 2 4 4 2 4 E(C / Competition) = 0.6*0.918 + 0.4*0.811 = 0.8752 71 −
  72. Học theo độ bất định(tiếp) STT Competition Type Profit ⚫ Tương tự: E(C/Age) = 0.4 1 Yes Software Down E(C/Type) = 1 2 No Hardware Up ⚫ Age cho nhiều thông tin nhất 3 No Software Up 4 Yes Hardware Down Age Old Milde New Down Competition Up No Yes 72 Up Down
  73. Học theo độ bất định(tiếp) Age Old Milde New Down Competition Up No Yes Up Down Rule 1: If (Age IS Old) then (Profit IS Down) Rule 2: If (Age IS New) then (Profit IS Up) Rule 3: If (Age IS Midle) And (Competition IS No) then (Profit IS Up) Rule 4: If (Age IS Midle) And (Competition IS Yes) 73 then (Profit IS Down)
  74. 4.4 THUẬT GIẢI ILA(Inductive Learning Algorithm) Xác định dữ liệu 1. Tập mẫu được liệt kê trong một bảng, với mỗi dòng tương ứng một mẫu, và mỗi cột thể hiện một thuộc tính trong mẫu. 2. Tập mẫu có m mẫu, mỗi mẫu gồm k thuộc tính và có một thuộc tính quyết định. Tổng số n các giá trị của thuộc tính quyết định chính là số lớp của tập mẫu. 3. Tập luật R có giá trị khởi tạo là  4. Tất cả các dòng trong bảng ban đầu chưa được đánh dấu (kiểm tra). 74
  75. 4.4 THUẬT GIẢI ILA(tiếp) ⚫ Bước 1: Chia bảng m mẫu ban đầu thành n bảng con. Mỗi bảng con ứng với một giá trị của thuộc tính phân lớp của tập mẫu. (* thực hiện các bước 2 đến 8 cho mỗi bảng con*) ⚫ Bước 2: Khởi tạo biến đếm kết hợp thuộc tính j, j=1. ⚫ Bước 3: Với mỗi bảng con đang khảo sát, phân chia danh sách các thuộc tính theo các tổ hợp phân biệt, mỗi tổ hợp ứng với j thuộc tính phân biệt. ⚫ Bước 4: Với mỗi tổ hợp các thuộc tính, tính số lượng các giá trị thuộc tính xuất hiện theo cùng tổ hợp thuộc tính trong các dòng chưa được đánh dấu của bảng con đang xét (mà đồng thời không xuất hiện với tổ hợp thuộc tính này trên các bảng còn lại). Gọi tổ hợp đầu tiên (trong bảng con) có số lần xuất hiện nhiều nhất là tổ hợp lớn nhất. 75
  76. 4.4 THUẬT GIẢI ILA(tiếp) ⚫ Bước 5: Nếu tổ hợp lớn nhất bằng , tăng j lên 1 và quay lại bước 3. ⚫ Bước 6: Đánh dấu các dòng thoả tổ hợp lớn nhất của bảng con đang xử lý theo lớp. ⚫ Bước 7: Thêm luật mới vào tập luật R, với vế trái là tập các giá trị của thuộc tính ứng với tổ hợp lớn nhất (kết hợp các thuộc tính bằng toán tử AND) và vế phải là giá trị thuộc tính quyết định tương ứng. ⚫ Bước 8: Nếu tất cả các dòng đều đã được đánh dấu phân lớp, tiếp tục thực hiện từ bước 2 cho các bảng con còn lại. Ngược lại (nếu chưa đánh dấu hết các dòng) thì quay lại bước 4. Nếu tất cả các bảng con đã được xét thì 76 kết thúc, kết quả thu được là tập luật cần tìm.
  77. Minh họa thuật giải ILA Mẫu số Size Color Shape Decision 1 medium blue brick yes 2 small red wedge no 3 small red sphere yes 4 large red wedge no 5 large green pillar yes 6 large red pillar no 7 large green sphere yes 77 Bảng 4.1 Tập mẫu học cho bài toán phân lớp đối tượng
  78. Minh họa thuật giải ILA(tiếp): Bước 1 Bảng con 1 Mẫu số cũ, mới Size Color Shape Decision 1 1 medium blue brick yes 3 2 small red sphere yes 5 3 large green pillar yes 7 4 large green sphere yes Bảng con 2 Mẫu số cũ mới Size Color Shape Decision 2 1 small red wedge no 4 2 large red wedge no 6 3 large red pillar no 78 Bảng 4.2. Với n=2, Chia thành hai bảng con theo thuộc tính Decision
  79. Minh họa thuật giải ILA(tiếp) • Áp dụng bước 2 của thuật giải vào bảng con thứ nhất trong bảng trên. Với j=1, danh sách các tổ hợp thuộc tính gồm có {Size}, {Color}, và {Shape}. • Với tổ hợp {Size}, giá trị thuộc tính "medium" xuất hiện trong bảng con thứ nhất nhưng không có trong bảng con thứ hai, do đó giá trị tổ hợp lớn nhất là "medium". Bởi vì các giá trị thuộc tính "small" và "large" xuất hiện trong cả hai bảng con, nên không được xét trong bước này. Với tổ hợp {Size}, giá trị thuộc tính "medium" chỉ bằng 1 79
  80. Minh họa thuật giải ILA(tiếp) • Xét tiếp cho tổ hợp {Color} thì giá trị tổ hợp lớn nhất là bằng 2, ứng với thuộc tính "green", còn thuộc tính "blue" là bằng 1. • Tương tự, với tổ hợp {Shape}, ta có "brick" xuất hiện một lần, và "sphere" hai lần. Đến cuối bước 4, ta có tổ hợp {Color} với thuộc tính "green" và {Shape} với thuộc tính "sphere" đều có số lần xuất hiện lớn nhất là 2. Thuật toán mặc định chọn trường hợp thứ nhất để xác định luật tổ hợp lớn nhất. Dòng 3 và 4 được đánh dấu đã phân lớp, ta có luật dẫn như sau: Rule 1: IF color IS green THEN decision IS yes 80
  81. Minh họa thuật giải ILA(tiếp) • Tiếp tục thực hiện bước 4 đến 8 cho các mẫu còn lại (chưa đánh dấu) trong bảng con này (tức dòng 1 và 2). Áp dụng tương tự như trên, ta thấy giá trị thuộc tính "medium" của {Size}, "blue" của "Color", "brick" và "sphere" của {Shape} đều xuất hiện một lần. Bởi vì số lần xuất hiện này giống nhau, thuật giải áp dụng luật mặc định chọn trường hợp đầu tiên. Ta có thêm luật sau: Rule 2: IF size IS medium THEN decision IS yes Đánh dấu cho dòng 1 trong bảng con thứ nhất. Tiếp tục áp dụng bước 4 đến 8 trên dòng còn lại (tức dòng 2). Giá trị thuộc tính "sphere" của {Shape} xuất hiện một lần, ta có luật thứ ba: :Rule 3: IF shape IS sphere THEN decision IS yes Dòng 2 được đánh dấu. Như vậy, tất cả các dòng trong bảng con 1 đã được đánh dấu, ta chuyển qua xử lý tiếp bảng con 2. 81
  82. Minh họa thuật giải ILA(tiếp) •Thuộc tính "wedge" của {Shape} xuất hiện hai lần trong dòng 1 và 2 của bảng con này. Đánh dấu các dòng này với luật dẫn thứ tư sau: Rule 4: IF shape IS wedge THEN decision IS no • Với dòng còn lại (tức dòng 3) của bảng con 2, ta có thuộc tính {Size} với giá trị "large" có xuất hiện trong bảng con 1. Do đó, theo thuật giải, ta loại bỏ trường hợp này. Tương tự như vậy cho giá trị "red" của {Color} và "pillar" của {Shape}. Khi đó, ILA tăng j lên 1, và khởi tạo các tổ hợp 2 thuộc tính là {Size và Color}, {Size và Shape}, và {Color và Shape}. Các tổ hợp thứ nhất và thứ ba thoả mãn điều kiện không xuất hiện trong bảng con 1 với các cặp thuộc tính hiện có của dòng này. Theo luật mặc định, ta chọn luật theo trường hợp thứ nhất. Đánh dấu dòng này, ta có thêm luật dẫn thứ 5: Rule 5: IF size IS large AND color IS red THEN decision IS no 82
  83. Minh họa thuật giải ILA(tiếp) Rule 1: IF color IS green THEN decision IS yes Rule 2: IF size IS medium THEN decision IS yes Rule 3: IF shape IS sphere THEN decision IS yes Rule 4: IF shape IS wedge THEN decision IS no Rule 5:IF size IS large AND color IS red THEN decision IS no Đánh giá thuật giải: • Số lượng các luật thu được xác định mức độ thành công của thuật giải. Đây chính là mục đích chính của các bài toán phân lớp thông qua một tập mẫu học. Ngoài ra, để đánh giá các hệ học quy nạp là khả năng hệ thống có thể phân lớp các mẫu được đưa vào sau này. • Thuật giải ILA được đánh giá mạnh hơn hai thuật giải về phương pháp học quy nạp trước đây là ID3 và AQ). 83
  84. Chương 5: Hệ thống mờ cho các biến liên tục 5.1 Các khái niệm 1. Tập rõ và hàm đặc trưng - Ngôn ngữ tự nhiên và logic mờ. - Tập rõ (crisp set): Gọi A là một tập hợp rõ, một phần tử x có thể có x A hoặc x A, Có thể sử dụng hàm  để mô tả khái niệm thuộc về. Nếu x A, (x) = 1, nguợc lại nếu x A,  (x)=0. Hàm  được gọi là hàm đặc trưng của tập hợp A. - Tập mờ và hàm thành viên: Khá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  và cho x là một phần tử, A(x) phản ánh mức độ x thuộc về A. - Một tập mờ A trong tập vũ trụ U được xác định bởi hàm: 84 A: U →[0,1]
  85. 5.1 Các khái niệm về Logic mờ • Ví dụ về tập mờ: - High - Young - Số gần 7 - Tốc độ nhanh Biểu diễn tập mờ: 1. Nếu tập vũ trụ U là rời rạc và hữu hạn thì tập mờ A trong U được biểu diễn:  (x) A =  A x U x Ví dụ: Cho U={a, b, c, d}. Ta có thể xác định một tập mờ A như sau: 0.3 0.5 0 0.7 A = + + + Hoặc A={0.3, 0.5, 0.0, 0.7} a b c d 85
  86. 5.1 Các khái niệm về Logic mờ(tiếp) 2. Nếu tập vũ trụ U là liên tục thì tập mờ A trong U được biểu diễn:  (x) A = A dx x U x Ví dụ: Tập mờ A={“Số gần 2”} có thể xác định hàm thuộc như sau: -(x-2)2  A (x) = e 2 e-(x-2) A = dx x U x 86
  87. 5.1 Các khái niệm về Logic mờ(tiếp) Ghi chú: Đồ thị hàm thuộc cho tập mờ A={“Số gần 2”} có thể xác định cách khác như sau: 0 nếu x 3 87
  88. 5.2 Các dạng của hàm thành viên ⚫ Các hàm thành viên của tập mờ có 3 dạng cơ bản là: dạng tăng, dạng giảm và dạng chuông ⚫ Dạng S tăng Hình 4.2. Hàm S tăng ⚫ b) Dạng S giảm ⚫ c) Dạng hình chuông 88 Hình 4.3. Hàm dạng chuông
  89. 5.3 Biến ngôn ngữ (Linguistic Variable) ⚫ Logic mờ liên quan đến lập luận trên các thuật ngữ mờ và mơ hồ trong ngôn ngữ tự nhiên của con người. ⚫ Biến nhận các từ trong ngôn ngữ tự nhiên làm giá trị gọi là biến ngôn ngữ. ⚫ Biến ngôn ngữ được xác định bởi bộ bốn (x, T, U, M): – X là tên biến. Ví dụ: “nhiệt độ”, “tốc độ”, “áp suất”, – T là tập các từ (các giá trị ngôn ngữ) mà x có thể nhận. Ví dụ: x là “tốc độ” thì T có thể là T={chậm, vừa, nhanh} – U là miền giá trị mà x có thể nhận. Ví dụ, nếu x là “tốc độ” của xe máy thì U=[0 120 km/h] – M là luật ngữ nghĩa, ứng với mỗi từ t T với một tập mờ A. 89
  90. 5.4 Biến ngôn ngữ (tiếp) Biến ngôn ngữ Các giá trị điển hình Nhiệt độ Nóng, lạnh Độ cao Thấp, trung bình, cao Tốc độ Chậm, vừa, nhanh Ví dụ: Cho x là tốc độ, T={chậm, vừa, nhanh}, các từ “chậm”, “vừa”, “nhanh” được xác định bời các tập mờ trong hình sau: Chậm Vừa Nhanh 30 50 60 70 120 90
  91. 5.5 Gia tử ⚫ Gia tử làm mơ hồ thêm các câu như: rất, hơi, có vẻ, 2 1. Rất: Rất(A) (x) = (A(x)) Ví dụ: Tập mờ gồm những người rất cao 0.5 2. Co giãn / một ít: Co giãn (A) (x) = (A(x)) Ví dụ: A là tập những người tầm thước thì Co giãn A là tập những người thiên về cao và thấp trong những người tầm thước. 3. Nhấn mạnh/ thực sự là: 2 Nhấn mạnh(A) (x) = 2(A(x)) nếu 0 A(x) 0.5 2 Nhấn mạnh(A) (x) = 1-2(1-A(x)) nếu 0.5 A(x) 1 Ví dụ: Sau khi dùng phép toán này với tập mờ cao ta được tập những ngườii thực sự cao n 4. Mạnh mẽ / rất rất: Rất rất(A) (x) = (A(x)) Ví dụ: Sau khi dùng phép toán này với tập mờ cao ta được tập những ngườii thực sự cao 91
  92. 5.6 Các phép toán trên tập mờ Cho ba tập mờ A, B , C với A(x), B (x), C(x) ⚫ C=A  B: C(x) = min(A(x), B (x)) ⚫ C=A  B : C(x) = max(A(x), B (x)) ⚫ C= A : C(x) = 1- A(x) Xét tập mờ “cao” và “thấp” về chiều cao của người: Cao = 0.0/1.5 + 0.2/1.55 + 0.5/1.60 + 0.8/1.65 + 1.0/1.70 Thấp = 1.0/1.5 + 0.8/1.55 + 0.5/1.60 + 0.2/1.65 + 0.0/1.70 ⚫ Cao  Thấp (x) = 0.0/1.5 + 0.2/1.55 + 0.5/1.60 + 0.2/1.65 + 0.0/1.70 Dùng để chỉ những người tầm thước: giá trị cao nhất ở giữa tập, thấp nhất ở 2 bên ⚫ Cao  Thấp (x) = 1.0/1.5 + 0.8/1.55 + 0.5/1.60 + 0.8/1.65 + 1.0/1.70 Dùng để chỉ những người không tầm thước ⚫ Cao (x) = 1.0/1.5 + 0.8/1.55 + 0.5/1.60 + 0.2/1.65 + 0.0/1.70 Dùng để chỉ những người không cao hay tầm thước hay thấp. 92
  93. 5.7 Suy diễn mờ Mệnh đề mờ là mệnh đề khẳng định giá trị cho biến ngôn ngữ. is Ví dụ: Chiều cao là tầm thước ▪ Logic mờ sử dụng tập mờ trong các mệnh đề mờ. IF X is A THEN Y is B Ví dụ: Nếu chiều cao là tầm thước thì trọng lượng là trung bình • Nếu A và B là tập mờ thì Hệ chuyên gia lưu trữ liên kết (A,B) trong ma trận M (hay ký hiệu R). • Có thể thể hiện cả A và B như các vector (A, B) thích hợp và đặt quan hệ này vào ma trận M. - Ma trận liên kết mờ M ánh xạ tập mờ A sang tập mờ B. • Hai kỹ thuật suy diễn thông dụng là; • Suy diễn Max-Min • Suy diễn cực đại. 93
  94. 5.7.1 Nhân ma trận vector mờ Cho A =(a1, a2, , an) với ai = A(xi) Cho B =(b1, b2, , bp) với bj = B(yj) Ma trận Mn*p được xác định như sau: A o M = B Trong đó bj = Max { Min (ai, mij)} 1 i n Ví dụ: Cho A=(0.2, 0.4, 0.6, 1) Cho 0.1 0.6 0.8 0.6 0.8 0.6 M = 0.8 0.6 0.5 0.0 0.5 0.5 b1 = Max{Min(0.2, 0.1), Min(0.4, 0.6), Min(0.6, 0.8), Min(1, 0.0)} = 0.6 b2 = Max{Min(0.2, 0.6), Min(0.4, 0.8), Min(0.6, 0.6), Min(1, 0.5)} = 0.6 Tương tự b2=0.6 và b3 = 0.5 Như vậy, B=(0.6, 0.6, 0.5) 94
  95. 5.7.2 Suy diễn Max-Min (Tìm ma trận M) - Suy diễn Max-Min: mij = Min(ai , bj) Ví dụ: X: nhiệt độ, tập mờ A trện X: “nhiệt độ bình thường” Y: tốc đô, tập mờ B trên Y: “tốc độ vừa phải” Giả sử có luật: IF nhiệt độ bình thường THEN tốc độ vừa phải”. Giả sử các tập mờ thể hiện bằng các vector sau: Nhiệt độ bình thường =(0/100, 0.5/125, 1/150, 0.5/175, 0/200) Hoặc (0, 0.5, 1, 0.5. 0) Tốc độ vừa phải = (0/10, 0.6/20, 1/30, 0.6/40, 0/50) Hoặc (0, 0.6, 1, 0.6, 0) Ma trận M được tạo ra như sau: 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.0 M = 0.0 0.6 1.0 0.6 0.0 0.0 0.5 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.0 Cho tập A’ = (0/100, 0.5/125, 0/150, 0/175, 0/200) Ta có b1= max{min(0,0), min(0.5,0), min(0,0), min(0,0), min(0,0)}=0 95 B’ = (0/10, 0.5/20, 0.5/30, 0.5/40, 0/50)
  96. 5.7.3 Suy diễn Tích cực đại (Tìm ma trận M) - Dùng phép nhân để tạo các thành phần của ma trận M Suy diễn Tích cực đại: mij = ai * bj - Sau đó dùng cách tính Max-Min để suy ra B’ từ A’ Ví dụ: A = (0, 0.5, 1, 0.5, 0) B = (0, 0.6, 1, 0.6, 0) Ma trận M được tạo ra như sau: 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.5 0.3 0.0 M = 0.0 0.6 1.0 0.6 0.0 0.0 0.3 0.5 0.3 0.0 0.0 0.0 0.0 0.0 0.0 Cho tập A’ = (0, 0.5, 0, 0, 0) Ta có b1= max{min(0,0), min(0.5,0), min(0,0), min(0,0), min(0,0)}=0 B’ = (0, 0.3, 0.5, 0.3, 0) 96
  97. 5.8 NGUYÊN LÝ XỬ LÝ CÁC BÀI TOÁN MỜ Hình 9.4. Hệ thống mờ 1. Mờ hóa: Chuyển đổi giá trị rõ đầu vào thành vector i 2. Xác định các luật hợp thành và thuật toán xác định giá trị mờ x (x)dx 3. Giải mờ: Phương pháp điểm trọng tâm A U x0 =  (x)dx A 97 U
  98. 5.8 NGUYÊN LÝ XỬ LÝ BÀI TOÁN MỜ(tiếp) Hình 9.4. Hệ thống mờ Bài toán 1: Dữ liệu Input là các giá trị rõ. Ví dụ: Xét bài toán mờ xác định bởi các luật sau: Luật 1:if x is A1 and y is B1 Then z is C1 Luật 2:if x is A2 or y is B2 Then z is C2 Vào: trị x0, y0 Ra : trị z0 tương ứng 98
  99. 5.8 NGUYÊN LÝ XỬ LÝ BÀI TOÁN MỜ(tiếp) Ứng với tập mờ A1 ta có hàm thành viên  A1 (x) Ứng với tập mờ A2 ta có hàm thành viên  A2 (x) Ứng với tập mờ B1 ta có hàm thành viên  B1 (y) Ứng với tập mờ B2 ta có hàm thành viên  B2 (x) Ứng với tập mờ C1 ta có hàm thành viên  C1 (x) Ứng với tập mờ C2 ta có hàm thành viên  C2 (x) 99
  100. Ví dụ: Giải bài toán điều khiển tự động mờ cho hệ thống bơm nước lấy nước từ giếng. Trong khi hồ hết nước và trong giếng có nước thì máy bơm tự động bơm. H.Đầy H.Lưng H.Cạn N.Cao 0 B.Vừa B.Lâu N.Vừa 0 B.Vừa B.HơiLâu N.Ít 0 0 0 •Với biến ngôn ngữ Hồ có các tập mờ hồ đầy (H.Đầy), hồ lưng (H.Lưng) và hồ cạn (H.Cạn). •Với biến ngôn ngữ Giếng có các tập mờ nuớc cao (N.Cao), nuớc vừa (N.Vừa), nuớc ít (N.Ít). •Với biến ngôn ngữ kết luận xác định thời gian bơm sẽ có các tập mờ bơm vừa (B.Vừa), bơm lâu (B.Lâu), bơm hơi lâu(B.HơiLâu). 100
  101. Ví dụ (tiếp) Trong đó x chỉ độ sâu của Hồ (0<=x<=2), y chỉ độ sâu của Giếng (0<=y<=10) và z chỉ thời gian bơm (0<=z<=30). 101
  102. Ví dụ (tiếp) Từ bảng trên ta có các luật: •Luật 1: if x is H.Lưng and y is N.Cao Then z is B.Vừa •Luật 2: if x is H.Cạn and y is N.Cao Then z is B.Lâu •Luật 3: if x is H.Lưng and y is N.Vừa Then z is B.Vừa •Luật 4: if x is H.Cạn and y is N.Vừa Then z is B.Hơi lâu Nếu nhập trị Input x0 = 1 (Độ cao của nước trong hồ ), y0 = 3 (Độ cao của nước trong giếng) 102
  103. Ví dụ (tiếp) 103
  104. Ví dụ (tiếp) Các Wi gọi là các trọng số của luật thứ i Theo lý thuyết hàm thành viên của kết luận cho bởi công thức:  C(z) = S Wi K1i(Z) i = 1 N  C(z) = W1.B.Vừa(z) + W2.B.Lâu(z) + W3.B.Vừa(z) + W4.B.Hơi Lâu(z)  C(z) = 3/10.B.Vừa(z) + 0.5.B.Lâu(z) + 3/5.B.Vừa(z) + 0.5.B.HơiLâu(z) Bước tiếp theo là ta phải giải mờ từ hàm thành viên của kết luận bằng cánh tính trọng tâm của hàm  C(z) Moment  (z) là zC (z)dz  (z)dzC C U và z (z)dz U C U z0 = = 8.15  (z)dz C U Vậy Defuzzy(z) =8.15 Do đó nếu mực nước trong hồ và giếng là 1m và 3m thì thời gian cần bơm là 8 phút và 15/100 giây. 104
  105. Khử mờ: Lấy điểm trọng tâm n x (x)dx x  (x)dx A  Ui U U i=1 x0 = = n  A (x)dx U (x)dx U  i U i=1 n x (x)dx  Ui i=1 U = n  (x)dx  Ui i=1 U 105
  106. Tính các tích phân A(x) H x (x)dx A U x0 =  (x)dx A a m 1 m 2 b x U H x (x)dx = 3m2 - 3m2 + b2 - a 2 + 3m b + 3m a A ( 2 1 2 1 ) U 6 H  (x)dx = 2m - 2m + a + b A ( 2 1 ) U 2 106
  107. 5.8 NGUYÊN LÝ XỬ LÝ CÁC BÀI TOÁN MỜ (tiếp) Đối tượng Bộ điều khiển điều khiển Cảm biến (Sensor) Bộ điều khiển mờ: SISO: Single Input, Single Output MIMO: Multi Input, Multi Output SIMO: Single Input, Multi Output 107 MISO: Multi Input, Single Output
  108. 5.8 NGUYÊN LÝ XỬ LÝ CÁC BÀI TOÁN MỜ (tiếp) Bộ điều khiển mờ: SISO: If (A is A1) Then (B is B1) If (A is An) Then (B is Bn) MIMO: If (A1 is A11) and and (Am is Am1) Then (B1 is B11) and and (Bs is B1s) If (A1 is An1) and and (Am is An1) Then (B1 is Bn1) and and (Bs is Bns) MISO: If (A1 is A11) and and (Am is Am1) Then (B is B1) If (A1 is An1) and and (Am is An1) Then (B is Bn) SIMO: If (A is A1) Then (B1 is B11) and and (Bs is B1s) If (A is A ) Then (B is B ) and and (B is B ) 108 n 1 n1 s ns
  109. Bài tập: Điều khiển mực nước Bài toán điều khiển mực nước: Không phụ thuộc vào lượng nước chảy ra khỏi bình, cần phải điều chỉnh van cho lượng nước chảy vào bình vừa đủ để sao cho mực nước h trong bình là luôn không đổi. Giả sử bộ điều khiển là con người, sẽ có các nguyên tắc sau: R1: Nếu mực nước là thấp nhiều thì van ở mức độ mở to R2: Nếu mực nước là thấp ít thì van ở mức độ mở nhỏ R3: Nếu mực nước là đủ thì van ở vị trí đóng. 109 R4: Nếu mực nước là cao thì van ở vị trí đóng.
  110. Bài tập: Điều khiển mực nước(tiếp) Các biến ngôn ngữ: + x là mực nước:có 4 giá trị T={thấp nhiều, thấp ít, đủ, cao} + y van: có 3 giá trị T={to, nhỏ, đóng} Mực nước X [0 3] (mét) (x) Thấp nhiều Thấp đủ cao 0.7 0.4 1 1.5 2 2.5 3 110
  111. Bài tập: Điều khiển mực nước(tiếp) Van Y [0 10] (cm) Với y là độ mở của van, T={to, nhỏ, đóng} (y) đóng nhỏ to 1 10 y Cho mực nước cao x0= 2 m, hỏi độ mở của van y0 là bao nhiêu 111
  112. Chương 6: Công cụ tạo lập Hệ CSTT Hệ CSTT gồm 3 thành phần sau: 1. Bộ tạo lập cơ sở tri thức: bảo đảm các tính chất: ❖ Nhất quán ❖ Không mâu thuẫn ❖ Không dư thừa dữ liệu ❖ Cập nhật dễ dàng 2. Bộ tạo động cơ suy diễn ❖ Với mỗi cách biểu diễn tri thức cần có chiến lược suy diễn tương ứng ❖ Tạo thuận tiện cho bộ phận giải thích 3. Bộ tạo các giao diện: ❖ Cung cấp khả năng tạo giao diện với người sử dụng. 112
  113. Công cụ tạo lập Hệ CSTT 6.1 Soạn thảo tri thức Các chức năng cơ bản của hệ soạn thảo tri thức: - Cho phép soạn thảo các sự kiện, các luật. - Đưa ra phạm vi tri thức cần thu nạp. - Lên danh sách các giá trị cần thiết cho mỗi đối tượng. - Kiểm tra sự đúng đắn của các luật đưa vào. - Kiểm tra sự trùng lặp khi bổ sung tri thức. - Cho phép sửa đổi, huỷ bỏ tri thức. ⚫ Hệ soạn thảo tri thức làm việc trên cơ sở ngôn ngữ gốc: – Ngôn ngữ tự nhiên. – Ngôn ngữ hình thức. 113
  114. 6.1 Soạn thảo tri thức (tiếp) 1. Soạn thảo các luật bằng Các luật dạng văn bản ngôn ngữ tự nhiên với cú Ngôn ngữ gốc pháp hạn chế. Ví dụ: Ngữ pháp - IF chất lỏng có độ PH<6 Phân tích từ vựng THEN đó là Axit Từ điển - IF tam giác có 2 góc bằng nhau THEN đó là tam giác cân Phân tích cú pháp Phân tích từ vựng: Kiểm tra lỗi Ngữ pháp chính tả Phân tích cú pháp: Kiểm tra lỗi Biểu diễn trong máy tính câu, đặt mệnh đề. Biểu diễn trong máy tính: Gồm các sự kiện, các luật. Cơ sở tri thức 114 Bộ soạn thảo Cơ sở tri thức
  115. 6.1 Soạn thảo tri thức(tiếp) 2. Soạn thảo các luật theo cú pháp mệnh đề Horn Hệ soạn thảo luật = Hệ soạn thảo văn bản + Hệ phân tích cú pháp. Dạng tổng quát của luật: IF AND AND AND THEN Trong đó: Ci, C có dạng: Cú pháp: := IF THEN := / AND := / := / / / / =/ 115
  116. Ví dụ: Soạn thảo các luật theo cú pháp mệnh đề Horn Luật: IF tuổi 30 THEN trẻ Biểu diễn bên trong: Luật Sự kiện P1 Trẻ P1 Tuổi 30 Biểu diễn bên ngoài: IF THEN tuổi 30 trẻ 116
  117. 6.1 Soạn thảo tri thức 3. Soạn thảo các luật dựa vào bộ ba liên hợp O-A-V Dạng tổng quát của luật: IF AND AND AND THEN Trong đó mỗi Ci được biểu diễn dưới dạng bộ ba liên hợp Object-Attribute-Value (O-A-V) Ngữ pháp: Như câu lệnh Horn, ngoại trừ điều kiện được thay bởi: := Ghi chú: Mối liên hệ giữa được viết dưới dạng: . = 117
  118. 6.2. Hệ chuyên gia dựa trên luật 6.2.1 Hiển thị sự kiện và luật 1. Hiển thị sự kiện: Bằng ngôn ngữ tự nhiên hiển thị các dòng văn bản chỉ nội dung sự kiện Ví dụ: Cao huyết áp Viêm phổi cấp 2. Hiển thị các luật: • Trong ngôn ngữ tự nhiên Biểu diễn trong Bdiễn khái niệm Biểu diễn ngoài Văn Bdiễn CSTT N ngữ của KSTT Nngữ bd kniệm N ngữ tự nhiên bản • Dưới dạng đồ thị - Biểu diễn khái niệm: p1p2  pn → q p - Biểu diễn ngoài: 1 p2 q 118 pn
  119. 6.2.2 Cập nhật tri thức 1. Cập nhật luật: Khi cập nhật luật cần kiểm tra các 2 điều kiện: - Nếu đã tồn tại thì loại bỏ. - Nếu chưa tồn tại thì kiểm tra có mâu thuẫn hoặc tranh chấp với các luật sẵn có trong CSTT. 2. Cập nhật sự kiện: Kiểm tra cú pháp và duyệt trong CSTT, nếu trùng thì loại bỏ. 119
  120. 6.2.2 Cập nhật tri thức(tiếp) Tính mâu thuẫn trong cơ sở tri thức: 1. Sự dư thừa các luật, dư thừa sự kiện 2. Mâu thuẫn trong cơ sở tri thức 3. Sự nhất quán của các luật 120
  121. 1. Sự dư thừa các luật, dư thừa sự kiện Cho tập SC=(SF,SR) Trong đó: SC: cơ sở tri thức SF: tập các sự kiện SR ={r1, r2, , rm} : tập luật ri: lefti →q Đn 5.1: Ta nói tập SR suy diễn luật r: left →q, ký hiệu SR╞ r, nếu FSF thỏa mãn tất cả các luật trong SR thì cũng thỏa r. Ví dụ: SF={a, b, c}, SR={r1: a →b, r2: b →c}╞ {a →c} Đn 5.2: Bao đóng của tập luật: SR+={r| SR╞r} Đn 5.3: Bao đóng của tập sự kiệnX SF là X+={A| X →A  SR+} Đn 5.4: Hai tập luật SR1 và SR2 là tương đương nếu: + + SR1 = SR2 121
  122. Thuật toán 6.1 Input: SR = {r1, r2, , rm} X  SF Output: X+={A| X →A  SR+} Method: TG = X; Sat = Loc(SR, TG); While (Sat ) do { r = Get(Sat); // r: left →q TG = TG  {q}; SR = SR \ {r}; Sat = Loc(SR, TG); } X+ = TG Return X+ 122
  123. Sự dư thừa các luật, dư thừa sự kiện (tiếp) Ví dụ: Cho SR gồm các luật: a  b → c d → e  g c → a b  e → c b  c → d c  g → b a  b d→b e  g → d c  e → a c  e → g Ta có: {b, d}+ = (a,b,c,d,e,g} 123
  124. Sự dư thừa các luật, dư thừa sự kiện (tiếp) Đn 5.6: Một cơ sở luật SR là cực tiểu nếu thỏa: 1. Mỗi luật r SR có dạng Horn: r: p1  p2   pk → q 2. Không tồn tại luật r SR, sao cho: (SR\{r})+ = SR+ 3. Không tồn tại luật r: left →q và tập con F Left, sao cho: [(SR\{r})  {F →q}] + = SR+ Ghi chú: Điều kiện 2 tránh tình trạng dư thừa luật. Điều kiện 3 tránh dư thừa sự kiện. Ví dụ 1: Cho cơ sở luật: SR = {r1: a  b → c, r2: a → b, r3: b → a} Như vậy, cơ sở luật tương đương tối thiểu là: ’ ’ ’ SR = {r1 , r2 , r3} với r1 : a → c hoặc r1 : b → c 124
  125. 2. Mâu thuẫn trong cơ sở tri thức Đn 5.7: Các luật r và r’ gọi là xung đột với nhau nếu tồn tại sự liên hệ giữa chúng như sau: r: left → q ; r’: left’ → p ; left  left’ hoặc left’  left; nhưng p và q là mâu thuẫn nhau. Ví dụ: r: IF A THEN B r’: IF A AND C THEN NOT B Đn 5.8: Các luật có giả thiết vô dụng: là các luật có kết luận giống nhau và tập các phần của các giả thiết tạo nên hằng đề. Ví dụ: r: IF A AND B THEN C r’: IF A AND NOT B THEN C Có thể thay thế như sau: r’’: IF A THEN C Đn 5.9: Luật nối vòng mâu thuẫn: Là dãy các luật mà trong đó các kết quả của luật trước là một phần của giả thiết tiếp theo và trong chúng có gây mâu thuẫn giữa các sự kiện. Ví dụ: IF A AND B THEN C IF C AND D THEN NOT A 125
  126. 3. Sự nhất quán của các luật Giải quyết mâu thuẫn trong cơ sở tri thức: Nếu có tồn tại hai luật r và r’ mâu thuẫn, cần chỉ ra luật nào sẽ loại bỏ Nguyên tắc 1: Dựa vào trọng số của luật Luật r’ được loại bỏ nếu w(r’) < w(r) Ví dụ: r’: IF có tiền THEN mua xe máy r: IF có tiền THEN mua xe ôtô Ta có w(r’) < w(r) Nguyên tắc 2: Dựa vào tần suất xuất hiện Luật r’ được loại bỏ nếu f(r’) < f(r) Ví dụ: r’: IF nhà ở xa THEN không làm việc ban đêm r: IF nhà ở xa AND phải tăng ca THEN có thể làm đêm 126
  127. 3. Sự nhất quán của các luật (tiếp) Nguyên tắc 3: Dựa vào lĩnh vực đang xét r’: IF luật r và r’ mâu thuẫn nhau AND luật r thuộc lĩnh vực A AND luật r’ thuộc lĩnh vực B AND đang xét lĩnh vực A THEN loại bỏ luật r’ Nguyên tắc 4: Trường hợp tranh chấp (chung- riêng) IF luật r và r’ mâu thuẫn nhau r’ biểu thị trường hợp chung r’: left → q r biểu thị trường hợp riêng r : left’ → q’ và left left’ THEN Không áp dụng luật r’ 127
  128. 6.3 Mô tơ suy diễn ⚫ Suy diễn tri thức ⚫ Động cơ suy diễn ⚫ Suy diễn với logic mệnh đề: Suy diễn tiến, Suy diễn lùi ⚫ Suy diễn với logic vị từ: Suy diễn tiến, Suy diễn lùi 128
  129. Cơ chế suy diễn 2. Suy diễn với logic vị từ: - Suy diễn tiến - Suy diễn lùi Tương tự như trong logic mệnh đề, thêm vào phép hợp giải 129
  130. 6.4 Cơ chế điều khiển 6.4.1 Chọn hướng suy diễn Gọi: fGT = #GT fKL = # KL fTrước = Max #{r| r có thể áp dụng cho tập con của GT} fSau = Max #{r| r có cùng KL} Ví dụ: Rule ={r1:a →b, r2:a →c, r3:a b c →d, r4:db →e, r5:b→f, r6:e →g} Hỏi: a →e Ta có: fGT = 1, fKL = 1, fTrước=1, fsau=4 Heuristic chọn hướng suy diễn: Luật 1: IF fTrước > fsau THEN Chọn Suy diễn tiến Luật 2: IF fTrước < fsau THEN Chọn Suy diễn lùi 130
  131. 6.4 Cơ chế điều khiển(tiếp) Luật 3: IF (fTrước = fsau) AND (fGT fKL) THEN Chọn Suy diễn lùi Luật 5: IF (fTrước = fsau) AND (fGT = fKL) THEN IF Người thiết kế muốn Chọn Suy diễn tiến THEN Chọn Suy diễn tiến ELSE Chọn Suy diễn lùi Ghi chú: Thay vì dùng fTrước và fSau ta có thể sử dụng f’Trước= Số luật trung bình sử dụng cho các sự kiện giả thiết và f’Sau= Số luật trung bình sử dụng cho các sự kiện kết luận 131
  132. 6.4.2 Giải quyết vấn đề cạnh tranh 1. Vấn đề cạnh tranh trong suy diễn tiến: r1:left1→q1 , r2:left2 → q2 , left1 F, left2F và #lọc(F,R) 2 Vấn đề: Làm thế nào để chọn 1 luật r trong số các luật có thể áp dụng được bởi lọc(F,R)? Giải pháp 1: Tổ chức các luật có thể sử dụng được thành Queue Giải pháp 2: Tổ chức các luật có thể sử dụng được thành Stack Giải pháp 3: Dùng Heuristic: Dùng hàm ước lượng đánh giá liên hệ giữa KL và vế phải của các luật. 132
  133. Cạnh tranh trong suy diễn tiến Giải pháp 4: Dùng đồ thị FPG (Fact Precedence Graph): Sự kiện fi là trước sự kiện fj (fi →fj) nếu fj là kết quả của luật rk nào đó có chứa fi ở vế trái, nghĩa là: fi →fj  rk: fi leftk  fj =Rightk Chọn luật có chiều dài đường đi đến kết luận là ngắn Ví dụ: Rule ={r1:a →b, r2:a →c, r3:a b c →d, r4:db →e, r5:b→f, r6:c →g} a e b d c g f Hỏi: a → e, ta có h(r1,e)=1, h(r2,e)=2 Chon r1 133
  134. Cạnh tranh trong suy diễn tiến(tiếp) Giải pháp 5: Dùng đồ thị RPG (Rule Precedence Graph): Luật ri là trước luật rj (ri →rj) nếu tồn tại sự kiện f sao cho: ri: left→f và rj: f →q Hàm ước lượng chọn h(r,rKL) là nhỏ nhất Rule ={r1:a →b, r2:a →c, r3:a b c →d, r4:db →e, r5:b→f, r6:c →g} r1 r3 r4 r5 r 2 r6 Hỏi: a → e, h(r1,r4)=1, h(r2,r4)=2 Chọn r1 134
  135. Cạnh tranh trong suy diễn lùi Cạnh tranh trong suy diễn lùi xảy ra khi: Với sự kiện f có tồn tại ít nhất 2 luật có f ở vế phải: r1: left1→ f và r2: left2→ f Giải pháp 1: Nếu i<j thì ri được chọn. Giải pháp 2: Dùng độ thì FPG. Tương tự như trong suy diễn tiến 135
  136. 6.5 Bộ giải thích 6.5.1 Câu hỏi: Why? Tại sao phải xác định sự tồn tại / giá trị (số, logic) của một sự kiện f nào đó. Trả lời: Sự kiện f có lợi để xác định kết luận KL. Kỹ thuật: Tồn tại đường đi từ f đến kết luận trong đồ thị FPG. Cơ sở luật R đồ thị FPG biểu diễn bằng ma trận A=(aij) 136
  137. 6.5 Bộ giải thích (tiếp) ⚫ Câu hỏi: How? ⚫ Làm thế nào mà hệ thống lại kết luận sự kiện f là đúng? ⚫ Trả lời: Hệ thống đã kết luận sự kiện f là đúng vì áp dụng tập Vet trong suy diễn tiến hoặc suy diễn lùi ⚫ Kỹ thuật: Xác định tập Vết T={r1, r2, , rk} sao cho: GT→{f} Hai cách giải thích: - Giải thích trọn vẹn. - Giải thích từng bước. 137
  138. 6.5 Bộ giải thích (tiếp) ⚫ Câu hỏi: Why not? ⚫ Tại sao hệ thống lại không thể kết luận rằng f xuất phát từ các sự kiện trong GT? ⚫ Trả lời: Hệ thống đã thử các đường đi trong quá trình suy luận, nhưng không tìm ra được f. ⚫ Kỹ thuật: Hệ thống công bố quá trình suy luận (tiến hoặc lùi) để người sử dụng lần ra vết. Kỹ thuật đó là chỉ ra rằng f GT+ 138