Cơ sởdữliệu suy diễn (CSDLSD) Dạng luật trong CSDLSD Vịtừ được suy vàvịtừnền Luật không đệqui Tạo dữliệu qua phép AND, OR, NOT Suy diễn với luật không đệqui Suy diễn với luật đệqui Kiến thức cần nắm Lý thuyết CSDL quan hệ Lập trình logic 3 4 Cơ sởdữliệu suy diễn CSDL suy diễn tích hợp CSDL vàlập trình logic. Lập trình logic cóthếmạnh làkhả năng diễn đạt tri thức, ràng buộc toàn vẹn. CSDL cókhả năng quản trịdữliệu, bảo mật dữliệu. CSDL suy diễn cókhả năng sửdụng các tính năng của lập trình logic đểthực hiện các suy diễn nhằm tạo ra thông tin mới dựa trên các luật suy diễn vàdữliệu được lưu trữtrong CSDL. 5 Dạng luật trong CSDLSD Luật códạng tổng quát: H: G1 G2… G k Với Hlàphần đầu hay kết luận của luật. G1 G2… Gklàphần thân của luật. Các Gklà đích con(sub goal) hay tiền đềcủa
Bài 1: Cơ sở liệu suy diễn PGS.TS Đỗ Phúc Trường Đại học Công nghệ thông tin - 2012 Nội dung Cơ sở liệu suy diễn (CSDLSD) Dạng luật CSDLSD Vị từ suy vị từ Luật không đệ qui Tạo liệu qua phép AND, OR, NOT Suy diễn với luật không đệ qui Suy diễn với luật đệ qui Kiến thức cần nắm Lý thuyết CSDL quan hệ Lập trình logic Cơ sở liệu suy diễn CSDL suy diễn tích hợp CSDL lập trình logic Lập trình logic mạnh khả diễn đạt tri thức, ràng buộc tồn vẹn CSDL có khả quản trị liệu, bảo mật liệu CSDL suy diễn có khả sử dụng tính lập trình logic để thực suy diễn nhằm tạo thông tin dựa luật suy diễn liệu lưu trữ CSDL Dạng luật CSDLSD Luật có dạng tổng quát: H: - G1 & G2 … & Gk Với H phần đầu hay kết luận luật G1 & G2 … & Gk phần thân luật Các Gk đích con(sub goal) hay tiền đề luật Luật suy diễn parent(X,Y): - father(X,Y) | mother(X,Y) Với father, mother, parent vị từ X,Y biến Mỗi vị từ p(X,Y,Z) ứng với quan hệ P(X,Y,Z) CSDL Vị từ suy vị từ Vị từ suy IDB (intensional predicate): vị từ xuất phần kết luận luật Vị từ suy xuất phần thân luật Vị từ EDB (extensional predicate): ứng với quan hệ lưu trữ CSDL Một vị từ nhận giá trị hay sai Nếu p vị từ P quan hệ p(a,b,c) với a, b, c đối có giá trị (a,b,c) tạo tiến trình suy diễn Luật khơng đệ qui Vị từ phần đầu không xuất phần thân luật Ví dụ: sibling(X,Y): - parent(Z,X) & mother(Z,Y) Luật đệ qui Vị từ phần đầu xuất phần thân luật Ví dụ: ancestor(X,Y): - parent(X,Y) ancestor(X,Y): - parent(X,Z) & ancestor(Z,Y) Tạo liệu qua phép AND Phép AND(&) xây dựng sở phép kết phép chiếu đại số quan hệ Với luật t(a,b,d,e):- r(a,b,c) & s(c,d,e), quan hệ T(a,b,d,e) ứng với vị từ t(a,b,d,e):được tính theo cách sau: T(a,b,d,e) = Π a,b,d,e ( R(a,b,c) ⋈ S(c,d,e)) Nếu dùng câu SQL, ta có câu lệnh tương ứng: SELECT r.a, r.b, s.d, s.e FROM r, s WHERE r.c = s.c 10 Tạo liệu qua phép NOT (∼) Phép not(∼) xây dựng sở phép hiệu: t(a,b,c): - r(a,b,c) & (∼s(a,b,c)) Quan hệ suy T(a,b,c) vị từ t(a,b,c) tính theo cách sau: t(a,b,c) = r(a,b,c) \ s(a,b,c) Nếu dùng SQL, ta cài đặt sau: SELECT a, b, e FROM r WHERE a NOT IN (SELECT a FROM s) 12 Suy diễn với luật không đệ qui So khớp đồng biến: So sánh thành phần để tìm vị từ kiện tiến trình suy diễn Sau so khớp xảy tiến trình đồng biến theo nghĩa thay biến giá trị cụ thể Xét hai luật sau: r1: grandfather(X,Y): - father(X,Z) & parent(Z,Y) r2: parent(X,Y): - father(X,Y) | mother(X,Y) 13 So khớp đồng biến Quan hệ Father(A,B), Mother(A,B) mô tả vị từ father(A,B), mother(A,B) (hay EDB) Từ vị từ ngoài, nhờ luật suy diễn tạo quan hệ cho IDB Parent(A,B) hay grandfather(A,B) 14 Đồ thị suy diễn Có thể mơ tả luật suy diễn đồ thị suy diễn Ví dụ với hai luật ta tạo đồ thị dạng suy diễn hình sau: 15 Tiến trình suy diễn Trong tiến trình suy diễn để tạo quan hệ cho vị từ suy grandfather(X,Y) Cần tạo quan hệ cho vị từ father(X,Z) parent(Z,Y) Tìm sub goal 16 Tiến trình suy diễn (tt) Do father(X,Z) quan hệ nên cần thẩm định parent(Z,Y) cách so khớp đồng biến để có dạng sau: parent(Z,Y):- father(Z,Y) | mother(Z,Y) Với vị từ father(Z,Y) sử dụng so khớp đồng biến theo thứ tự xuất đối vị từ thứ tự xuất trường quan hệ 17 Tiến trình suy diễn (tt) Từ quan hệ father(F,C), có đồng biến sau cho father(X,Z) father(Z,Y) FATHER (F C ) an son loc vinh father( X Z) an son loc vinh father( Z an loc Y) son vinh 18 Phân giải luật khơng đệ qui Có hai bước là: Tạo suy diễn theo luật Duyệt để thẩm định tạo sinh liệu cho vị từ suy Với hai luật: r1: sibling(X,Y):- parent(X,Z) & parent(Z,Y) & (XY) r2: parent(X,Y):- father(X,Y) | mother(X,Y) 19 Phân giải luật không đệ qui (tt) Vị từ suy sibling(X,Y) với đích sibling(A,B) thẩm định sau: Tìm luật so khớp với đích thực đồng biến Tạo có gốc đích tốn Xử lý đệ qui với đích vừa tạo Nếu vị từ vị từ mở rộng 20 Đồ thị suy diễn 21 Tạo quan hệ IDB đồ thị suy diễn Sau tạo xong đồ thị suy diễn, duyệt để tạo sinh liệu cho vị từ suy Ý tưởng thuật tốn sau: Tìm luật có phần đầu so khớp với đích Tạo liệu cho vị từ phần thân luật Thực phép toán logic để tạo liệu cho vị từ suy 22 Tạo quan hệ IDB đồ thị suy diễn (tt) 23 Suy diễn với luật đệ qui Xét hai luật: r1: ancestor(X,Y) :- parent(X,Y) r2: ancestor(X,Y) :- parent(X,Z) & ancestor(Z,Y) Với parent(X,Y) vị từ nền, ancestor(X,Y) vị từ suy luật có dạng đệ qui Quan hệ parent(X,Y) ứng với sau đây: parent(X,Y)={(j,f)(j,h)(k,g)(k,i)(f,c)(f,e)(g,c)(h,d)(i,d) (c,a)(d,a)(d,b)(e,b)} Với đích cần tìm query parent(j,W) theo nghĩa j tổ tiên ai? Một phần suy diễn cho luật đích nêu trình bày hình sau: 24 Tiến trình mở rộng suy diễn 25 Tạo liệu cho quan hệ 26 ...Nội dung Cơ sở liệu suy diễn (CSDLSD) Dạng luật CSDLSD Vị từ suy vị từ Luật không đệ qui Tạo liệu qua phép AND, OR, NOT Suy diễn với luật không đệ qui Suy diễn với luật đệ qui Kiến... logic Cơ sở liệu suy diễn CSDL suy diễn tích hợp CSDL lập trình logic Lập trình logic mạnh khả diễn đạt tri thức, ràng buộc tồn vẹn CSDL có khả quản trị liệu, bảo mật liệu CSDL suy diễn. .. ngoài, nhờ luật suy diễn tạo quan hệ cho IDB Parent(A,B) hay grandfather(A,B) 14 Đồ thị suy diễn Có thể mơ tả luật suy diễn đồ thị suy diễn Ví dụ với hai luật ta tạo đồ thị dạng suy diễn hình sau: