Danh mục tài liệu

Giáo trình Trí tuệ nhân tạo và hệ chuyên gia (Nghề Lập trình máy tính): Phần 2 - CĐ Nghề

Số trang: 69      Loại file: pdf      Dung lượng: 1.84 MB      Lượt xem: 18      Lượt tải: 0    
Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

(NB) Giáo trình Trí tuệ nhân tạo và hệ chuyên gia (Nghề Lập trình máy tính): Phần 2 được biên soạn nhằm cung cấp cho bạn kiến thức về xử lý tri thức, tổng quan về hệ chuyên gia và ứng dụng, cấu trúc hệ chuyên gia và các công cụ tạo lập hệ chuyên gia...Mời các bạn tham khảo!
Nội dung trích xuất từ tài liệu:
Giáo trình Trí tuệ nhân tạo và hệ chuyên gia (Nghề Lập trình máy tính): Phần 2 - CĐ Nghề BÀI 6 XỬ LÝ TRI THỨC MÃ BÀI ITPRG3_07.6 Mục tiêu thực hiện: Học xong bài này học viên sẽ có khả năng:  Hiểu rõ bản chất mô tơ suy diễn  CàI đặt mô tơ suy diễn tiến, lùi bằng ngôn ngữ lập trình  So sánh các cách xử lý tri thức Nội dung: 6.1 Suy diễn tiến 6.2 Suy diễn lùi 6.3. Suy diễn hỗn hợp 6.4 CàI đặt cơ sở tri thức 6.1 Suy diễn tiến  Logic mệnh đề Thủ tục suy diễn tiến đối với logic mệnh đề:  Vào - Tập các mệnh đề có dạng GT= - Tập các luật RULE cso dạng Horn tức là các luật: p1 … pn q - Tập các mệnh đề kết luận KL=  Ra: Thông báo “Thành công” nếu mọi qi Kl có thể suy diễn từ GT nhờ sử dụng tập luật RULE.  Thủ tục Procedure Suy_dien_tien1(); Begin Tgian=GT; /* Tgian là tập các sự kiện dùng cho đến thời điểm đang xét */ SAT=loc(RULE,Tgian); /* SAT là tập luật có dạng p1 … pn q sao cho i=1,n pi Tgian */ while KL Tgian và SAT rỗng do r get(SAT); /* lấy một luật r khả hợp từ tập SAT */ /* r có dạng p1 … pn q*/ Tgian Tgian ; RULE RULE \ ; SAT=loc(RULE,Tgian); 104 If KL Tgian then Exit(“Thành công”) Else Exit(“Không thành công”); End.  Logic vị từ  Vào - Tập luật RULE= mỗi ri có dạng Horn p1(.) … pn(.) q(.) các pi, q là vị từ - Tập các vị từ cần chứng minh KL  Ra: Thông báo “Thành công” nếu mọi q(.) KL, có thể suy ra từ GT nhờ sử dụng tập luật RULE.  Thủ tục Procedure Suy_dien_tien2(); Begin Tgian=GT; SAT=loc(RULE,Tgian); while KL Tgian và SAT rỗng do (r, ) get(SAT); /* lấy một luật r khả hợp với phép gán trị , r có dạng p1 … pn q*/ Tgian Tgian ; SAT=loc(RULE,Tgian); If KL Tgian then Exit(“Thành công”) Else Exit(“Không thành công”); End. Trong suy diễn thao tác quan trọng là xác định SAT=loc(RULE,Tgian). Tập các luật r có dạng p1(.) sao cho với mọi i, vị từ p i(.) Tgian. Bài toán này dẫn tới 2 bài toán con: (1) Cho 2 vị từ f(x,y,z,…) và q(u,v, w,…). Liệu có tồn tại một phép gán trị : = sao cho f =q Ví dụ: cho 2 vị từ p(x,a,z) và p(y,y,b). Hai vị từ này có thể dẫn tới một vị từ chung p(a,a,b) nhờ phép gán (a/x,a/y,b/z). (2) Quay lui trong quá trình gán trị 6.2 Suy diễn lùi  Logic mệnh đề  Vào - Tập các mệnh đề đã cho GT= 105 - Tập các luật RULE= có dạng chuẩn Horn p1 - Tập các mệnh đề kết luận KL=  Ra: Thông báo “Thành công” nếu với mọi i, qi có thể suy ra từ GT  Thủ tục Procedure Suy_dien_lui1(); Begin If KL GT then Exit(“Thành công’) Else Goal=Ǿ; /* Vet và Goal là 2 danh sách dạng stack */ Vet=Ǿ; First=0; For each q KL do Goal=Goal ; Repeat (f,i) get(Goal); first=first+1; if not(f GT) then Tim_luat(f,i,RULE,j); /* Để xác định xem có sản xuất rj nào kể */ /*từ sản xuất thứ i+1 trở đi sao cho rj có */ /*dạng leftj f. Nếu không tìm được j=m+1*/ If j m then Vet=Vet ; For each t leftj\GT do Goal=Goal ; Else back=True; /* Quay lui */ While f KL and back do Repeat (g,k) get(Vet); Goal=Goal\leftk; Until f leftk; Tim_luat(g,k,RULE,1); If 1 m then Goal=Goal\leftk; For each t left1\GT do 106 Goal=Goal ; Vet=Vet ; back=false Else f=g; Until Goal=Ǿ or (f KL and (first 2)); If f KL then Exit (“Không thành công”) Else Exit (“Thành công”); End.  Logic vị từ  Vào Tập luật RULE= Tập các vị từ đã cho GT Tập các vị từ cần chứng minh KL *  Ra: Thông báo “Thành công” nếu GT KL  Thủ tục Procedure Suy_dien_lui2(); Begin If KL GT then Exit(“Thành công’) Else Goal=Ǿ; /* Vet và Goal là 2 danh sách dạng stack */ Vet=Ǿ; Goal=KL; Repeat f get(Goal); if (f ...

Tài liệu có liên quan: