Tìm hiểu về chương trình Datalog∃ và logic mô tả DL-Lite

56 636 3
Tìm hiểu về chương trình Datalog∃  và logic mô tả DL-Lite

Đ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

MỞ ĐẦU Kể từ đầu thập niên 70, quản lý dữ liệu đóng vai trò trung tâm trong các tổ chức và là một lĩnh vực nghiên cứu đầy thách thức. Các nhà nghiên cứu đã đưa ra một số ngôn ngữ để mô hình hóa, truy vấn và thao tác dữ liệu, cũng như biểu diễn các loại ràng buộc toàn vẹn tổng quát, các thủ tục suy diễn và tri thức ontology. Hiện nay, những ngôn ngữ như thế đóng vai trò quan trọng trong nhiều ứng dụng, chẳng hạn như xuất bản và tích hợp dữ liệu ngữ nghĩa, hỗ trợ quyết định và quản trị tri thức,... Trong những năm gần đây, người ta thường nhắc tới logic mô tả (Description logic) như là một phương pháp biểu diễn tri thức hiệu quả. 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 mối quan hệ. Lĩnh vực ứng dụng của logic mô tả cũng rất đa dạng, ngay từ ngày đầu, logic mô tả đã được xem như là những ngôn ngữ với mục đích biểu diễn tri thức và suy diễn, vì thế nó phù hợp cho nhiều ứng dụng. Datalog là một ngôn ngữ mạnh dựa trên quy tắc, lúc đầu được thiết kế để biểu diễn các truy vấn phức tạp trên dữ liệu quan hệ, hiện nay là cơ sở của các ngôn ngữ đặc tả tối ưu hóa và một họ ngôn ngữ Datalog mở rộng giàu khả năng diễn đạt, được gọi là Datalog  , đây được xem là một mô hình mới để trả lời truy vấn trên các ontology [5], [6], [7], [9]. Họ Datalog  thừa nhận các biến lượng từ tồn tại trong phần đầu của quy tắc và có những ràng buộc thích hợp đảm bảo truy vấn Ontology đạt hiệu quả cao. Luận văn tập trung nghiên cứu về chương trình Datalog  và logic mô tả DL - Lite. Cấu trúc của luận văn bao gồm 3 chương nội dung: Chương 1 trình bày tổng quan về chương trình Datalog. Chương này giới thiệu một số khái niệm về ngôn ngữ logic bậc nhất, cú pháp và các tiếp cận để xác định ngữ nghĩa của chương trình Datalog. Chương 2 trình bày về cú pháp và hai tiếp cận để xác định ngữ nghĩa chương trình Datalog ∃ . Chương 2 cũng trình bày một lớp hạn chế của chương trình Datalog ∃ gọi là chương trình Datalog ∃ được bảo vệ. Đối với lớp chương trình này, câu trả lời truy vấn được thực hiện trong thời gian đa thức. Chương 3 trình bày về mối quan hệ giữa chương trình Datalog và logic mô tả. Cú pháp và ngữ nghĩa logic mô tả DL-Lite được trình bày chi tiết và phương pháp chuyển đổi logic mô tả DL-Lite thành chương trình Datalog ∃ . Chương 3 cũng giới thiệu về hệ thống lập trình logic DLV, tiến hành cài đặt và thực thi một số ví dụ bằng DLV. Phần cuối của luận văn là kết luận nêu lên các kết quả đạt được và hướng phát triển của đề tài. Do thời gian có hạn và bản thân chỉ mới bước đầu nghiên cứu về lĩnh vực này nên không thể tránh khỏi những sai sót, kính mong sự giúp đỡ, góp ý thêm của quý thầy cô và các bạn.

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC NGÔ DƯƠNG MINH TÂM T×m hiÓu vÒ ch-¬ng tr×nh Datalog∃ vµ logic m« t¶ DL-Lite CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Huế, 2015 MỤC LỤC Trang phụ bìa Lời cam đoan Lời cảm ơn Mục lục Danh mục thuật ngữ Danh mục ký hiệu Các chữ viết tắt Danh mục hình vẽ MỞ ĐẦU Chương TỔNG QUAN VỀ CHƯƠNG TRÌNH DATALOG 1.1 Một số khái niệm ngôn ngữ logic bậc 1.2 Mô hình và hệ logic 1.3 Chương trình Datalog 1.3.1 Cú pháp 1.3.2 Giả thiết và tiếp cận ngữ nghĩa chương trình Datalog 12 1.3.2.1 Giả thiết giới đóng 12 1.3.2.2 Tiếp cận theo lý thuyết mô hình 13 1.3.2.3 Tiếp cận theo lý thuyết điểm bất động 15 1.4 Tiểu kết chương 16 Chương 2.1 Cú pháp củ 17 18 2.1.1 Tiếp cận lý thuyết mô hình 20 2.1.2 Tiếp cận điểm bất động 21 ợc bảo vệ 24 2.3 Tiểu kết chương 28 Chương QUAN HỆ GIỮA CHƯƠ VÀ LOGIC MÔ TẢ DL-LITE 29 3.1 Tổng quan quan hệ chương trình Datalog và logic mô tả 29 3.2 Cú pháp logic mô tả DL-Lite 34 3.3 Ngữ nghĩa logic mô tả DL-Lite 36 3.4 Chuyển đổi logic mô tả DL-Lite thành chương trình Datalog 37 3.5 Một số ví dụ chuyển đổi từ logic mô tả DL-Lite sang Datalog 39 3.6 Cài đặt và thực thi số chương trình Datalog hệ thống DLV 41 3.6.1 Giới thiệu hệ thống DLV 41 3.6.2 Cài đặt và thực thi số chương trình Datalog 43 3.7 Tiểu kết chương 47 KẾT LUẬN 48 TÀI LIỆU THAM KHẢO 49 DANH MỤC CÁC THUẬT NGỮ Chương trình Datalog Datalog program Cơ sở tri thức Knowledge base Công thức Ground formula Datalog∃ bảo vệ Guarded Datalog∃ Giả thiết giới đóng Closed world assumption Hạng thức Term Literal âm Negative literal Literal dương Positive literal Logic mô tả Description logic Lượng từ tồn Existential quantification Mệnh đề đơn vị Unit clause Mô hình sở tri thức Model of knowledge base Mô hình Herbrand Herbrand model Mô hình cực tiểu Minimal model Mô hình nhỏ Least model Nguyên tố Atom Phụ thuộc sinh Tuple-generating dependency Thể Interpretation Toán tử hệ trực tiếp The immediate consequence operator Vị từ Predicate Vị từ EDB Extensional Database predicate Vị từ IDB Intensional Database predicate Vũ trụ Herbrand Herbrand universe DANH MỤC CÁC KÝ HIỆU CÁC CHỮ VIẾT TẮT TGDs Tuple-generating dependencies FOL First order Logic DLs Description Logic SCH Scheme DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang Hình 2.1 Đồ thị chuyển đổi ví dụ 2.7 26 Hình 2.2 Rừng chuyển đổi ví dụ 2.7 26 Hình 2.3 Đồ thị chuyển đổi D và Σ ví dụ 2.8 27 Hình 3.1 Kiến trúc tổng quát hệ thống DLV 42 I Thể BP Cơ sở Herbrand chương trình P UP Vũ trụ Herbrand chương trình P BP Tập tất tập sở Herbrand BP MP Mô hình nhỏ P TP Toán tử hệ trực tiếp BP MỞ ĐẦU Kể từ đầu thập niên 70, quản lý liệu đóng vai trò trung tâm tổ chức và là lĩnh vực nghiên cứu đầy thách thức Các nhà nghiên cứu đưa số ngôn ngữ để mô hình hóa, truy vấn và thao tác liệu, biểu diễn loại ràng buộc toàn vẹn tổng quát, thủ tục suy diễn và tri thức ontology Hiện nay, ngôn ngữ đóng vai trò quan trọng nhiều ứng dụng, chẳng hạn xuất và tích hợp liệu ngữ nghĩa, hỗ trợ định và quản trị tri thức, Trong năm gần đây, người ta thường nhắc tới logic mô tả (Description logic) là phương pháp biểu diễn tri thức hiệu Trong ứng dụng cụ thể có sử dụng logic mô tả, tri thức miền ứng dụng đặc tả khái niệm và mối quan hệ Lĩnh vực ứng dụng logic mô tả đa dạng, từ ngày đầu, logic mô tả xem là ngôn ngữ với mục đích biểu diễn tri thức và suy diễn, phù hợp cho nhiều ứng dụng Datalog là ngôn ngữ mạnh dựa quy tắc, lúc đầu thiết kế để biểu diễn truy vấn phức tạp liệu quan hệ, là sở ngôn ngữ đặc tả tối ưu hóa và họ ngôn ngữ Datalog mở rộng giàu khả diễn đạt, gọi là Datalog, xem là mô hình để trả lời truy vấn ontology [5], [6], [7], [9] Họ Datalog thừa nhận biến lượng từ tồn phần đầu quy tắc và có ràng buộc thích hợp đảm bảo truy vấn Ontology đạt hiệu cao Luận văn tập trung nghiên cứu chương trình Datalog và logic mô tả DL - Lite Cấu trúc luận văn bao gồm chương nội dung: Chương trình bày tổng quan chương trình Datalog Chương này giới thiệu số khái niệm ngôn ngữ logic bậc nhất, cú pháp và tiếp cận để xác định ngữ nghĩa chương trình Datalog Chương trình bày cú pháp và hai tiếp cận để xác định ngữ nghĩa chương trình Datalog∃ Chương trình bày lớp hạn chế chương trình Datalog∃ gọi là chương trình Datalog∃ bảo vệ Đối với lớp chương trình này, câu trả lời truy vấn thực thời gian đa thức Chương trình bày mối quan hệ chương trình Datalog và logic mô tả Cú pháp và ngữ nghĩa logic mô tả DL-Lite trình bày chi tiết và phương pháp chuyển đổi logic mô tả DL-Lite thành chương trình Datalog∃ Chương giới thiệu hệ thống lập trình logic DLV, tiến hành cài đặt và thực thi số ví dụ DLV Phần cuối luận văn là kết luận nêu lên kết đạt và hướng phát triển đề tài Do thời gian có hạn và thân bước đầu nghiên cứu lĩnh vực này nên tránh khỏi sai sót, kính mong giúp đỡ, góp ý thêm quý thầy cô và bạn Chương TỔNG QUAN VỀ CHƯƠNG TRÌNH DATALOG Cuối thập niên 70, Datalog xuất ngôn ngữ bật từ lập trình logic Ban đầu, Datalog dùng ngôn ngữ biểu diễn để truy vấn liệu quan hệ; thực tế, thêm đệ quy vào đại số quan hệ và vượt khả biểu diễn truy vấn chọn - chiếu - kết nối Ngày nay, đệ quy đóng vai trò quan trọng việc lập luận đường phức tạp đồ thị, loại liệu phổ biến, ví dụ mạng xã hội và web ngữ nghĩa Các ứng dụng Datalog bao gồm tích hợp liệu, lập luận liệu bán cấu trúc, định tuyến, quản lý sách bảo mật và nhiều ứng dụng khác Vì vậy, Datalog phát triển thành hình thức luận tốt với phần mềm thực thi hiệu Mặt khác, qui tắc Datalog là biểu diễn mệnh đề không chứa ký hiệu hàm logic bậc (FOL) nên Datalog thích hợp cho ứng dụng web ngữ nghĩa, chẳng hạn mô hình hóa và lập luận ontology Trong chương bắt đầu khái niệm ngôn ngữ logic bậc nhất, cú pháp và ngữ nghĩa chương trình Datalog 1.1 Một số khái niệm ngôn ngữ logic bậc Định nghĩa 1.1 (Bộ ký tự) Bộ ký tự bao gồm lớp ký hiệu sau:  Hằng: là giá trị xác định thường ký hiệu chữ thường, ví dụ: a, b, c,…  Biến: đại lượng có giá trị thay đổi miền nào đó, thường ký hiệu chữ in hoa, ví dụ: X, Y, Z,…  Ký hiệu hàm, thường ký hiệu chữ thường, ví dụ: f, g, h,  Ký hiệu vị từ, thường ký hiệu chữ thường, ví dụ: p, q, r,…  Hằng vị từ: true, false 35 Định nghĩa 3.2 (Khái niệm sở, khái niệm tổng quát)  Một khái niệm sở B là khái niệm nguyên tố A  A hạn chế tồn vai trò sở Q, ký hiệu Q  Một khái niệm tổng quát C là khái niệm sở B phủ định khái niệm sở  B Từ vai trò và khái niệm hình thành nên tiên đề, ta có định nghĩa: Định nghĩa 3.3 (Tiên đề) Một tiên đề là: (1) Tiên đề bao hàm khái niệm có dạng B ⊑ C B là khái niệm sở và C là khái niệm, (2) Tiên đề hàm (funct Q), Q là vai trò sở, (3) Tiên đề thành viên khái niệm A(a), A  A và A  I, (4) Tiên đề thành viên vai trò P(a,c), P RA và a, c  I (5) Tiên đề bao hàm vai trò Q ⊑ R, Q là vai trò sở và R là vai trò Định nghĩa 3.4 (Tbox, ABox)  Một TBox là tập hữu hạn tiên đề bao hàm khái niệm và tiên đề hàm  Một ABox là tập hữu hạn tiên đề thành viên khái niệm và tiên đề thành viên vai trò Định nghĩa 3.5 (Cơ sở tri thức) Một sở tri thức KB, bao gồm TBox T và ABox A, ký hiệu KB = (T,A) Ví dụ 3.3 Xét tập khái niệm nguyên tố, vai trò trừu tượng và cá thể ký hiệu là A, RA và I cho sau: A = {Scientist, Article, ConferencePaper, JournalPaper}, RA = {hasAuthor, hasFirstAuthor, isAuthorOf}, I = {i1, i2} 36 Xét tiên đề khái niệm bao hàm sau đây: (i) ConferencePaper ⊑ Article, JournalPaper ⊑ Article (ii) ConferencePaper ⊑  JournalPaper, Scientist ⊑ ∃isAuthorOf (iii) isAuthorOf ⊑ Scientist, isAuthorOf − ⊑ Article Tiên đề (i) có ý nghĩa: bài báo Hội thảo và bài báo đăng tạp chí là bài báo Tiên đề (ii) có ý nghĩa: bài báo Hội thảo là bài báo đăng tạp chí và nhà khoa học có bài báo công bố Tiên đề (iii) có nghĩa: tác giả bài báo là nhà khoa học và bài báo tác giả là bài báo Một số tiên đề bao hàm vai trò và tiên đề hàm sau: (iv) isAuthorOf− ⊑ hasAuthor,hasAuthor− ⊑ isAuthorOf, (v) (funct hasFirstAuthor) Tiên đề (iv) nói isAuthorOf là nghịch đảo hasAuthor và (v) hasFirstAuthor là có tính chất hàm Sau là số khái niệm và vai trò thành viên, biểu diễn cá thể i1 là nhà khoa học và là tác giả bài báo i2: Scientist(i1), isAuthorOf(i1,i2), Article(i2) 3.3 Ngữ nghĩa logic mô tả DL-Lite Ngữ nghĩa logic mô tả DL-Lite định nghĩa qua khái niệm thể hiện: Định nghĩa 3.6 (Thể hiện) Một thể là cặp  = (,.),  là tập khác rỗng cá thể gọi là miền thể hiện, là ánh xạ gán khái niệm nguyên tố C  A với tập , vai trò trừu tượng R  RA với tập x , cá thể a  I với phần tử  Các cá thể khác gán với phần tử khác  37 Ánh xạ  mở rộng cho tất khái niệm và vai trò:  (P ) = {(a,b) | (b,a)  P }  ( Q) =  x   Q  (∃Q) = {x  Δ | y : (x,y)  QI}  ( B) = \ B Định nghĩa 3.7 (Tính thỏa mãn) Tính thỏa mãn tiên đề F thể  = (,.), ký hiệu ⊨F , định nghĩa sau: (1) ⊨ B ⊑ C và B ⊆ C; (2) ⊨ (funct Q) và (o,o)  Q và (o,o)  Q kéo theo o= o; (3) ⊨ A(a) và a  A; (4) ⊨ P(a,b) và (a,b)  P; và (5) ⊨ Q ⊑ R và Q ⊆ R Định nghĩa 3.8 (Mô hình tiên đề) Thể  là mô hình tiên đề F và ⊨F Định nghĩa 3.9 (Mô hình sở tri thức) Thể  là mô hình sở tri thức KB = (,), ký hiệu  ⊨ KB và  ⊨ F với F    KB gọi là thỏa mãn KB có mô hình 3.4 Chuyển đổi logic mô tả DL-Lite thành chương trình Datalog Phép chuyển đổi Τ từ thành phần và tiên đề DL-Lite thành Datalog thực sau [5]: (1) Mỗi khái niệm nguyên tố A  A gắn với vị từ T(A) = pA  R, vai trò trừu tượng P  RA gắn với vị từ hai T(P) = pp  R và cá thể i  I gắn với T(i) = ci  ∆ 38 (2) Mỗi tiên đề bao hàm khái niệm B ⊑ C chuyển thành TGD ràng buộc T(B ⊑ C ) = T (B) → T (C), (i) T (B) định nghĩa là pA(X), pP(X,Y) và pP(Y,X), B có dạng là A, P và P ¯ và (ii) T(C) định nghĩa là pA(X), Z pP(X,Z), Z pP(Z,X),  pA(X),  pP(X.Y’) và  pP(Y’,X), C có dạng là A, P, P ¯,  A,  P và P ¯ (3) Các tiên đề hàm (funct P) và (funct P ¯) qua T chuyển thành pP(X,Y)  pP(X,Y’) → Y = Y và pP(X,Y)  pP(X,Y) → X = X (4) Mỗi tiên đề khái niệm thành viên A(a) qua T chuyển thành nguyên tố pA(ca) và tiên đề vai trò thành viên P(a,b) chuyển thành nguyên tố pP(ca,cb) (5) Mỗi tiên đề bao hàm quan hệ Q ⊑ R chuyển đổi thành TGD ràng buộc T(Q ⊑ R) = T (Q) → T(R), (i) T(Q) định nghĩa pP(X,Y), pP(Y,X), Q là có dạng P và P¯ (ii) T(R) định nghĩa là pP(X,Y), pP(Y,X),  pP(X,Y) và  pP(Y,X), R có dạng P, P¯,  P và  P¯ Ví dụ 3.4 Các tiên đề bao hàm khái niệm Ví dụ 3.3 chuyển đổi thành TGDs và ràng buộc sau đây: ConferencePaper(X) → Article(X) JournalPaper(X) → Article(X) ConferencePaper(X) →  JournalPaper(X) Scientist(X) → Z isAuthorOf(X,Z) isAuthorOf(X,Y) → Scientist(X) isAuthorOf(Y,X) → Article(X) 39 Các tiên đề bao hàm quan hệ và tiên đề hàm ví dụ 3.3 chuyển đổi thành TGDs và EGDs sau đây: isAuthorOf(Y,X) → hasAuthor(X,Y) hasAuthor(Y,X) → isAuthorOf(X,Y) hasFirstAuthor(X,Y), hasFirstAuthor(X,Y’) → Y = Y’ Các tiên đề khái niệm và tiên đề quan hệ thành viên ví dụ 3.3 chuyển đổi thành nguyên tố sau (trong ta đồng cá thể với chúng): Scientist(i1), isAuthorOf(i1,i2), Article(i2) Mỗi sở tri thức KB DL-Lite chuyển thành sở liệu DKB, tập hợp TGDs ΣKB sau: (i) Cơ sở liệu DKB là tập hợp tất T(ϕ) cho ϕ là khái niệm tiên đề quan hệ thành viên KB; (ii) Tập hợp TGDs ΣKB là tập hợp tất TGDs từ T(ϕ) cho ϕ là khái niệm tiên đề bao hàm quan hệ KB; 3.5 Một số ví dụ chuyển đổi từ logic mô tả DL-Lite sang Datalog Ví dụ 3.5 Giả sử AdministrativeStaff, Article, AssistantProfessor, Book AssociateProfessor là khái niệm nguyên tố và tiên đề bao hàm sau: AdministrativeStaff ⊑ Employee Article ⊑ Publication AssistantProfessor ⊑ Professor AssociateProfessor ⊑ Professor Book ⊑ Publication Chuyển sang chương trình Datalog ta được: Employee(X) ← AdministrativeStaff(X) Publication(X) ← Article(X) Professor(X) ← AstantProfessor(X) 40 Professor(X) ← AssociateProfessor(X) Publication(X) ← Book(X) Ví dụ 3.6 Giả sử ClericalStaff, College, ConferencePaper, Course là khái niệm nguyên tố và tiên đề bao hàm sau: ClericalStaff ⊑ AdministrativeStaff College ⊑ Organization ConferencePaper ⊑ Article Course ⊑ Work Chuyển sang chương trình Datalog ta được: AdministrativeStaff(X) ← ClericalStaff(X) Organization(X) ← College(X) Article(X) ← ConferencePaper(X) Work(X) ← Course(X) Ví dụ 3.7 Giả sử Dean là khái niệm nguyên tố và tiên đề bao hàm sau: Dean ⊑ Professor Dean ⊑ Person ⊓  headOf.College Chuyển sang chương trình Datalog ta được: Professor(X) ← Dean(X) Y supportDean(X,Y) ← Dean(X) headOf(X,Y) ← supportDean(X,Y) College(Y) ← supportDean(X,Y) Person(X) ← supportDean(X,Y) Ví dụ 3.8 Giả sử Employee là khái niệm nguyên tố và tiên đề bao hàm sau: Employee ⊑ Person ⊓  worksFor.Organization Chuyển sang chương trình Datalog ta được: Y supportEmployee(X,Y) ← Employee(X) 41 worksFor(X,Y) ← supportEmployee(X,Y) Organization(Y) ← supportEmployee(X,Y) Person(X) ← supportEmployee(X,Y) Ví dụ 3.9 Giả sử Faculty, FullProfessor, GraduateCourse, GraduateStudent là khái niệm nguyên tố và tiên đề bao hàm sau: Faculty ⊑ Employee FullProfessor ⊑ Professor GraduateCourse ⊑ Course GraduateStudent ⊑ Person GraduateStudent ⊑  takesCourse.GraduateCourse Chuyển sang chương trình Datalog ta được: Employee(X) ← Faculty(X) Professor(X) ← FullProfessor(X) Course(X) ← GraduateCourse(X) Person(X) ← GraduateStudent(X) Y supportGraduateCourse(X,Y) ← GraduateStudent(X) takesCourse(X,Y) ← supportGraduateCourse(X,Y) GraduateCourse(Y) ← supportGraduateCourse(X,Y) 3.6 Cài đặt và thực thi số chương trình Datalog hệ thống DLV 3.6.1 Giới thiệu hệ thống DLV DLV là hệ thống lập trình logic dạng tuyển Ngôn ngữ tảng DLV là Datalog dạng tuyển Hệ thống DLV xây dựng nhóm nghiên cứu người Ý và Áo thuộc trường Đại học Calabria và trường Đại học Công nghệ Vienna Phiên hệ thống đời vào năm 1997 sau nhiều năm nghiên cứu lý thuyết và cải tiến đáng kể năm vừa qua: tăng khả 42 ngôn ngữ, kết hợp tính và kỹ thuật tối ưu có liên quan vào tất module hệ thống Hiện tại, DLV là hệ thống biểu diễn tri thức và lập luận Hệ thống DLV cài đặt hệ điều hành Unix/Linux Windows Kiến trúc tổng quan hệ thống DLV hình vẽ sau: Model Checker InputProgram WCH Intelligent Grounder Relational Database Model Generator Output Relational Database Hình 3.1 Kiến trúc tổng quát hệ thống DLV Ngay khởi động, chương trình đầu vào đặc tả người dùng phân tích cú pháp và biến đổi vào cấu trúc liệu nội hệ thống Chương trình đầu vào viết dạng tập tin văn bản, DLV cung cấp giao diện sở liệu quan hệ qua ODBC Module IG (Intelligent Grounder) phát sinh chương trình ground(P) có kích thước nhỏ nhiều so với chương trình đầy đủ Sau việc tính toán thực module MG (Model Generator) và MC (Model Checker) Để khởi động hệ thống DLV, chạy hệ điều hành Windows, mở Command Prompt để thực lời gọi hệ thống Trong hệ thống DLV, tập tin chương trình có phần mở rộng là dl Ban đầu, ta thực viết chương trình tập tin văn theo cấu trúc ngôn 43 ngữ hệ thống DLV Sau thực dòng lệnh chạy hệ thống DLV từ Command Prompt để biên dịch chương trình sau: {Đường dẫn chứa tập tin hệ thống dlv} {Các tùy chọn} {Đường dẫn chứa tập tin chương trình} Trong số tùy chọn thường sử dụng là: –filter=[, tên vị từ, ] để xuất màn hình thể vị từ đặc tả kết xuất ra, -silent ta không muốn thấy dòng thông tin trạng thái hệ thống Một số tùy chọn thực chương trình hệ thống DLV: Khi thực chương trình hệ thống DLV có cú pháp sau: DLV [general options] [filename] Tùy chọn Mô tả -filter = predicates Lọc vị từ cần hiển thị danh sách kết -nofacts Các vị từ EDB không đưa vào danh sách kết -n=n Tính toán tất mô hình -silent Nếu không muốn thấy dòng thông tin trạng thái hệ thống -N=n Các số nguyên nằm phạm vi [0, N] 3.6.2 Cài đặt thực thi số chương trình Datalog Chương trình 1: Xét chương trình Datalog P1 gồm quy tắc sau để mô tả mối quan hệ “họ hàng” sau: sibling(X,Y) ← parent(X,Z)  parent(Y,Z)  X  Y cousin(X,Y) ← parent(X,Xp)  parent(Y,Yp)  sibling(Xp,Yp) 44 cousin(X,Y) ← parent(X,Xp)  parent(Y,Yp)  cousin(Xp,Yp) related(X,Y) ← sibling(X,Y) related(X,Y) ← related(X,Z)  parent(Y,Z) related(X,Y) ← related(Z,Y)  parent(X,Z) Giả sử quan hệ EDB vị từ parent gồm cho tập sau: {(c,a), (d,a), (d,b), (e,b), (f,c), (g,c), (h,d), (i,d), (i,e), (f,e), (j,f), (j,h), (k,g), (k,i)} Mã hóa chương trình logic này DLV: sibling(X,Y) :- parent(X,Z), parent(Y,Z), X Y cousin(X,Y):-parent(X,Xp), parent(Y,Yp), sibling(Xp,Yp) cousin(X,Y) :- parent(X,Xp), parent(Y,Yp), cousin(Xp,Yp) related(X,Y) :- sibling(X,Y) related(X,Y) :- related(X,Z), parent(Y,Z) related(X,Y) :- related(Z,Y), parent(X,Z) parent(c,a).parent(d,a).parent(d,b).parent(e,b) parent(f,c).parent(g,c).parent(h,d) parent(i,d).parent(i,e) parent(f,e).parent(j,f) parent(j,h) parent(k,g).parent(k,i) Tiến hành thực thi chương trình này DLV ta nhận mô hình nhỏ chương trình P1 cho hình sau: 45 Chương trình 2: Xét chương trình Datalog P2 gồm quy tắc sau đây: path(X,Y) ← arc(X,Y) path(X,Y) ← path(X,Z)  path(Z,Y) Giả sử quan hệ EDB vị từ arc gồm cho tập sau: I = {(1,2), (2,3), (3,4), (4,5), (2,8), (3,6), (4,7), (5,8)} Mã hóa chương trình logic này DLV: path(X,Y) :- arc(X,Y) path(X,Y) :- path(X,Z), path(Z,Y) arc(1,2) arc(2,3) arc(3,4) arc(4,5) arc(2,8) arc(3,6) arc(4,7) arc(5,8) Tiến hành thực thi chương trình này DLV ta nhận mô hình nhỏ chương trình P2 cho hình sau: Chương trình 3: Xét chương trình Datalog P3 gồm quy tắc sau đây: p1(X,Y) ← e1(X,Y) p1(X,Y) ← e1(X,Z)  p1(Z,Y) p2(X,Y) ← e2(X,Y) p2(X,Y) ← e2(X,Z)  p2(Z,Y) p(X,Y) ← p1(X,Z)  p2(Z,Y) Giả sử quan hệ EDB vị từ e1 và e2 gồm cho tập sau: 46 {(a,b), (b,c), (c,d)}, {(d,f), (f,g), (g,h)} Mã hóa chương trình logic này DLV: p1(X,Y) :- e1(X,Y) p1(X,Y) :- e1(X,Z), p1(Z,Y) p2(X,Y) :- e2(X,Y) p2(X,Y) :- e2(X,Z), p2(Z,Y) p(X,Y) :- p1(X,Z), p2(Z,Y) e1(a,b) e1(b,c) e1(c,d) e2(d,f) e2(f,g) e2(g,h) Tiến hành thực thi chương trình này DLV ta nhận mô hình nhỏ chương trình P3 cho hình sau: Chương trình 4: Xét chương trình Datalog P4 gồm quy tắc sau đây: p(X,Y) ← a(X,Y) p(X,Z) ← p(X,Y)  p(Y,Z) Giả sử quan hệ EDB vị từ a gồm cho tập sau: I = {a(1,3), a(2,4), a(3,5), a(4,6), a(5,7), a(6,8)} Mã hóa chương trình logic này DLV: p(X,Y) :- a(X,Y) p(X,Z) :- p(X,Y), p(Y,Z) 47 a(1,3) a(2,4) a(3,5) a(4,6) a(5,7) a(6,8) Tiến hành thực thi chương trình này DLV ta nhận mô hình nhỏ chương trình P4 cho hình sau: 3.7 Tiểu kết chương Chương trình bày mối liên hệ chương trình Datalog và logic mô tả, tập trung vào chi tiết cú pháp, ngữ nghĩa logic mô tả DLLite Mối liên hệ logic mô tả DL-Lite và chương trình Datalog thể qua phép chuyển đổi và minh họa chi tiết qua nhiều ví dụ Chương giới thiệu hệ thống lập trình logic DLV, tiến hành cài đặt và thực thi số chương trình Datalog DLV 48 KẾT LUẬN Luận văn tập trung tìm hiểu chương trình Datalog và mối quan hệ với logic mô tả DL-Lite Các kết mà luận văn đạt là: - Tìm hiểu cú pháp chương trình Datalog và tiếp cận để xác định ngữ nghĩa chương trình Datalog - Tìm hiểu tổng quan quan hệ chương trình Datalog và logic mô tả; Cú pháp chương trình Datalog; Ngữ nghĩa chương trình Datalog theo tiếp cận lý thuyết mô hình và lý thuyết điểm bất động - Tìm hiểu cú pháp và ngữ nghĩa logic mô tả DL-Lite, phương pháp chuyển logic mô tả DL-Lite thành chương trình Datalog với ví dụ minh họa chi tiết - Tìm hiểu hệ thống lập trình logic DLV, tiến hành cài đặt và thực thi số chương trình Datalog DLV Hướng phát triển đề tài là: - Nghiên cứu việc định giá truy vấn chương trình Datalog 49 TÀI LIỆU THAM KHẢO Tiếng Việt Lê Mạnh Thạnh, Trương Công Tuấn (2011), Giáo trình Chương trình Datalog, NXB Đại học Huế Tiếng Anh: Apt K R (1990), Logic Programming, Elsevier Science Publishers Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P.F (eds) (2003) The Description Logic Handbook Theory, Implementation and Applications Cambridge University Press Calì, A., Gottlob, G., Thomas Lukasiewicz, (2008) “Tractable Query Answering over Ontologies with Datalog±” Computing Laboratory and Oxford-Man Institute of Quantitative Finance, University of Oxford, UK, pp 25-37 Calì, A., Gottlob, G., Lukasiewicz, T., (2009) “A general Datalog-based framework for tractable query answering over ontologies” In: Proc of PODS, pp 77–86 ACM Press Calì, A., Gottlob, G., Andreas Pieris (2010) “Query answering under nonguarded rules in Datalog+/-“ In Proceedings of RR, pp 175-190 Calì, A., Gottlob, G., Lukasiewicz, T., Marnette, B., Pieris, A (2010) “Datalog+/-: A family of logical knowledge representation and query languages for new applications” In: Proc of LICS, pp 228–242 Deutsch, A., Nash, A., Remmel, J.B (2008) “The chase revisisted” In: Proc Of PODS, pp 149-158 Georg Gottlob, Giorgio Orsi, Andreas Pieris, Mantas Simkus, (2012) “Datalog and its Extensions for Semantic Web Datababes” Reasoning Web Summer School, Vienna, Austria, pp 15-39 [...]... trình hạn chế của chương trình Datalog gọi là chương trình Datalog được bảo vệ Đối với lớp chương trình này, việc trả lời câu truy vấn được thực hiện trong thời gian đa thức Trong chương 3 sẽ tiếp tục trình bày mối liên hệ giữa chương trình Datalog và logic mô tả, cụ thể là logic mô tả DL-Lite 29 Chương 3 QUAN HỆ GIỮA CHƯƠNG TRÌNH DATALOG VÀ LOGIC MÔ TẢ DL-LITE Logic mô tả mô hình hóa một miền... bày về logic mô tả DL-Lite, ta hãy xem mối quan hệ giữa chương trình Datalog và logic mô tả 3.1 Tổng quan về quan hệ giữa chương trình Datalog và logic mô tả Chương trình Datalog được thiết kế để suy luận trên các cơ sở dữ liệu hữu hạn, trong đó ta chỉ quan tâm đến những giá trị hiện có trong CSDL EDB Trong phần này sẽ trình bày tổng quan về mối quan hệ giữa chương trình Datalog và logic mô tả. .. Trong chương 2 sẽ tìm hiểu việc mở rộng chương trình Datalog khi cho phép các biến được lượng hóa bởi lượng từ tồn tại xuất hiện trong phần đầu các quy tắc 17 Chương 2 CHƯƠNG TRÌNH DATALOG Trong chương 2 sẽ trình bày lớp chương trình Datalog mở rộng, gọi là chương trình Datalog, trong đó lượng từ tồn tại được phép xuất hiện ở phần đầu các quy tắc [9] Trước hết, ta xem ví dụ sau về chương trình. .. với chương trình Datalog được bảo vệ thực hiện trong thời gian đa thức 2.3 Tiểu kết chương 2 Chương 2 đã trình bày chi tiết về cú pháp và ngữ nghĩa của chương trình Datalog cùng với các ví dụ minh họa cụ thể Cách tiếp cận để xác định ngữ nghĩa của chương trình Datalog là sự mở rộng cách tiếp cận để xác định ngữ nghĩa của chương trình Datalog thông thường Chương 2 cũng trình bày một lớp chương trình. .. thức logic mô tả mã hóa các quan hệ tập con giữa các khái niệm, các quan hệ tập con giữa các vai trò, thành viên của các cá thể đối với khái niệm, thành viên của các cặp cá thể đối với vai trò và các phụ thuộc hàm trên các vai trò Chương 3 sẽ trình bày chi tiết về cú pháp và ngữ nghĩa logic mô tả DL-Lite và mối quan hệ đối với lớp chương trình Datalog [5] đã xem xét ở chương 2 Trước khi trình. .. với chương trình Datalog, vấn đề trả lời truy vấn là bất khả quyết định [4] Tính chất bất khả quyết cũng đúng ngay cả khi chương trình và truy vấn cố định và chỉ có cơ sở dữ liệu đóng vai trò là đầu vào [5] Trong phần tiếp theo sẽ trình bày một lớp chương trình hạn chế của chương trình Datalog mà câu trả lời truy vấn là khả quyết được gọi là chương trình Datalog được bảo vệ 2.2 Chương trình. .. chính là mô hình nhỏ nhất của P 1.4 Tiểu kết chương 1 Chương 1 đã trình bày các khái niệm cơ sở của ngôn ngữ bậc nhất, cú pháp và hai tiếp cận ngữ nghĩa của chương trình Datalog: tiếp cận lý thuyết mô hình và tiếp cận lý thuyết điểm bất động Cách thức tính ngữ nghĩa chương trình Datalog nhờ vào toán tử hệ quả trực tiếp TP Để ý rằng tất cả các biến xuất hiện trong các quy tắc của chương trình Datalog... trong chương trình ở trên đều xuất hiện ở cả phần thân và phần đầu của một số quy tắc Vì vậy, trong phiên bản mở rộng của Datalog - được gọi là chương trình Datalog, cho phép vị từ với lượng từ tồn tại được phép xuất hiện trong phần đầu các quy tắc của chương trình, đối với lớp 18 chương trình này, ta không đòi hỏi sự phân biệt giữa các vị từ EDB và vị từ IDB Trong phần tiếp theo sẽ trình bày về. .. 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 [2] 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 TP↑n, n  N, trong đó TP↑0 = Ø, TP↑(i + 1) = TP(TP↑i) Từ mệnh đề này ta có thuật toán: Thuật toán 1.1: Tính mô hình nhỏ nhất của chương trình Datalog P Vào: Chương trình Datalog P và DB là cơ sở dữ liệu EDB hữu hạn đã cho Ra: Mô. .. chương trình Datalog được bảo vệ P là một tập hữu hạn các quy tắc Datalog được bảo vệ 25 Tính khả quyết của câu trả lời truy vấn đối với chương trình Datalog suy ra từ sự kiện là kết quả của phép chuyển đổi của cơ sở dữ liệu đối với chương trình Datalog được bảo vệ có cấu trúc dạng cây Trong phần sau ta sẽ thảo luận về vấn đề này Định nghĩa 2.12 Đồ thị chuyển đổi của CSDL D đối với chương trình ... HỆ GIỮA CHƯƠ VÀ LOGIC MÔ TẢ DL-LITE 29 3.1 Tổng quan quan hệ chương trình Datalog và logic mô tả 29 3.2 Cú pháp logic mô tả DL-Lite 34 3.3 Ngữ nghĩa logic mô tả DL-Lite ... nghĩa chương trình Datalog Chương trình bày cú pháp và hai tiếp cận để xác định ngữ nghĩa chương trình Datalog∃ Chương trình bày lớp hạn chế chương trình Datalog∃ gọi là chương trình Datalog∃. .. trò Chương trình bày chi tiết cú pháp và ngữ nghĩa logic mô tả DL-Lite và mối quan hệ lớp chương trình Datalog [5] xem xét chương Trước trình bày logic mô tả DL-Lite, ta xem mối quan hệ chương

Ngày đăng: 14/12/2015, 21:34

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan