Bài giảng Trí tuệ nhân tạo - Lec 9+10: Biểu diễn tri thức bởi các luật và lập luận - Phạm Thị Anh Lê
Bạn đang xem tài liệu "Bài giảng Trí tuệ nhân tạo - Lec 9+10: Biểu diễn tri thức bởi các luật và lập luận - Phạm Thị Anh Lê", để 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_tri_tue_nhan_tao_lec_910_bieu_dien_tri_thuc_boi_ca.pdf
Nội dung text: Bài giảng Trí tuệ nhân tạo - Lec 9+10: Biểu diễn tri thức bởi các luật và lập luận - Phạm Thị Anh Lê
- Lec 9-10 Biểu diễn tri thức bởi các luật và lập luận Lec 7–8 TTNT. p.1
- Nội Dung ◼ Biểu diễn tri thức bằng luật sinh ◼ Cơ chế lập luận – Lập luận tiến – Lập luận lùi Lec 7. p.2
- Biểu diễn tri thức bằng luật sinh ◼ Ngôn ngữ bao gồm các luật nếu - thì (if - then), còn gọi là các luật sinh (luật sản xuất - production rule), là ngôn ngữ phổ biến nhất để biểu diễn tri thức. Câu Horn có dạng trong đó Pi (i = 1, , n) và Q là các câu phân tử. Lec 7. p.3
- Biểu diễn tri thức bằng luật sinh Ưu điểm của các luật nếu – thì: ◼ Mỗi luật nếu - thì mô tả một phần nhỏ tương đối độc lập của tri thức. ◼ Có thể thêm và cơ sở tri thức các luật mới, hoặc loại bỏ một số luật cũ mà không ảnh hưởng nhiều tới các luật khác. ◼ Các hệ tri thức với cơ sở tri thức gồm các luật nếu - thì có khả năng đưa ra lời giải thích cho các quyết định của hệ. Lec 7. p.4
- Cơ chế lập luận Khái niệm về suy diễn và lập luận ◼ Suy diễn (inference) và lập luận (reasoning): chỉ một tiến trình đưa đến kết luận từ các giả thiết cho ở dạng cơ sở tri thức (sự kiện, luật) ◼ Các hệ tri thức mà cơ sở tri thức bao gồm các luật sẽ được gọi là các hệ dựa trên luật (rule - based system). ◼ Phương pháp luận lập luận cơ bản trong các hệ dựa luật: – Lập luận tiến – Lập luận lùi ◼ Cơ sở tri thức được phân chia thành hai bộ phận: – Cơ sở luật: bao gồm các luật có ít nhất một điều kiện, biểu diễn các tri thức chung về lĩnh vực áp dụng. – Cơ sở sự kiện: bao gồm các câu phân tử (các luật không điều kiện) mô tả các sự kiện mà chúng ta biết về các đối tượng trong lĩnh vực áp dụng. Lec 7. p.5
- Lập luận tiến ◼ Tư tưởng cơ bản: áp dụng luật suy diễn Modus Ponens tổng quát ◼ Trong mỗi bước của thủ tục lập luận tiến, người ta xét một luật trong cơ sở luật. Đối sánh mỗi điều kiện của luật với các sự kiện trong cơ sở sự kiện: – Nếu tất cả các điều kiện của luật đều được thoả mãn thì sự kiện trong phần kết luận của luật được xem là sự kiện được suy ra. – Nếu sự kiện này là sự kiện mới (không có trong bộ nhớ làm việc), thì nó được đặt vào bộ nhớ làm việc. ◼ Quá trình trên được lặp lại cho tới khi nào không có luật nào sinh ra các sự kiện mới. Lec 7. p.6
- Lập luận tiến ◼ Quá trình lập luận tiến (forward chaining hoặc forward reasoning): xem xét các luật, đi từ phần điều kiện tới phần kết luận của luật. Nếu tất cả các điều kiện của luật đều được làm thoả mãn (bởi các sự kiện trong cơ sở sự kiện), thì suy ra sự kiện trong phần kết luận của luật. ◼ Quá trình lập luận tiến không định hướng tới giải quyết một vấn đề nào cả, không định hướng tới tìm ra câu trả lời cho một câu hỏi nào cả. ◼ Lập luận tiến chỉ là quá trình suy ra các sự kiện mới từ các sự kiện trong bộ nhớ làm việc → gọi là lập luận điều khiển bởi dữ liệu (data - driven reasioning), hoặc lập luận định hướng dữ liệu (data - directed reasioning). Lec 7. p.7
- Thủ tục lập luận tiến ◼ Cở sở luật: RB (Rule Base) ◼ Cở sở sự kiện (bộ nhớ làm việc): FB (Fact Base) ◼ Với mỗi luật R: Nếu P1 và P2 Pm thì Q ký hiệu Conds = [P1, P2, , Pm], Conc = Q. R = (Conds(R), Conc(R)) ◼ Áp dụng luật suy diễn sau: Lec 7. p.8
- Thủ tục For_Chain Thực hiện quá trình áp dụng luật suy diễn nêu trên để giảm bớt số điều kiện của một luật trong cơ sở luật. Nếu dẫn tới một luật có phần điều kiện rỗng tức là đã suy ra một sự kiện. Lec 7. p.9
- Thủ tục lập luận tiến Quá trình lập luận tiến là quá trình áp dụng thủ tục trên cho các luật trong cơ sở luật cho đến khi không có sự kiện mới nào xuất hiện: Lec 7. p.10
- Thủ tục lập luận tiến Ví dụ: Cho CSTT gồm các luật và các sự kiện sau: CS luật L1. có_lông_mao(x) loài_có_vú(x) L2. có_lông_vũ(x) loài_chim(x) L3. biết_bay(x)đẻ_trứng(x) loài_chim(x) L4. loài_có_vú(x)ăn_thịt(x) thú_ăn_thịt(x) L5. loài_có_vú(x)có_răng_nhọn(x)có_móng_vuốt(x) thú_ăn_thịt(x) L6. thú_ăn_thịt(x)lông_vàng_hung(x)có_đốm_sẫm(x) báo_Châu_Phi(x) L7. thú_ăn_thịt(x)lông_vàng_hung(x)có_vằn_đen(x) hổ(x) L8. loài_chim(x)biết_bay(x)có_chân_dài(x)có_cổ_dài(x) đà_điểu(x) L9. loài_chim(x)biết_bay(x)biết_bơi(x)lông_đen_trắng(x) chim_cánh_cụt(x) CS sự kiện: 1. có_lông_mao(Ki) 2. ăn_thịt(Ki) 3. lông_vàng_hung(Ki) 4. có_đốm_sẫm(Ki) Lec 7. p.11
- Thủ tục lập luận tiến - Sự kiện có_lông_mao(Ki) khớp với điều kiện của luật 1, rút ra loài_có_vú(Ki) Khi đó CSSK được bổ sung thêm : 5. loài_có_vú(Ki) - Sự kiện 2 và 5 khớp với phần điều kiện của luật L4, rút ra thú_ăn_thịt(Ki) Khi đó CSSK được bổ sung thêm : 6. thú_ăn_thịt(Ki) - Sự kiện 3, 4 và 6 khớp với phần điều kiện của luật L6, rút ra báo_Châu_phi(Ki) Không luật nào được sử dụng nữa, kết luận Ki là báo Châu phi Lec 7. p.12
- Lập luận lùi ◼ Tư tưởng: đưa ra các giả thuyết cần được đánh giá, giả thuyết đưa ra hoặc là được chứng minh, hoặc là bị bác bỏ (bởi các sự kiện trong bộ nhớ làm việc). ◼ Quá trình lập luận lùi: Đối sánh giả thuyết đưa ra với các sự kiện trong bộ nhớ làm việc: – Nếu có một sự kiện “khớp” với giả thuyết, thì ta xem như giả thuyết là đúng. – Nếu không cớ sự kiện nào khớp với giả thuyết, thì đối sánh giả thuyết với phần kết luận của các luật. Với mỗi luật mà kết luận của luật khớp với giả thuyết, ta đi lùi lại phần điều kiện của luật. Các điều kiện này của luật được xem như các giả thuyết mới. Với giả thuyết mới, ta lập lại quá trình trên Nếu tất cả các giả thuyết được sinh ra trong quá trình phát triển các giả thuyết bởi các luật được chọn thích hợp đều được thoả mãn (đều có trong bộ nhớ làm việc) thì giả thuyết đã đưa ra được xem là đúng. Ngược lại, thì giả thuyết đã đưa ra được xem là sai. Lec 7. p.13
- Lập luận lùi Procedure Backward_Chaining(Hyp, θ); Begin H ← giả thuyết đầu tiên trong Hyp; for mỗi luật R = (Conds, Q) do if H hợp nhất với Q bởi θ1 then 1. loại H khỏi Hyp → Hyp1; 2. thêm các điều kiện Conds vào Hyp1; 3. áp dụng θ1 vào các giả thuyết trong Hyp1; 4. θ’ ← θθ1 ; if Hyp1 = [] then return θ’ else Backward_chaining(Hyp1, θ’); end; Lec 7. p.14
- Lập luận lùi Ví dụ Ví dụ: Cho CSTT gồm các luật và các sự kiện sau CS luật L1. có_lông_mao(x) loài_có_vú(x) L2. có_lông_vũ(x) loài_chim(x) L3. biết_bay(x)đẻ_trứng(x) loài_chim(x) L4. loài_có_vú(x)ăn_thịt(x) thú_ăn_thịt(x) L5. loài_có_vú(x)có_răng_nhọn(x)có_móng_vuốt(x) thú_ăn_thịt(x) L6. thú_ăn_thịt(x)lông_vàng_hung(x)có_đốm_sẫm(x) báo_Châu_Phi(x) L7. thú_ăn_thịt(x)lông_vàng_hung(x)có_vằn_đen(x) hổ(x) L8. loài_chim(x)biết_bay(x)có_chân_dài(x)có_cổ_dài(x) đà_điểu(x) L9. loài_chim(x)biết_bay(x)biết_bơi(x)lông_đen_trắng(x) chim_cánh_cụt(x) CS sự kiện: 1. có_lông_vũ(Bibi) 2. có_chân_dài(Bibi) 3. có_cổ_dài(Bibi) 4. biết_bay(Bibi) Giả thuyết đà_điểu(Bibi) Lec 7. p.15
- Lập luận lùi Ví dụ Giả thuyết đà_điểu(Bibi) khớp với kết luận của luật L8, rút ra các sự kiện loài_chim(Bibi), biết_bay(Bibi), có_chân_dài(Bibi), có_cổ_dài(Bibi) giả thuyết mới là loài_chim(Bibi), khớp với kết luận của luật L2, rút ra sự kiện mới có_lông_vũ(Bibi) Tất cả các sự kiện rút ra đều khớp với các sự kiện trong CSSK Vậy giả thuyết đà_điểu(Bibi) là đúng Lec 7. p.16
- So sánh ◼ Suy diễn tiến là phương pháp hướng dữ liệu – Có thể có nhiều bước suy diễn không định hướng tới đích – Dễ cài đặt ◼ Suy diễn lùi là hướng sự kiện – Khó cài đặt – Thích hợp với những bài toán chứng minh Lec 7. p.17
- Lập luận tiến Ví dụ Luật 1: nếu động vật có lông mao thì động vật là loài có vú Luật 2: nếu động vật có lông vũ thì động vật là chim Luật 3: nếu 1. động vật biết bay, và 2. động vật đẻ trứng thì động vật là chim Luật 4: nếu 1. động vật là loài có vú, và 2. động vật ăn thịt thì động vật là thú ăn thịt Luật 5: nếu 1. động vật là loài có vú, và 2. động vật có răng nhọn, và 3. động vật có móng vuốt thì động vật là thú ăn thịt Luật 6: nếu 1. động vật là thú ăn thịt, và 2. động vật có màu lông vàng hung, và 3. động vật có đốm sẫm thì động vật là báo Châu Phi Luật 7: nếu 1. động vật là thú ăn thịt, và 2. động vật có màu lông vàng hung, và 3. động vật có vằn đen thì động vật là hổ Lec 7. p.18