BO GIAO DUC VA DAO TAO
DAI HOC HUE
TRUONG DAI HOC KHOA HOC
LÊ MINH BÌNH
TÌM HIẾU NGỮ NGHĨA VÀ PHƯƠNG PHÁP
ĐỊNH GIA TRUY VAN DOI VOI CHUONG TRINH DATALOG MO TA
CHUYEN NGANH: KHOA HOC MAY TINH MA SO: 8 48 01 01
LUAN VAN THAC SI KHOA HOC
DINH HUONG NGHIEN CUU
NGUOI HUONG DAN KHOA HOC PGS.TS TRUONG CONG TUAN
Thừa Thiên Huế, 2020
Trang 2
LOI CAM DOAN
Tơi cam đoan đây là cơng trình nghiên cứu của riêng tơi dưới sự hướng dẫn khoa học của thầy giáo PGS TS Trương Cơng Tuấn
Các kết quả nêu trong luận văn là trung thực, cĩ nguồn gốc rõ ràng, được trích dẫn đầy đủ và chưa từng cơng bố trong bất kỳ cơng trình khoa học nào
Tơi xin chịu hồn tồn trách nhiệm về nội dung của luận văn này
Tác giả
Trang 3LOI CAM ON
1, tơi xin gởi lời cảm ơn chân thành sâu sắc đến Quý thầy cơ giáo
Khoa Cơng nghệ thơng tin - Trường Đại học Khoa học Huế đã tận tình hướng dẫn,
truyền đạt kiển thức, tạo điều kiện thuận lợi trong quá trình học tập và thực hiện
luận văn tốt nghiệp
Tơi xin chân thành gửi lời biết ơn đến PGS.TS Trương Cơng Tuấn, người thầy đã hướng dẫn tận tình và cĩ những gĩp ý sâu sắc, hướng dẫn rất quý báu cho tơi trong suốt quá trình nghiên cứu, kịp thời cho tơi nhiều lời động viên cũng như những nhận xét đúng đắn để tơi cĩ thể hồn thành tốt được dé tai này
Trong quá trình thực hiện để tài, xin chân thành gửi lời cảm ơn đến sự giúp đỡ, những lời động viên từ phía gia đình, đồng nghiệp, bạn bè là động lực to lớn giúp tơi hồn thành tốt đề tài nghiên cứu của mình
Bản thân tơi đã cố gắng hết sức trong quá trình thực hiện để tài này nhưng chắc chắn sẽ khơng tránh khỏi những thiếu sĩt Kính mong quý thầy cơ và các bạn tận tình gĩp ý, chỉ bảo
Xin chan thanh cam on!
Thừa Thiên Huế, ngày 15 tháng 03 năm 2020
Học viên Lê Minh Bình
4
Trang 4MUC LUC
DANH MUC CACHINE VE siesseoseesccrescsiesssservermsnncnnnnnnnmenccnnnmmnrnene i DANH MUC CAC CHU VIET TAT v MỞ ĐẦU -ce©cccccceccee 1
0:0019) t0 .4dẬÄä:£ŒÙHLỞ 3
TƠNG QUAN VỀ CHƯƠNG TRÌNH DATALOG 22 5< 5c scc<ccscse 3
VÀ LOGIC MƠ TTẢ 2-225°S22ecSC2eEEEEEE3221132114211112111211.111.111 11 xe 3 1.1 CHƯƠNG TRÌNH DATALOG -2-222222222222112221222212121212211 Eee 3
1.1.1 Cú pháp chương trình DafalOg St 212 1n hà he that 3 1.1.2 Ngữ nghĩa chương trình Dafalog - c2: 2c 2S nhe 6 1.2 TỎNG QUAN VẺ LOGIC MƠ TẢ . 1c 5222222122122 21a § 1.3 TIỂU KÉT CHƯƠNG l ©2222222221222122122121122122221222ee 11
0:09) 120157" -.- ƠỊƠ 12
NGỮ NGHĨA CỦA CHƯƠNG TRÌNH DATALOG MƠ TẢ 12 2.1.LOGIC MƠ TẢ Á/€Ở 225:22222222122121121121122112211222222 re 12 2.1.1 Cú pháp của logic mơ tả „Á/CC 5:55:52 St e 12 2.1.2 Ngữ nghĩa của logic mơ tả „Á/CC : 5:5: SE SE E112 re 13 2.1:3; :Cơ:sở'tri thức của:lòlic-mơ Tá Ữ toaonndanhntititioitioikitiiigiailinitiaisoigaygptoen 15
2.2 CHƯƠNG TRÌNH DATALOG MƠ TẢ -2-©22222222212221221221 22 z2e 18
2.2.1 Cú pháp 52-222 22112121221112211122111221221222222222rerre 18
/22.2suĐ[Ð iig lÏRtccsesseoacseszsoirdtoedirsthidiHgh8 000100860710 812E8E10 10 2ĐEES HEIĐLE4/9EĐH0EESEEUL01E050100108 21 2.3 TIEU KET CHUONG 2 25
0:0019) 9-05 -.4.Ag ,.)HDHAH , ƠỎ 26
PHƯƠNG PHÁP TRẢ LỜI CÂU TRUY VĂN VÀ ỨNG DUNG CUA
CHƯƠNG TRÌNH DATALOG MƠ TẢ 222c2©ccsecczeecrxeecrxeecrxee 26
Trang 6DANH M C CAC HINH VE
Hình 3.1 Minh hoạt dẫn xuất
Trang 8DANH MỤC CÁC KÝ HIỆU Giao Hoặc (phép tốn logic) Hợp Phủ định Và (phép hội logic)
Cơ sở Herbrand của chương trình logic P Vii tru Herbrand của chương trình logic P
Khái niệm đỉnh
Khái niệm đáy
Trang 9DANH MUC CAC CHU VIET TAT AL Attribute Language
Trang 10MO DAU
Trong những thập niên vừa qua, chương trinh Datalog va logic mơ tả là hai lĩnh vực nghiên cứu đã được nhiều người quan tâm và đã cĩ nhiều ứng dụng hữu ích trong các lĩnh vực khác nhau
Logic mơ tả là họ ngơn ngữ biểu diễn tri thức của một miền ứng dụng theo một cách thức cĩ cấu trúc Trong những ứng dụng cụ thể cĩ sử dụng logic mơ tả, tri thức của miền ứng dụng được đặc tả bằng các khái niệm và các vai trị Các ngơn ngữ DL cung cấp một tập các tạo tử để xây đựng các mơ tả khái niệm và vai trị từ các khái niệm và vai trị nguyên tố Các mơ tả như vậy cĩ thể được sử dụng trong
các tiên để, các quyết định của các cơ sở tri thức, và cĩ thể được suy diễn với các cơ
sở tri thức DL bằng các hệ thống DL
Logic mơ tả được ứng dụng đặc biệt hiệu quả trong việc xây dựng hệ thống Web thế hệ mới: Web ngữ nghĩa, với mục đích tăng khả năng liên kết giữa các tài nguyên và khả năng hiểu được thơng tin của máy
Bên cạnh các nghiên cứu về logic mơ tả, việc nghiên cứu chương trình Datalog và lập luận suy diễn bằng chương trình Datalog cũng đã đạt được nhiều thành tựu quan trọng cả về lý thuyết và ứng dụng thực tiễn Chương trình Datalog chủ yếu đựa trên ý tưởng lập trình khai báo, ở đĩ các chương trình khơng được tao ra
tử các câu lệnh cũng như từ các hàm mà được tạo ra chủ yếu dựa trên tập các vị từ
Trong những năm gần đây đã xuất hiện một hướng nghiên cứu mới nhằm kết hợp chương trình Datalog với logie mơ tả, và một trong những mục đích của việc nghiên cứu này là để hỗ trợ xử lý lập luận suy diễn trong Web ngữ nghĩa Ưu điểm của việc kết hợp này là đã tận dụng được những thành quả nghiên cứu trong hai lĩnh
vực nêu trên
Luận văn nghiên cứu về ngữ nghĩa và phương pháp định giá câu truy vấn đối với chương trình Datalog mơ tả Những nội dung nghiên cứu của luận văn cĩ ý nghĩa khoa học về mặt lý thuyết cũng như trong ứng dụng trong thực tiến
Cấu trúc luận văn gồm phần mở đầu, ba chương nội dung, phan kết luận và
Trang 11Chương 1 trình bày về tổng quan về chương trình Datalog và logic mơ tả, trong đĩ tập trung vào một số khái niệm cơ sở ngơn ngữ logic bậc nhất, cú pháp và ngữ nghĩa của chương trình Datalog và giới thiệu về logic mơ tả
Chương 2 trình bày về chương trình Datalog mơ tả, trong đĩ tập trung vào logic mơ tả ,4Z€, cú pháp và ngữ nghĩa của chương trình Datalog mơ tả
Chương 3 trình bày phương pháp để trả lời câu truy vấn đối với chương trình Dafalog mơ tả, biểu diễn một số bài tốn bằng chương trình Datalog mơ tả và cài đặt, thực thi bằng hệ thống lập trinh logic DLV két hop với hệ thống lập luận OWL RACER
Trang 12CHUONG 1
TONG QUAN VE CHUONG TRINH DATALOG
VA LOGIC MO TA
Chương một trình bày về cú pháp, ngữ nghĩa của chương trình Datalog và giới thiệu tổng quan về logic mơ tả Các nội dung này làm tiền để cho các nghiên cứu trong các chương tiếp theo
1.1 CHUONG TRINH DATALOG 1.1.1 Ca phap chuong trinh Datalog
Chương trình Datalog sử dụng các ký tự trong bộ ký tự được định nghĩa sau đây:
Định nghĩa 1.1 (Bộ ký tự) Bộ &ý # bao gồm lớp các ký hiệu:
e_ Các ký hiệu hằng: thường ký hiệu là các chữ cái thường a,b,e
e Các ký hiệu biến: thường ký hiệu là các chữ cái in hoa X,Ÿ,Z, e Cac ký hiệu vị từ: thường ký hiệu bởi p, g, 7
e_ Các hằng vị từ: rue, ƒaise
e_ Các ký hiệu kết nối: ¬ (phủ định), v (tuyển), A (hội), (kéo theo) e_ Các ký hiệu lượng từ: V (với mọi), 3 (tồn tại)
e_ Dấu ngoặc đơn trái: (, dấu ngoặc đơn phải: ), dấu phẩy:
Định nghĩa 1.2 (Hang thức) ỦJạng thức được định nghĩa đệ qui như sau: ()_ Mỗi hằng là một hạng thức
(ii) Mỗi biến là một hạng thức
(ii)Hạng thức chỉ được sinh ra bởi các quy tắc trên
Định nghĩa 1.3 (Nguyên tố) Cho 4 bộ ký tự và 7 là tập các hạng thức trên 44 Nếu p là ký hiệu vị từ ø-ngơi trong 4 và í¿, .,f„€ 7 thì pứu, .,f„) được gọi là nguyên tổ Định nghĩa 1.4 (Cơng thức) Cho 41 bộ ký tự và 7 là tập các hạng thức trên A Cong
thức được định nghĩa đệ qui như sau:
() Nguyên tố là một cơng thức
Trang 13(iii) Nếu # và Ƒ là các cong thie thi: FEAF, WE, EVE, EOF, Eo Fila các
cơng thức
(v) Nếu Z là cơng thức, X là biến thì WX(), 1X(#) là các cơng thức và phạm vi của biến X là E Biến X xuất hiện trong # gọi là biến ràng buộc và các biến trong E nhưng khác tên với X gọi là biến tự do
(v) Cơng thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên Cơng thức/hạng thức khơng chứa biến được gọi là cơng thức/hạng thức nên
Định nghĩa 1.5 (Literal) 7z/era! là một nguyên tố hoặc phủ định của một nguyên tố Với p là một nguyên tố thì p được gọi là literal dương và ¬p là literal âm
Định nghĩa 1.6 (Quy tắc Datalog) Một quy tắc Dafalog là một cơng thức cĩ dạng: PETA An (n= 0)
d)
trong đĩ p, gi(i=0, ,n) la cdc nguyén t6 c6 déi là hằng hoặc biến
Khi n = 0 thì (1) trở thành p < và được gọi là quy tắc đơn vi, ky hiéu < cé thé bd qua Định nghĩa 1.7 (Chương trình Datalog) Một chương trình Datalog là một tập hữu hạn khác rỗng các quy tắc Datalog Ví dụ 1.1 Xem chương trình Datalog sau đây gồm các quy tắc để mơ tả mối quan hệ “tổ tién” (ancester): r.: ancesfer(X,Y) — parenf(X, Y)
r2: ancesfer(X,Y) <— parent(X,Z) A ancesfer(Z, Y)
Trong ví dụ này thi ancester, parent la các vị từ 2-ngơi, X, Y là các biến Quy tắc 11 cĩ nghĩa là: “Nếu X là cha/mẹ của Y thì X là tổ tiên của Y” Quy tắc rz cĩ nghĩa là:
“Nếu X là cha/mẹ của Z và Z là tổ tiên của Ƒ thì XY là tổ tiên của Y”
Trong chương trình Dafalog, các vị từ chỉ xuất hiện trong thân quy tắc được
gọi là các vị /ừ EDB, các vị từ xuất hiện ở đầu quy tắc được goi la cac wi tir IDB, cac
vi tr IDB ciing cé thể xuất hiện trong thân các quy tắc
Ngồi các vị từ EDB va vi từ 7DB, các quy tắc của chương trình Datalog cĩ thể
Trang 14<>, >, <} Nếu 0 là một vị từ xây dựng trong thi ta viét YOY thay cho cach viết 9(X}) Ví dụ 1.2 Xét chương trình Datalog ở ví dụ 1.1, ancester la vi tu IDB, parent \a vi tu EDB Dinh nghĩa 1.8 (Vũ trụ Herbrand và Cơ sở Herbrand) Cho P la chvong trinh Datalog
1 Vũ trụ Herbrand của P, ký hiệu U;j, là tập tất cả các hằng cua P
2 Co sé Herbrand cia P, ky hiéu By, la tập tất cả các nguyên tố nền của P
Méi phan tử thuộc B, dugc goi 1a mot su kién
Vi du 1.3 Xét chương trình Datalog P gồm các quy tắc sau: rụ: parenf(a,b) —
r›: parent(b,c) <—
73: ancesfer(Y, Y) < parent(X,Y)
14: ancester(X, Y) < parent(X,Z) A ancester(Z,Y) Vũ trụ Herbrand của ? là p = {a, b, c}
Cơ sở Herbrand của P là
Bp = {ancester(a,a), ancester(a,b), ancester(a,c), ancester(b,a), ancester(b,b),
ancester(b,c), ancester(c,a), ancester(c,b), ancester(c,c), parent(a,a), parent(a,b),
parent(a,c), paren(b,a), parení(b,b), _ parent(b,c),parent(c,a), paremtc,b),
parenf(c.€)}
Định nghĩa 1.9 (Thể hiện Herbrand) Cho P là một chương trình Datalog Một /»ể
hiện Herbrand I cua P |a tap con cua Bp
Vi du 1.4 Xét chương trình Datalog P ở ví dụ 1.3 Một số thể hiện Herbrand của P:
I, = {ancester(a,a), ancester(a,b), ancester(a,c)},
In = {ancester(a,a), ancester(a,b), parent(b,a), parent(b,b)}, I3 = {ancester(b,a), ancester(b,b), ancester(b,c), ancester(c,a),
ancester(c,b), ancester(c,c), parent(b,a), parent(b,b)}
Trang 15hang trong Up
Ký hiệu Ground(P) dé chi tập tất cả các hiện hành nền của các quy tắc xuất hiện trong P
Định nghĩa 1.11 Cho P là một chương trình Datalog P và 7 là một thể hiện Herbrand của P Ta nĩi rằng nguyên tố nên 4 là đứng trong 7 nếu 4 e 7 và 4 là sai trong 7 nếu 4 ¢ 1
Định nghĩa 1.12 (Mơ hình Herbrand) Giả sử P là chương trình Datalog Lúc đĩ:
() Một thể hiện Herbrand 7 được gọi là mơ hình Herbrand (hoặc là mơ hình)
của P nếu mọi quy tắc trong P là đúng theo thể hiện 7
(1) Mơ hình 7 của P được gọi là mơ hình nhỏ nhất nêu với mọi mơ hình J của P ta luơn cĩ ƒ c7 Vi du 1.5 Cho chương trình Datalog P: rd) <— s(1.2) <© PX) 4%) WX) — 1X) A XY) Co so Herbrand cua P la Bp = {?(1), z7) s(1.2) (2,1), s(1.1) s(2.2) PQ).p2), 4(1.2).q4Œ.L) ạ(1,1), a2.2)) Ta cĩ 7 = ƒz{1), s(1,2), 4(1.2) p(1)}là mơ hình nhỏ nhất của P 1.1.2 Ngữ nghĩa chương trình Datalog
Ngữ nghĩa chương trình Datalog thường được thực hiện theo quan điểm của lý thuyết mơ hình Các quy tắc trong chương trình được xem là cơng cụ đề xác định
mơ hình Để một thể hiện là mơ hình của một tập các quy tắc, nĩ phải làm cho các
quy tắc đúng với mọi phép gán trị cho các biến trong mỗi quy tắc được lấy từ miền giá trị đã cho
Ta cĩ định nghĩa sau :
Định nghĩa 1.13 (Ngữ nghĩa chương trình Datalog) Ngữ nghĩa của chương trình Daialog P là mơ hình nhỏ nhất của P, ký hiệu Ä⁄z
Trang 16định nghĩa như sau:
Định nghĩa 1.14 Cho ? là chương trình Datalog, Bp la co so Herbrand cua P Ky hiệu 2Plà tập các tập con của B; Tốn tử hệ quả trực tiếp đối với chương trình
Datalog P là một ánh xạ Tp:23? 23? được định nghĩa như sau:
Với mỗi ï e2,
Tp?) = { A eBp| 3 hiện hành nền 4 Bị AB› A A B„ của P sao cho B;
€ Li=1,2, , n}
Dinh ly 1.1 [2] Cho ? là chương trình Datalog Lúc đĩ:
() Tốn tử 7? là đơn điệu tăng và cĩ điểm bất động nhỏ nhất
(ii) Diém bất động nhỏ nhất của tốn tử 7 chính là mơ hình nhỏ nhất của P Mệnh đề sau đây được suy ra trực tiếp từ định lý trên:
Mệnh đề 1.1 [3] Cho P là chương trình Datalog Mơ hình nhỏ nhất của P là giới hạn của dãy Trtn,n EN, trong do Trt0 = @, Tet (+1) = Tr(Teti)
Từ mệnh dé này ta cĩ thuật tốn tìm mơ hình nhỏ nhất:
Thuật tốn 1.1 Tìm mơ hình nhỏ nhất của chương trình Datalog Vao: Chuong trinh Datalog P va DB la CSDL EDB da cho
Ra: Mơ hình nhỏ nhất của P
Trang 17Gia st CSDL EDB D của chương trình được cho là : D = {parent(a,b), parent(b,c), parent(c,d), parent(d,e)}
Các bước lặp dé tính mơ hình nhỏ nhất của P:
1s = T;Ầ0 = Ø
T= Tet l= Tro) = {parent(a,b), parent(b,c), parent(c,d), parent(d,e)} Tn= Tpl2 = Te) = hw {ancester(a,b), ancester(b,c), ancester(c,d), ancester(d,e)} 1= Tp3 = T; ?›) = l›\2 {ancester(a,c), ancesfer(b,a), ancesfer(c,e)} 1= Tp4 = Tp) = v2 {ancester(a,d), ancester(b,e)} 1s= TpẦ5 = T2) = Iau {ancester(a,e)} 1= TpẦ6 = Tp) = Như vậy điểm bất động nhỏ nhất của 7p chính là 7(7s), đĩ cũng chính là mơ hình nhỏ nhất của P
1.2 TONG QUAN VE LOGIC MO TA
Logic mé ta la mét ho cdc ngơn ngữ hình thức rất thích hợp cho việc biểu diễn và suy luận tri thức trong một miền quan tâm cụ thê
Trong logic mơ tả, miền quan tâm được mơ tả thơng qua các thuật ngữ về cá
thể, khái niệm, vai trị và các tạo tử Một cá thể đại diện cho một đối tượng, một khái niệm đại diện cho một tập các đối tượng cĩ chung tính chất và một vai trị đại
diện cho một quan hệ hai ngơi giữa các đối tượng hoặc giữa các đối tượng và các
giá trị dữ liệu Các khái niệm phức được xây dựng từ các khái niệm, tên vai trị và
tên cá thể bằng cách kết hợp với các tạo tử
Một hệ thống logic mơ tả cho phép mơ tả các khái niệm cĩ liên quan với nhau và các tri thức tiềm ấn Các tri thức tiềm ấn này cĩ thê được suy luận từ những tri
thức đã được biểu diễn thơng qua các dịch vụ suy luận hoặc các bộ suy luận
Logic mơ tả được xây đựng dựa vào ba thành phần cơ bản gồm tập các cá thê, tập các khái niệm nguyên tố (cĩ thể hiểu như các lớp, các vị tử một ngơi) và tập các vai trị nguyên tố Các logic mơ tả khác nhau được đặc trưng bởi tập cdc tao tir khdi
Trang 18phức, vai trị phức từ khái niệm nguyên tố và vai trị nguyên tố
Đề biểu diễn tri thức bằng logic mơ tả, cơng việc trước tiên ta phải làm là xây dựng các khái niệm bằng các quy tắc khái niệm từ các khái niệm nguyên tố, các vai trị nguyên tố Hệ thống khái niệm mà ta cĩ được gọi là hộp thuật ngữ (TBox) Đây là một trong hai thành phần chính của hệ cơ sở tri thức dựa vào logie mơ tả Cịn
một thành phần chính khác của hệ cơ sở tri thức trên là hộp khẳng định (ABox) ABox là tập hợp các khẳng định thể hiện mối quan hệ giữa khái niệm với cá thể
hoặc giữa hai cá thể với nhau Bên cạnh việc biểu diễn tri thức phần quan trọng
khác của hé logic m6 ta la cung cap các dịch vụ suy luận dựa trên tri thức đã được
biểu điễn Phần lớn các thủ tục suy luận bằng logic mơ tả là các thủ tục quyết định
với các câu trả lời “đúng” hoặc “sai” Đề xây dựng một hệ thống cơ sở tri thức dựa
trên logIc mơ tả người ta đã đúc rút thành ba bước quan trọng là:
Œ)_ Xác định các khái niệm nguyên tố, các vai trị nguyên tố và các cá thé ban đầu; đi) Sử dụng một ngơn ngữ logic mơ tả để xây dựng lên các khái niệm phức hợp; (iii) St dung cdc thủ tục suy luận để rút ra những tri thức đúng đắn về các khái
niệm và các cá thể nếu cĩ thẻ
Hiện nay logic mơ tả được xem là nền tảng quan trọng để xây dựng Ontology trong Web ngữ nghĩa với mục đích tăng khả năng liên kết giữa các tài nguyên và khả năng “hiểu” thơng tin trong máy tính
Các loại ngơn ngữ logic mơ tả được phân biệt bởi các tạo tử mà chúng cung cấp
Trong các ngơn ngữ logic mơ tả, ngồi thành phần cơ bản là các &Ưáï riệm nguyên tổ (chẳng hạn Nguoi, Bacsi, Bome, ) các vai frị nguyên fố (chang han
Cocon, Yeuthuong, ), các cá thể (chẳng hạn Dung, Minh, Thinh, ), logic m6 ta
su dung cac ky hiéu sau:
T: Gọi là khái niệm đỉnh, T để chỉ tất cả các đối trong,
L: Gọi là khái niệm đáy, _L khơng chỉ một đối tuong nao cả ¬ : Phủ định của khái niệm
Trang 19In : Bao ham khai niém : Hạn chế tổn tại A V : Hạn chế phố đụng © : Hợp các vai trị IV : Lớn hơn hoặc bằng <_: Nhỏ hơn hoặc bằng
Các ký hiệu thường dùng trong logic mơ tả:
Tính bắc cầu của vai trị, nếu vai trị R cé tính bắc cầu thì với R(a,ð) và R(b,e) ta sẽ
c6 R(a,c) Đối với một logie mơ tả cụ thể, ta ký hiệu một vai trị # cĩ tính bắc cầu là Trans(R)
N Han ché sé lượng khơng định tính, là hạn chế số lượng trên các vai trị nhưng
khơng chỉ ra tính chất của các đối tượng cần hạn chế .\ cho phép xây dựng các
khái niệm về hạn chế số lượng cĩ dạng >w, <nĐ Chẳng hạn, để biểu diễn “người
cĩ ít nhất 2 con” ta cĩ thể viết Ngưoi T1 2 Cocon) Sau vai trị Cocon khơng chỉ ra tính chất cần thỏa mãn
9_ Hạnchếsố lượng định tính, là hạn chế số lượng trên các vai trị và cĩ chỉ ra tính
chất của các đối tượng cần hạn chế Ĩ cho phép xây dựng các khái niệm về hạn chế
số lượng cĩ dạng >wR.C, < nR.C Chẳng hạn, để biểu diễn “người cĩ 2 con trở lên và
đều là con gái” ta cĩ thể viết Ngươi T1 ©2Coeon.Nu) Khái niệm nữ (ẤNu) đặt sau vai trị cĩ con (Cocon) dé chỉ tính chất mà nĩ cần định tính thơng qua vai trị
H Bao ham vai tro, tinh chat bao ham vai trị cho phép một vai trị được bao hàm
trong vai trị khác theo dang RE S
Z — Vai trị nghịch đảo Tính chất vai trị nghịch đảo cho phép sử đụng nghịch dao
của vai trị Với ® là vai trị, ký hiệu R~ là nghịch đảo của #8, nghĩa là R~ = {(0,a) |
(a,b) € R} Lic dé néu R(a,b) thỏa mãn thì R~(b, a) thỏa mãn Chẳng hạn, với vai trị Cocon để chỉ đối tượng này cĩ con là đối tượng kia, ta cĩ thể định nghĩa vai trị nghịch đảo Cocow- đê chỉ đối tượng này cĩ cha/mẹ là đối tượng kia Lúc đĩ nếu đối
Trang 20tượng ¿ cĩ con là đối tượng , nghĩa là Cocon(a,b) thỏa mãn thì Coeow(b,a) thỏa mãn và ngược lại
@ Định danh Tạo tử định danh cho phép xây dựng khái niệm dang {a} tir ca thể đơn lẻ z và khái niệm dạng {z;, , đ„} từ danh sách các cá thé ay, , a„ Khái niệm
{a} biéu diễn cho tập cĩ thể hiện chỉ là một cá thé a {a1, , an} biểu diễn cho khái
niệm gồm chính xác các thể hiện là những cá thé ay, , dn
#Z _ Tính chất hàm Tính chất hàm là một dạng đơn giản của hạn chế số lượng định tính (©), nĩ cho phép các thể hiện của khái niệm cĩ quan hệ tối đa với một cá thể khác thơng qua vai trị đã chỉ định, chang han “mot déi tượng chi cĩ thể kết hơn với
một đối tượng khác” cĩ thể biểu diễn bởi T & <1 Kethon
R Bao hàm vai trị phức, cho phép biểu diễn các tiên đề bao hàm cĩ dạng RoŠ E R hoặc RoS E S Chẳng hạn, với các vai trị Cocøn (cĩ con) và Cochau (cĩ cháu), giả sử đối trong a cĩ con là đối tượng ở, đối tượng ở cĩ con là đối tượng e thì a cĩ
cháu là đối tượng c, lúc đĩ ta cĩ CoconoCochau E Cochau
Hiện nay cĩ nhiều loại logie mơ tả được xây dựng đề đáp ứng các yêu cầu trong thực tế về biểu diễn tri thức và lập luận Dé thống nhất các tên gọi người ta
thường lấy logic mé ta ALC lam nén tang va str dung cac ky tu S, H, Z, O, N, Q, F, R để biểu diễn cho các tính chất được mở rộng Chẳng han ACLCT, nghia la logic
m6 ta ALC cong thém tinh chat nghịch dao vai tro, SHOTN Ia logic m6 ta ALC co
thêm các tính chất bắc cầu của vai trị, phân cấp vai trị, định danh, nghịch đảo vai trị và hạn chế số lượng khơng định tính
1.3 TIEU KET CHUONG 1
Chương I đã trình bày cú pháp và ngữ nghĩa của chương trình Datalog cùng với việc giới thiệu tổng quan về logic mơ tả Trong chương 2 sẽ trình bày việc kết hợp logic mơ tả 42€ và chương trình Datalog để tạo ra chương trình Datalog mơ
tả
Trang 21CHUONG 2
NGU NGHIA CUA CHUONG TRINH DATALOG MO TA
Trong chương này, chúng ta sẽ trình bay về cú pháp và ngữ nghĩa của chương trình Datalog mơ tả Lớp chương trình này là sự kết hợp của chương trình Datalog
va logic mơ tả 4€ Trước hết, ta sẽ trình bay tong quan vé logic mé ta ALC
2.1 LOGIC MO TA ALC
2.1.1 Cú phap cia logic mé ta ALC
Logic mé ta ALC [4] cho phép xay dung cac khái niệm phức từ các khái niệm nguyên tố và vai trị nguyên tố bằng cách sử dụng các tao tử r1 (phép giao các khái
niệm), LI (phép hợp các khái niệm) và ¬ (phép phủ định của khái niệm) Hơn nữa,
các khái niệm cịn được xây đựng thơng qua các lượng từ V (hạn chế phổ dụng) và
lượng từ 3 (hạn chế tổn tại) đối với các vai trị
Định nghĩa 2.1 Gọi Xe là tập các khái niệm nguyên tố và Đa là tập các tên vai trị nguyên tố Các khái niệm trong 4C€ được định nghĩa một cách đệ quy như sau:
e T là một khái niệm của 4/C€, gọi là khái niệm đỉnh;
e L là một khái niệm của 4£€, gọi là khái niệm đáy;
e Nếu 4 là khái niệm nguyên tố thì ⁄4 là một khái niệm của 4€; e Nếu C, D là các khái niệm của 4/€ và r là vai trị nguyên tố thì:
CTD,CLID,—C, 3R.C, Vr.C là các khái niệm của 4£C
Ví dụ 2.1 Giả sử ta cĩ các cá thể, khái niệm nguyên tố và vai trị nguyên tố như sau: Trung, Huong, Dung là các cá thê
Nguoi là khái niệm chỉ các đối trong là người
Bacsi là khái niệm chỉ các đối tượng là bác sĩ
Giangvien là khái niệm chỉ các đối tượng là giảng viên
Trang 22Kysu là khái niệm chỉ các đối tượng là kỹ sư GTNam là khái niệm chỉ các đối tượng cĩ giới tính nam GTNu là khái niệm chỉ các đối tượng cĩ giới tính nữ Cocon là vai trị chỉ đối tượng này cĩ con là đối tượng kia Kethon là vai trị chỉ đối tượng này kết hơn với đối tượng kia
Với những khái niệm nguyên tố, vai trị nguyên tố đã cho, dùng các tạo tử: T1,
LI, 3, V ta cĩ thể xây dựng các khái niệm phức sau:
Ngùi TI GTNam là khái niệm phức chỉ các đối tượng là nam Nguoi TI (1Kethon.Nguơi) là khái niệm phức chỉ người đã kết hơn
Nguoi (VCocon.GTNam) là khái niệm phức chỉ người cĩ con đều là con trai
Nguoi N GTNam nN (AKethon.Bacsi) N (WCocon.(Bacsi U Kysu)) la khai niém
phức để chỉ một người nam mà kết hơn với một bác sĩ và tất cả con của họ là bác sĩ
hoặc kỹ sư
Nguoi 1Cocon.T là khái niệm phức chỉ các đối tượng là người cĩ con
Nguoi I VCocon.L là khái niệm phức chỉ các đối tượng là người khơng cĩ con
Giangvien T1 WVDay.Khoahocnangcao là khái niệm phức chỉ Giảng viên chỉ dạy các khĩa học nâng cao
Nguoi 1 Day.Khoahoc N ¬Kysu là khái niệm để chỉ những người dạy các khĩa học và khơng phải là Kỹ sư
2.1.2 Ngữ nghĩa của logic mơ tả ,ACC
Ngữ nghĩa của các khái niệm trong các logic mơ tả 4C được thể hiện thơng qua phép thể hiện và được định nghĩa như sau:
Định nghĩa 2.2 (Thể hiện cia logic mé ta) [4] Mot thé hién cua logic mé ta ALC, ky
hiệu 7, la mot cap (A’, -7), trong dé A’ 1a mot tap khac rong, goi la mién cia Z va 71a một ánh xạ, gọi là hàm thể hiện của 7; cho phép ánh xạ:
Trang 23e Moéica thé athanh mot phan tr ae A’
e Méi khai niém A thành một tập A? G A7:
e Méi vai tro r thành một quan hé hai ng6i 77 c AXA’ Thể hiện của các khái niệm phức được xác định như sau: Tr = A7 41"=Ø (Œƒ= A7T\Œ (CnDY=C AD? (CL Đƒ=CfÙ
(VR.CY ={aeAT | Wb eA’, (a, b) ER’ >beC?
(AR.C/ = {a eAf | 3b EA’, (a, b) ER’ADECY
Ta nĩi rằng C7 là thê hiện của khái niệm C trong thể hiện 7 va 7” 1a thé hién
của vai trị r trong thể hiện 7 Nếu một đối tượng xeC', lúc đĩ ta nĩi x là một thể hiện của C trong thể hiện 7“
Ví dụ 2.2 Cho tập các cá thể, các khái niệm và vai trị như trong vi du 2.1 Xét thể hiện 7 như sau:
Af= {Trung, Huong, Dung} NguofỨ= {Trung, Huong, Dung}
Nam’ = {Trung} G AT
Cocon’ = {(Trung, Dung), (Huong, Dung)} G ATxAT Kethon’ = {(Trung, Huong), (Huong, Trung)} & A7 xAT
Lúc đĩ ta cĩ:
Trang 24(Nguoi 1 Nam)? = {Trung}
(Nam)? = {Huong, Dung}
(Nguoi Nn ¬Nam)”= {Huong, Dung}
(Nguoi 1 ACocon.Namy' = @
(Nguoi N AKethon.Nguoi)’ = {Trung, Huong> 2.1.3 Cơ sở trỉ thức ca logic mé ta ALC
Một cơ sở tri thire cia logic m6 ta ALC bao gém hai thanh phan: TBox va
ABox, ta cĩ các định nghĩa như sau:
Định nghĩa 2.3 (Bao hàm) [4] Khái niệm C goi la duoc bao ham trong khái niệm D, ký hiệu ŒE D nếu Cf G Д với mọi thê hiện 7, và C tương đương D, ký hiệu €
=D,nếu CED và DEC
Định nghĩa 2.4 (TBox - Hộp thuật ngữ) [4]
(i) Mét tién đề thuật ngit trong logic mé ta ALC là một biểu thức cĩ dang CE D,
trong đĩ C va D 1a cac khai niém cha ALC
(1) Một định nghĩa khái niệm là một khẳng định co dang A = C, trong do A la tén của một khái niệm nguyên tố và C là một khái niệm
(11) Một hộp thuật ngữ TBox trong ,4£C là một tập hữu hạn các tiên dé thuật ngữ
hoặc các định nghĩa khái niệm trong 4£€
Định nghĩa khái niệm dùng một tên tượng trưng để mơ tả một khái niệm phức
tap
Ví dụ 2.3 Xem TBox gồm các khái niệm về mối quan hệ trong gia đình: Phunu = Nguoi 1 GTNu
Danong = Nguoi N = Phunu Me = Phunu N 3Cocon.Nguoi
Trang 25Cha = Danong T1 3Cocon.Nguoi Chame = Cha LI Me
Ba = Me II 3Cocon.Chame
Mekhongcocongai = Me [1 WCocon.—Phunn
Trong hộp khẳng định cá thê ABox sau đây, chúng ta mơ tả một phát biểu cụ thê về vấn để nào đĩ của miền ứng dụng dưới dạng các biểu thức của các khái niệm và vai trị Một vài khái niệm và vai trị nguyên tố trong ABox cĩ thể là các tên đã định nghĩa trong TBox Chúng ta giới thiệu các cá thể bằng cách đưa ra tên của chúng và khẳng định thuộc tính của các cá thể này Tên cá thể được ký hiệu bằng
các ký tu nhu a, b, c Su dung cac khái niệm C và vai trị Ư#, cĩ thể tạo ra các khẳng định ở hai dạng sau trong ABox: C(ø2), R(a,b) Ta cĩ định nghĩa sau:
Định nghĩa 2.5 (ABox - Hộp khẳng định) [4] Một khẳng định cá thê là một biểu
thức cĩ dạng C(2) (cịn được viết a:C) hoặc một khẳng định vai trị co dang R(a,b) (cịn được viết (a,b):R), trong đĩ C là khái niệm, RF 1a vai tro, a, Ð là các cá thể Một hộp khẳng định ABox là một tập hữu hạn các khẳng định cá thể Ví dụ 2.4 Giả sử ta cĩ tên cá thé: Hoa, Long, Tan, Lap, Hue ABox thé hiện mối quan hệ gia đình: Hoa:Me Long:Cha (Hoa, Lap):Cocon, (Long, Lap):Cocon, (Lap, Tan):Cocon Trong đĩ các khẳng định cá thể cĩ ý nghĩa:
Hoa:Me Hoa là một người mẹ
Long:Cha Long là một người cha (Hoa, Lap):Cocon — Hoa cĩ con là Lạp (Long, Lap):Cocon Long cĩ con la Lap (Lap, Tan):Cocon Lap co con la Tan (Lap, Hue): Vo Lap co vo là Hue (Hue,Tan):Cocon Hue co con 1a Tan
Định nghĩa 2.6 [4] Một thể hiện 7 là mơ hình của ménh dé bao ham CE D néu
C†G D1 Thể hiện 7 là mơ hình của TBox 7 nếu nĩ là thỏa tất cả các khẳng định
Trang 26bao ham trong J Ménh dé bao ham y gọi là được suy diễn logic tir TBox T, ky hiéu Z7 Ey, nếu y thỏa mãn mọi mơ hình của 7:
Định nghĩa 2.7 [4| Một thể hiện 7 thỏa mãn khẳng dinh a:C néu đa” eC”, và thỏa
man (a, ):R nếu (4', bÐ eR” Thể hiện 7 được gọi là mơ hình của ABox A néu
7 thỏa tất cả các khẳng định trong A
Định nghĩa 2.8 (Mơ hình) [4] Cho cơ sở tri thức 5= (TJ, A) Lic do: (i) Mot thể hiện 7 là mơ hình của Ð nếu 7 là mơ hình của cả 7 và 4; (1) Š là thỏa mãn được nêu Ð cĩ mơ hình
Cơ sở trí thức Ð là nhất quán nếu tồn tại một thể hiện 7 là mơ hình của 3
Ngược lại Ð gọi là khơng nhất quán
Ví dụ 2.5 Cho cơ sở tri thức © gm TBox T va ABox A sau: 7= {GTNam E ¬GTNu}
A = { GTNu(Ha), GTNu(Hoa), GTNu(Lan), GTNam(Vinh), GTNam(Manh), GTNam(Phuoc), Chame(Vinh, Ha), Chame(Vinh, Hoa), Chame(Manh, Phuoc), Chame(Ha, Lan)}
Xét thể hiện 7 như sau:
At = {Ha, Hoa, Lan, Vinh, Manh, Phuoc}
GTNant’ = {Vinh, Manh, Phuoc © At GTNu! = {Ha, Hoa, Lan} G A7
Chame? = {(Vinh, Ha), (Vinh, Hoa), (Manh, Phuoc), (Ha, Lan)} © ATxAt la
một thể hiện và cũng là mơ hình của cơ sở tri thức > vì thể hiện 7 đều thỏa mãn
TBox 7 và ABox A
Trang 272.2 CHUONG TRINH DATALOG MO TA 2.2.1 Cú pháp
Một cách khơng hình thức, một chương trình Datalog mơ tả bao gồm một cơ sở tri thức logic mé ta L và một chương trình Datalog thơng thường P được mở rộng P sẽ bao gồm một tập hữu hạn các quy tắc Datalòg mở rộng, trong thân các quy tắc này cĩ thể chứa các câu truy vấn đến cơ sở tri thức 7 Một truy vấn như vậy hỏi liệu các tiên dé logic mơ tả cụ thê cĩ thê suy ra bởi 7 hay khơng
Trước hết chúng ta định nghĩa các khái niệm #y vấn logic mé ta và nguyên tổ logic mé ta, chiang duoc ding trong than cdc quy tắc để biểu diễn các truy vấn đến cơ sở tri thức logic mơ tả
Định nghĩa 2.9 (Truy vấn logic mơ tả, Nguyên tố logic mơ tả) [5] 1 Một ruy vấn logie mơ ta, ky hiéu Q(t) la:
(a) Mot tiên đề bao hàm khái niệm C E D, hoặc
(b) cĩ dạng C(, trong đĩ C là một khái niệm và / là một hạng thức, hoặc (c) co dang R(h, 72), trong đĩ ® là một vai trị và ứ, 72 là hạng thức
2 Một nguyên tổ logic mơ tả là biểu thức cĩ đạng :
DL[SiW pi, Sm pm, QO] ứn >0) ()
trong đĩ mỗi S; là một khái niệm hoặc vai trị trong cơ sở tri thức Ù„ ø; là vị từ một
ngơi nếu Š; là khái niệm và ø; là vị từ hai ngơi nếu S; 1a vai trị; Ĩ(£) là một truy vấn logic m6 ta Ta goi p; la vi tr input, \J la phép tốn hai ngơi với ý nghĩa là gia tăng S; bang cdc mé réng ctia py
Ví dụ 2.6 Giả sử trong một cơ sở tri thức logic mơ tả, ta cĩ vai tro keyword dé chi
các từ khĩa của một bài báo nghiên cứu khoa học và vai tro inArea để chỉ lĩnh vực
nghiên cứu của bài báo và &w là vị từ 2-ngơi trong một chương trình Datalog dé chỉ quan hé “Ja tir khĩa” Lúc đĩ nguyên tố logic mơ ta
DL[keyword \J kw; inArea|(P, A)
sẽ truy vấn đến vai tro inArea sau khi da gia tăng thêm các từ khĩa cho #eyword bằng các sự kiện của vị từ #w trong chương trình Datalog đã cho
Tiếp theo ta định nghĩa quy tắc logie mơ tả và chương trình Datalog mơ tả Định nghĩa 2.10 (Quy tắc logic mơ tả, Chương trình Datalog mơ tả) [5]
Trang 28Một quy tắc logie mơ tả r là cơng thức cĩ dạng:
a <&— bị, by, not bys, ., not bn (m>k>0)
trong đĩ z là một nguyên tố, mỗi ở; cĩ thể là nguyên tố hoặc nguyên tổ logic mơ ta Dat H(r) = {a}, B(r) = B () U Bn), trong đĩ B†(Œ) = {ư\, , Đx}, BŒ) = {ben, , b„} Néu B(r) = @ va H(r) # © thi r được gọi là một sự kiện Quy ắc Dafalog mơ tả là quy tắc Datalog nếu nĩ khơng chứa nguyên tố logic mơ tả
Một chương trình Dafalog mơ tả bao gồm một cơ sở tri thức logic mé ta L va mét tập hữu hạn P các quy tắc logic mơ tả, ky hiéu KB = (L, P)
Trong chương trình Datalog mơ tả KB = (1, P), P chứa các truy vấn logic mơ tả trong thân quy tắc của nĩ và truy cập đến cơ sở tri thức logic mơ tả 7 Vì vậy nhờ các truy vấn đĩ cĩ thể xác định thơng tin vào từ P vào L và những luồng thơng tin
từ „ đến P
Ta dùng ví dụ sau minh họa cho các khái niệm ở trên
Ví dụ 2.7 Giả sử ta muốn gán các người phản biện cho các bài báo dựa trên thơng tin về các bài báo và những người cĩ thể tham gia phản biện, bằng cách dùng một cơ sở tri thức logic mơ tả ⁄z như sau:
Lr phan loai các bai báo vào các lĩnh vực nghiên cứu Một lĩnh vực nghiên cứu thuộc vào khái niệm Area Mét bài báo được phân loại phụ thuộc thơng tin từ khĩa
Vai trị keyword liên kết mỗi bài báo với các từ khĩa và vai trị #4rea liên kết mỗi
bài báo với các lĩnh vực mà bài báo thuộc vào Một bài báo ở trong một lĩnh vực
nếu nĩ liên kết với một từ khĩa của lĩnh vực đĩ Ngồi ra, vai trị exper gắn liền những người với các lĩnh vực mà họ là chuyên gia Để đơn giản, một người là chuyên gia trong một lĩnh vực nếu người đĩ cĩ viết một bài báo trong lĩnh vực đĩ Khái niệm Re/eree bao gồm tất cả những người cĩ thể tham gia phản biện Vai trị confain liên kết mỗi lĩnh vực với một nhĩm các từ khĩa Cuối cùng, vai trị /opicOƒ
liên kết các cụm các từ khĩa cĩ liên quan với nhau (chang hạn, cĩ thể đặt vào cụm
C1 cdc từ khéa “Semantic Web”, “Ontologies” Sau đây là các tiên đề của Lr: Paper © Pupblication, Referee © Person,
Paper(pub1), Referee(per1), Referee(per2); topicOf (C1, Semantic_Web), Author(pub1, per2);
Trang 29Area(A), Area(B);, Area(C), Area(D), Area(E); Contain(A, Agents), keyword(pub1, Agents);
dinArea.{c} = Akeyword.Acontain — {c}), với mọi c e {A, B, C, D, F}; dexperf.{c} =3Author — (3inArea.{c}), với mọi c € {A, B, C, D, F} Chương trình Datalog mơ tả ?z gồm các quy tắc sau đây:
(1) paper(p1), kw(p1, Semantic_Web)
(2) paper(p2), kw(p2, Bioinformatics), kw(p2, Answer Set Programming) (3) kw(P, K2) <— kw(P, K1), DL[topicOf\(S, K1) DL[topicOf\(S, K2) (4) paperArea(P, A) — DL[keyword \J kw; inArea](P, A)
(5) cand(X, P) < paperArea(P, A), DL[Referee|(X), DL[expert]|(X, A)
(6) assign(X, P) < cand(X, P), not sassign(X, P) (7) = assign(Y, P) < cand(Y, P), assign(X, P), X != Y
Giải thích ý nghĩa các quy tắc:
Các sự kiện từ (1) đến (2) chỉ ra pl, ø2 là hai bài báo cùng với các từ khĩa của chúng
Quy tắc (3) cho phép lấy thơng tin về từ khĩa từ cơ sơ tri thức logic mơ tả La Cụ thé, vị từ 2-ngơi #w được gia tăng thơng qua nguyên tố logic mơ tả bởi những từ khố trong 7a cĩ cùng lĩnh vực Về trực giác, nguyên tổ nền DL[/opieO/l(S K) đúng với tat cả các cap (S, K) sao cho Lr topicOftS, K)
Quy tắc (4) truy vấn cơ sở tri thức logie mơ tả La đã được gia tăng để nhận được các lĩnh vực mà mỗi bài báo được phân vào Cụ thể, trước hết gia tăng vai trị keyword trong Lp bằng các sự kiện của vị tử 2-ngơi #w trong chương trình Pa Sau đĩ truy vấn vai trị 4rea trên phiên bản sửa đổi Lig của Le (nghia la ta nhận tử hg cac linh
vực mà bài báo được phân vào) Ở đây, thơng tin mới đến từ # cĩ thể kích hoạt
thơng tin mới cĩ trong La
Quy tắc (5) sẽ dựa vào thơng tin này và từ chuyên gia trong lĩnh vực của bài báo để
xác định các ứng viên phản biện (thê hiện boi vi ttr cand) cho bài báo Cụ thể hơn, X là một ứng viên để phản biện bài báo P, nếu bài báo P thuộc lĩnh vực 44 và X được
Trang 30biết đến trong như một người cĩ thể phản biện và là một chuyên gia trong lĩnh
vực 4
Quy tắc (6), (7) để chọn ra một người phản biện cho một bài báo trong số các ứng viên
Chú ý rằng, các quy tắc từ (3) đến (5) truyền thơng tin từ La đến Pa Trong quy tắc (4) thơng tin cũng được truyền từ Pa đến La Vì vậy thơng tin được truyền theo cả hai hướng giữa cơ sở tri thức logic mơ tả Ƒx và tri thức được biểu diễn bởi chương trình Datalog mơ tả ở trên
2.2.2 Ngữ nghĩa
Trước hết ta định nghĩa thê hiện Herbrand và giá trị chân lý của chương trình Datalog mơ tả trong các thể hiện Herbrand Giả sử KP = (L, P) là chương trình Datalog mơ tả
Cơ sở Herbrand của P, ký hiệu là HBp, 1a tap tất cả các literal nền xây dựng từ các ký hiệu vị từ và các ký hiệu hằng trong P Một thể hiện Herbrand 7 của P (hoặc đơn giản là thể hiện) là một tập con của HBp
Định nghĩa 2.11 Cho Kð = (L, P) là một chương trình Datalog mơ tả và 7 là thé
hiện cua P Luc đĩ:
e7 là mé hinh cua literal nén 1 © HBp (hay I thoa man J) L, ky hiéu 1a TEu T khi và chỉ khi ? e 7
e 7là mơ hình của một nguyên tổ logic mơ tả nên
a~ DL[Sì Wp ở Sm W pani O|(c),
ky hiéu J Fra, khi va chi khi LU UJ 4,7) -O(c)
i=l
trong đĩ: 41/0) = {S(©) | p(e) e1}
e 7 là mơ hình của quy tắc Dafalog mơ tả nên r ký hiệu là 7 Eu r nếu và chỉ nêu 7 Fy, J với mọi / thuộc P{) và 7Ï Eu Ï với mọi 7 € Br) kéo theo I=, Hr)
e J 1a mé hinh của chương trinh Datalog mé ta KB = (L, P) (hoac I thoa man
Trang 31KP), ký hiệu 7 EKB nếu và chỉ nếu 7 Eu z với mọi re ground(P) Ta nĩi KB là
thỏa mãn được nêu KB cĩ mơ hình và KB khơng thỏa mãn được néu KB
khơng cĩ mơ hình
22.21 Ngữ nghĩa chương trình Datalog mơ tả dương
Trước hết phần này sẽ trình bày cú pháp của chương trình Dafalog mơ tả dương, trong đĩ khơng cĩ chứa phép phủ định not trong thân các quy tắc Tương tự chương trình Dafalog, mỗi chương trình Datalog mơ tả dương cũng cĩ duy nhất một mơ hình Herbrand và được xem là ngữ nghĩa của nĩ
Định nghĩa 2.12 (Chương trình Datalog mơ tả dương) [5] Một chương trình Datalog mơ tả KB = (L, P) được gọi là chương trình Dafalog mơ tả đương nếu khơng cĩ quy tắc nào trong P cĩ chứa phép phủ định not
Ví dụ 2.8 Xem chương trình Datalog mơ tả dương KB = (L, P) là với Ù là cơ sở tri thức logic mơ tả chỉ gồm một tiên đề 9 E C, trong đĩ Š và € là các khái niệm và P là chương trình Datalog bao gồm các quy tắc:
m:b<— DL[ŠS tJ p: C](a)
72: p(4) —
Đối với chương trình Datalog dương P, phép giao hai mơ hình của P là một mơ hình Ta cĩ định lý sau:
Dinh ly 2.1 [5] Cho KB = (L, P) là chương trình Datalog mơ tả dương Nếu thể hiện
1, 5C HPb là các mơ hình của Kð thì 7¡ đ 72 cũng là mơ hình của KB
Hệ qua 2.1 [5] Cho KB = (L, P) là một chương trình Datalog mơ tả đương Nếu KB
thỏa mãn thì tổn tại một mơ hình duy nhất 7 c Bp của KP sao cho 7 G J với mọi mơ hình J c Bp của KP, tức 7 là mơ hình nhỏ nhất duy nhất của KB
Mơ hình đặc biệt này chính là ngữ nghĩa của KP.Ta ký hiệu mơ hình nhỏ nhất duy nhat cha KB 1a Mrs
Tương tự chương trình Datalog, mơ hình nhỏ nhất của K cũng cĩ thé tinh nhờ vào tốn tử hệ quả trực tiếp 7x của chương trình Datalog mơ tả dương, được
định nghĩa như sau:
Định nghĩa 2.13 [5] Cho KB = (Z, P) la một chương trình Datalog mơ tả Tốn tử
Trang 32hệ qua trực tiếp Tx; là một ánh xạ Tkg: 2”? —› 2”?* xác định như sau:
H(r)|r € ground(P),I E,IVIe P(r)} nếu I nhất quán
Bp nếu J khéng nhat quan
Tp) = {
Mệnh đề 2.1 [5] Nếu KB = (1P) là một chương trình Datalog mơ tả đương thì tốn tử 7k; đơn điệu
Định lý sau chỉ ra rằng mơ hình nhỏ nhất của KP là điểm bất động nhỏ nhất của tốn tử hệ quả trực tiếp 7xz và cĩ thể được tính bằng một quá trình lặp để xác định điểm bất động
Dinh lý 2.2 [5] Cho KB = (L, P) la mot chương trình Datalog mơ tả dương Ký hiệu điểm bất động nhỏ nhất cia Txz 1a lfp(Tk) Lúc đĩ:
1 lfp(Txs) là mơ hình nhỏ nhất Ä⁄«; của KB nếu KB thỏa mãn; 2 lfp(Tks) = HBp nêu KB khơng thỏa mãn;
3 lfp(Txs) = Tzp(Ø)= UTi,@) Trong đĩ 7„(Ø)=Ø: va
i=0
Tip(O) =Txp (Tgp (Ø)) với i > 0
Ví dụ 2.9 Xét trở lại chương trinh Datalog m6 ta KB = (L, P) trong Vi du 2.8, KB la chương trình Datalog mơ tả dương với 7 là tiên đề 9 E C và P bao gồm các quy tac:
nib <©DI|Stlp: C](a) 72: p(4) — Ta cĩ các bước lặp đề tính mơ hình nhỏ nhất Ä⁄; của Kð: Tp) =; Trp() = Teal) = {pa}: Tế;(Ø) = Tia(Txy(Ø)) = {p(4), b): Tế;(Ø) = Txs(Tếy(Ø)) = {p(a), By Vay Mxz = {p(a), 5}
2.2.2.4 Ngit nghia chuong trinh Datalog mơ tả
Trong phần này, chúng ta sẽ trình bày về ngữ nghĩa tập trả lời của chương trình Datalog mơ tả Ngữ nghĩa này được thực hiện dựa vào một phép biến đổi để loại bỏ
Trang 33tất cả các literal âm và nguyên tố logic mơ tả của chương trình Datalog mơ tả
Định nghĩa 2.14 [5] Cho KB = (7, P) là một chương trình Datalog mơ tả và thé hiện ICHP; Phép biến đổi của P theo 7 và thể hiện 7, biến đổi chương trình P thành
một chương trình ký hiệu là P bằng cách loại bỏ khỏi ground(P) :
(i) Tat cả quy tắc logic mé ta r sao cho hoặc 7 lu ø đối với a € BY(r) hoặc Ƒ Eu 1 déi voi Je B-(r); va
(ii) Tất cả các nguyên tố logic mơ tả trong BY(r) va tat ca cac literal trong B-(r) từ những quy tắc cịn lại
Dé ý rằng P là chương trình Datalog đương nền (vì nĩ khơng chứa nguyên tố logic mơ tả và cũng khơng chứa literal âm) nên P luơn cĩ mơ hình nhỏ nhất Ta cĩ định nghĩa sau:
Định nghĩa 2.15 (Tập trả lời) Cho Kð = (L, P) là một chương trình Datalog mơ tả
Tập trả lời của KB là một thể hiện 7 œ //Bp sao cho 7 là mơ hình nhỏ nhất của
chương trình Datalog dương Be Ký hiệu ans(KP) là tập tất cả các tập trả lời của KB
Kết quả sau chỉ ra rằng ngữ nghĩa tập trả lời của chương trinh Datalog mé ta KB khơng chứa nguyên tố logic mơ tả thì sẽ trùng với ngữ nghĩa mơ hình nhỏ nhất của P
Định ly 2.3 [5] Cho KB = (LZ, P) là chương trình Datalog mơ tả khơng chứa nguyên tố logic mơ tả Lúc đĩ phép thé hiện 7 C 77Bp là mot tap tra loi của K khi và chỉ khi nĩ là mơ hình nhỏ nhất của chương trình Datalog P
Định lý sau chỉ ra rằng mọi tập trả lời của chương trình Datalog mơ tả KB cũng là mơ hình cua KB
Dinh lý 2.4 [5] Cho KB = (Z, P) la chương trình Datalog mơ tả Lúc đĩ, mọi tập trả
lời của KP đều là mơ hình của K5
Vi du 2.10 Xét chương trình Datalog mơ tả KB = (L, P) với L = {S E C} và P gồm các quy tắc sau:
pa) — DLS ¢:C](@)
Trang 34qa) <— pa)
ra) — —4(4); ~s(a)
Taco li = {r(a)} va In = {p(a), q(a)} la cac tap tra loi cha KB
2.3 TIEU KET CHUONG 2
Trong Chương 2 đã trình bay vé cu phap, ngit nghia ctia logic mé ta ALC va chương trình Datalog mơ tả Các ví dụ minh họa cho các khái niệm cũng như ngữ nghĩa của logic mơ tả 4/€ và chương trình Datalog mơ tả được trình bày chỉ tiết Trong chương 3 sẽ tìm hiểu phương pháp trả lời câu câu truy vấn đối với chương trình Datalog mơ tả
Trang 35CHUONG 3
PHƯƠNG PHÁP TRẢ LỜI CÂU TRUY VĂN
VÀ ỨNG DỤNG CỦA CHƯƠNG TRÌNH DATALOG MƠ TẢ
Chương 3 sẽ trình bày phương pháp để trả lời câu truy vấn đối với chương
trình Datalog mơ tả và tiến hành cài đặt, thực thi một số bài tốn minh họa bằng hệ
thống lập trình logic DLV kết hợp với hệ thống lập luận OWL RACER
3.1 PHUONG PHAP TRA LOI CAU TRUY VAN
Phần này trình bày một phương pháp để trả lời câu truy vấn đối với chương trình Datalog mơ tả [2] Định nghĩa 3.1 (Đích) 1 Một đích (hoặc #ruy vấn) G đơi với chương trình Datalog mơ tả KB = (L, P) là cơng thức cĩ dạng: false <— qI ,đm (1)
trong đĩ ø > 0, méi qi la một nguyên tố hoặc một ràng buộc khẳng định cá thể của logic mé ta (1) cĩ thể viết đơn giản:
“ái đm
2 Một câu trả lời đối với KB v2 G là một phép thế Ø đối với các biến của G Ta nĩi 6 là câu trả lời đúng đối với KB nếu G6 là hệ quả logic của KB
Định nghĩa 3.2 (Hợp giải) [2| Cho G là đích cĩ dạng: < qi đi đm
và Œ là quy tắc Datalog mở rộng cĩ dạng:
pe by, bn
Lúc đĩ việc hợp giải đích Œ với mệnh để C sẽ nhận được đích Œ' được dẫn xuất từ
G va C bằng cách dùng phép thế Ø nếu các điều kiện sau đây thỏa mãn: Œ) 4i e {ạ đ„} là một nguyên tố, gọi là nguyên tổ chọn trong đích G, (ii) Ø là phép thế tổng quát nhất sao cho øØ = qi,
(it) G’ 1a dich — (qi, git, Bi, ,bn, địn, đu)
Trang 36Định nghĩa 3.3 (Dẫn xuất) [2] Cho (L, P) là chương trinh Datalog mé ta ALC va Go
1a mét dich Mét dan xudt déi v6i (L,P) U G bao gồm:
1 Một dãy các đích (cĩ thể hữu hạn hoặc vơ hạn): Ớn, ,Œn, 2 Một dãy các mệnh đề Datalog mở rộng của P: Cạ, ,C„,
3 Một dãy các phép thế 6i, ,Ø„, sao cho với mỗi Gi:i là hợp giải của Gi va C; bang cach ding O41
Một dẫn xuất cĩ thể kết thúc với đích cuối cùng cĩ dạng ci, ,c¿ trong đĩ đi
là ràng buộc khăng định cá thể của logie mơ tả, được gọi là mệnh đề rơng cĩ ràng
buộc hoặc đơn giản là mệnh đề rong Hình vẽ mơ tả dẫn xuất, xuất phat tr dich Go:
Go Co, 1
Gra Crt, On
'
Hình 3.1 Minh hoạt dẫn xuất
Định nghĩa 3.4 (Dẫn xuất thành cơng, dẫn xuất thất bại)
(i) Mét dan xuất thành cơng khi đích kết thúc bởi mệnh đề rỗng
(it) Mot dan xuất thất bại khi đích kết thúc khơng phải là mệnh đề rỗng, nguyên tố chọn trong đích này khơng thể hợp nhất với đầu của mọi mệnh đề trong chương trình
Định nghĩa 3.5 (Phép thế tinh câu trả lời) [2] Cho (Z, P) là chương trình Datalog mơ tả 4£Œ và G là một đích Một phép thé dé tính câu trả lời của dẫn xuất thành cơng đối với (7, P) t2 G là một phép thế Ø nhận được bằng cách thu hẹp phép hợp 646; 9, chỉ trên các biến của Ớ, trong đĩ Ø\,@, Ø„ là dấy các phép thế được dùng trong dẫn xuất thành cơng đối voi (L, P) UG
Trang 37Vi du 3.1 Xét chương trình Datalog mơ ta KB = (L, P), trong do:
Cơ sở tri thức 4€ L bao gồm các khái niệm: GV = Giảng viên, GVQL = Giảng viên làm cơng tác quản lý, CBGD = Cán bộ giảng dạy, DAY = Giảng dạy, SV = Sinh viên, CHUDE = Chủ để, HP = Học phần, HPNC = Học phần nâng cao, HPCB = Học phần cơ bản
Gia st:
1) Giảng viên là cán bộ giảng dạy
2) Giảng viên làm cơng tác quản lý là Giảng viên và khơng dạy bất kỳ học phan nao
3) Tập các học phần được phân thành các học phần cơ bản và các học phần nâng cao
4) Hung là Giảng viên và Hung dạy học phần ##, Mai là Giảng viên và đạy các học phần nâng cao, Hoa là sinh viên, #ø là học phần nâng cao, cs# và /Jg là các chủ đề Lúc đĩ cơ sở tri thức 4£C L được mơ tả như sau: GV © CBGD GVOL = GV ¬VDAY.HP HPNC U HPCB = HP HPNC NAPCBE + Hung:GV, Hung DAY ttnt, Mai:GV nNVDAY.HPNC, Hoa: SV, ttnt: HPNC,
estt: CHUDE, Itig: CHUDE
Trang 38huongdan(X,Y)<— X:SV, Y:GVQL
thidau(Hoa,ttnt), monhoc(ttnt,cstt), monhoc (tint, Itlg),
chuyengia (Hung, cstt), chuyengia(Mai, Itlg) Các nguyên tố trong P cĩ ý nghĩa như sau:
huongdan(Y,Y): Sinh viên X cĩ thể được Giảng viên Y hướng dẫn,
dahoc(X,Y): Sinh viên X đã học chủ dé Y trong chương trình học,
chuyengia(Y,Y): Giảng viên X là một chuyên gia về chủ đề Y,
thidau(X,Y): Sinh viên X đã thị đậu kỳ thị của học phần Y,
monhoc(Y,Y): Chủ đề Y được nghiên cứu trong học phần X
Xét dich Go: <— huongdan(Hoa,Hung) với ý nghĩa là “Hoa khơng được giảng viên Hung hướng dẫn”
Với đích Go, tìm được mệnh đề trong P cĩ ký hiệu vị từ đầu là huongdan:
huongdan(X,Y) <— dahoc(X,Z), chuyengia(Y,Z), X: SV, Z: CHUDE,Y: CBGD n ADAY.HPNC
Hợp nhất huongdan(Hoa,Hung) va huongdan(X,Y) nhận được phép thế 6; = {X/Hoa, Y/Hung } Bước dẫn xuất đầu tiên sinh ra đích Gi:
Gi:< dahoc(Hoa,Z), chuyengia(Hung,Z), Hoa: SV, Z CHUDE, Hung: CBGD ni
ADAY.HPNC
Với đích Gi, nguyên tố chọn đahoc(Hoa,Z2), lúc này ta tìm được mệnh đề trong P la:
dahoc(X,Z) € thidau(X,Y), monhoc(Y,Z), X: SV, Y: HP, Z:
CHUDE Trong buéc hop giai thir hai, nhan duoc Ø; = {X/Hoa} Bước dẫn xuất thứ hai sinh ra đích G2:
G2: < thidau(Hoa,Y), monhoc(¥,Z), chuyengia(Hung,Z), Hoa: SV, Y: HP, Z:
CHUDE, Hung:CBGD n ADAY.HPNC
V6i dich G2, nguyén tố chọn thidau(Hoa,Y), ta tim duoc su kién: thidau(Hoa, tint)
Phép thế nhận được ở bước này là 63 = {Y/z:sz} Bước dẫn xuất thứ ba sinh ra dich G3:
G3:< monhoc(ttnt,Z), chuyengia(Hung,Z), Hoa: SV, tint: HP, Z: CHUDE, Hung:
CBGD nN ADAY.HPNC
Trang 39Voi dich Gs, nguyén tố chọn monhoc(ttnt,Z), tim được sự kiện monhoc(mt,csft)
Phép thế nhận được ở bước này là Ø; = {Z/es#} Bước dẫn xuất thứ tư sinh ra đích Ga:
Ga: < chuyengia(Hung,cstt), Hoa: SV, tint: HP, cstt CD, Hung: CBGD Nn ADAY.HPNC
Với dich Ga, nguyên tố chọn chuyengia(Hung,csff) ta tìm được mệnh dé đơn vị
chuyengia (Hung, cstt) dé hop giải vì vậy ta nhận được mệnh đề rỗng:
< Hoa: SV, tint HP, cstt CHUDE, Hung: CBGD n ADAY.HPNC
Nhu vay dẫn xuất đối với (L,P) © Go là thành cơng và nhận được câu trả lời đúng
đối với đích
Go: — huongdan(Hoa, Hung)
nghĩa là sinh vién Hoa duoc huéng dan béi giang vién Hung 3.2 CAI DAT VA THUC THI MOT SO BAI TOAN
Phần này sẽ trình bày một số bài tốn được biểu diễn bằng chương trình Datalog mơ tả và được thực thi bằng hệ thống lập trình logie DLV kết hợp với hệ thống lập luận OWL RACER
Bài tốn 1 (Cơ sở dữ liệu sản phẩm) Một cửa hàng máy tính nhận các thiết bị phần cứng từ một số nhà cung cấp để bán Ta dùng cơ sở tri thức logic mơ tả Ls:
- Mỗi nhà cung cấp (các thành viên của khái niệm Cang) cung ứng một số loại thiết bị phần cứng (được mã hĩa thơng qua vai trị Nacungcap)
- Cửa hàng máy tính cĩ hợp đồng nhận hàng cung cấp đối với một số thiết bị từ các nhà cung cấp (được mã hĩa thơng qua vai tro hopdong)
- 1s chứa thơng tin về phạm vi sản phẩm được cung cấp bởi mỗi nhà cung cấp và về các điều kiện giảm giá cĩ thể (chúng ta giả sử rằng việc mua hai hoặc nhiều thiết bị phần cứng từ cùng một người bán sẽ được giảm giá)
Lúc đĩ ta cĩ thê minh họa cơ sở tri thức logie mơ tả Ls nhw sau: > 1 nhacungcap © Cuahang, T&V nhacungcap.Thietbi, hopdong E nhacungcap, > 2 hopdong © Giamgia,
Cuahang(sl); Cuahang(s2), Cuahang(s3),
Trang 40Thietbi(hardisk), Thietbi(cpuy, Thietbi(case),
Thietbi(memory), Thietbi(soundcard), Thietbi(dvdrom), nhacungcap(sl, cpu), nhacungcap(sl, case);
nhacungcap(s2, soundcard),
nhacungcap(s3, memory), nhacungcap(s3, cpu); nhacungcap(s3, dvdrom), hopdong (s3, case)
Ở đây, hai tién dé dau tién xac dinh khai niém Cuahang va Thietbi lần lượt là miền và phạm vi của vai trị nhacungap Tién dé thứ ba chỉ ra mối quan hệ giữa hopdong va nhacungcap, trong khi tiên đề thứ tư tạo ra khái niệm Giamgia (Giam giá) bằng cách đặt một ràng buộc bản số đối với hopdong