Bài giảng Các hệ cơ sở tri thức
Khái nim v H C s tri thc
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à
động cơ suy diễn.
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.
Tóm tắt nội dung tài liệu: Bài giảng Các hệ cơ sở tri thức
11 Các Hệ cơ sở tri thức KBS: Knowledge Based Systems Nguyễn Đình Thuân Khoa Công nghệ Thông tin Đại học Nha Trang Email: thuanvinh@vnn.vn Nha Trang 4-2007 2 Hệ cơ sở tri thức Chương 1: Tng quan v H c s tri thc Chương 2: Biu din và suy lu n tri thc Chương 3: H MYCIN Chương 4: H h c Chương 5: H thng m cho các bi n liên tc 23 Tài liệu tham khảo [1] Rich Elaine. Artificial Intelligence. Addison Wesley 1983 [2] Robert I. Levine. Knowledge based systems. Wissenschafs Verlag, 1991 [3] Đỗ Trung Tuấn. Hệ chuyên gia. NXB Giáo dục 1999 [4] Hoàng Kiếm. Giáo trình Các hệ cơ sở tri thức. ĐHQG TP Hồ Chí Minh. 2002 4 Chương 1: Tổng quan về Hệ cơ sở tri thức 1.1 Khái nim v H C s tri thc 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à động cơ suy diễn. 35 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. 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 gia. 47 1.2 Cấu trúc của Hệ Chuyên gia 8 1. Giao din 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 gii 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 din (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. 1.2 Cấu trúc của Hệ Chuyên gia(tiếp) 59 4. B ti p nh n tri thc (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 thc: 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 vic (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. 1.2 Cấu trúc của Hệ Chuyên gia(tiếp) 10 1.3 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 611 1.4 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. 12 1.5 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 713 1.6 Ứ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. 14 1.6 Ứ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. 815 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 đó. 16 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 "mẹo" để 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. 917 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, DFS 6. Thuật giải Greedy 7. Một số cách chiếu tướng trong việc chơi cờ tướng. 8. Hệ thống các khái niệm trong hình học. 9. Cách tập viết chữ đẹp. 10. Tóm tắt quyển sách về Hệ chuyên gia. 11. Chọn loại cổ phiếu để mua cổ phiếu. 18 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 10 19 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 20 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. 11 21 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. 22 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 12 23 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 24 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 13 25 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 26 2.3.3 Mạng ngữ nghĩa(ti p) Hình 2.4. Phát triển mạng ngữ nghĩa 14 27 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 28 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. 15 29 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 30 2.4.2 Các hoạt động của Hệ thống Suy diễn tiến 16 31 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 32 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? 17 33 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; l=Tìmluật(g,k,Rule); 34 Thuật toán suy diễn lùi If (Tìm có rl) THEN { TĐích = TĐích \ Leftk ; For Each t∈ (Leftl\GT) DO TĐích = TĐích∪{((t,0)}; Vết = Vết ∪ {(g,l)}; Quaylui = False; } //end if3 else f=g; } //end while } //enf if2 }//end if1 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? Ví dụ 2: Rule ={r1:a∧b→c, r2:a∧h→d, r3:b∧c→e, r4:a∧d→m, r5:a∧b→p, r6:p∧e→m} Hỏi i) a ∧ b →m? ii) a →m? 18 35 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 đang xét. 36 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ư ... h hai bảng con theo thuộc tính Decision nopillarredlarge6 3 nowedgeredlarge4 2 nowedgeredsmall2 1 DecisionShapeColorSizeMẫu số cũ mới Bảng con 2 yesspheregreenlarge7 4 yespillargreenlarge5 3 yessphereredsmall3 2 yesbrickbluemedium1 1 DecisionShapeColorSizeMẫu số cũ, mới Bảng con 1 68 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 35 69 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 70 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. 36 71 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 72 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). 37 73 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: µA: U →[0,1] 74 • 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: Ví dụ: Cho U={a, b, c, d}. Ta có thể xác định một tập mờ A như sau: 5.1 Các khái niệm về Logic mờ ∑ ∈ = Ux A x xA )(µ d 7.0 + c 0 + b 5.0 + a 3.0 =A 38 75 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: Ví dụ: Tập mờ A={“Số gần 2”} có thể xác định hàm thuộc như sau: 5.1 Các khái niệm về Logic mờ(tiếp) ∫ ∈ = Ux A dx x xA )(µ ∫ ∈ = = Ux A dx x A ex 2 2 2)-(x- 2)--(x e )(µ 76 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: 5.1 Các khái niệm về Logic mờ(tiếp) 0 nếu x < 1 x-1 nếu 1≤ x < 2 1 nếu x = 2 -x+3 nếu 2 < x ≤ 3 0 nếu x>3 µΑ(x)= 39 77 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 Hình 4.3. Hàm dạng chuông 78 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. 40 79 5.4 Biến ngôn ngữ (tiếp) Nóng, lạnh Thấp, trung bình, cao Chậm, vừa, nhanh Nhiệt độ Độ cao Tốc độ Các giá trị điển hìnhBiến ngôn ngữ 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 80 5.5 Gia tử Gia tử làm mơ hồ thêm các câu như: rt, hi, có v, ... 1. Rất: µRất(A) (x) = (µA(x))2 Ví dụ: Tập mờ gồm những người rất cao 2. Co giãn / một ít: µCo giãn (A) (x) = (µA(x))0.5 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à: µNhấn mạnh(A) (x) = 2(µA(x))2 nếu 0 ≤ µA(x) ≤ 0.5 µNhấn mạnh(A) (x) = 1-2(1-µA(x))2 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 4. Mạnh mẽ / rất rất: µRất rất(A) (x) = (µA(x))n 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ười thực sự cao 41 81 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. 82 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. 42 83 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 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 Tương tự b2=0.6 và b3 = 0.5 Như vậy, B=(0.6, 0.6, 0.5) M = 84 5.7.2 Suy diễn Max-Min - Khi biết ma trận A và B hãy tạo ma trận M - Cho A’ hãy tính B’ - 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) Tốc độ vừa phải = (0/10, 0.6/20, 1/30, 0.6/40, 0/50) 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 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 B’ = (0/10, 0.5/20, 0.5/30, 0.5/40, 0/50) M = 43 85 5.7.3 Suy diễn Tích cực đại - 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 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) M = 86 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ờ 3. Giải mờ: Phương pháp điểm trọng tâm ∫ ∫ = U A U A dxx dxxx x )( )( 0 µ µ 44 87 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 88 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) 45 89 Ví d: Gii bài toán điu khin t đng m cho h thng bm nưc ly nưc t gi ng. Trong khi h h t nưc và trong gi ng có nưc thì máy bm t động bm. 000N.Ít B.HơiLâuB.Vừa0N.Va B.LâuB.Vừa0N.Cao H.CnH.LưngH.Đầy •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). 90 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). 46 91 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.Va •Lu t 2: if x is H.Cn and y is N.Cao Then z is B.Lâu •Lu t 3: if x is H.Lưng and y is N.Va Then z is B.Va •Lu t 4: if x is H.Cn and y is N.Va Then z is B.Hi lâu N u nh p tr Input x0 = 1 (Độ cao ca nưc trong h ), y0 = 3 (Độ cao ca nưc trong gi ng) Ví dụ (tiếp) 92 Ví dụ (tiếp) 47 93 Ví dụ (tiếp) Các W i 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) = Σ W iµ 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 µ C(z) là và Vậy Defuzzy(z) =16.06 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à 16 phút và 06 giây. ∫ U C dzz)(µ ∫ U C dzzz )(µ 06.16 )( )( 0 == ∫ ∫ U C U C dzz dzzz z µ µ 94 Khử mờ: Lấy điểm trọng tâm ∑∫ ∑∫ ∫∑ ∫ ∑ ∫ ∫ = = = = = == n i U U n i U U U n i U U n i U U A U A dxx dxxx dxx dxxx dxx dxxx x i i i i 1 1 1 1 0 )( )( )( )( )( )( µ µ µ µ µ µ 48 95 Tính các tích phân a b xm1 m2 µA(x) H ( ) ( )bammHdxx ambmbmmHdxxx dxx dxxx x U A U A U A U A ++= +++= = ∫ ∫ ∫ ∫ 12 12 222 1 2 2 0 2-2 2 )( 33a -3-3 6 )( )( )( µ µ µ µ 96 4.6.8 NGUYÊN LÝ XỬ LÝ CÁC BÀI TOÁN MỜ (tiếp) Bộ điều khiển mờ: SISO: Single Input, Single Output MIMO: Multi Input, Multi Output SIMO: Single Input, Multi Output MISO: Multi Input, Single Output Bộ điều khiển Đối tượng điều khiển Cảm biến (Sensor) 49 97 4.6.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 An) Then (B1 is Bn1) and ... and (Bs is Bns) 98 Bài tập: Điều khiển mực nước Bài toán điu khin mc 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 điu khin là con ngưi, s có các nguyên tc sau: R1: Nếu mc nưc là thp nhiu thì van ở mc đ m to R2: Nếu mc nưc là thp ít thì van ở mc đ m nh R3: Nếu mc nưc là đ thì van ở v trí đóng. R4: Nếu mc nưc là cao thì van ở v trí đóng. 50 99 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) 0.7 0.4 1 1.5 2 2.5 3 Thấp nhiều Thấp đủ cao 100 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) Cho mực nước cao x0= 2 m, hỏi độ mở của van y0 là bao nhiêu 1 10 y đóng nhỏ to
File đính kèm:
- bai_giang_cac_he_co_so_tri_thuc.pdf