1. Trang chủ
  2. » Thể loại khác

Chuong 3 Ben trong mot he CSTT

39 133 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 194 KB

Nội dung

Phần II: Các hệ sở tri thức (knowledge-based systems) Chương 3: Bên hệ Cơ sở tri thức I Hệ sở tri thức (knowledge-based systems) ? Hệ sở tri thức = Cơ sở tri thức + Ðộng suy diễn Hệ giải toán = Tiên đề, định lý + Lập luận logic (toán học) = + II Cấu trúc chung hệ CSTT MÔI TRƯỜNG THAM VẤN Người dùng Các kiện có liên quan Các dòch vụ giao diện người dùng Các hành động đề nghò Hệ thống diễn giải, giải thích ĐỘNG CƠ SUY DIỄN Môi trường làm việc (BlackBoard) MƠI TRƯỜNG PHÁT TRIỂN CƠ SỞ TRI THỨC Hệ thống thu nhận tri thức Kỹ sư khai thác tri thức (KE) CHUYÊN GIA Hệ thống tối ưu tri thức III Cơ sở tri thức Phương pháp tiếp nhận tri thức Phương pháp biểu diễn tri thức Tri thức kinh điển Tri thức kinh nghiệm, chuyên gia Tri thức khám phá Cơ sở tri thức IV Phương pháp suy diễn Mô hình tổng quát suy diễn FACT: Tập kiện HYPO: Tập giả thuyết T if X đuợc luợng giá T Y Operator MATCH(X, Y) = F if X đuợc luợng giá F Y ? If X luợng giá Y a Dẫn kiện b Tạo giả thuyết c Khẳng dịnh hay phủ định giả thuyết d Tiếp nhận FACT từ bên ngồi IV Phương pháp suy diễn(tt) a Dẫn kiện (1) If MATCH(LHS, FACT) = T THEN ADD RHS TO FACT (2) If NOT MATCH(RHS, FACT) = F THEN ADD NOT(LHS) TO FACT b Tạo giả thuyết (3) If MATCH(LHS, FACT) = F THEN ADD NOT(RHS) TO HYPO (4) If MATCH(LHS, HYPO) = T THEN ADD RHS TO HYPO (5) If MATCH(LHS, HYPO) = F THEN ADD NOT(RHS) TO HYPO (6) If MATCH(RHS, FACT) = T THEN ADD LHS TO HYPO (7) If MATCH(RHS, HYPO) = T THEN ADD LHS TO HYPO (8) If MATCH(LHS, HYPO) = F THEN ADD NOT(LHS) TO HYPO IV Phương pháp suy diễn(tt) c Khẳng định hay phủ dịnh giả thuyết (9) If MATCH (hypo.FACT) = T THEN ADD hypo TO HYPO (10) If MATCH (hypo.FACT) = F THEN DELETE hypo TOHYPO d Tiếp nhận FACT từ bên ngồi GET (FACT) [] : Lặp lại nhiều lần {} : Tùy chọn Lập luận tiến: [(1)] Lập luận lùi: (6) + [(7)] + {d} + (9) + [(1)] Lập luận phản chứng: [(4)] + {d} + (10) + [(2)] IV Phương pháp suy diễn(tt) Suy diễn tiến : trình suy luận xuất phát từ số kiện ban đầu, xác định kiện “sinh” từ kiện Ví dụ : Cho sở tri thức xác định sau : Các kiện : A, B, C, D, E, F, G, H, K Tập quy tắc hay luật sinh (rule)   { R1 : A → E; R2 : B → D; R3 : H → A; R4 : E ∧ G → C; R5 : E ∧ K → B; R6 : D ∧ E ∧ K → C; R7 : G ∧ K ∧ F → A; } IV Phương pháp suy diễn(tt) Ví dụ: (tt) (suy diễn tiến) Sự kiện ban đầu : H, K R3 : H → A {A, H K } R1 : A → E { A, E, H, K } R5 : E ∧ K → B { A, B, E, H, K } R2 : B → D { A, B, D, E, H, K } R6 : D ∧ E ∧ K → C { A, B, C, D, E, H, K } Tập hợp { A, B, C, D, E, H, K } gọi bao đóng tập {H,K} tập luật R (gồm luật trên) IV Phương pháp suy diễn(tt) Suy diễn lùi: trình suy luận ngược xuất phát từ số kiện ban đầu, ta tìm kiếm kiện “sinh” kiện Một ví dụ thường gặp thực tế xuất phát từ tình trạng máy tính, chẩn đốn xem máy tính bị hỏng hóc đâu Ví dụ: Tập kiện : Ổ cứng “hỏng” hay “hoạt động bình thường” Hỏng hình Lỏng cáp hình Tình trạng đèn ổ cứng “tắt” “sáng” Có âm đọc ổ cứng Tình trạng đèn hình “xanh” “chớp đỏ” Điện vào máy tính “có” hay “khơng” VI Cài đặt hệ CSTT (tt) Như vị từ subling_of(anne, andrew) có giá trị EXIT subling_of(anne, andrew) Kết luật anne chị andrew EXIT sister_of(anne, andrew) VI Cài đặt hệ CSTT (tt) Cài đặt hệ CSTT ngôn ngữ lập trình thơng thuờng  Giả sử hệ CSTT hoạt động theo định sau: Máy tính Khởi Có in Được Co không động hay ù hỏng Khôn không? Khơn Máy hỏng g không? Thôngbáo báo Thông g phần in "" HDD GENERAL FAILURE FAILURE " Có xuất " Máy tính bò câu hỏng ổ cứng thông báo không? Máy tính bò Khôn hỏng CMOS g Máy tính bò hỏng Có nghe Có RAM máy phát Khôn Không xác đònh tiếng g nguyên bíp không? VI Cài đặt hệ CSTT (tt) 3.1 Biễu diễn tri thức dạng luật dẫn Tên biến Miền giá trị KHOIDONG DUOC, KHONG IN DUOC, KHONG THONGBAO HDD, GENERAL, KHONG AMTHANH CO, KHONG HONG KHONG, IN, HDD, CMOS, RAM, UNKNOWN VI Cài đặt hệ CSTT (tt) Tập luật dẫn ban đầu có từ định sau :   IF (KHOIDONG = DUOC) AND (IN = DUOC) THEN HONG = KHONG IF (KHOIDONG = DUOC) AND (IN = KHONG) THEN HONG = IN IF (KHOIDONG = KHONG) AND (THONGBAO = HDD) THEN HONG = HDD IF (KHOIDONG = KHONG) AND (THONGBAO = GENERAL) THEN HONG = CMOS IF (KHOIDONG = KHONG) AND (THONGBAO = KHONG) AND (AMTHANH = CO) THEN HONG = RAM IF (KHOIDONG = KHONG) AND (THONGBAO = KHONG) AND (AMTHANH = KHONG) THEN HONG = UNKNOWN VI Cài đặt hệ CSTT (tt) Tập luật viết lại sau : (khơng khởi động khơng thơng báo → KH_KDTB ) • IF (KHOIDONG = DUOC) AND (IN = DUOC) THEN HONG = KHONG • IF (KHOIDONG = DUOC) AND (IN = KHONG) THEN HONG = IN • IF (KHOIDONG = KHONG) AND (THONGBAO = HDD) THEN HONG = HDD • IF (KHOIDONG = KHONG) AND (THONGBAO = GENERAL) THEN HONG = CMOS • IF (KHOIDONG = KHONG) AND (THONGBAO=KHONG) THEN KH_KDTB = DUNG • IF (KH_KDTB = DUNG) AND (AMTHANH = CO) THEN HONG = RAM • IF (KH_KDTB = DUNG) AND (AMTHANH = KHONG) • THEN HONG = UNKNOWN VI Cài đặt hệ CSTT (tt) 3.2 Lưu trữ phân loại biến  Biến nhập : biến xuất vế trái luật  Biến trung gian : biến xuất vế trái lẫn vế phải luật  Biến xuất: biến xuất vế phải luật VI Cài đặt hệ CSTT (tt) Tên biến KHOIDONG Khởi tạo FALSE Giá trị Loại Câu thông báo INPUT Máy tính có khởi động không? IN FALSE INPUT Máy tính có in không? THONGBA O FALSE INPUT Máy tính có thông báo không? AMTHANH FALSE INPUT Máy tính có phát âm không? HONG FALSE OUTPUT Máy bò hỏng phần VI Cài đặt hệ CSTT (tt) 3.3 Lưu trữ luật  Để lưu trữ luật, ta cần lưu trữ biến tham gia vào vế trái với giá trị biến (để kích hoạt luật)  Vế phải luật bao gồm biến nên đơn giản ta việc thêm cột tên biến giá trị biến đặt luật cháy gọi giá trị cháy vào bảng VếPhải sau: Luaät BIeán HONG HONG HONG HONG KH_KDTB HONG HONG Giá trò cháy KHONG IN HDD CMOS DUNG RAM UNKNOWN VI Cài đặt hệ CSTT (tt)  Để mô tả vế trái luật, ta dùng VếTrái với cột sau: Luaät BIến KHOIDONG Giá Trò Cháy DUOC IN KHOIDONG DUOC DUOC IN KHOIDONG KHONG KHONG THONGBAO HDD KHOIDONG KHONG THONGBAO GENERAL KHOIDONG KHONG THONGBAO KHONG 6 KH_TDTB AMTHANH DUNG CO 7 KH_TDTB AMTHANH DUNG KHONG VI Cài đặt hệ CSTT (tt)  Với cấu trúc trên, thời điểm, ta truy xuất đến thuộc tính luật Sau ký hiệu : .Chay : cho biết luật có cháy hay chưa   .VePhai.Bien : biến vế phải luật .VePhai.GiaTriChay : giá trị cháy ứng với biến vế phải luật   .VeTrai.SoBien : số lượng biến vế trái luật .VeTrai.Bien[i] : biến thứ i vế trái luật .VeTrai.GiaTriChay[i] : giá trị cháy ứng với biến thứ i vế trái luật.  VI Cài đặt hệ CSTT (tt) 3.4 Hàm kích hoạt luật FUNCTION KichHoatLuat(L : Luat) : BOOLEAN BEGIN IF L.Chay = TRUE THEN RETURN FALSE; { Luật cháy rồi, khơng kích hoạt được} Fire = TRUE; FOR i = TO L.VeTrai.SoBien BEGIN v = L.VeTrai.Bien[i]; { có biến khơng thỏa điều kiện cháy } IF (v.KhoiTao =FALSE) OR (v.GiaTri ≠ L.VeTrai.GiaTriChay[i]) THEN BEGIN Fire = FALSE; EXIT FOR; END; END; If Fire = TRUE THEN L.VePhai.Bien.ThuocTinh.GiaTri = L.VePhai.Bien.GiaTriChay; RETRUN Fire; END; VI Cài đặt hệ CSTT (tt) 3.5 Cài đặt thuật toán suy diễn lùi FUNCTION TinhGiaTriBien(V : Bien, L : Luat) { Tính giá trị biến V trái luật L} BEGIN IF (V.KhoiTao = TRUE) THEN RETURN; ELSE BEGIN IF V.Loai = INPUT THEN BEGIN ; RETURN; END; ELSE BEGIN FOR EACH LT IN TapLuat DO IF (LT.VePhai = V) THEN BEGIN FOR i = TO LT.VeTrai.SoBien DO BEGIN TinhGiaTriBien(LT.VeTrai.Bien[i], LT); END; IF KichHoatLuat(LT) THEN RETURN; END; END; END; END VI Cài đặt hệ CSTT (tt) Trong ví dụ chúng ta, để biết giá trị biến HONG, ta thực sau : { Khởi động trạng thái ban đầu cho tập biến tập luật } FOR EACH v ∈ TapBien v.KhoiTao = FALSE; FOR EACH LT ∈ TapLuat LT.Chay = FALSE V = HONG; { Luật luật rỗng, dùng để "đệm" cho lần đệ quy đầu tiên, cháy } TinhGiaTriBien(V, 0); IF V.KhoiTao = FALSE THEN ; ELSE ; VI Cài đặt hệ CSTT (tt) 3.6 Cài đặt thuật toán suy diễn tiến Thuật toán suy diễn tiến đơn giản Chẳng hạn, xuất phát từ ba trạng thái KHOIDONG = KHONG, THONGBAO = KHONG, AMTHANH = CO ta kết luận điều ? ; CapNhat = TRUE; LSET = TapLuat; WHILE CapNhat DO BEGIN CapNhap = FALSE; FOR EACH LT ∈ LSET DO IF KichHoatLuat(LT) = TRUE THEN BEGIN {Bỏ luật cháy khỏi tập luật.} LSET = LSET \ LT; CapNhap = TRUE; END; END VI Cài đặt hệ CSTT (tt)  Mục đích thường gặp trình suy diễn tiến xác định giá trị tất biến xuất Do đó, ta xem trường hợp đặc biệt suy diễn lùi Như vậy, cần bỏ dòng ;  Trong cài đặt phần suy diễn lùi ta dùng lại hàm TínhGiaTriBien để cài đặt thuật tốn suy diễn tiến cách vô đơn giản (!) sau : ; FOR EACH LT ∈ TapLuat DO TinhGiaTriBien(LT.VePhai.Bien,LT); ... FACT) = T THEN ADD RHS TO FACT (2) If NOT MATCH(RHS, FACT) = F THEN ADD NOT(LHS) TO FACT b Tạo giả thuyết (3) If MATCH(LHS, FACT) = F THEN ADD NOT(RHS) TO HYPO (4) If MATCH(LHS, HYPO) = T THEN ADD... MATCH(LHS, HYPO) = F THEN ADD NOT(RHS) TO HYPO (6) If MATCH(RHS, FACT) = T THEN ADD LHS TO HYPO (7) If MATCH(RHS, HYPO) = T THEN ADD LHS TO HYPO (8) If MATCH(LHS, HYPO) = F THEN ADD NOT(LHS) TO... KHONG) THEN HONG = IN • IF (KHOIDONG = KHONG) AND (THONGBAO = HDD) THEN HONG = HDD • IF (KHOIDONG = KHONG) AND (THONGBAO = GENERAL) THEN HONG = CMOS • IF (KHOIDONG = KHONG) AND (THONGBAO=KHONG) THEN

Ngày đăng: 09/12/2017, 11:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w