Tiểu luận môn cơ sở dữ liệu nâng cao MÔ HÌNH DỮ LIỆU DATALOG

28 548 1
Tiểu luận môn cơ sở dữ liệu nâng cao MÔ HÌNH DỮ LIỆU DATALOG

Đ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

Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Lời mở đầu  Mô hình cơ sở dữ liệu là một trong những lĩnh vực nổi tiếng của tin học, được các nhà nghiên cứu về khoa học máy tính hết sức quan tâm, cho đến nay đã có hàng loạt các vấn đề về mô hình CSDL được nghiên cứu, giải quyết. Với mục đích tìm hiểu để nâng cao khả năng ứng dụng của của các hệ CSDL Với khối lượng khá đồ sộ về nội dung và kiến thức của môn học này, để hiểu hết tất cả những kiến thức thầy truyền đạt là vô cùng khó khăn, phải có lòng say mê, kiên trì tìm hiểu và thời gian dành cho môn học rất lớn mới có thể hiểu phần nào lượng kiền thức dành cho môn học. Trong bài tiểu luận em chỉ trình bày một phần nhỏ về mô hình dữ liệu datalog với luật không đệ qui dựa trên những nghiên cứu đã được trình bày trong bộ sách của Giáo sư Ullman. Vì thời gian có hạn và trình độ còn hạn chế nên dù đã cố gằng rất nhiều nhưng bài tiểu luận vẫn còn nhiều thiếu sót. Em rất mong sự thông cảm và góp ý hướng dẫn của thầy. Em xin chân thành cảm ơn thầy. TP HCM ngày 15 tháng 08 năm 2012 HVTH: NGUYỄN THỊ NAM Trang 1 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui MỤC LỤC Phần I: CÁC HỆ THỐNG CƠ SỞ TRI THỨC 3 1.1 Các qui tắc logic 4 1.2 Khả năng diễn đạt của logic 6 Phần II: NGỮ NGHĨA CỦA CÁC QUI TẮC LOGIC 8 2.1 Phép diễn giải các qui tắc theo lý thuyết chứng minh 8 2.2 Phép diễn giải các qui tắc theo lý thuyết mô hình 9 2.3 Xác định ý nghĩa bằng tính toán 10 Phần III MÔ HÌNH DỮ LIỆU DATALOG 12 3.1 Vị từ ngoại xạ và vị từ nội hàm 12 3.2 Công thức nguyên tử 13 3.3 Vị từ cài sẵn 14 3.4 Mệnh đề và mệnh đề Horn 14 3.5 Đồ thị phụ thuộc và phép đệ qui 16 3.6 Qui tắc an toàn 18 Phần IV: ƯỚC LƯỢNG CÁC QUI TẮC KHÔNG ĐỆ QUI 21 4.1 Quan hệ được định nghĩa từ phần thân của qui tắc 21 4.2 Tinh chỉnh các qui tắc 24 4.3 Tính các quan hệ cho các vị từ không đệ qui 26 DEMO CHƯƠNG TRÌNH XÂY DỰNG CÂY GIA HỆ SỬ DỤNG CÁC LUẬT KHÔNG ĐỆ QUI 27 HVTH: NGUYỄN THỊ NAM Trang 2 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui PHẦN I CÁC HỆ THỐNG CƠ SỞ TRI THỨC Tri thức là một khái niệm được định nghĩa một cách hình thức, hơn nữa ngày nay tri thức được bán rất chạy. Dường như việc đưa tri thức vào các sản phẩm phần mềm, hay nói cách khác việc sử dụng trí tuệ nhân tạo làm cho các sản phẩm hấp dẫn hơn, dù rằng hoạt động và chức năng của nó không tốt hơn các sản phẩm tương tự nhưng không có những đặc tính này. Khi phân tích kỹ hơn thì thuật ngữ tri thức chủ yếu được dùng như là một thuộc tính của hệ thống lập trình có hỗ trợ một dạng nào đó của ngôn ngữ khai báo, mặt khác các ngôn ngữ khai báo lại là một dạng logic. Chẳng hạn xét ví dụ 1 sau: Chúng ta lưu thông tin về phòng làm việc của nhân viên tại EMPLOYEES(NAME,DEPT) nhưng lại không lưu thông tin về trưởng phòng, ở một tập tin khác tên là DEPARTMENTS(DEPT,MANAGER) có các mẩu tin về tên phòng ban và trưởng phòng, câu truy vấn dưới đây yêu cầu “ tìm trưởng phòng của Clark Kent”  SELECT MANAGER  FROM EMPLOYEES,DEPARTMENTS  WHERE EMPLOYEES.NAME= ‘Clart Kent’  AND EMPLOYEES.DEPT=DEPARTMENTS.DEPT; Đây là một câu truy vấn SQL mẫu, có vẻ như không liên quan gì đến logic, thế nhưng sau khi nghiên cứu chúng ta sẽ thấy SQL thực sự là “ vỏ bọc ngữ nghĩa” của một dạng logic gọi là phép tính quan hệ. Phân biệt giữa một hệ tri thức (knowledge system) và hệ quản trị cơ sở tri thức (Knowledge – base management sysytems, viết tắt là KBMS). Một KBMS là một hệ thống:  Cung cấp những khả năng giống như DBMS (hỗ trợ việc truy xuất có hiệu quả, quản lý và các giao dịch…)  Cung cấp một ngôn ngữ khai báo duy nhất, đóng cả vai trò ngôn ngữ thao tác dữ liệu và ngôn ngữ chủ trong DBMS. Ngược lại, một hệ tri thức là một hệ thống chỉ hỗ trợ (2); có nghĩa đó là một hệ thống lập trình có ngôn ngữ khai báo. HVTH: NGUYỄN THỊ NAM Trang 3 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui 1.1 CÁC QUI TẮC LOGIC Chúng ta sẽ sử dụng các ký hiệu của Prolog cho các qui tắc logic. Các câu lệnh prolog được cấu tạo từ những công thức nguyên tử (automic formula), có chứa một ký hiệu vị từ (predicate symbol) được dùng như một tên thủ tục với các đối (argument). Những đối này có thể tạo từ các hằng (constant, còn gọi là các nguyên tử, antom), các biến (variable), các ký hiệu hàm (function symbol); các ký hiệu hàm được sử dụng với các đối số giống như gọi một hàm trong ngôn ngữ lập trình thông thường. Các ký hiệu vị từ được coi như sẽ tả về kết quả true hoặc false, nghĩa là chúng là những hàm Bool. Ngược lại các ký hiệu hàm có thể trả về một giá trị thuộc một kiểu bất kỳ. Theo qui ước Prolog, ký hiệu vị từ, ký hiệu hàm, và các hằng bắt đầu bằng một chữ thường, với ngoại lệ hằng cũng có thể là một số nguyên. Các biến phải bắt đầu bằng một chữ hoa. Các câu lệnh logic, thường gọi là các qui tắc (rule) sẽ được viết dưới dạng mệnh đề Horn, đó là các câu lệnh thuộc dạng “Nếu A 1 và A 2 và … A n đúng thì B đúng”. Cú pháp Prolog cho câu lệnh là: B:-A 1 &A 2 & …&A n . Ký hiệu :- được đọc là nếu. Chú ý dấu chấm cuối được dùng làm dấu kết thúc cho qui tắc. Nếu n=0 thì qui tắc khẳng định B luôn đúng và chúng ta viết B. Ví dụ hai qui tắc sau có thể được diễn giải như một định nghĩa qui nạp của phép cộng, nếu chúng ta gán các nghĩa riêng cho ký hiệu vị từ sum và ký hiệu hàm s. Nghĩa là sum(X,Y,Z) đúng khi Z là tổng của X và Y, trong khi đó s(X) là số nguyên đi sau X, nghĩa là số nguyên lớn hơn X một giá trị. Do đó các qui tắc: sum(X,0,X). sum(X,s(Y),s(Z)):-sum(X,Y,Z). nói rằng X+0=X và khẳng định nếu X+Y = Z thì X+(Y+1)=Z+1. Chúng ta thường xuyên quan tâm đến các qui tắc logic diễn tả các thông tin về dữ liệu trong CSDL. Nên nhận xét sự giống nhau giữa khái niệm vị từ và các đối của nó với tên quan hệ và các thuộc tính của nó. Nghĩa là chúng ta có thể xem một vị từ là đúng đối với những đối nếu và chỉ nếu những đối này tạo ra một bộ quan hệ tương ứng. Giả sử chúng ta có một tập tin EMPLOYEES với những trường hợp sau: EMPLOYEES(NAME,DEPT,SALARY,ADDRESS) HVTH: NGUYỄN THỊ NAM Trang 4 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Và chúng ta muốn phần lớn nhân viên có quyền truy xuất các trường ngoại trừ trường SALARY. Trong ngôn ngữ SQL, chúng ta có thể định nghĩa khung nhìn SAFE-EMPS như sau: CREATE VIEW SAFE-EMPS BY SELECT NAME,DEPT,ADDRESS FROM EMPLOYEES; Nghĩa là khung nhìn SAFE-EMPS có chứa trường NAME,DEPT,ADDRESS của tập tin EMPLOYEES nhưng không có trường SALARY, SAFE-EMPS có thể được coi như một quan hệ được khai báo như sau: SAFE-EMPS(NAME,DEPT,ADDRESS) Và chúng ta cũng có thể định nghĩa khung nhìn SAFE-EMPS bằng qui tắc logic sau: safe-emps(N,D,A):-employees(N,D,S,A) Để diễn tả qui tắc trên, chúng ta phải nhớ rằng EMPLOYEES có 4 trường hợp: NAME, DEPT, SALARY, ADDRESS. Qui tắc nói rằng với mọi nhân viên, tên nhân viên N, phòng làm việc D, và địa chỉ A là một sự kiện của vị từ safe-emps nếu tồn tại một giá trị lương S sao cho ( N, D, S, A) là một sự kiện của vị từ employees. Chú ý rằng nói chung một biến như S xuất hiện ở vế phải nhưng không có ở vế trái của ký hiệu :- đều được xử lý như một lượng từ tồn tại; một cách không hình thức, khi đọc qui tắc chúng ta “tồn tại S” sau khi đọc “nếu tương ứng với ký hiệu : Làm thế nào để diễn tả thông tin về dữ liệu theo logic ? Giả sử rằng chúng ta có quan hệ EMPLOYEES với các thuộc tính duy nhất là NAME và DEPT. Chúng ta cũng sử dụng quan hệ DEPARTMENTS với các thuộc tính DEPT và MANAGER, thì có thể định nghĩa vị từ manager(E,M) với ý nghĩa trực quan là trưởng phòng M quản lý nhân viên E bằng cách: manager(E,M):-employees(E,D)&departments(D,M). (1) nghĩa là (E,M) là một sự kiện của manages nếu tồn tại một phòng ban D sao cho (E,D) là một sự kiện của employees và (D,M) là một sự kiện của departments. Về bản chất, chúng ta đã dùng qui tắc logic trên để tạo ra khung nhìn manages trông giống như một quan hệ với các thuộc tính name và manager. Các câu vấn tin được trình bày trong ví dụ 1 là tìm trưởng phòng của Clark Kent có thể được diễn tả theo khung nhìn này hết sức đơn giản: manages(‘Clark Kent’,X) (2) HVTH: NGUYỄN THỊ NAM Trang 5 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Các giá trị của X làm cho (2) đúng được tìm ra bằng thuật toán mà bản chất giống như thuật toán trong ví dụ 1, nhưng qui tắc (1) đóng vai trò quan trọng trong việc cho phép hệ thống diễn giải ý nghĩa của câu vấn tin. Theo nghĩa ít chặt chẽ hơn, chúng ta có thể giả sử rằng (1) biểu diễn tri thức về mối liên hệ manages. 1.2 KHẢ NĂNG DIỄN ĐẠT CỦA LOGIC Ngôn ngữ SQL và DML không đủ mạnh để tính các bao đóng bắc cầu như hệ thống phân cấp quản lý. Các qui tắc logic sử dụng các ký hiệu hàm có tất cả khả năng của một máy Turing; nghĩa là chúng có thể diễn tả một phép tính bất kỳ được viết bằng ngôn ngữ lập trình thông thường.Thậm chí các qui tắc không dùng đến các ký hiệu hàm được gọi là datalog, cũng có khả năng diễn tả các phép tính hơn cả khả năng của DML. Giả sử chúng ta có một quan hệ (hoặc vị từ) manages(E,M), nhận giá trị đúng khi nhân viên E chịu sự quản lý trực tiếp của trưởng phòng M. Chúng ta có thể định nghĩa một vị từ khác là boss(E,B), nhận giá trị đúng khi B là xếp của E, hoặc xếp gián tiếp của B, tức là boss là bao đóng bắc cầu(transitive closure) của manages. Vị từ boss có thể được diễn tả theo mệnh đề Horn như sau:  boss(E,M):-manages(E,M).  boss(E,M):-boss(E,N)& manages(N,M). Trên đây là một ví dụ điển hình về việc sử dụng các qui tắc logic một cách đệ qui, nghĩa là nó được dùng để định nghĩa một vị từ như boss theo chính nó, để xác nhận rằng tập các qui tắc logic định nghĩa một điều gì đó, chúng ta cần phải hình thức hóa ý nghĩa của các qui tắc. Trước tiên chúng ta phải chứng minh rằng nếu các qui tắc (1) và (2) cho boss(E,M) đúng thì M thực sự là xếp của E. Chúng ta phải chứng minh rằng có một dây chuyền quản lý từ E đến M, hay nói cách khác là một chuỗi hai hoặc nhiều cá thể c 1 ,…c n trong đó E=c 1 , M=c n và vị từ manages(c i ,c i+1 ) là đúng đối với mọi i thỏa 1<=i<n. Nếu chúng ta xác định boss(E,M) đúng bằng qui tắc (1)thì manages(E,M) phải đúng, do vậy chắc chắn M là xếp nào đó của E, nghĩa là có một dây chuyền quản lý với n=2. Nếu không thì chúng ta phải xác định boss(E,M) đúng bằng qui tắc (2). Khi đó phải có một cá thể N sao cho sự kiện boss(E,N) được xác định là đúng (vì vậy N thuộc dây chuyền quản lý ở trên E), và sự kiện manages(N,M) cũng vậy. Thế thì M phải thuộc dây chuyền quản lý ở trên E nên suy diễn của chúng ta về boss(E,M) là đúng. Ngược lại chúng ta phải chứng minh rằng khi M thuộc dây chuyền quản lý ở trên E thì chúng ta có thể suy ra boss(E,M) đúng.Ta dùng phép qui nạp trên chiều dài của HVTH: NGUYỄN THỊ NAM Trang 6 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui dây chuyền quản lý E=c 1 ,…,c n =M. Trường hợp cơ bản n=2, nếu M là xếp trực tiếp của E thì chúng ta có thể suy ra kết quả bằng qui tắc (1). Nếu có một chuỗi dài hơn từ E đến M, gọi là: E=c 1 ,…,c n =M Thì theo giả thiết qui nạp, chúng ta có thể suy ra boss(E,c n-1 ) và manages(c n-1 ,M) đều đúng do đó chúng ta có thể dùng qui tắc (2) để suy ra boss(E,M) đúng. HVTH: NGUYỄN THỊ NAM Trang 7 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui PHẦN II NGỮ NGHĨA CỦA CÁC QUI TẮC LOGIC Có ba cách khác nhau để xác định ngữ nghĩa của các qui tắc. Trong những trường hợp đơn giản như trên, tất cả các phương pháp đều cho ra cúng một kết quả. Khi cho phép sử dụng nhiều loại qui tắc phức tạp hơn, bởi vì các qui tắc logic, vốn có bản chất khai báo, chỉ xác định các đặc tính của câu trả lời. Trong những trường hợp khó, không có gì đảm bảo rằng chỉ có một câu trả lời duy nhất được tạo ra, hoặc cũng không đảm bảo tìm được một cách nào đó hợp lý để biến đổi chương trình khai báo thành một chuỗi các bước cho phép “tính” được câu trả lời. 2.1 PHÉP DIỄN GIẢI QUI TẮC THEO LÝ THUYẾT CHỨNG MINH Đây là một trong ba phép diễn giải (interpretation hay còn gọi là thể hiện ND) cho các qui tắc logic, là phép diễn giải theo tiên đề được sử dụng trong một phép chứng minh. Nghĩa là từ những sự kiện trong CSDL, chúng ta đi tìm những sự kiện có thể chứng minh được bằng cách sử dụng các qui tắc theo mọi cách khả hữu. Phép diễn giải này chính là điều chúng ta đã đưa ra trong các qui tắc của ở phần ví dụ trên trong đó đã trình bày sự kiện boss có thể chứng minh được từ các qui tắc (1) và (2), cùng với tập các sự kiện manages đã biết, chúng chính là điều chúng ta mong muốn nếu boss được diễn giải như là “ một vị trí trong hệ thống phân cấp quản lý”. Trong những trường hợp đơn giản như ví dụ trên là trường hợp tất cả các tiên đề đều có dạng if…then và không có phép phủ định trong các qui tắc hoặc các sự kiện, cho thấy rằng tất cả các sự kiện suy ra được nhờ qui tắc này đều có thể suy ra được bằng cách áp dụng các qui tắc giống như chúng ta đã thực hiện trong ví dụ đó. Như vậy chúng ta chỉ sử dụng các qui tắc bằng cách thay thế các sự kiện đã được chứng minh hoặc đã cho trước vào vế phải rồi chứng minh các sự kiện ở vế trái. Chú ý rằng nếu có phép phủ định ở các tiên đề hoặc các sự kiện thì khẳng định vừa nêu là sai, thí dụ nếu chúng ta có qui tắc q:- p và sự kiện phủ định ¬q, chúng ta có thể suy ra ¬p bằng cách áp dụng qui tắc theo chiều ngược lại, nghĩa là cho vế trái sai thì kết luận rằng vế phải cũng sai. Tuy nhiên khi có phép phủ định, tập các sự kiện có thể chứng minh được thường không phải là các sự kiện mà theo trực quan chúng ta muốn cho là ý nghĩa của các qui tắc logic. Vì vậy mà ở đây chúng ta sẽ định nghĩa “ ý nghĩa theo lý thuyết chứng minh” của tập các qui tắc là tập các sự kiện có thể suy diễn được từ các sự kiện cho trước hoặc từ các sự kiện có sẵn trong CSDL bằng cách chỉ sử dụng các qui tắc theo chiều “đi tới”, nghĩa là bằng cách suy ra vế trái (kết luận) từ vế phải (giả thiết). HVTH: NGUYỄN THỊ NAM Trang 8 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui 2.2 PHÉP DIỄN GIẢI CÁC QUI TẮC THEO LÝ THUYẾT MÔ HÌNH Phép diễn giải của một tập các vị từ sẽ gán tính chân thực (đúng hoặc sai) cho mỗi tình huống có thể có của các vị từ này, trong đối của các vị từ được chọn ra từ một miền vô hạn các hằng. Thông thường một phép diễn giải được biểu diễn bằng một tập các tình huống “đúng” của nó. Để là một mô hình của một tập các qui tắc, một phép diễn giải phải làm cho các qui tắc đúng với mọi phép gán giá trị cho các biến trong mỗi qui tắc được lấy từ miền giá trị đã cho. Xét các qui tắc:  p(X) :- q(X).  q(X) :- r(X). giả sử miền đang xét là các số nguyên. Các qui tắc này khẳng định với một số nguyên nào đó, khi r đúng thì q đúng và khi q đúng thì p cũng đúng. Một mô hình khả hữu mà chúng ta gọi là M 1 : cho r(1), q(1), p(1), q(2), p(2) và p(3) tất cả đều đúng, đồng thời cho p,q,r sai với tất cả các đối khác. Để chứng minh M 1 là một mô hình, chú ý rằng khi thay X=1 ở (1), cả giả thiết và kết luận đều đúng. Vì vậy khẳng định “ if q(1) then p(1)” cũng đúng. Tương tự như thế khi thay X=2 thì (1) đúng, nhưng (2) thì giả thiết sai còn kết luận đúng. Đó là một cách khác làm cho khẳng định if … then đúng. Vì vậy qui tắc (2) lại được thỏa. Chúng ta cũng thu được kết quả tương tự kh thay X=3 trong qui tắc (1). Khi thay thế X=3 trong qui tắc (2), hoặc thay các giá trị khác với giá trị 1,2,3 vào một trong hai qui tắc, chúng ta có tình huống giả thiết và kết luận đều sai, nhưng khẳng định if… then vẫn đúng. Như thế với mọi phép thay thế chúng ta luôn thu được các khẳng định đúng, do đó đây thật sự là một mô hình. Ngược lại nếu cho r(1) là đúng và cho cả ba vị từ đều sai đối với tất cả các giá trị khác thì chúng ta không tạo ra được mô hình. Lý do là khi thay X=1 trong qui tắc 2, chúng ta được một giả thiết đúng và một kết luận sai. Đó là một tổ hợp làm cho khẳng định if … then sai. Khi sử dụng các qui tắc định nghĩa các phép toán trên CSDL, sẽ có một tình huống của một vị từ CSDL là đúng nếu và chỉ nếu quan hệ tương ứng lưu tình huống đó như là một bộ. Sau đó chúng ta mở rộng CSDL thành một mô hình theo tất cả các vị từ và chúng ta có thể xem mô hình như thế là một thế giới khả hữu được định nghĩa bằng các qui tắc. HVTH: NGUYỄN THỊ NAM Trang 9 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Trong ví dụ trên, chúng ta có thể giả sử rằng r là một vị từ CSDL, trong khi đó p và q được định nghĩa theo r. Giả sử rằng r(1) đúng, đồng thời r(X) sai với X khác 1, như thế M 1 ={ r(1), q(1), p(1), q(2), p(2), p(3)} được mô tả trong ví dụ trên là một thế giới khả hữu phù hợp với CSDL này. Tuy nhiên còn một mô hình khác cũng phù hợp là M 2 = { r(1), q(1), p(1)}, trong đó p(1), q(1), r(1) đúng và tất cả các trường hợp khác đều sai; sự thực có một số vô hạn các mô hình phù hợp với CSDL chỉ có r(1) đúng. M 2 đặc biệt bởi vì nó là một mô hình cực tiểu (minimal model); theo nghĩa là có thể làm một sự kiện đúng trong mô hình trở thành sai mà vẫn có một mô hình phù hợp với CSDL {r(1)}. Chú ý rằng M 1 không có đặc tính này. Chẳng hạn chúng ta có thể biến đổi p(3) từ đúng thành sai trong M 1 và kết quả vẫn là một mô hình. Hơn nữa M 2 là một mô hình cực tiểu duy nhất phù hợp với CSDL {r(1)}. Mô hình này cũng là cũng là mô hình chúng ta nhận được nếu dùng định nghĩa lý thuyết chứng minh của ý nghĩa các qui tắc. Đó là, khởi đầu với các qui tắc (1) và (2) của ví dụ và một sự kiện r(1) đúng , chúng ta có thể chứng minh q(1), p(1) đúng và không còn những tình huống nào khác. Tổng quát, sự trùng hợp ngẫu nhiên này sẽ được coi là đúng đối với các qui tắc datalog nếu chúng không chứa phép phủ định. Khi xem phép phủ định như một phép toán, thì ở đó không cần phải có mô hình cực tiểu duy nhất và không một mô hình cực tiểu nào cần phải tương ứng với tập sự kiện mà chúng ta có thể chứng minh được từ các qui tắc. Đối với một số qui tắc, chúng ta có thể giải quyết vấn đề này bằng cách định nghĩa một mô hình cực tiểu, nhưng nói chung với các qui tắc khá phức tạp sẽ mau chóng làm vấn đề trở nên khó hiểu. 2.3 XÁC ĐỊNH Ý NGHĨA BẰNG TÍNH TOÁN Cách thứ ba để định nghĩa ý nghĩa của các qui tắc logic là đưa ra một thuật toán và cho thực hiện nhằm xác định tính chân thực của một sự kiện ẩn (là vị từ có các đối và các hằng). Chẳng hạn Prolog định nghĩa ý nghĩa các qui tắc bằng cách xử dụng một thuật toán đặc biệt để tìm ra phép chứng minh các sự kiện ẩn. Tuy nhiên tập các sự kiện mà prolog tìm được phép chứng minh theo cách này không nhất thiết phải là tập tất cả các sự kiện mà một phép chứng minh có thể chứng minh được. Và tập các sự kiện được Prolog chứng minh đúng cũng không nhất thiết phải là một mô hình. Tuy nhiên trong nhiều trường hợp thông thường Prolog sẽ thành công và tạo ra một mô hình cực tiểu duy nhất cho một tập các qui tắc khi các qui tắc này được “chạy” như một chương trình Prolog. HVTH: NGUYỄN THỊ NAM Trang 10 [...]... HVTH: NGUYỄN THỊ NAM Trang 18 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui định rằng y có giới hạn nhờ đích con thứ ba Khi tất cả các biến đều có giới hạn qui tắc là an toàn Nếu cho p là quan hệrõ ràng nó hữu hạn nếu quan hệ tương ứng với q hữu hạn HVTH: NGUYỄN THỊ NAM Trang 19 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui... parent(X,Y),parent(Y,Z) X = nera, Y = ken, Z = twen HVTH: NGUYỄN THỊ NAM Trang 27 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui TÀI LIỆU THAM KHẢO [1] Jeffrey D Ulman, biên dịch Trần Đức Quang (2002), Nguyên lý các hệ CƠ SỞ DỮ LIỆU và CƠ SỞ TRI THỨC, tập I , NXB Thống kê [2] PGS.TS ĐỖ PHÚC(2012), Bài giảng cơ sở dữ liệu suy diễn, Khoa CNTT, Đại học quốc gia TP Hồ Chí Minh [2]Kenneth... nó với một ý nghĩa tính toán thích hợp HVTH: NGUYỄN THỊ NAM Trang 11 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui PHẦN III MÔ HÌNH DỮ LIỆU DATALOG Thuật ngữ datalog được tạo ra với mục đích xem đây là một phiên bản của Prolog dành cho các hệ thống CSDL Nó khác với Prolog ở nhiều điểm: 1) 2) Datalog không cho phép dùng những ký hiệu hàm trong các đối, chẳng hạn... IDB chứ không biểu thị được cả hai Trong mô hình quan hệ, tất cả các quan hệ đều là EDB Khả năng tạo ra các khung nhìn trong mô hình quan hệ thì tương tự như khả năng định nghĩa quan hệ IDB trong Datalog 3.2 CÔNG THỨC NGUYÊN TỬ HVTH: NGUYỄN THỊ NAM Trang 12 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Các chương trình Datalog được xây dựng từ những công thức nguyên... sau cùng là một chu trình cho biết chương trình logic này thuộc loại đệ qui Các cung còn lại được mô tả bởi các qui tắc (4) – (6) HVTH: NGUYỄN THỊ NAM Trang 16 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui related parent cousin Hình 3.1: Đồ thị phụ thuộc sibling Trong hình trên có hai chu trình, một chu trình chỉ có cousin và chu trình khia chỉ có related Vì vậy.. .Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Kết luận: Vậy ý nghĩa nào là đúng nhất với một chương trình logic ? một nhà logic học sẽ không coi trọng ý nghĩa tính toán của các qui tắc, nhưng vì mong muốn cài đặt các hệ thống cơ sở tri thức, việc tính toán có hiệu quả là việc quan trọng Không thể... thể chứng minh được từ CSDL và mô hình cực tiểu duy nhất của các qui tắc DEMO CHƯƠNG TRÌNH XÂY DỰNG CÂY GIA HỆ SỬ DỤNG CÁC LUẬT KHÔNG ĐỆ QUI CHƯƠNG TRÌNH PROLOG NHƯ SAU: parent(nera,ken) parent(elizabert,ron) parent(ken,twen) parent(ron,twen) parent(skely,chanece) parent(charon,chanece) HVTH: NGUYỄN THỊ NAM Trang 26 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui... includes(X,Item,X) biểu diển quan hệ là các bộ có mã số đơn đặt hàng bằng với số lượng hàng được đặt HVTH: NGUYỄN THỊ NAM Trang 13 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Mặc dù không đặt tên cho các thuộc tính trong mô hình datalog, việc chọn một tên cho biến như Address gợi nhớ được ý nghĩa của chúng Tuy nhiên cũng giống như trong đại số quan hệ, chúng... tắc của nó Thuật toán 4.3 : ước lượng các qui tắc không đệ qui bằng các phép toán đại số quan hệ Nhập: Một chương trình Datalog không đệ qui và một quan hệ cho mỗi vị từ EDB hiện diện trong chương trình HVTH: NGUYỄN THỊ NAM Trang 24 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Xuất: đối với mỗi vị từ IDB p, cho ra biểu thức đại số quan hệ biểu diễn một quan hệ cho... tương ứng với HVTH: NGUYỄN THỊ NAM Trang 17 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui các quan hệ hữu hạn Theo giả thiết này chúng ta cần đảm bảo rằng mỗi biến X đều có một tập hữu hạn các giá trị V x sao cho trong các phép gán giá trị cho các biến làm cho phần thân đúng, giá trị của X phải có nguồn gốc từ V x Một cách hình thức chúng ta định nghĩa các biến gọi . Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui Lời mở đầu  Mô hình cơ sở dữ liệu là một trong những lĩnh vực nổi. hợp HVTH: NGUYỄN THỊ NAM Trang 11 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui PHẦN III MÔ HÌNH DỮ LIỆU DATALOG Thuật ngữ datalog được tạo ra với mục đích. NAM Trang 2 Tiểu luận môn Cơ Sở Dữ Liệu Nâng Cao: Mô hình dữ liệu Datalog với luật không đệ qui PHẦN I CÁC HỆ THỐNG CƠ SỞ TRI THỨC Tri thức là một khái niệm được định nghĩa một cách hình thức,

Ngày đăng: 10/04/2015, 14:35

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

Tài liệu liên quan