Tìm hiểu một số bài toán đệ quy trong datalog luận văn tốt nghiệp đại học

58 1.2K 2
Tìm hiểu một số bài toán đệ quy trong datalog luận văn tốt nghiệp đại học

Đ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

Tỡm hiu mt s bi toỏn quy trong Datalog Trờng đại học vinh Khoa công nghệ thông tin -------------- N TT NGHIP I HC Ngành: kỹ s công nghệ thông tin TèM HIU MT S BI TON QUY TRONG DATALOG gvhd: ths. Cao thanh sơn svth : lê anh tuấn chu văn trà lớp : 47k - cntt Nghệ An - 05/2011 LI CM N 1 Tìm hiểu một số bài toán đệ quy trong Datalog Chúng em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, trường Đại Học Vinh đã tạo điều kiện tốt cho chúng em hoàn thành đồ án tốt nghiệp của mình. Chúng em xin được cảm ơn thầy giáo ThS. Cao Thanh Sơn đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian làm đồ án. Chúng em xin được chân thành cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong suốt những năm học vừa qua. Chúng con xin nói lên lòng biết ơn sâu sắc đối với Ông Bà, Cha Mẹ, đã chăm sóc, nuôi dạy chúng con thành người. Xin chân thành cảm ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng em trong thời gian học tập và nghiên cứu. Mặc dù đã hết sức cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em kính mong nhận được sự cảm thông và đóng góp ý kiến tận tình của quý thầy cô và các bạn. Nghệ An …. Tháng 5 năm 2011. Sinh viên LỜI NÓI ĐẦU 2 Tìm hiểu một số bài toán đệ quy trong Datalog Các hệ quản trị cơ sở dữ liệu (QTCSDL) quan hệ, được xây dựng theo mô hình dữ liệu quan hệ do E.F. Codd đề xuất vào năm 1970, đã thu được những thành tựu to lớn về cả phương diện lý thuyết và ứng dụng. Ưu điểm của các hệ này là cách tổ chức dữ liệu, truy cập và cập nhật những khối lượng lớn dữ liệu một cách thuận lợi, an toànhiệu quả. Chúng có các thuật toán tìm kiếm, sắp xếp và đảm bảo toàn vẹn dữ liệu, quản lý truy cập đồng thời với nhiều người dùng khác nhau. Hơn nữa, vấn đề quan trọng nhất của một hệ QTCSDL phải có là khả năng trả lời các câu truy vấnhiệu quả. Bên cạnh đó CSDL quan hệ đã cung cấp rất nhiều kỹ thuật tiên tiến để đánh giá các biểu thức quan hệ phức tạp. Theo Codd: Một ngôn ngữ truy vấn CSDL là đầy đủ (complete) nếu nó sinh ra các phép toán quan hệ. Tóm lại, sự thành công của mô hình dữ liệu quan hệ là vô cùng to lớn, một minh chứng cụ thể là mô hình này đã được sử trong các hệ quản trị thương mại, như Access, SQL Server,… Tuy nhiên, mô hình dữ liệu quan hệ không có khả năng suy dẫn ra sự kiện mới. Ngoài ra, chúng chưa khai thác hết được quan hệ ngữ nghĩa giữa các thuộc tính. Hiện nay, đã có nhiều cách tiếp cận để giải quyết vấn đề trên như: Data mining, Deductive database,… Các nghiên cứu về Deductive Database được bắt đầu từ những năm 70 của thế kỷ trước và được thể hiện trong quyển sách Logic and Databases của nhóm tác giả Gallaire và Minker. Từ khi ra đời, các nghiên cứu trong lĩnh vực này có 2 xu hướng chính:  Một là, mong muốn tích hợp giữa CSDL và trí tuệ nhân tạo, mở rộng hệ thống CSDL và cung cấp một chức năng như hệ chuyên gia, gọi là hệ cơ sở tri thức.  Hai là, mong muốn tích hợp giữa Lập trình logic và CSDL để tăng khả năng tương tác giữa hệ cơ sở dữ liệu và khai thác được ưu điểm của ngôn ngữ lập trình. Hướng tiếp cận trên có tính khả thi cao vì có sự tương đồng 3 Tìm hiểu một số bài toán đệ quy trong Datalog giữa lập trình logic và phép toán quan hệ đó là chúng có chung mô hình toán học cơ bản: logic vị từ bậc nhất (first-order-logic). Song song với sự phát triển của các hệ QTCSDL, các hệ chuyên gia đã được phát triển để trợ giúp quá trình ra quyết định trong các lĩnh vực chuyên ngành hẹp. Đặc điểm chính của các hệ chuyên gia là cung cấp các khả năng suy luận nhằm hỗ trợ việc ra quyết định, nhưng chúng không có khả năng quản lý các khối lượng lớn thông tin. Như vậy, các CSDL suy diễn có thể được xem như các chương trình logic với sự khái quát hoá khái niệm về CSDL quan hệ. Một CSDL suy diễn là một CSDL có khả năng suy diễn ra một số dữ kiện mới từ những sự kiện được lưu trữ trong CSDL. Cụ thể hơn, nó cung cấp, ở mức ngôn ngữ thao tác dữ liệu, một cơ chế suy diễn mạnh hơn của đại số quan hệ, đặc biệt cho phép chỉ định rõ các xử lý đệ quy. Mặt khác, một CSDL suy diễn phải có tất cả những chức năng của một hệ QT CSDL truyền thống, chẳng hạn như cho phép nhiều người dùng truy cập đồng thời tới dữ liệu, cho phép dữ liệu phân 4 Tìm hiểu một số bài toán đệ quy trong Datalog bố trên nhiều trạm (phân tán), đảm bảo tính tin cậy, nhất quán và sự an toàn của dữ liệu. Vấn đề đặt ra: Phép toán quan hệ và Đại số quan hệ đã được xem như là ngôn ngữ cơ sở dữ liệu trong suốt thời gian dài, tuy nhiên, các phép toán quan hệ thiếu một tính chất quan trọng: Đệ quy (recursive). Một số bài toán không thể giải quyết được khi dùng các Phép toán quan hệ. Trước nhu cầu giải quyết những bài toán đệ quy, những vấn đề mà các phép toán đại số quan hệ trước đây còn chưa làm được. Datalog hướng chúng ta tìm ra một hướng mới cho việc giải quyết những vấn đề trên. Bằng những phương pháp xác định và đánh giá ngữ nghĩa của chương trình, đồng thời đưa ra mộtsở luật cho cơ sở dữ liệu suy diễn. Bằng các phương pháp tiếp cận theo những quan điểm lý thuyết kinh điển như quan điểm lý thuyết mô hình, quan điểm lý thuyết chứng minh, quan điểm bất động. Datalog đã góp phần không nhỏ vào công việc giải quyết các vấn đề của bài toán đệ quy. Cấu trúc của đồ án “Tìm hiểu một số bài toán đệ quy trong Datalog” được chia làm ba chương. Chương 1: Một số khái niệm cơ bản Chương 2: Một số phương pháp đánh giá và xác định ngữ nghĩa chương trình Datalog Chương 3: Ứng dụng Datalog để giải quyết một số bài toán đệ quy CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1. Logic vị từ bậc nhất Logic mệnh đề cho phép chúng ta biểu diễn thế giới các sự kiện. Hạn chế của logic mệnh đề là không biểu diễn mối quan hệ giữa các đối tượng. 5 Tìm hiểu một số bài toán đệ quy trong Datalog Logic vị từ bậc nhất là một ngôn ngữ hình thức diễn tả các quan hệ giữa các đối tượng và để suy diễn ra các quan hệ mới từ những quan hệ được xem là đúng. Ngoài các kết nối như trong logic mệnh đề, logic vị từ bậc nhất đưa vào khái niệm vị từ (pridicate) và sử dụng các lượng từ (quantifier): tồn tại ( ∃ ), với mọi ( ). a. Logic vị từ bậc nhất có 4 kiểu ký hiệu (symbols): • Hằng (Constants): Tên của các đối tượng trong một lĩnh vực cụ thể (ví dụ: tuan, tra) • Biến (Variables): Các ký hiệu mà giá trị thay đổi đối với các đối tượng khác nhau (ví dụ: x) • Ký hiệu hàm (Function symbols): Các ký hiệu biểu diễn ánh xạ (quan hệ hàm) từ các đối tượng của miền (domain) này sang các đối tượng của miền khác (ví dụ: plus) • Các vị từ (Predicates): Các quan hệ mà giá trị logic là đúng hoặc sai (ví dụ: friend) b. Ngữ nghĩa: • Một biểu diễn (interpretation) của một biểu thức là cặp <D, I>, trong đó o Miền giá trị (Domain) D là một tập khác rỗng o Hàm biểu diễn (Interpretation function) I là một phép gán giá trị đối với mỗi hằng, ký hiệu hàm, và ký hiệu vị từ sao cho:  Đối với hằng c I(c) d  Đối với ký hiệu hàm (có n tham số) f: I(f): D n D  Đối với ký hiệu vị từ (có n tham số) P: I(P): D n {true, false} • Một biểu thức Φ là thỏa mãn nếu và chỉ nếu tồn tại một phép biểu diễn <D,I> sao cho I( Φ ), ký hiệu là I = Φ • Nếu I = Φ thì chúng ta nói rằng I là một mô hình (model) của Φ . Nói cách khác, I thỏa Φ . 6 Tìm hiểu một số bài toán đệ quy trong DatalogMột biểu thức Φ là hợp lệ (valid) nếu và chỉ nếu mọi phép biểu diễn I đều thỏa Φ , ký hiệu là I = Φ . c. Các lượng từ. • Với mọi ( ∀ ): dùng để chỉ một câu là đúng với mọi giá trị của biến lượng giá. • Tồn tại ( ∃ ): dùng để chỉ một câu là đúng với một số giá trị nào đó của biến lượng giá. 1.2. Mệnh đề Horn (Horn clause) Trong logic toán học, mệnh đề Horn là mệnh đề mà chứa nhiều nhất một literal khẳng định (positive literal). Trong đó: literal là một công thức nguyên tử (atomic formula) hoặc phủ định của nó (its negation). Mỗi mệnh đề Horn thuộc một trong 4 trường hợp sau: Luật (rule): một literal khẳng định và ít nhất một literal phủ định. Một luật có dạng QPPP k ∨¬∨∨¬∨¬ . 21 , luật này tương đương logic với luật [ k PPP ∧∧∧ . 21 ] Q → ; Ví dụ: parent (X,Y) ∧ ancestor (Y,Z) → ancestor (X,Z) a. Sự kiện (fact): 1literal khẳng định và 0 literal phủ định Ví dụ: “mother(mary, tom)” b. Một phủ định đích (A negated goal): 0 literal khằng định và ít nhất 1 literal phủ định. c. Mệnh đề rỗng (The null clause): 0 literal khẳng định và 0 literal phủ định: chỉ xuất hiện vào cuối cùng của phép chứng minh resolution (resolution proof). [4] 1.3. Phép thể hiện Herbrand Cho ngôn ngữ bậc nhất L, giả sử tập các hằng trong L là khác rỗng. Đặt U là tập các hạng thức nền của L. H B là tập các nguyên tố nền trong L. U gọi là tập phổ dụng Herbrand (Herbrand Universe) H B gọi là cơ sở Herbrand (Herbrand Base) Ví dụ: Cho ngôn ngữ L - có a, b là các hằng 7 Tìm hiểu một số bài toán đệ quy trong Datalog - f, g là các ký hiệu hàm một biến - p là ký hiệu vị từ một biến U = {a,b,f(a),f(b),f(f(a)), .} H B = { p(a), p(b), p(f(a)), .} Định nghĩa 1.2.1 Một phép thể hiện Herbrand I của ngôn ngữ bậc nhất L bao gồm:  Một miền D là tập phổ dụng U  Mỗi hằng được gán bởi chính nó  Mỗi mộthiệu hàm f n biến được gán bởi một ánh xạ f I :U n → U như sau: ∀t 1 , .,t n ∈U, f I (t 1 , .,t n ) → f(t 1 , .,t n )  Mỗi ký hiệu vị từ p n biến được gán bởi ánh xạ p I từ U n → {true, false} Ví dụ: Cho ngôn ngữ bậc nhất L bao gồm : - Hằng a - Ký hiệu hàm s - Vị từ p, q - Chương trình logic P : r 1 : p(a) ← r 2 : p(s(X)) ← p(X) r 3 : q(X,a,X) ← p(X) 8 Tìm hiểu một số bài toán đệ quy trong Datalog r 4 : q(X,s(Y),s(Z)) ← q(X,Y,Z) U= {a,s(a),s(s(a)), .} H B ={p(a),p(s(a)), .,q(a,a,a),q(a,a,s(a)),q(a,a,s(s(a)), .,q(a,s(a),a),q((a,s(s(a)),a), .} Ta định nghĩa một phép thể hiện Hebrand của ngôn ngữ L nhaư sau : Hằng a được gán bởi chính nó. Ký hiệu hàm s được gán bởi ánh xạ : s I : X → s(X), ∀X∈U Ký hiệu vị từ p được gán bởi ánh xạ : p I : x → true ∀x∈U Ký hiệu vị từ q được gán bởi ánh xạ : q I : (x,y,z) → true nếu : n(x) + n(y) = n(z) trong đó n(t) là sốhiệu s có mặt trong hạng thức t. Nhận xét: Đối với mọi phép thể hiện Herbrand thì phép gán các hằng, các ký hiệu hàm là không thay đổi, chỉ khác là phép gán các ký hiệu vị từ. Như vậy các phép thể hiện Herbrand chỉ khác nhau bởi giá trị chân lý của các nguyên tố nền. Gọi I là tập tất cả các nguyên tố nền có giá trị chân lý là true trongsở Herbrand. Tập hợp I được gọi là phép thể hiện Herbrand. Ví dụ: Cho ngôn ngữ bậc nhất L bao gồm : - Hằng a,b,c - Ký hiệu vị từ p,q,r - Vị từ p, q 9 Tìm hiểu một số bài toán đệ quy trong Datalog - Chương trình logic P: r(a,b) ← r(b,c) ← p(X,Y) ← r(X,Y) q(X,Y) ← r(X,Z)∧p(Z,Y) U={a,b,c} H B ={r(a,b),r(b,c),r(a,c),r(b,a),r(c,b),r(c,a),r(a,a),r(b,b),r(c,c), p(a,b),p(b,c),p(a,c),p(b,a),p(c,b),p(c,a),p(a,a),p(b,b),p(c,c), q(a,b),q(b,c),q(a,c),q(b,a),q(c,b),q(c,a),q(a,a),q(b,b),q(c,c)} Tập I = {r(a,b),p(a,b),q(b,c) } là phép thể hiện Herbrand: r I : (a,b) → true (x,y) → false ∀(x,y) ≠ (a,b) p I : (a,b) → true (x,y) → false ∀(x,y) ≠ (a,b) q I : (a,b) → true (x,y) → false ∀(x,y) ≠ (b,c) Định nghĩa 1.2.2 10 . động. Datalog đã góp phần không nhỏ vào công việc giải quy t các vấn đề của bài toán đệ quy. Cấu trúc của đồ án Tìm hiểu một số bài toán đệ quy trong Datalog . relation) là quan hệ xuất hiện trong phần đầu (head) của một số luật trong P 16 Tìm hiểu một số bài toán đệ quy trong Datalog  CSDL ngoại diên (Extensional

Ngày đăng: 22/12/2013, 13:01

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan