1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu lý thuyết xây dựng cơ sở dữ liệu suy diễn và ngôn ngữ datalog

75 728 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 1,19 MB

Nội dung

Chương 1: Logic và cơ sở dữ liệu Trình bày các khái niệm cơ sở của logic bậc một – ngôn ngữ nền tảng để biểu diễn một cơ sở dữ liệu logic, các tính toán bộ và tính toán miền là các hình

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Doãn Thị Thúy Hiền

NGHIÊN CỨU

LÝ THUYẾT XÂY DỰNG CƠ SỞ DỮ LIỆU SUY

DIỄN VÀ NGÔN NGỮ DATALOG

Ngành: Công nghệ thông tin

Mã số: 1.01.10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Nguyễn Tuệ

Trang 3

MỤC LỤC

MỞ ĐẦU 1

DANH MỤC CÁC THUẬT NGỮ 7

CÁC HÌNH VẼ 8

CHƯƠNG I: LOGIC VÀ CƠ SỞ DỮ LIỆU 9

1.1 Mở đầu 9

1.2 Logic bậc một 10

1.2.1 Cú pháp của logic bậc một 10

1.2.2 Ngữ nghĩa của logic vị từ bậc một 12

1.2.3 Các dạng mệnh đề của các công thức đóng 14

1.3 Cơ sở dữ liệu logic 18

1.3.1 Biểu diễn các sự kiện 18

1.3.2 Các truy vấn và các ràng buộc toàn vẹn 21

1.4 Tính toán miền 21

1.4.1 Các nguyên tắc cơ bản 21

1.4.2 Một số ví dụ về tính miền 22

1.5 Tính toán các bộ 23

1.5.1 Nguyên tắc tính bộ 24

1.5.2 Một số ví dụ về tính bộ 24

1.6 Các kỹ thuật suy diễn 26

1.6.1 Nguyên lý của một thuật toán suy diễn 26

1.6.2 Thuật toán hợp 29

1.6.3 Phương pháp giải 29

1.7 Kết luận 32

CHƯƠNG II: CƠ SỞ DỮ LIỆU SUY DIỄN 33

2.1 Mở đầu 33

2.2 Các vấn đề của hệ quản trị cơ sở dữ liệu suy diễn 33

2.2.1 Ngôn ngữ quy tắc (luật) 34

Trang 4

2.2.2 Mắc nối hoặc tích hợp 35

2.2.3 Vị từ mở rộng và vị từ mục tiêu 37

2.2.4 Kiến trúc kiểu của một Hệ quản trị CSDL tích hợp 38

2.3 Ngôn ngữ DATALOG 40

2.3.1 Cú pháp của DATALOG 40

2.3.2 Ngữ nghĩa của DATALOG 47

2.3.2.1 Lý thuyết chứng minh 47

2.3.2.2 Lý thuyết mô hình 49

2.3.2.3 Lý thuyết điểm cố định 50

2.3.2.4 Sự trùng hợp của các ngữ nghĩa 53

2.4 Sự mở rộng của DATALOG 54

2.4.1 Giả thuyết thế giới đóng 55

2.4.2 Phủ định trong thân của các quy tắc 56

2.4.3 Phủ định trong đầu quy tắc và cập nhật 59

2.5 Tính giá trị của các truy vấn DATALOG 60

2.5.1 Thực hiện dưới lên 60

2.5.2 Thực hiện trên xuống 62

2.6 Đồ thị phụ thuộc vị từ (Predicate dependency graph): 64

2.7 Tính giá trị các quy tắc đệ quy 66

2.7.1 Chiến lược ngây thơ (Naive strategy): 66

2.7.2 Chiến lược bán ngây thơ ( Seminaive strategy): 70

2.8 Kết luận chương 74

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

Trang 5

MỞ ĐẦU

Cơ sở dữ liệu quan hệ cho phép tiếp nhận, lưu trữ và xử lý một lượng

dữ liệu lớn Việc nghiên cứu cơ sở dữ liệu quan hệ đã đạt được nhiều thành công, có nhiều đóng góp lớn trong việc quản lý Tuy nhiên, ngoài việc tiếp nhận, lưu trữ và xử lý dữ liệu, người ta cần một loại cơ sở dữ liệu có khả năng suy luận ra các thông tin từ các dữ liệu được lưu giữ Cơ sở dữ liệu suy diễn đáp ứng được yêu cầu ấy Ngoài việc lưu trữ các thông tin một cách rõ ràng theo kiểu cơ sở dữ liệu quan hệ, cơ sở dữ liệu suy diễn còn lưu giữ các luật có khả năng suy diễn dựa trên các dữ liệu đã lưu

Cơ sở dữ liệu suy diễn là sản phẩm tự nhiên của lập trình logic, trong

đó logic toán được sử dụng cho các khái niệm tính toán mô hình trực tiếp

Kỹ thuật cơ sở dữ liệu suy diễn được ứng dụng nhiều trong các hệ hỗ trợ quyết định, và các hệ chuyên gia Cùng với các kỹ thuật phát triển cơ sở dữ liệu quan hệ, điều cơ bản này trong logic có nghĩa là cơ sở dữ liệu suy diễn

có khả năng lưu một lượng lớn thông tin cũng như việc thực hiện suy diễn trên các thông tin đó

Có rất nhiều lĩnh vực ứng dụng kỹ thuật cơ sở dữ liệu suy diễn, như hệ

hỗ trợ quyết định, các hệ chuyên gia Nó cho phép phân tích một lượng lớn các dữ liệu, đưa ra các suy luận cho tương lai

Việc nghiên cứu cơ sở dữ liệu suy diễn được thực hiện trên thế giới từ những năm 80 của thế kỷ trước, nhưng ở nước ta cho đến hiện nay vẫn còn rất ít những nghiên cứu về nó Việc tìm hiểu cơ sở về cơ sở dữ liệu suy diễn

và các ứng dụng của nó là một vấn đề có ý nghĩa lý thuyết và thực tiễn Với

lý do đó em chọn đề tài nghiên cứu luận văn là:

“ Nghiên cứu lý thuyết xây dựng cơ sở dữ liệu suy diễn và ngôn ngữ Datalog ”

Luận văn gồm hai chương:

Trang 6

Chương 1: Logic và cơ sở dữ liệu

Trình bày các khái niệm cơ sở của logic bậc một – ngôn ngữ nền tảng

để biểu diễn một cơ sở dữ liệu logic, các tính toán bộ và tính toán miền là các hình thức hoá logic của các ngôn ngữ truy vấn các cơ sở dữ liệu quan hệ

Chương 2: Cơ sở dữ liệu suy diễn

Trình bày về ngôn ngữ các quy tắc trong cơ sở dữ liệu suy diễn, vấn đề phân chia hay tích hợp một động cơ suy diễn với một hệ quản trị cơ sở dữ liệu Chương này cũng trình bày về ngôn ngữ Datalog, cú pháp, ngữ nghĩa,

sự mở rộng của Datalog, vấn đề tính giá trị của các truy vấn Datalog cũng như vấn đề tính giá trị của các quy tắc đệ quy

Do việc nghiên cứu ở nước ta còn ít, việc tìm kiếm và tham khảo tài liệu có khó khăn và trình độ của em còn nhiều hạn chế nên chắc chắn luận văn còn nhiều thiếu sót Em rất mong được các thầy giáo và các bạn thông cảm và giúp đỡ để em có thể phát triển luận văn của mình hoàn thiện hơn, có nhiều ứng dụng thực tiễn hơn

Trang 7

DANH MỤC CÁC THUẬT NGỮ

Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt Database Cơ sở dữ liệu CSDL First-order logic Logic bậc một

Predicate dependency graph Đồ thị phụ thuộc vị từ

Domain of discourse Miền thảo luận

Domain relational calculus Tính toán quan hệ miền

Tuple relational calculus Tính toán quan hệ bộ

literal trực trị

Extensional DataBase Cơ sở dữ liệu mở rộng EDB Intensional Database Cơ sở dữ liệu mục đích IDB Closed world assumption Giả thuyết thế giới đóng

DataBase Management

System Hệ quản trị cơ sở dữ liệu DBMS

Trang 8

CÁC HÌNH VẼ

Hình 1.1 27

Hình 2.1 32

Hình 2.2 33

Hình 2.3 35

Hình 2.4 36

Hình 2.5 44

Hình 2.6 61

Hình 2.7 65

Hình 2.8 69

Trang 9

CHƯƠNG I: LOGIC VÀ CƠ SỞ DỮ LIỆU

1.1 Mở đầu

Về lịch sử, các nhà nghiên cứu đã cố gắng mô hình hoá các ngôn ngữ truy vấn cơ sở dữ liệu thông qua logic Các tính toán quan hệ được sinh ra như vậy là các ngôn ngữ truy vấn dựa trên logic bậc một Từ cuối những năm 70 người ta đã tìm cách hiểu một cách toàn cục về các cơ sở dữ liệu thông qua logic Điều đó cho phép chỉ ra rằng một hệ quản trị cơ sở dữ liệu

là một chứng minh của các lý thuyết rất cụ thể, lý luận trên các sự kiện (fact) và cho các chứng minh của lý thuyết biểu diễn câu hỏi

Các công trình ban đầu trong các hệ quản trị cơ sở dữ liệu suy luận bao gồm không chỉ là các sự kiện mà còn bao gồm cả các quy tắc (rule) suy diễn được diễn đạt theo logic bậc một xuất hiện ở CERT (Toulouse) vào cuối thập kỷ 70-80 Các công trình này tập trung vào việc hiểu các cơ sở dữ liệu suy diễn thông qua logic Để cho phép quản trị các cơ sở kiến thức lớn ( hàng nghìn luật kết hợp với hàng triệu hàng tỷ sự kiện), các vấn đề nghiên cứu đầy đủ đã được giải quyết Các vấn đề này nằm ở giao điểm của các cơ

sở dữ liệu và trí tuệ nhân tạo và biểu thị các khía cạnh vừa lý thuyết, vừa thực tiễn Từ quan điểm lý thuyết, các tiếp cận thông qua logic cho phép hiểu tốt hơn các ngôn ngữ của hệ quản trị cơ sở dữ liệu, các cơ cấ u lý luận ở dưới và các kỹ thuật tối ưu Từ quan điểm thực tiễn, sự phát triển của hệ quản trị cơ sở dữ liệu dựa trên logic hỗ trợ sự suy diễn dẫn đến các nguyên mẫu thao tác

Chương này trước tiên trình bày nhập môn về các khái niệm cơ bản của logic cần thiết để hiểu tốt cơ sở dữ liệu Một cơ sở dữ liệu logic được xem như là một thể hiện của một ngôn ngữ logic Đó là một tập hợp các sự kiện được liệt kê trong các bảng Chương này cũng trình bày các ngôn ngữ logic truy vấn các cơ sở dữ liệu, đó là các tính toán miền và bộ Chung là một sự hình thức hoá các ngôn ngữ của các cơ sở dữ liệu quan hệ

Trang 10

1.2 Logic bậc một

1.2.1 Cú pháp của logic bậc một

Logic bậc một ( first-order logic), còn đƣợc gọi là phép tính vị từ, nó đóng vai trò quan trọng trong việc biểu diễn tri thức, là một ngôn ngữ hình thức đƣợc sử dụng để biểu diễn các thuộc tính của các đối tƣợng, quan hệ giữa các đối tƣợng và để suy diễn các quan hệ mới từ các quan hệ đã biết

Nó cũng có thể đƣợc xem nhƣ một hình thức đƣợc sử dụng để dịch các câu

và suy diễn ra các câu mới từ các câu đã biết

Logic bậc một dựa trên một bảng ký tự sử dụng các ký hiệu sau:

g Các dấu mở ngoặc „(„ và đóng ngoặc „)‟

Các quy tắc cú pháp đơn giản cho phép xây dựng các công thức Một hạng (term) đƣợc định nghĩa một cách đệ quy nhƣ là một biến, một hằng hoặc là kết quả của việc áp dụng một hàm vào một hạng

Ví dụ1.1: Cho x là một biến, a là một hằng, f là một hàm thì x, a, f(x) và f(f(x)) là các hạng

Một công thức tốt (WFF-Well Formed Formular) của một phép tính vị từ

là bất kỳ công thức nào bao gồm các lƣợng từ đƣợc kết hợp bởi các toán tử kết nối logic và các định lƣợng logic đƣợc kết hợp với tên biến, theo qui tắc:

Trang 11

a Nếu P là một vị từ có n đối, và t1, t2,…., tn là các hạng thìP(t1,t2,….,tn) là một công thức nguyên tử

b Nếu F1, F2 là các công thức, khi đó F1 F2, F1F2, F1F2, F1F2 và F2là các công thức

c Nếu F là một công thức và xlà một biến không bị ràng buộc bởi các định lượng (được gọi là biến tự do) trong F, khi đó x F và x F

là các công thức

Để chỉ ra mức ưu tiên giữa các phép kết nối logic, có thể sử dụng các dấu ngoặc: Nếu F là một công thức đúng thì (F) cũng đúng Để tránh các dấu ngoặc trong một số trường hợp đơn giản, ta sử dụng mức ưu tiên của các phép toán logic theo thứ tự giảm dần như sau: , , , 

Ví dụ 1.2: Dưới đây là một số ví dụ về công thức hình thức:

Ví dụ 1.3: Dưới đây là các ví dụ về công thức gần với ngôn ngữ tự nhiên:

PHONG(Tinhoc, Nam)  NGUOILAM(Tinhoc, Mai)

x(LANHDAO(Nam,x)  NGUOILAM(Tinhoc,x)

 NGUOILAM(Taichinh,x))

Trang 12

xy(( LANHDAO(x,y)  LANHDAO(y,x)  CUNGPHONG(x,y)

1.2.2 Ngữ nghĩa của logic vị từ bậc một

Nói đến ngữ nghĩa của logic vị từ bậc một là chúng ta nói đến ý nghĩa của các công thức trong một thế giới thực nào đó mà ta gọi là một minh họa Một công thức có thể được giải thích như là một câu trên một tập hợp các đối tượng: có khả năng cho nó một ý nghĩa đối với tập hợp đối tượng này Để thực hiện được điều đó cần phải gán một đối tượng cụ thể với mỗi hằng hay mỗi ký hiệu hằng sẽ được gắn với một đối tượng cụ thể trong tập hợp các đối tượng Ví dụ, ta gán một đối tượng là phòng tin học của một công ty với hằng Tinhọc, nhân viên Mai gán với hằng Mai,v v

Tập hợp các đối tượng được xem xét được gọi là miền thảo luận; nó

được ký hiệu là D Mỗi hàm với n đối được giải thích như là một hàm từ Dn

vào D Một vị từ biểu diễn một quan hệ cụ thể giữa các đối tượng của D, nó

có thể nhận giá trị đúng hoặc sai Định nghĩa quan hệ này trở thành định nghĩa các bộ đối tượng thoả mãn vị từ Tập hợp các bộ thoả mãn vị từ tạo

thành mở rộng của nó

Khái niệm 1.1: Miền thảo luận ( Domain of Discourse)

Miền thảo luận là tập hợp các đối tượng mà trên đó một công thức logic nhận giá trị thông qua việc minh hoạ các hằng như là các đối tượng

cụ thể, các biến như là các đối tượng nào đó, các vị từ như là các quan hệ giữa các đối tượng và các hàm như là các hàm cụ thể giữa các đối tượng

Ví dụ 1.4 : Công thức :

xy((LANHDAO(x,y)  LANHDAO(y,x)  CUNGPHONG(x,y))

có thể được minh họa trên tập hợp người { Nam, Trung, Mai}, tạo ra một miền thảo luận LANHDAO có thể được giải thích như là một quan hệ hai ngôi “Là sếp của”; CUNGPHONGcó thể được giải thích như là một quan hệ

Trang 13

hai ngôi “ làm việc cùng phòng” Công thức là đúng nếu Nam, Trung và Mai làm việc cùng một phòng

Ví dụ 1.5 : Công thức x(x SUCC(x)) cho một miền thảo luận là vô hạn đối với minh hoạ của nó Thật vậy, công thức này có thể được minh hoạ trên tập hợp các số nguyên dương {1, 2, 3, ….}, là vô hạn Khi đó

„<‟ là quan hệ “là nhỏ hơn” và SUCC là hàm liên kết với mọi số nguyên tiếp theo sau của nó Do đó, công thức này đúng trên các số nguyên

Như vậy, cho trước một minh hoạ của một công thức trên một miền thảo luận, có thể liên kết một giá trị chân lý với một công thức Để tránh sự mập mờ (các công thức có thể có nhiều giá trị chân lý), chúng ta chỉ xem xét các công thức trong đó mọi biến đều bị ràng buộc bởi các định lượng, gọi là các công thức đóng Mọi công thức đóng F có một có một giá trị chân lý duy nhất đối với một dữ liệu minh hoạ trên một miền thảo luận D

Giá trị đó được ký hiệu là V(F)và tính toán như sau:

Một mô hình của một công thức logic là một minh hoạ trên một miền thảo luận mà miền đó làm cho công thức đúng Với ví dụ 1.5, các số nguyên là một mô hình đối với công thức x(x<SUCC(x)) với minh họa được chỉ ra như trên Thật vậy, bằng việc các quy tắc ở trên, ta tính:

V(x(x<SUCC(x)))= V(1<2)  V(2<3)  V(3<4) = TRUE

Trang 14

1.2.3 Các dạng mệnh đề của các công thức đóng

Mọi công thức đóng, nghĩa là với các biến định lượng, có thể làm đơn giản và được viết dưới dạng chính tắc không có các lượng hoá được gọi là dạng mệnh đề Dạng mệnh đề cần được viết công thức như là một tập hợp các mệnh đề

Khái niệm 1.2 Mệnh đề (Clause)

Các công thức có dạng P1 P2 ….Pn Q1 Q2 Qn, trong

đó Pi và Qj là các trực trị dương ( nghĩa là các vị từ nguyên tử không có dấu phủ định ở trước) được gọi là mệnh đề

Khái niệm 1.3 Mệnh đề Horn ( Horn clause)

Một mệnh đề chỉ có một trực trị nằm sau dấu kéo theo (ta nói là đầu của mệnh đề) nghĩa là chỉ một Qi được gọi là mệnh đề Horn:

LANHDAO(x,y)  CUNGPHONG(x,y)  YEU(x,y)

Hai công thức A và B được coi là tương đương ( ký hiệu A  B ) nếu chúng có cùng một giá trị chân lý trong mọi minh họa, ta có cá c công thức tương đương sau đây:

Trang 15

o A  B  A v B

o A  B  (A B)  (B  A)

o (A)  A Luật De Morgan:

o (A v B)  A  B

o (A  B)  A v B Luật giao hoán :

o A v B  B v A

o A  B  B  A Luật kết hợp:

o (A v B) v C  Av( B v C)

o (A  B)  C  A ( B  C) Luật phân phối:

o A  (B v C)  (A  B ) v (A  C)

o A v (B  C)  (A v B )  (A v C)

Sử dụng các phép biến đổi tương đương ta có thể chuyển đổi một công thức đóng sang dạng một mệnh đề Việc thực hiện được tiến hành bằng cách chuyển đổi liên tiếp như sẽ được mô tả sau đây , luận văn minh hoạ các chuyển đổi với công thức:

xy((LANHDAO(x,y) LANHDAO(y,x)  CUNGPHONG(x,y))

a Loại bỏ phép kéo theo: Điều đó được thực hiện một cách đơn giản bằng việc thay tất cả các biểu thức có dạng AB bằng AB Thật vậy, các biểu thức này là tương đương theo quan điểm logic Công thức được chọn trở thành:

xy((LANHDAO(x,y) LANHDAO(y,x)) CUNGPHONG(x,y))

b Làm giảm tầm các phủ định. Mục đích là làm cho các phủ định được áp dụng trực tiếp với các vị từ nguyên tử Để làm điều đó, người ta sử dụng theo cách lặp các chuyển đổi:

Trang 16

xy((LANHDAO(x,y)  LANHDAO(y,x))  CUNGPHONG(x,y))

c Đặt các dấu lượng từ cùng với biến định lượng lên đầu công thức.

Bước này có thể đặt lại tên các biến để tránh nhầm sự lượng hoá Ta có các công thức tương đương sau đây:

Ví dụ trên không thay đổi

d Loại bỏ các dấu lượng hoá Để đơn giản hơn nữa, các biến định lượng đang tồn tại được thay thế bằng một tham số hằng gọi là hằng Skolem Thật vậy, nếu tồn tại x thoả mãn một công thức, có thể chọn một hằng s ký hiệu giá trị này của x Nếu một biến được định lượng “với mọi” xuất hiện trước biến được định lượng “tồn tại”, hằng được chọn phụ thuộc vào biến thứ nhất

Ví dụ, trong trường hợp xy(với mọi x, tồn tại y, nhưng y phụ thuộc vào x) ta thay thế y bằng s(x), nghĩa là một hàm Skolem cụ thể hoá hằng y phụ thuộc vào x Như vậy có khả năng loại bỏ các biến định

Trang 17

lượng bởi “tồn tại” Sau biến đổi này, mọi biến còn lại được định lượng bởi “với mọi” Ta có thể không cần viết các dấu lượng hoá (nghĩa là ngần định các biến đều buộc với lượng tử )

Ví dụ trên trở thành:

(LANHDAO(x,s(x)) LANHDAO(s(x),x)) CUNGPHONG(x,s(x))

e Viết dưới dạng chuẩn hội Công thức còn lại là một tổ hợp với các kết nối “hoặc” và “và” của các trực trị âm hoặc dương (các vị từ nguyên tử

có dấu phủ định đi trước hay không) Nó có thể được viết như là một phép hội () của các phép tuyển () bằng cách phân phối các “và” đối với các

âm trước tiên bằng cách loại bỏ dấu phủ định và bằng cách nối chúng bằng

, sau đó viết các vị từ dương được nối bằng  Như vậy ta nhận được một dãy các mệnh đề, được định nghĩa như trên

Với công thức đã cho, ta nhận được hai mệnh đề (thậm chí là mệnh đề Horn):

LANHDAO(x,s(x))  CUNGPHONG(x,s(x))

LANHDAO(s(x),x)) CUNGPHONG(x,s(x))

Trang 18

1.3 Cơ sở dữ liệu logic

Khái niệm cơ sở dữ liệu logic được đưa ra ở Toulouse vào cuối thập kỷ

70 Ta định nghĩa ở đây cơ sở dữ liệu logic không suy diễn Đó là tiếp cận đơn giản đầu tiên các cơ sở dữ liệu thông qua logic Trong chương sau cách tiếp cận này có thể được mở rộng với sự suy diễn

1.3.1 Biểu diễn các sự kiện

Một cơ sở dữ liệu có thể được định nghĩa như là một sự giải thích (một minh hoạ) của một ngôn ngữ logic bậc một Trong thực tế, việc định nghĩa sự giải thích bao gồm việc định nghĩa các vị từ đúng Một ràng buộc toàn vẹn có thể được xem như một truy vấn luôn luôn đúng, và được biểu thị cùng với ngôn ngữ Ngôn ngữ cho phép biểu thị các truy vấn như vậy sẽ được trình bày dưới đây

Khái niệm 1.4: Cơ sở dữ liệu logic (Logic Database)

Cơ sở dữ liệu logic là tập hợp các sự kiện bao gồm sự giải thích của một ngôn ngữ bậc một cùng với nó có thể diễn đạt các truy vấn và các ràng buộc toàn vẹn trên các sự kiện

Trong tiếp cận đầu tiên, ngôn ngữ logic L không chứa các hàm Cụ thể hơn, L bao gồm:

a Các vị từ với n đối, mỗi đối tương ứng với một ki ểu dữ liệu cơ bản

b Các hằng, mỗi hàng với một giá trị có thể của các kiểu dữ liệu cơ bản

Giống như trong mọi minh hoạ của một ngôn ngữ logic, một vị từ biểu diễn một quan hệ cụ thể giữa các đối tượng của miền thảo luận, nó có thể đúng hoặc sai Ở đây các đối tượng của miền thảo luận là các giá trị có thể

có của cơ sở Định nghĩa quan hệ này trở thành định nghĩa các bản ghi hoặc các n-bộ thoả mãn vị từ Tập hợp các n-bộ thoả mãn vị từ tạo nên mở rộng của nó Sự mở rộng này có thể tương tự với một file trong một cơ sở mạng hoặc với một bảng quan hệ như chúng ta sẽ thấy về sau Để trở nên gắn bó

Trang 19

chặt chẽ với các cơ sở dữ liệu quan hệ mà chúng có thể nhận biết như sự giải thích (minh hoạ) đơn giản của các cơ sở dữ liệu logic, chúng ta gọi sự mở rộng của một vị từ là một bảng Mỗi một cột tương ứng với một đối và cũng được gọi là thuộc tính trong ngữ cảnh quan hệ

Như đã nói, một cơ sở dữ liệu logic có thể được bổ sung bởi các quy tắc suy diễn, khi đó nó được gọi là cơ sở dữ liệu suy diễn

Ví dụ 1.8 mô tả một cơ sở dữ liệu logic Trong thuật ngữ bảng, nó tương ứng với cơ sở được biểu diễn ở ví dụ1.9, bao gồm ba vị từ được định nghĩa như sau:

- SANPHAM với các thuộc tính Mã sản phẩm (MaSP), tên sản phẩm(TenSP), Số lượng trong kho (SL)và màu (MAU)

- BAN với các thuộc tính Mã số bán (MaB), tên khách hàng(TenKH), mã số của sản phẩm bán (MaSPB) số lượng sản phẩm bán(SLB)và ngày ban (NGB)

- MUA với các thuộc tính Mã số mua (MaM), ngày mua (NGM), mã

số của sản phẩm mua (MaSPM), số lượng sản phẩm mua (SLM), tên nhà cung cấp (TenNCC)

Như vậy, trên đây là các sự kiện dương, nghĩa là những đối tượng thoả

mãn một trong ba vị từ, được ghi vào cơ sở Điều này tạo nên giả thuyết thế giới đóng Các sự kiện không được ghi vào trong một mở rộng của vị từ

được giả thiết là sai

Ví dụ 1.8: Các sự kiện tạo nên một cơ sở dữ liệu logic

SANPHAM(100, BUTBI, 100, XANH) SANPHAM(200, BUPBE, 50, ĐO) SANPHAM(300, ÔTÔ , 70, VANG) SANPHAM(400, BÌA, 350, TIM) BAN(1, BAC, 100, 30, 08-03-1999)

Trang 20

BAN(2, NAM, 200, 10, 07-01-1999) BAN(3, DONG, 100, 50, 01-01-2000) BAN(4, DONG, 300, 50, 01-01-2000) MUA(1, 01-03-1999, 100,70, TAY) MUA(2, 01-03-1999, 200, 100, TAY) MUA(3, 01-09-1999, 100, 50, THIEN) MUA(4, 01-09-1999), 300, 50, THIEN)

Ví dụ 1.9: Các bảng biểu diễn một cơ sở dữ liệu logic:

Trang 21

1.3.2 Các truy vấn và các ràng buộc toàn vẹn

Các truy vấn và các ràng buộc toàn vẹn trên cơ sở khi đó có thể được diễn đạt như các công thức trong ngôn ngữ logic Tuy nhiên, chúng cần được

mở rộng để chứa các dấu của các phép toán so sánh số học {,  ,  , ,

 , } giống như các vị từ đặc biệt mà giá trị chân lý của chúng được tính toán thông qua các phép toán thông thường của máy tính

Trả lời cho một câu hỏi F(x1,x2,….,xn) trong đó x1,x2,…,xn là các biến tự do trong công thức F là tập hợp các n-bộ <e1,e2,….,en> sao choF(e1,e2,…,en) là đúng Một số các công thức phải luôn luôn đúng trên minh họa tạo nên cơ sở: đó là các ràng buộc toàn vẹn Khung nhìn logic của các cơ sở dữ liệu này sinh ra hai tính toán cho phép diễn đạt các truy vấn và các ràng buộc toàn vẹn trên các cơ sở: Tính toán miền và tính toán bộ Trong tính toán miền, các đối tượng của thể hiện logic là các giá trị nguyên tử của

dữ liệu; trong tính toán bộ, đó là các sự kiện phức hợp tương ứng với các n-bộ (hay các bộ) Luận văn xin trình bày các tính toán này dưới đây

1.4 Tính toán miền

Các tính toán quan hệ của miền và bộ cho phép diễn đạt các truy vấn nhờ các công thức của logic bậc một trên một cơ sở dữ liệu logic hoặc biểu diễn bảng của nó là một cơ sở dữ liệu quan hệ Chúng được sử dụng đ ể hình thức hoá các ngôn ngữ truy vấn đối với các cơ sở dữ liệu quan hệ

Trang 22

hoặc một hằng được sử dụng như là một đối của vị từ; như vậy các biến được định kiểu theo kiểu của đối mà chúng xuất hiện đối với nó

b Các vị từ so sánh giữa một biến và một hằng hoặc giữa hai biến được xây dựng nhờ các dấu toán tử { ,  ,  ,  , , }

Một truy vấn trong tính toán quan hệ của miền được viết dưới dạng sau:

F là một công thức logic được lập nên từ các vị từ mở rộng và vị từ so sánh; các biến kết quả x, y,… là các biến tự do trong F

Khái niệm sau đây tổng kết định nghĩa của tính toán miền:

Khái niệm 1.5: Tính toán quan hệ miền (Domain relational calculus)

Ngôn ngữ truy vấn dữ liệu hình thức cho phép diễn đạt các truy vấn từ các công thức thiết lập tốt mà mỗi biến của nó được giải thích ( minh họa) như sự biến đổi trên miền của một đối của một vị từ

1.4.2 Một số ví dụ về tính miền

Luận văn minh hoạ tính toán miền trên cơ sở logic được đưa ra ở trên, mô tả việc mua và bán các sản phẩm trong một cửa hàng Lược đồ của

cơ sở như sau:

SANPHAM(MaSP, TenSP, SL, MAU)

BAN(MaB, TenKH, MaSPB, SLB, NGB)

MUA(MaM, NGM, MaSPM, SLM, TenNCC)

o (Q1) Cho danh sách các tên và màu của tất cả các sản phẩm: {(p,c)|SANPHAM(_, p, _, c)}

o (Q2) Cho tên và số lượng trong kho của các sản phẩm có màu đỏ:

Trang 23

{(f,c,p)|nq(SANPHAM(n,p,q,”DO”)  MUA(_,_,n,_, f)  BAN(_,c,n,_,_ )(q >100))}

o (Q5) Đƣa ra tên của các khách hàng đã mua ít nhất là một sản phẩm có màu xanh:

{(c)|n(BAN(_,c,n,_,_)  SANPHAM(n,_,_, “ XANH” ))}

o (Q6) Đƣa ra tên của các khách hàng đã mua mọi sản phẩm trong kho:

Trang 24

biến bộ qua các chữ cái lớn X, Y, Z,… Tuy nhiên có thể trộn lẫn tính toán miền và tính toán bộ bằng cách vừa sử dụng biến bộ, vừa sử dụng biến miền

1.5.1 Nguyên tắc tính bộ

Các thuật ngữ được xem xét là các hằng liên kết với các n -bộ tạo nên các sự kiện, các hàm sinh ra các thuộc tính được ký hiệu qua tên của thuộc tính được áp dụng với một biến thông qua ký hiệu con trỏ (ví dụ, X.MAU)

Các vị từ được sử dụng là các vị từ tương ứng với các quan hệ mở rộng cũng như các vị từ so sánh { ,  ,  ,  ,  ,  } Các vị từ mở rộng cho phép định nghĩa phạm vi của một biến trên một bảng R thông qua một công thức nguyên tử kiểu R(X), Xlà một biến bộ và R là một bảng

Phần tử cơ bản làm khác biệt tính toán bộ đối với tính toán miền là sự kết hợp với các biến bộ của các mở rộng của các vị từ chứ không p hải là các giá trị của miền giống như tính toán miền Ta định nghĩa chính xác hơn về tính toán bộ như sau:

Khái niệm 1.6 Tính toán quan hệ bộ (Tuple relational calculus)

Ngôn ngữ truy vấn dữ liệu hình thức cho phép diễn đạt các truy vấn

từ các công thức thiết lập tốt mà các biến của nó được giải thích như là biến đổi trên các bộ của một bảng

1.5.2 Một số ví dụ về tính bộ

Chúng ta diễn đạt trong tính toán quan hệ bộ các truy vấn được biểu thị dưới đây trong tính toán miền trên cơ sở dữ liệu sản phẩm

o (Q1) Đưa ra danh sách tên và màu của các sản phẩm:

{(S.TenSP, S.MAU) | SANPHAM(S) }

Trang 25

o (Q2) Đƣa ra tên và số lƣợng trong kho chứa của các sản phẩm

có màu đỏ:

{(S.TenSP, S.SL) | SANPHAM (S)  S.MAU = “DO” }

o (Q3) Đƣa ra đối với mỗi sản phẩm trong kho chứa, tên của nhà cung cấp liên quan:

{(S.TenSP, M.TenNCC) | SANPHAM(S)  MUA(M)

 S MaSP = M.MaSPM )

o (Q4) Đƣa ra, với mỗi sản phẩm trong kho chứa có số lƣợng

>100 và có màu đỏ, các cặp tên của nhà cung cấp đã bán kiểu sản phẩm này và tên của khách hàng đã mua kiểu sản phẩm này cùng với tên của sản phẩm:

{(S.TenSP, M.TenNCC, B.TenKH) | SANPHAM(S)  MUA(M)  BAN(B) S.SL>100  S.MAU = “DO”  S.MaSP = B MaSPB  S MaSP = M.MaSPM }

o (Q5) Đƣa ra các tên của các khách hàng đã mua ít nhất một sản phẩm có màu xanh:

{( B.TenKH) | BAN(B)  S (SANPHAM(S) 

B MaSPB = S.MaSP  S.MAU = “XANH”}

o (Q6) Đƣa ra tên của các khách hàng đã mua tất cả các sản phẩm trong kho:

{(B1.TenKH) | BAN(B1) S (SANPHAM(S)  (B2 (BAN (B2)  B2.MaSPB = S MaSP  B2 TenKH = B1.TenKH))}

o (Q7) Đƣa ra tên của tất cả các sản phẩm đƣợc cung cấp bởi mọi nhà cung cấp và đƣợc ít nhất một khách hàng mua :

Trang 26

{(S.TenSP) | SANPHAM(S) (M1 (MUA(M1)  (M2(MUA(M2)  M2.TenNCC = M1.TenNCC  M2.MaSPM

= S.MaSP))) (B (BAN(B)  B.MaSPB = S.MaSP))} Các truy vấn Q6 và Q7 minh hoạ khó khăn của việc sử dụng các dấu lượng từ “với mọi” và “có tồn tại” Nói chung, các biến xuất hiện trong câu trả lời phải là tự do trong điều kiện Các lượng từ “có tồn tại” chỉ được sử dụng bên trong các lượng từ hoá “ với mọi”

1.6 Các kỹ thuật suy diễn

Logic cho phép thực hiện suy diễn Sự suy diễn, nguyên lý của trí tuệ, cho phép chứng minh các định lý xuất phát từ các tiên đề Các hệ cơ sở

dữ liệu suy diễn được dựa trên sự suy diễn Trong phần này, luận văn nhắc lại các nguyên lý cơ bản của các kỹ thuật suy diễn Các kết quả này sẽ được

sử dụng trong chương sau:

1.6.1 Nguyên lý của một thuật toán suy diễn

Một thuật toán suy diễn là một thủ tục để chứng minh một công thức

T từ một tập hợp các công thức {A1,A2,….,An} - được biết như là các công thức đúng T là định lý cần chứng minh, A1,A2,…An là các tiên đề Việc tồn tại một chứng minh của Txuất phát từ A1,A2,…,Anđược ký hiệu một cách hình thức:

{A1,A2,….,An} |== T

Khái niệm 1.7 Suy diễn (Deduction)

Thủ tục cho phép chứng minh một định lý xuất phát từ một tập hợp các tiên đề được biết như là đúng trên tất cả miền thảo luận được xét

Ví dụ, xuất phát từ các tiên đề:

LANHDAO(nam,mai), LANHDAO(mai,lan)

Trang 27

x,y,z(LANHDAO(x,y)  LANHDAO(y,z)  LANHDAO(x,z))

Ta muốn chứng minh định lý LANHDAO(nam, lan)

Để chứng minh một định lý, một thuật toán suy diễn bắt đầu từ các tiên

đề suy dẫn ra một chuỗi các công thức mà định lý là công thức cuối cùng bằng cách sử dụng các quy tắc (luật) suy diễn Một quy tắc suy diễn là một quy tắc cho phép tạo ra một công thức xuất phát từ hai hay nhiều hơn các công thức Một quy tắc suy diễn đúng đắn cho phép tạo ra một công thức có hiệu lực (TRUE trên miền các thảo luận được xét) từ các công thức có hiệu lực

Ta có các quy tắc suy diễn như sau :

o Modun ponen : Cho phép tạo ra Ptừ hai công thức F và F  P.Một cách trực quan, điều đó có nghĩa là nếu F và F  P đã được chứng minh, thì P cũng được chứng minh Quy tắc được viết một cách hình thức như sau:

F, F  P

P

o Chuyên biệt hoá: Cho phép sinh ra F(a) từ công thức x F(x) Một cách trực quan, điều này có nghĩa là nếu F(x) được chứng minh với mọi giá trị của x , thì F(a) được chứng minh Quy tắc được viết một cách hình thức như sau:

F(a)

o Quy tắc Modus Tollens: Tương tự, ta có công thức P được

chứng minh từ hai công thức P  F và F:

P

Trang 28

o Quy tắc bắc cầu: Ta có công thức P  F được chứng minh từ hai công thức P  E và E  F :

o Quy tắc giải : Ta có công thức P  F được chứng minh từ hai công thức P  E và E  F :

P  E, E  F

P  F

Có tồn tại một quy tắc suy diễn tổng quát cho các công thức của logic bậc một dưới dạng mệnh đề Quy tắc này sinh ra bằng cách áp dụng đệ quy tất cả các công thức có thể được suy diễn từ hai tiên đề dưới dạng các mệnh

đề Đó là quy tắc suy diễn của Robinson, dựa trên thuật toán hợp nhất cho phép so sánh hai công thức nguyên tử

Trang 29

1.6.2 Thuật toán hợp

Khả năng quyết định có phải hai công thức nguyên tử có thể được đồng nhất thông qua việc thay thế các tham số là trung tâm ở đa số các phương pháp suy diễn Một sự hợp nhất hai công thức nguyên tử bao gồm việc làm cho chúng đồng nhất thông qua việc thay thế các biến trong một công thức bằng các hạng của công thức khác

Khái niệm 1.8 Đồng nhất (unification)

Đồng nhất là việc thay thế các biến trong một công thức nguyên tử bằng các hạng ( các hằng, các biến khác, các hàm áp dụng vào các hằng hoặc các biến) theo cách làm nó đồng nhất với một công thức nguyên tử khác

Hai công thức nguyên tử L1(t1,t2,…,tn) và T2 (s1,s2,…,sn) không phải luôn luôn đồng nhất được Một thuật toán đồng nhất quyết định

có phải hai công thức có thể đồng nhất được hay không bằng cách thay thế biến có hiệu lực (đặt lại tên hoặc gán giá trị) Thuật toán như vậy trả về:

o THÀNH CÔNG và một phép thay thế biến nhỏ nhất nếu hai công thức có thể được đồng nhất bằng cách áp dụng phép thay thế;

o THẤT BẠI nếu không có khả năng làm chúng đồng nhất bằng cách thay thể các hạng duy nhất vào các biến

Trang 30

Hơn nữa, bằng một phép thế s, L1 và L2 là đồng nhất được (ta ký hiệu L1[s] = L2[s]) Quy tắc Robinson cho phép suy diễn mệnh đềF1[s]  F2[s]; mệnh đề mới này nhận được bằng phép tuyển của F1 và F2 và áp dụng phép thế s được gọi là giải từ C1 và C2 Một cách hình thức, quy tắc Robinson được viết:

F1  L1, L2  F2, L1[s] = L2[s]

F1[s]  F2[s]

Trong đó L2  F2cũng có thể được viết là L2  F2, sau đó bằng cách thay thế “ “ bằng dấu cộng và dấu phủ định bằng dấu trừ, ta nhận được:

Tổng kết lại, phương pháp tiến hành như sau:

a Đặt các tiên đề và phủ định của định lý (T) dưới dạng các mệnh

đề

Trang 31

b Thêm vào một cách đệ quy các giải thức mà ta có thể nhận được bằng việc áp dụng quy tắc suy diễn của Robinson vào tập hợp các mệnh đề cho đến khi nhận được mệnh đề rỗng.

Mệnh đề rỗng (tất cả bị huỷ bỏ) không bao giờ được thoả mãn (mô hình của nó là trống); tiếp theo, đó là các tiên đề mâu thuẫn với phủ định của định

lý Như vậy, định lý được chứng minh Người ta đã chứng minh rằng nếu một chứng minh của định lý tồn tại, phương pháp giải kết thúc và tìm ra chứng minh Nếu không có chứng minh nào tồn tại, phương pháp có thể tự mất trong các miền vô hạn và lặp Logic bậc một là bán quyết định được

Chúng ta minh hoạ phương pháp qua một cây chứng minh (hình 1 1) Giả thiết cần chứng minh định lý LANHDAO(nam,lan) từ các tiên đề không mâu thuẫn:

(A’3) LANHDAO(x,y)  LANHDAO(y,z)  LANHDAO(x,z)

Nó còn được viết :

(A’’3) LANHDAO(x,y) LANHDAO(y,z)  LANHDAO(x,z) Cây chứng minh (còn được gọi là cây bác bỏ) được biểu diễn như ở hình 1.1 chỉ ra các hợp nhất và cộng liên tiếp các mệnh đề, nó dẫn đến mệnh

đề rỗng Như vậy nó cho phép thông qua việc áp dụng liên tiếp quy tắc suy diễn của Robinson (mỗi đỉnh không phải là đỉnh đầu của R xuất phát từ hai

Trang 32

đỉnh đi trước N1 và N2 ) để rút ra giải thức rỗng và như vậy chứng minh rằng Nam là sếp của Lan

1.7 Kết luận

Trong chương này luận văn đã trình bày các khái niệm cơ sở của logic bậc một Một cơ sở dữ liệu có thể được xem như một minh họa của một ngôn ngữ logic Logic tạo nên một cơ sở tốt để hiểu các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu quan hệ Một cơ sở dữ liệu quan hệ là một tập hợp các bảng cho các mở rộng có hiệu lực của các vị từ Các tính toán bộ và tính toán miền là các hình thức hoá logic của các ngôn ngữ truy vấn các cơ sở dữ liệu quan hệ

 LANHDAO(x,y)   LANHDAO(y,z)  LANHDAO(x,z) LANHDAO(nam,lan)

 LANHDAO(mai, z)  LANHDAO(nam,z) LANHDAO(mai,lan)

 LANHDAO(nam,lan) LANHDAO(nam,lan)

Hình 1.1 Ví dụ về cây chứng minh

Trang 33

CHƯƠNG II: CƠ SỞ DỮ LIỆU SUY DIỄN

2.1 Mở đầu

Từ khi khái niệm cơ sở dữ liệu suy diễn được biết đến, dưới sức ép của các ứng dụng tiềm năng, các nhà thiết kế hệ thống cố gắng đề xuất các thuật toán và các phương pháp hiệu quả để thực hiện các hệ quản trị cơ sở dữ liệu suy diễn xử lý một khối lượng lớn các sự kiện (các cơ sở dữ liệu cổ đ iển) và các quy tắc Mục tiêu là cung cấp một phương tiện có hiệu năng cao để giúp giải quyết các vấn đề được diễn đạt dưới dạng các truy vấn mà lời giải của

nó cần các khối lượng lớn các dữ liệu và các quy tắc Các ứng dụng tiềm năng rất nhiều Bên cạnh việc quản lý kinh điển hoặc dự báo, chúng ta có thể

kể ra ví dụ như giúp quyết định, y học, người máy,…và tổng quát hơn là các ứng dụng thuộc kiểu hệ thống chuyên gia cần các khối lượng dữ liệu lớn Người ta cũng đã nghĩ rằng việc viết các quy tắc tham chiếu các cơ sở dữ liệu lớn có thể thay thế lập trình kinh điển, ít nhất là đối với các ứng dụng quản lý Niềm hy vọng đó ít nhiều là chưa có khả năng thực hiện được, ít nhất là cho đến bây giờ

Chương này trình bày vấn đề đặt ra của các hệ quản trị cơ sở d ữ liệu suy diễn, sau đó trình bày ngôn ngữ chuẩn biểu diễn các quy tắc dựa trên các

cơ sở dữ liệu lớn, gọi là DATALOG Ngôn ngữ này cho phép các truy vấn

đệ quy Luận văn cũng trình bày về những mở rộng của ngôn ngữ DATALOG như: sự hỗ trợ các hàm, sự phủ định, các tập hợp Tiếp theo, đề cập đến các vấn đề thực hiện các câu hỏi trên các quan hệ suy diễn, đưa ra một số kỹ thuật biểu diễn các quy tắc bằng các đồ thị, và tập trung vào tính

đệ quy

2.2 Các vấn đề của hệ quản trị cơ sở dữ liệu suy diễn

Một hệ quản trị cơ sở dữ liệu suy diễn trước hết là một hệ quản trị cơ

sở dữ liệu Theo nghĩa đó nó phải có một ngôn ngữ mô tả dữ liệu cho phép

Trang 34

định nghĩa các cấu trúc các vị từ của cơ sở B1, B2,….,Bn Ví dụ dưới

dạng các quan hệ và các ràng buộc toàn vẹn liên quan Nó cũng cung cấp

một ngôn ngữ truy vấn cho phép đưa ra các câu hỏi và thực hiện các cập

nhật Hai ngôn ngữ này có thể được tích hợp và có một cú pháp đúng đắn

cung cấp cho người dùng Trong số các ngôn ngữ, nó cho phép suy nghĩ

rằng SQL vẫn sẽ là một giao diện được hệ quản trị cơ sở dữ liệu suy diễn

cung cấp, nhất là trước sự cải tiến chuẩn hoá của nó

2.2.1 Ngôn ngữ quy tắc (luật)

Giao diện mới được hệ quản trị cơ sở dữ liệu suy diễn cung cấp trước

tiên là ngôn ngữ quy tắc

Khái niệm 2.1: Ngôn ngữ quy tắc (Rule Language)

Ngôn ngữ quy tắc là ngôn ngữ được sử dụng để định nghĩa các quan hệ

suy diễn tạo nên cơ sở mục tiêu (intensional) cho phép viết các chương trình

quy tắc theo kiểu <điều kiện> <hành động>

Như vậy ngôn ngữ quy tắc được sử dụng để chỉ rõ các phần điều kiện

và hành động của các quy tắc suy diễn Chính xác hơn, từ các B1, B2,….,Bn được định nghĩa trong cơ sở dữ liệu mở rộng (extensional),

ngôn ngữ suy diễn cho phép chỉ rõ việc xây dựng các vị từ phát sinh có thể

truy vấn được R1, R2 … qua các người dùng

Sự mở rộng là có khả năng bởi vì ngôn ngữ định nghĩa và thao tác các

tri thức sẽ tích hợp các chức năng sau đây:

1 Khả năng thực hiện các phép toán kinh điển của tính toán quan hệ

(hợp, chọn, chiếu, nối, trừ);

2 Hỗ trợ các tập hợp, bao gồm các hàm nhóm truyền thống của các

ngôn ngữ quan hệ kinh điển cũng như các thuộc tính đa trị

Trang 35

3 Sự đệ quy, nó cho phép định nghĩa một quan hệ suy diễn bằng hàm của chính nó

4 Sự phủ định, nó cho phép tham chiếu đến các sự kiện (dữ liệu) không tồn tại trong cơ sở

5 Các hàm số học và tổng quát hơn là các hàm do người dùng định nghĩa

6 Cập nhật các sự kiện thông qua các quy tắc

7 Sự modun hoá cùng với sự quản lý mức trừu tượng liên tiếp và quy tắc

siêu-Tóm lại, tất cả các tiện ích tồn tại trong các ngôn ngữ phát triển cơ sở

dữ liệu sẽ được tìm và đưa vào các ngôn ngữ quy tắc Mục tiêu khả thi là thay thế các ngôn ngữ này

2.2.2 Mắc nối hoặc tích hợp

Như chỉ ra ở hình 2.1, một hệ cơ sở dữ liệu suy diễn có thể được mô tả bởi hai thành phần: một là hệ quản trị CSDL suy diễn và một là CSDL suy diễn Trong CSDL suy diễn ta có cơ sở quy tắc hay IDB và cơ sở sự kiện hay EDB Mặt khác, hai thành phần xây dựng một hệ quản trị CSDL suy diễn: Một máy suy luận và một hệ quản trị CSDL (DBMS) Máy suy luận là một máy hoạt động được xây dựng bắt nguồn từ các quy tắc và các sự kiện được lưu trong cơ sở

Một cách đơn giản, một hệ CSDL suy diễn có thể được biểu diễn như hai tiến trình cơ sở có sự tương tác lẫn nhau thông qua một giao diện Tiến trình thứ nhất, máy suy luận sử dụng các luật, và gọi tiến trình thứ hai, hệ quản trị CSDL quyết định dữ liệu ( sự kiện ) gì phải được tìm tiếp theo để giải quyết vấn đề đã đưa ra Máy suy luận mang thông tin ẩn của IDB trong khi DBMS mang thông tin rõ của EDB

Trang 36

Việc thiết kế hệ quản trị CSDL kéo theo vấn đề thiết kế cách máy suy luận kết hợp với DBMS

Việc thực hiện quản trị một cơ sở dữ liệu suy diễn cần tích hợp một máy suy luận vào một hệ quản trị cơ sở dữ liệu Máy này phải có khả năng thực hiện sự suy diễn cần thiết khi truy vấn, nhìn thấy sự cập nhật, các vị từ được suy diễn

Một chức năng tương tự đối với một hệ quản trị cơ sở dữ liệu suy diễn ,

nó có thể nhận được bằng cách mắc nối một máy suy luận với một hệ quản trị cơ sở dữ liệu Người ta phân biệt mắc nối yếu, ở đó người dùng nhìn thấy

cả hai thành phần và mắc nối mạnh, ở đó chỉ có ngôn ngữ quy tắc là được nhìn thấy Hình 2.2 minh hoạ tính mắc nối hay tích hợp Một hệ quản trị cơ

sở dữ liệu suy diễn thử thực hiện tích hợp mạnh bằng cách cung cấp một ngôn ngữ định nghĩa và thao tác các kiến thức tích hợp

Động cơ

Cơ sở dữ liệu (EDB)

Cơ sở quy tắc ( IDB)

?

CƠ SỞ DỮ LIỆU SUY DIỄN

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SUY DIỄN

Hình 2.1: Mô hình hệ cơ sở dữ liệu suy diễn

Trang 37

và được cải tiến Một số tìm cách thực hiện hệ quản trị CSDL suy diễn từ

hệ quản trị CSDL đối tượng tích hợp cả hai hệ Tiếp theo cần phải đảm bảo

sự cố kết các dữ liệu và các quy tắc: vấn đề tích hợp mở rộng là rất quan trọng bởi vì có khả năng suy diễn bất kỳ cái gì từ một cơ sở dữ liệu tri thức (dữ liệu + quy tắc) không cố kết Cuối cũng cần phải trả lời câu hỏi theo cách có hiệu quả bằng cách thực hiện suy diễn từ các sự kiện và các quy tắc, không tạo ra các sự kiện không có lợi và rườm rà nhưng cũng không quên trả lời Vấn đề hiệu quả của cơ cấu suy diễn trong sự có mặt của một khối lớn các sự kiện và các quy tắc, thường là đệ quy, là một vấn đề khó khăn

2.2.3 Vị từ mở rộng và vị từ mục tiêu

Trong ngữ cảnh logic, một cơ sở dữ liệu được nhận biết như là một tập hợp các vị từ Việc nhập vào các vị từ mở rộng được cụ thể hoá trong cơ sở

dữ liệu Các vị từ mở rộng tương ứng với các quan hệ của mô hình quan hệ

Máy suy luận

Hệ QTCSDL

Hệ QTCSDL

Hệ QTCSDL Máy suy luận

Máy suy luận

Ngày đăng: 25/03/2015, 09:55

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w