Phạm Thị Anh Lê - CSDL là một thể hiện của lý thuyết cấp một Theo quan điểm mô hình Gọi DB là một thể hiện của một CSDL quan hệ DB gồm một tập các quan hệ R cho mỗi lược đồ quan hệ L
Trang 1Cơ sở dữ liệu nâng cao
Phạm Thị Anh Lê – ĐH Sư phạm Hà nội
Trang 3suy diễn
Trang 4việc quản lý các dữ liệu động và phức tạp kém hiệu quả,
Một số hướng nghiên cứu mở rộng được đề xuất: CSDL suy diễn, CSDL hướng đối tượng, CSDL phân tán
Trang 5Ví dụ: quan hệ cha-con không suy diễn được Hoa là cháu của ai.
diễn, những tri thức tổng quát
Sự gặp gỡ của AI và CSDL
Trang 6Phạm Thị Anh Lê -
Mở đầu
Các hệ CSDL
Có khả năng quản lý các khối lượng lớn
DL
Dữ liệu ngoại diên: các sự kiện
Tính toàn vẹn, khôi phục, tối ưu
hoá câu hỏi
Được bảo trì bởi những nhà quản
Được bảo trì bởi các chuyên gia
Cần một hoàn thiện để quản lý các khối lượng lớn thông tin
Các hệ chuyên gia
CSDL suy diễn ?
Trang 7 Datalog là một công cụ của DDB
tương tự với Prolog
có các sự kiện và các luật
các luật định nghĩa – có khả năng đệ qui - views
Trang 8
Phạm Thị Anh Lê -
1 Logic và CSDL suy diễn
Từ logic đến CSDL suy diễn
Lý thuyết chứng minh
Lý thuyết thể hiện
Thế nào là CSDL suy diễn
Vấn đề thông tin âm
Chức năng và phương pháp luận của một CSDL suy diễn
Trang 10Phạm Thị Anh Lê -
3 Đánh giá và mô hình hoá
các câu hỏi suy diễn
Đánh giá dưới lên
Đánh giá trên xuống
Mô hình hoá các luật bằng đồ thị
Cây và đồ thị quan hệ
Cây VÀ/HOẶC và các đồ thị luật/đích
Đánh giá các luật đệ quy
Trang 11biểu về các quan hệ giữa các đối tượng
Trang 13Kí hiệu hằng: a, b, c,
Kí hiệu vị từ: P, Q,
Trang 14« Mọi người là nữ hoặc là nam”
« Một người là nam thì sẽ không là nữ”
Trong FOL, các vị từ có thể xem các biến như các đối số, mà giá trị của nó được giới hạn bởi các lượng từ ∀x Nữ(x) ∨ Nam(x)
∀x Nữ(x) →¬ Nam(x)
Kí hiệu biến : x, y, z,
Kí hiệu lượng từ: ∀, ∃
Suy diễn (tại sao ?)
Mai không là nam
¬Nam(mai)
Trang 15« Bố của một người là nam”
Trong FOL, các đối tượng của miền có thể được biểu thị bởi các hàm áp dụng lên các đối tượng (đối tượng khác)
∀x Nam(Bố (x))
Kí hiệu hàm : f(x1, xn), g, h,
Trang 17 (i) Mọi biến và hằng
(ii) Nếu f là hàm n-ngôi và t1, , tn là các hạng thức thì f(t1, ,
tn) cũng là một hạng thức
Công thức nguyên tố
φ →P(t1, ,tn)
Trang 18Phạm Thị Anh Lê -
Logic vị từ cấp một
Cú pháp
Công thức được thiết lập đúng đắn (wff – well-formed formula):
(i) Mọi công thức nguyên tố
(ii) Nếu f, g là các wff thì f ∧ g, f ∨ g, ¬ f, f ⇒ g, f ⇔ g là các wff (iii) Nếu f là wff thì tác động lượng từ ∀ , ∃ vào f được công thức được thiết lập đúng đắn
literal là một công thức nguyên tố hay dạng phủ định của công thức nguyên tố
công thức dương (không có ¬)
Trang 19 Công thức đóng và mở Một công thức là đóng nếu nó không chứa biến tự do Khi xây dựng các lý thuyết, người ta chỉ sử dụng các công thức đóng
Trang 20 gán cho mỗi hàm f n ngôi một ánh xạ Dn→D
gán cho mỗi tân từ P n ngôi một ánh xạ Dn→{0, 1}
Cho W là tập hợp wff Một mô hình là một thể hiện sao cho mọi công thức thuộc W đều nhận giá trị đúng
Trang 21Phạm Thị Anh Lê -
Logic vị từ cấp một
Cơ chế suy diễn
Hệ quả logic của W
Cho w là một wff, w∈W Ta nói w là hệ quả logic của W nếu w nhận giá trị TRUE với mọi mô hình của W,
Kí hiệu W╞ w
Trang 22Phạm Thị Anh Lê -
Logic vị từ cấp một
Cơ chế suy diễn
Trang 26Phạm Thị Anh Lê -
Logic vị từ cấp một
Cơ chế suy diễn
Nguyên lý hợp giải (resolution principle):
(c1) F1∨L1
(c2) F2 ∨¬L2
sao cho L1 và L2 có thể hợp nhất với một phép thay thế biến hoặc hằng thích hợp
Khi đó quá trình phép giải:
Khử các vị từ đã được đồng nhất với nhau (1 có ¬, 1 không có) và lấy tuyển các literal còn lại (sau khi áp dụng phép thế nói trên)
(c3) F1s∨F2s được gọi là giải thức (resolvent)
Modus Ponent chỉ là trường hợp đặc biệt
Trang 27Phạm Thị Anh Lê -
Logic vị từ cấp một
Cơ chế suy diễn
Nguyên lý hợp giải (resolution principle)
Ví dụ:
(c1) ¬P(a,b,c) ∨ Q(d,e)
(c2) P(x,y,z) ∨ R(x,y)
s = {a/x, b/y, c/z}
(c3) Q(d,e) ∨ R(a,b) đây là công thức suy diễn được
Nguyên lí hợp giải chủ yếu được dùng để chứng minh bác bỏ (Reputation proof)
Để chứng minh W├w (⇔W╞w), ta chứng minh hệ W∪{¬w} dẫ n tới câu rỗng Từ đó suy ra w là chứng minh được.
Trang 28Phạm Thị Anh Lê -
CSDL được nhìn dưới ánh
sáng của logic
Một CSDL có thể được xem như:
vẹn) là các công thức được định giá trên thể hiện bằng cách sử dụng định nghĩa ngữ nghĩa của chân lý
như các định lý phải chứng minh.
Trang 29Phạm Thị Anh Lê -
CSDL là một thể hiện của lý thuyết
cấp một
Tại một thời điểm, 1 tập các quan hệ R1, ,Rm
Rj tương ứng với một tân từ Pj
Pj(e(j)1, ,e(j)n) đúng nếu (e(j)1, ,e(j)n)∈Rj
sai nếu (e(j)1, ,e(j)n)∉Rj
Trong ngữ cảnh CSDL thì lý thuyết cấp một tương ứng không có kí hiệu hàm.
Trang 31Phạm Thị Anh Lê -
CSDL là một thể hiện của lý thuyết
cấp một
Theo quan điểm mô hình
Gọi DB là một thể hiện của một CSDL quan hệ
DB gồm một tập các quan hệ R cho mỗi lược đồ quan hệ (LĐQH) R(A1, ,An) và một tập các ràng buộc toàn vẹn IC (Integrality Constraints)
Gọi D là hợp của các miền của tất cả các thuộc tính xuất hiện trong các LĐQH
Định nghĩa ngôn ngữ cấp một L bao gồm các ký hiệu tân từ n-ngôi R cho mỗi quan hệ n-ngôi trong DB và tập các hằng (một hằng cho một phần tử trong D)
DB được xem như một thể hiện của các công thức của L
Trang 32Đối với các IC (biểu thị dưới dạng các công thức của L) thì DB là một mô hình của IC
Quan điểm chứng minh của DB có được bằng cách xây dựng một lý thuyết T thừa nhận DB là
mô hình duy nhất.
Khi đó, với mọi wff w trong L, T├w nếu và chỉ nếu w đúng trong DB Qúa trình xây dựng T là làm chính xác các tiên đề riêng của nó
Trang 33 các khẳng định (tương ứng với mỗi bộ)
các tiên đề riêng biệt hoá
các tiên đề đầy đủ
các tiên đề về tên duy nhất
tiên đề về tính đóng của miền
Trang 34Phạm Thị Anh Lê -
CSDL là một hệ tiên đề của lý thuyết
cấp một
Gọi IC là tập các ràng buộc toàn vẹn, w∈IC, ta nói CSDL thoả w nếu và chỉ nếu T├ w
Một câu hỏi Q(x1, ,xp) với x1, ,xp là các biến tự do trong Q, câu trả lời là tập các bộ (e1, ,ep) sao cho T├ Q(e1, ,ep)
Nguyên lý giải (resolution principle) thực chất là một quy tắc suy diễn
Trang 35Điều kiện Tân từ
Trong đó tân từ không ứng với một quan hệ nào của CSDL cài đặt
Nói chung, để định nghĩa CSDL tiềm ẩn, người ta thường dùng các câu Horn có dạng P1∧P2∧ ∧Pn →Q để định nghĩa quan hệ Q tiềm ẩn
Trang 36Con người uống rượu «có hạng» nhờ tiên đề:
Trang 38¬P1∨¬P2 ∨ ∨¬ Pk ∨ R1∨R2∨ ∨Rm Câu được gọi là có tầm hạn chế nếu mọi biến xuất hiện ở vế phải cũng xuất hiện ở vế trái
Trang 40Phạm Thị Anh Lê -
(a) P(c1, ,cm) → biểu diễn sự kiện âm
(b) P(t1, ,tm) → với một số hay tất cả các ti là biến, có thể xem đây là một ràng buộc toàn vẹn (một giá trị không tồn tại)
Trang 42Phạm Thị Anh Lê -
Được xem hoặc như một ràng buộc toàn vẹn hoặc như một định nghĩa vị từ (luật suy diễn):
Cha(x, y) ∧ ChaMẹ(y, z)→ Ông(x, z)
Trang 44
Mỗi người có nhiều nhất hai Bố Mẹ
(Một câu được gọi là xác định nếu vế phải chứa đúng một công thức nguyên tố)
Trang 45
Phạm Thị Anh Lê -
Kiểu câu P 1 ∧ ∧ P k → R 1 ∨ ∨ R m
Tất cả các kiểu câu trên, trừ sự kiện nền → R(c1, ,cm):
Trong CSDL truyền thống được xử lí như các ràng buộc toàn vẹn
Trong CSDL suy diễn một số trong số chúng được xử lí như các luật suy diễn
Trang 46Phạm Thị Anh Lê -
CSDL suy diễn xác định
Định nghĩa hình thức : CSDLSD xác định bao gồm:
(1) Một lý thuyết T với tiên đề riêng:
Các tiên đề riêng biệt hoá: bao đóng của miền, tên duy nhất, đẳng thức, đầy đủ (một tiên đề cho mỗi vị từ trong T)
Các sự kiện cơ sở: một tập các công thức nguyên tố nền được xác định bởi các câu kiểu 1a
Các luật suy diễn: một tập các câu xác định kiểu 4 hoặc 1b
(2) Một tập các ràng buộc toàn vẹn IC, là những công thức đóng bất kỳ
Trang 47Phạm Thị Anh Lê -
CSDL suy diễn xác định
Định nghĩa tác nghiệp : CSDLSD xác định bao gồm:
(1) Một tập các tiên đề: các sự kiện sơ cấp và các luật suy diễn
(2) Một tập các ràng buộc toàn vẹn IC, là những công thức đóng bất kỳ
(3) Một siêu qui tắc : phủ định xem là thất bại (thất bại khi chứng minh P cho phép suy ra ¬P)
Trang 48- Định nghĩa hình thức được phát biểu trong logic cấp một chuẩn là logic đơn điệu
- Định nghĩa tác nghiệp dẫn tới logic không đơn điệu
(Một logic là đơn điệu nếu cho một lý thuyết T (một tập các tiên đề) trong đó T├W thì việc thêm cho T một tiên đề A ta vẫn có T∪{A}├W)
Trang 49Phạm Thị Anh Lê -
(1) Một tập các tiên đề: các sự kiện sơ cấp và các luật suy diễn
Trang 50Phạm Thị Anh Lê -
Vấn đề thông tin âm
« Ai là cha của Dũng, Hùng có là cha của Dũng không ?»
Giả sử có:
CHA(Hùng, Mạnh) CHA(Sơn, Thuỷ)
không có khả năng trả lời khi tra cứu CSDL, nói cách khác
Trang 51Phạm Thị Anh Lê -
Vấn đề thông tin âm
Giả thiết thế giới đóng (Closed World Assumption - CWA), hay qui ước với thông tin âm:
Sự kiện không xuất hiện trong CSDL là sai
Qui tắc « phủ định bởi thất bại »:
Thông tin âm mà không chứng minh được người ta coi nó là đúng
¬p đúng nếu p ⊬
Trang 53Phạm Thị Anh Lê -
Hệ QTCSDL suy diễn
Trước hết đó là một hệ QTCSDL: có ngôn ngữ DDL, DML
Đem cho người dùng một giao diện có ngôn ngữ luật, cho phép: từ các
quan hệ cơ sở (lưu trữ trong CSDL cài đặt) suy diễn ra những quan hệ mới (CSDL tiềm ẩn)
Trang 54Phạm Thị Anh Lê -
Hệ QTCSDL suy diễn
Có khả năng thực hiện các phép toán quan hệ cổ điển
Xử lí được các tập hợp bao gồm các hàm tập hợp "truyền
thống" cũng như các tính toán đa trị (Max, Min, Sum, Avg, Count)
Đệ qui: cho định nghĩa quan hệ bằng chính nó
Có khả năng chấp nhận phủ định (xử lí thông tin âm) để dẫn trỏ đến các sự kiện không tồn tại
Các hàm số học và các hàm được định nghĩa bởi người dùng
Cập nhật các sự kiện thông qua các luật
Có tính đơn nguyên với các mức trừu xuất liên tiếp và các siêu luật
Trang 55Tóm lại phải đưa vào đó một cơ chế suy diễn đòi hỏi:
Ngôn ngữ diễn đạt các luật
Mô hình bên trong để lưu trữ các sự kiện và các luật
Tính nhất quán
Trang 56 dễ giao diện với một hệ QTCSDL (dễ dàng được dịch thành một
chương trình của đại số quan hệ mở rộng)
Trang 57Phạm Thị Anh Lê -
Datalog
Là một ngôn ngữ luật cho các CSDL, cho phép xác định các quan hệ suy diễn nhờ phép kéo
theo đơn giản không có kí hiệu hàm
Có thể xem đó là một biến dạng của Prolog với một ngữ nghĩa tập hợp (kết quả của một
chương trình không phụ thuộc vào thứ tự các câu)
Trang 58• Cập nhật tường minh trong một luật DATALOGmaj
• Đưa vào những điều kiện tổng quát chứa các phép hội, tuyển, phủ định (phi Horn)
DATALOGnon
Trang 59Công thức nguyên tố: Literal dương P(t1, t2, tn)
Công thức nguyên tố cá biệt (được làm cá biệt): công thức nguyên tố không chứa biến
Trang 60Phạm Thị Anh Lê -
Luật: biểu thức có dạng Q← P1 , P2 , , Pn
Đầu luật Q là công thức nguyên tố (kết luận)
thân luật P1 , P2 , , Pn là các tân từ (tiền đề hay điều kiện)
mỗi Pi gọi là một đích con
Luật được gọi là đệ qui nếu tân từ của đầu luật cũng xuất hiện trong thân luật
Trang 61TOTIEN(x,z) ← TOTIEN(x,y), CHAMẸ(y,z)
ANHEMHO(x,y) ← TOTIEN(z,x), TOTIEN(z,y)
Trang 62Phạm Thị Anh Lê -
Datalog
Một chương trình DATALOG là một tập các luật (thứ tự các luật không quan trọng}
DATALOG cho phép người dùng phản ánh các luật và các sự kiện
CSDL logic = CSDL cài đặt + CSDL tiềm ẩn
(viết bằng DATALOG)
Trang 63Phạm Thị Anh Lê -
Ngữ nghĩa của chương trình DATALOG
Ngữ nghĩa của một chương trình DATALOG là cái mà chương trình đó tính được:
Phương pháp khai báo/dựa trên việc tính mô hình của một chương trình logic
Phương pháp thủ tục (từng bộ một)/ dựa trên phương pháp chứng minh bằng ppgiải và "phủ định bởi thất bại"
Trang 64b) Với mọi luật Q(t1, t2, , tn) ← P1, P2, , Pn và với mọi phép gán θ trong thể hiện:
Nếu θ(P1, P2, , Pn) đúng trong thể hiện
thì θ(Q(t1, t2, , tn)) cũng đúng
Trang 65Phạm Thị Anh Lê -
Datalog
Một mô hình của một chương trình DATALOG là một tập các tân từ cá biệt:
chứa tất cả các sự kiện của CSDL và
tất cả các sự kiện có thể được suy diễn bằng áp dụng các luật
Trang 66Phạm Thị Anh Lê -
Ngữ nghĩa chính tắc của chương trình
DATALOG
Giao của hai mô hình cũng là mô hình
Giao của tất cả các mô hình: mô hình nhỏ nhất được gọi là ngữ nghĩa
chính tắc
Dùng Toán tử Tr để tính (hệ quả trực tiếp - Van Edem 1976)
Trang 67sao cho Q ← P1, P2, , Pn là một luật các biệt của P}
• Bắt đầu với I = Ø, khi đó Tp(Ø) = tập các sự kiện của chương trình
Trang 69Tp(I) = I' I' là mô hình nhỏ nhất của chương trình P
Với những chương trình lớn cần có những thuật toán tối ưu hơn.
Trang 70Phạm Thị Anh Lê -
Ngữ nghĩa chính tắc của chương trình
DATALOG
Tính khi cần trả lời câu hỏi
Câu hỏi được biểu diễn bằng SQL trên quan hệ được suy diễn hay
Câu hỏi biểu diễn bằng một luật không đầu dạng
← P1, P2, , Pn , trong đó thay ← bởi ?
Ví dụ ? TOTIEN(x, Mai)
Trang 71Phạm Thị Anh Lê -
DATALOG có sức mạnh của ĐSQH với sự cho phép đệ qui (ĐSQH không
cho phép đệ qui)
Phép hợp: 1 số luật cùng đầu
Phép chiếu: một luật có một số biến ở phần thân bị lấy đi khỏi phần đầu của
luật
Phép chọn: một luật có ít nhất một tân từ quan hệ (so sánh) trong phần thân
Phép kết nối: luật gồm một số tân từ quan hệ ở phần thân
Trang 72• hàm định nghĩa bởi người dùng
Đưa vào các kí hiệu hàm f, g, có một số cố định đối số
Các đối của tân từ có thể là hằng hoặc biến hoặc là hàm tác động lên các hạng thức f (t1, t2, , tn)
Trang 73Đường_đi (x, y, e+d) ← Đường_đi (x, z, e), Cung (z, y, d)}
? Đường_đi (Hà nội, Sài gòn, t)
Trang 74 {lương (100) ← ; cao_hơn (y, x) ← lương(x), x<y }
? cao_hơn (y, x) cho vô số đáp số
{nguyên (0) ←; nguyên(x+1) ← Nguyên (x)}
chương trình này phát sinh tất cả các số nguyên dương
Một luật gọi là có trường hạn chế nếu tất cả các biến trong đầu luật đều xuất hiện trong một tân từ quan hệ ở thân luật.
Một chương trình gọi là an toàn nếu không phát sinh vô hạn đáp số
Trang 75Phạm Thị Anh Lê -
Mở rộng DATALOG với phép phủ định
Ví dụ : tính độ dài các đường đi trên đồ thị có hướng, có sử dụng quan hệ lưu trữ các cung bị cấm
{Đường_đi (x, y, d) ← Cung (x, y, d), ¬ Cấm(x, y);
Đường_đi (x, y, e+d) ← Đường_đi (x, z, e), Cung (z, y, d), ¬ Cấm(z, y)}
Giao của hai mô hình nói chung không là mô hình
Trang 76chim_cánh_cụt (x) ← chim (x), ¬bay(x);
bay(x) ← chim (x), ¬ chim_cánh_cụt (x)}
Chương trình này có 2 mô hình:
Mô hình 1 : { chim (ngựa_có_cánh) , chim_cánh_cụt (ngựa_có cánh)}
Mô hình 2: {chim (ngựa_có_cánh), bay (ngựa_có cánh) }
Giao của hai mô hình là {chim (ngựa_có_cánh)} không là mô hình
Trang 78Xin cảm ơn !