Để lưu trữ, quản lý và khai thác dữ liệu ta có thể dùng nhiều mô hình tổ chức dữ liệu khác nhau như: mô hình phân cấp, mô hình mạng, mô hình quan hệ… Trong các mô hình đó, mô hình quan h
Trang 1A M Ở Đ Ầ U
Cơ sở dữ liệu là hạt nhân không thể thiếu trong các hệ thống,
trong đó có các hệ thống máy tính và truyền thông Cùng với sự phát
triển không ngừng của Internet, việc trao đổi thông tin và truyền dữ
liệu trên mạng là một nhu cầu tất yếu đặt ra Với khối lượng thông tin
lớn được trao đổi, dữ liệu lưu trữ phân tán, các yêu cầu truy xuất có
thể xảy ra ở nhiều nơi, việc đảm bảo tính nhất quán, tránh dư thừa dữ
liệu, dị thường khi thêm, xóa bộ cũng như các bài toán liên quan đến
tổ chức, xử lý, nén dữ liệu,… luôn là vấn đề được quan tâm
Bên cạnh yêu cầu đảm bảo dữ liệu không bị mất mát trên đường
truyền, một vấn đề khác đặt ra là tổ chức, thiết kế, quản lý dữ liệu sao
cho việc lưu trữ tốn ít bộ nhớ nhất, khai thác hiệu quả và thời gian
truyền dữ liệu được giảm tối đa
Để lưu trữ, quản lý và khai thác dữ liệu ta có thể dùng nhiều mô
hình tổ chức dữ liệu khác nhau như: mô hình phân cấp, mô hình
mạng, mô hình quan hệ… Trong các mô hình đó, mô hình quan hệ
nhận được sự quan tâm của nhiều nhóm nghiên cứu vì được xây dựng
trên một cơ sở toán học chặt chẽ, áp dụng rộng các công cụ đại số và
logic Trong mô hình quan hệ, việc nghiên cứu các ràng buộc dữ liệu
hay còn gọi là các phụ thuộc dữ liệu đóng vai trò quan trọng trong
việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu của cơ sở dữ
liệu Việc nghiên cứu này là một vấn đề cần thiết, có ý nghĩa và giữ
một vai trò quan trọng trong việc đảm bảo tính nhất quán của dữ liệu
Mục đích của việc nghiên cứu này là để bảo đảm cho dữ liệu trong cơ
sở dữ liệu không mâu thuẫn, phản ánh đúng thế giới thực
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
LƯƠNG NGUYỄN HOÀNG HOA
PHÁT TRIỂN MỘT SỐ PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã ngành: 62 48 15 01
TÓM TẮT LUẬN ÁN TIẾN SỸ KỸ THUẬT
HÀ NỘI – 2013
Trang 2Công trình được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông
Người hướng dẫn khoa học:
Hướng dẫn 1: PGS.TSKH NGUYỄN XUÂN HUY
Hướng dẫn 2: PGS.TS TỪ MINH PHƯƠNG
Phản biện 1: PGS TS Đoàn Văn Ban
Phản biện 2: PGS TS Nguyễn Kim Anh
Phản biện 3: PGS TS Nguyễn Hải Châu
Luận án được bảo vệ trước Hội đồng chấm luận án cấp Học viện tại
Học viện Công nghệ Bưu chính viễn thông
Vào hồi: 14 giờ, ngày 17 tháng 01 năm 2013
Có thể tìm hiểu luận án tại:
1 Thư viện Quốc gia
2 Thư viện Học viện Công nghệ Bưu chính Viễn thông
DANH MỤC CÁC CÔNG TRÌNH CÔNG BỐ
[1] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa, Cao Tùng Anh, Nguyễn Gia Như, Nguyễn Xuân Huy (2010), “Biểu diễn cơ sở
của hệ sinh ánh xạ đóng”, Kỷ yếu Hội thảo Quốc gia "Một số vấn đề chọn lọc của Công nghệ thông tin", Hưng Yên,
19-20/08/2010, NXB KHKT Hà Nội, tr.51-58
[2] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa, Cao Tùng Anh, Nguyễn Minh Hiệp, Bùi Duy Tuấn, Nguyễn Xuân Huy (2010),
“Ánh xạ đóng và ứng dụng”, Kỷ yếu Hội thảo khoa học Công nghệ Thông tin năm 2010, Trường Đại học Đà lạt, Đà Lạt,
03/12/2010, tr.31-38
[3] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa (2011), “Hệ sinh cân
bằng và bài toán biểu diễn cơ sở hệ sinh ánh xạ đóng”, Chuyên san các công trình nghiên cứu, phát triển và ứng dụng
CNTT-TT, Tạp chí Công nghệ Thông tin & Truyền thông, Tập V-1, Số
5 (25), tr.15-21
[4] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh, Lương Nguyễn Hoàng Hoa, Bùi Đức Minh, Nguyễn Đức Vũ (2007), “Thiết kế cơ sở
dữ liệu theo tiếp cận dịch chuyển lược đồ quan hệ”, Kỷ yếu Hội thảo Khoa học Quốc gia “Một số vấn đề chọn lọc của Công nghệ thông tin và Truyền thông”, Đại Lải, 14-15/09/2007, NXB
KHTN, tr.499-506
[5] Hà Quang Thụy, Nguyễn Ngọc Hóa, Nguyễn Viết Thế, Lương Nguyễn Hoàng Hoa (2011), “Giải pháp lọc nội dung hỗ trợ
quản lý và đảm bảo an toàn – an ninh trên Internet”, Chuyên san Các Công trình nghiên cứu, phát triển và ứng dụng CNTT&TT, Tạp chí Công nghệ Thông tin & Truyền thông, Tập V-1, Số 6
(26), tr.260-270
[6] Luong Nguyen Hoang Hoa (2011), “Some results concerning Generalized Positive Boolean Dependencies in relational
database”, Internatinal Journal of Computer Electrical Engineering (IJCEE), Vol 6, 12/2011
Trang 3Cho tập thuộc tính U Một phụ thuộc hàm (PTH) trên U là biểu thức
dạng : f: XY ; X,Y U
Nếu f: XY là một phụ thuộc hàm trên U thì ta nói tập thuộc tính Y
phụ thuộc vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm
tập thuộc tính Y
1 3 C á c c ô n g t h ứ c B o o l e
Định nghĩa 1.3.1
Cho U = {x1, ,x n } là tập hữu hạn các biến Boole, B là tập trị Boole,
B = {0,1} Khi đó các công thức Boole CTB) là các công thức được
xây dựng trên các biến của U, các hằng 0/1 và các phép toán , ,
Ký hiệu LU) là tập các CTB xây dựng trên tập các biến U
Hai phép gán trị đặc biệt được quan tâm là phép gán trị đơn vị e =
1,1, ,1) và phép gán trị không z = 0,0, ,0)
Định nghĩa 1.3.3
Bảng chân lý của f, ký hiệu là T f , là tập các phép gán trị v sao cho fv)
nhận giá trị 1, T f = {v B n | fv) =1}
Khi đó bảng chân lý T F của tập hữu hạn các công thức F trên U,
chính là giao của các bảng chân lý của mỗi công thức thành viên
trong F, T Tf
F f
Ta có, v T F khi và chỉ khi f F: fv) = 1
1 4 P h ụ t h u ộ c B o o l e d ư ơ n g
Định nghĩa 1.4.1
Công thức f LU) được gọi là công thức Boole dương CTBD) nếu
fe) =1, trong đó e là phép gán trị đơn vị, e = (1,1, ,1)
Ký hiệu PU) là tập toàn bộ các công thức dương trên U
Định nghĩa 1.4.2
Mỗi công thức Boole dương trong PU) được gọi là một phụ thuộc
Boole dương PTBD) Dễ thấy phụ thuộc hàm là một PTBD
Trong quản lý các cơ sở dữ liệu, phụ thuộc dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc mà dữ liệu phải thỏa mãn trong thực tế Nhờ những mô tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu
có thể quản lý tốt được chất lượng dữ liệu Phụ thuộc dữ liệu đầu tiên được Codd tác giả của mô hình dữ liệu quan hệ đặt nền móng từ những năm 70 với khái niệm phụ thuộc hàm Sau đó một loạt tác giả khác đã tiếp tục phát triển các dạng phụ thuộc bậc cao, phụ thuộc mờ cũng như xây dựng các hệ tiên đề cho các lớp phụ thuộc - tức là đặt nền móng cơ sở lý thuyết về phụ thuộc dữ liệu Một trong số những lớp phụ thuộc quan trọng đã được phát triển, đề xuất sau này là phụ thuộc Boole dương
Với mong muốn phát triển, mở rộng lý thuyết về phụ thuộc
dữ liệu và ứng dụng Mục tiêu của luận án là tiếp tục nghiên cứu, phát triển một số vấn đề liên quan đến lớp phụ thuộc Boole dương và công cụ để mô tả, phản ánh lớp phụ thuộc này Đây là vấn đề nghiên cứu đã và đang được nhiều nhà khoa học quan tâm
Mục đích nghiên cứu
- Nghiên cứu các lớp phụ thuộc Boole dương trong đó tập trung chủ yếu việc vào việc đề xuất, phát triển một số khái niệm, tính chất của lớp phụ thuộc Boole dương tổng quát và một số khía cạnh ứng dụng của lớp phụ thuộc này
- Nghiên cứu về ánh xạ đóng và tổng quát hóa một số kết quả về lớp các phụ thuộc Boole dương theo ngôn ngữ ánh xạ đóng Đề xuất công cụ toán học để biểu diễn ánh xạ đóng, nâng cao hiệu
quả tính toán khi sử dụng công cụ này
Những đóng góp của luận án
Luận án đã giải quyết được các vấn đề sau:
Trang 4(1) Đề xuất, xây dựng khái niệm và một số tính chất của cơ sở hệ
sinh ánh xạ đóng Phát biểu và chứng minh các định lý, bổ đề
về biểu diễn cơ sở của hệ sinh ánh xạ đóng thông qua phép
thu gọn hệ sinh Đề xuất một dạng biểu diễn cơ sở hệ sinh
ánh xạ đóng với kỹ thuật thu gọn hệ sinh theo vế trái tối tiểu
của tập luật sinh
(2) Đề xuất một lớp hệ sinh đặc biệt gọi là hệ sinh cân bằng để
biểu diễn ánh xạ đóng và thu được một số kết quả ban đầu
nâng cao hiệu quả tính toán khi sử dụng công cụ này
(3) Đề xuất khái niệm phủ, phủ không dư và thuật toán tìm phủ
không dư cho lớp phụ thuộc Boole dương tổng quát Đề xuất
khái niệm bao đóng và thuật toán giải bài toán thành viên
trong trường hợp tổng quát của lớp phụ thuộc Boole dương
tổng quát
(4) Xác định điều kiện cần và đủ để biểu diễn phụ thuộc Boole
dương tổng quát dưới dạng hội các công thức suy dẫn
(5) Xây dựng thuật toán tìm tập PTBDTQ thỏa mãn quan hệ R
cho trước
Bố cục của luận án
Về cấu trúc, luận án được trình bày trong 3 chương, có phần
mở đầu, phần kết luận, phần mục lục, phần các công trình đã công bố
liên quan đến luận án và tài liệu tham khảo Chương 1trình bày khái
niệm chung về mô hình quan hệ và lớp phụ thuộc đầu tiên của phụ
thuộc logic là phụ thuộc hàm Tổng quan về quá trình phát triển của
lớp các phụ thuộc Boole và đặt vấn đề xác định giới hạn của phụ
thuộc Boole trong điều kiện bảo toàn hiệu lực của định lý tương
đương Chương 2 giới thiệu công cụ có thể vận dụng để nghiên cứu
các vấn đề thuộc về ngữ nghĩa dữ liệu, thiết kế CSDL và hệ suy dẫn
là ánh xạ đóng Trong chương cũng trình bày một số kết quả mới của luận án liên quan đến hệ sinh ánh xạ đóng như biểu diễn cơ sở hệ sinh ánh xạ đóng qua hợp vế trái tối tiểu của hệ sinh cho trước và cơ
sở của hệ sinh sau khi thu gọn Đề xuất lớp hệ sinh mới là hệ sinh cân bằng với mục đích nâng cao hiệu quả trong quá trình tính toán và một dạng biểu diễn cơ sở của hệ sinh ban đầu thông qua cơ sở hệ sinh cân bằng Chương 3 trình bày một số khái niệm và kết quả của luận án liên quan đến việc tìm bao đóng, phủ, phủ không dư, bài toán thành viên và thể hiện của lớp phụ thuộc Boole dương tổng quát (PTBDTQ) Biểu diễn phụ thuộc Boole dương tổng quát dưới dạng hội các công thức suy dẫn và thuật toán xây dựng xây dựng tập PTBDTQ thỏa mãn quan hệ R cho trước cũng được trình bày trong chương này Một số ứng dụng của ánh xạ đóng và hệ suy dẫn trong
cơ sở dữ liệu cũng được giới thiệu trong chương này
B NỘI DUNG Chương 1 - Tổng quan về các phụ thuộc logic trong cơ sở dữ liệu
1 1 M ộ t s ố k h á i n i ệ m c ơ b ả n
Định nghĩa 1.1.1
Cho tập hữu hạn U = {A 1 , A 2 , , A n } khác rỗng (n 1) Các phần tử của U được gọi là thuộc tính Ứng với mỗi thuộc tính A i U, i = 1,2, ,n có một tập chứa ít nhất hai phần tử dom(A i ) được gọi là miền
trị của thuộc tính A i Gọi D là hợp của các dom(A i ), i = 1,2, ,n Một
quan hệ R với các thuộc tính U, ký hiệu là R(U), là một tập các ánh
xạ t: UD sao cho với mỗi A i U ta có
t(A i ) dom(A i ) Mỗi ánh xạ được gọi là một bộ của quan hệ R
1.2 Phụ thuộc hàm
Định nghĩa 1.2.1
Trang 5hạn, F là tập các luật sinh trên U
Định nghĩa 2.3.2
Cho một hệ sinh AXĐ = (U, F) và các tập con X, Z của U Ta gọi Z
là một tập bao của tập X trong hệ sinh nếu Z thỏa các tính chất sau
đây:
(i) Z X,
(ii) L R F, L Z R Z
Kí hiệu [X] là họ các tập bao của X trong hệ sinh AXĐ cho trước
Định nghĩa 2.3.3
Cho hệ sinh AXĐ = (U,F) Ta xác định ánh xạ f : SubSet(U)
SubSet(U) như sau, X U: f (X) = [X] Nói cách khác f (X) là
tập con nhỏ nhất của U thỏa các tính chất sau:
(i) f (X) X,
(ii) L R F, L f (X) R f (X)
Ta gọi f là ánh xạ cảm sinh của hệ sinh AXĐ , X là vật, f (X) là
ảnh của ánh xạ cảm sinh f Dễ thấy f (X) là tập bao (nhỏ nhất) của X
trong hệ sinh AXĐ
Định lý 2.3.1
1 Với mỗi hệ sinh = (U,F), ánh xạ cảm sinh f là AXĐ trên U
2 Với mỗi AXĐ h trên U, tồn tại một hệ sinh = (U,F) thỏa tính
chất :
X U: f (X) = h(X)
Định lý 2.3.2
Cho hệ sinh AXĐ = (U,F) và hai tập con không giao nhau X và Y
trong U Khi đó:
f (XY) = X f \X (Y)
Hệ quả 2.3.1
Cho hệ sinh AXĐ = (U,F) và tập X U Khi đó:
1.5 Phụ thuộc Boole dương tổng quát
Định nghĩa 1.5.1
Cho tập thuộc tính U Ta quy ước rằng mỗi miền trị d i của thuộc
tính A i , 1 i n, có chứa ít nhất hai phần tử Với mỗi miền trị d i, ta xét ánh xạ i : d i d i B thoả ba tính chất sau:
i) Tính phản xạ: ad i : i a,a) =1
ii) Tính đối xứng: a,b d i : i a,b) = i b,a)
iii) Tính bộ phận: a, b d i : i a,b) = 0
Quan hệ đẳng thức là trường hợp riêng của quan hệ trên
Định nghĩa 1.5.2
Giả sử các ánh xạ i đã được xác định trên mỗi miền trị d i của các
thuộc tính A i trong tập U= {A1,A2, ,A n }, 1 i n và R là một quan
hệ trên U Với hai bộ u và v tuỳ ý trong quan hệ R ta định nghĩa
u,v) là phép gán trị:
u,v) = 1 u.A1,v.A1), 2 u.A2,v.A2), , n u.A n ,v.A n )) Với mỗi quan hệ R RELU) ta gọi bảng chân lý của quan hệ R là
tập
T R = { u,v) u, v R}
Định nghĩa 1.5.3
Mỗi công thức Boole dương trong PU) là một phụ thuộc Boole
dương tổng quát PTBDTQ)
Định lý tương đương
Cho tập PTBDTQ F và một PTBDTQ f Ba mệnh đề sau là tương
đương,
i) F ╞ f suy dẫn logic)
ii) F ├ f suy dẫn theo quan hệ)
iii) F ├ f suy dẫn theo quan hệ có không quá 2 bộ)
Trang 61.6 Phụ thuộc Boole dương đa trị
Định nghĩa 1.6.1
Tập trị Boole B = {b 1 , ,b k } gồm k giá trị trong khoảng [0;1], k 2
được sắp tăng và thỏa các điều kiện sau:
(i) 0 B,
(ii) b B 1- b B
Trong phần này chúng ta chọn thể hiện cho các phép toán và hàm
logic đa trị cơ sở như sau:
a,b B ,
Phép hội a b = min(a,b)
Phép tuyển a b = max(a,b)
Phép phủ định a = 1-a
Với mỗi trị b B ta định nghĩa hàm I b như sau:
x B : I b (x) = 1 nếu x = b, ngoài ra I b (x) = 0
Các hàm I b , b B được gọi là các hàm phủ định tổng quát
Định nghĩa 1.6.2
Cho U = {x1, ,x n } là tập hữu hạn các biến Boole, B là tập trị Boole
Khi đó các công thức Boole đa trị CTBĐT) là các công thức được
xây dựng trên các biến của U, các trị trong B , các hàm I b với b B
và các phép toán , , Ký hiệu MVLU) là tập các CTBĐT xây
dựng trên tập các biến U và tập trị B cho trước, trong đó U gồm n
phần tử và B gồm k phần tử, n 1, k 2
C h ư ơ n g 2 - Á n h x ạ đ ó n g v à h ệ s u y d ẫ n
2.1 Ánh xạ đóng
Định nghĩa 2.1.1
Cho tập U hữu hạn Ánh xạ f: SubSet(U) SubSet(U)được gọi là
đóng trên tập U nếu với mọi tập con X, Y U thỏa các tiên đề sau
đây:
(i) Tính phản xạ: f(X) X, (ii) Tính đồng biến: Nếu X Y thì f(X) f(Y), (iii) Tính lũy đẳng: f(f(X)) = f(X)
2.2 Giàn giao và điểm bất động của ánh xạ đóng
Định nghĩa 2.2.1
Cho AXĐ f trên tập U hữu hạn Tập con X U được gọi là điểm bất động (hay còn gọi là tập đóng) của AXĐ f nếu f(X) = X
Định nghĩa 2.2.4
Giả sử G là một họ các tập con đóng với phép giao của tập hữu hạn
U, cụ thể là giao của mọi họ con trong G đều cho kết quả là một tập
con trong G,
G SubSet(U): ( H G
H X
X
G)
Ta gọi G là giàn giao trên tập hữu hạn U Khi đó G chứa duy nhất một họ con S sao cho mọi phần tử của G đều được biểu diễn qua giao của các phần tử trong S, cụ thể là, S là tập con nhỏ nhất của G thỏa tính chất: G = { X 1 … X k | k 0, X 1 , … , X k S }
S được gọi là tập sinh của giàn G và được ký hiệu là Gen(G), S = Gen(G)
2.3 Hệ sinh ánh xạ đóng
Định nghĩa 2.3.1
Cho tập hữu hạn U, luật sinh f trên U là biểu thức dạng f: L R; L,
R U Các tập L và R được gọi tương ứng là vế trái và vế phải của
luật sinh f và được kí hiệu tương ứng là LS(f) và RS(f)
Ta gọi một hệ sinh AXĐ là cặp = (U,F), trong đó U là một tập hữu
Trang 7(C8) Nếu hệ sinh AXĐ α = (U,F) là HSCB thì A U, ta có
α\A cũng là HSCB Tính chất này hiển nhiên đúng
Kết quả của luận án về phép thu gọn hệ sinh và biểu diễn cơ sở
hệ sinh ánh xạ đóng theo cơ sở hệ sinh cân bằng được trình bày trong
dưới đây
Định lý 2.4.1
Mọi hệ sinh AXĐ α = (U,F) đều đưa được về dạng cân bằng
β = (V,G) thỏa tính chất: Base(α) = U I Base(β)
Trong đó U I là giao các cơ sở của α với độ phức tạp tuyến tính theo
chiều dài dữ liệu vào O(n 2 m), trong đó n là số lượng phần tử trong U,
m là số lượng luật sinh trong F
Biểu diễn cơ sở hệ sinh AXĐ theo cơ sở HSCB
Cho hệ sinh AXĐ α = (U,F) với U ={a 1 , a 2 ,…, a n }, F = {L i R i i=1,
2,…, m} Để tìm các cơ sở của hệ sinh AXĐ α, ta thực hiện theo các
bước sau:
Bước 1:
- Xác định L =
m
i i
L
1
, R =
m
i i
R
1
, R’= R \ L; U I = U \
m
i i
R
1
- Tính C = f α (U I R’)
Bước 2:
Xác định α’ = (U’,F’) = α\C với U’= U\C, F’ = {L i \C R i \C
i = 1, 2, …, m}
Loại khỏi F’ những luật sinh có dạng , B, B
(B )
Thực hiện nhóm những luật sinh trong F’ có vế trái giống
nhau, ta thu được hệ sinh cân bằng = (U’, F’)
Bước 3:
Tìm cơ sở của hệ sinh cân bằng
- Xác định tập L là tập chứa các vế trái của F’
f (X) = X f \X ()
Định nghĩa 2.3.4
Ta gọi cơ sở của hệ sinh AXĐ là cơ sở của ánh xạ cảm sinh của hệ sinh đó Với mỗi hệ sinh AXĐ = (U,F), ta kí hiệu Base( ) là tập
các cơ sở của ánh xạ cảm sinh của hệ sinh , U B là tập các phần tử cơ
sở của hệ sinh , U 0 là tập các phần tử phi cơ sở của , U I là giao các
cơ sở của
Ta có U = U B | U 0 là một phân hoạch của U
Công thức tìm giao các cơ sở của hệ sinh ánh xạ đóng được trình bày theo định lý sau:
Định lý 2.3.3
Cho hệ sinh AXĐ = (U,F) với n phần tử trong tập U và m luật sinh
trong F Khi đó có thể xác định giao các cơ sở bằng một thuật toán tuyến tính với độ phức tạp O(mn) qua công thức
F R L
U
\ ( \ )
Bổ đề 2.3.1
Cho hai hệ sinh AXĐ = (U,F), = (V,G) và X U Biết = \X
Khi đó:
(i) Nếu M là siêu cơ sở của thì M\X là siêu cơ sở của
(ii) Nếu Z là siêu cơ sở của thì XZ là siêu cơ sở của Nói
riêng, nếu X U o và Z là siêu cơ sở của thì Z là siêu cơ
sở của
Hệ quả 2.3.2
Cho hệ sinh AXĐ = (U,F) và tập X U Khi đó, nếu Z là siêu cơ
sở của hệ sinh \ f (X) thì XZ là siêu cơ sở của hệ sinh
Bổ đề 2.3.2
Cho hai hệ sinh AXĐ = (U,F), = (V,G) và tập X U o Biết =
\X Khi đó: Base( ) = Base( )
Trang 8Định nghĩa 2.3.5
Cho , SubSet(U) và M, P SubSet(U) Ta định nghĩa phép
toán trên SubSet(U) như sau:
- M P = MP (hợp của hai tập con M và P)
- M = {MX | X } và
- = {XY | X , Y }
Các định lý, bổ đề và hệ quả dưới đây sau trình bày cách biểu diễn cơ
sở của hệ sinh ánh xạ đóng theo phép thu gọn hệ sinh
Định lý 2.3.4
Nếu thu gọn hệ sinh AXĐ = (U, F) theo tập X U để nhận được
hệ sinh = \ X thì:
1 Base( ) = Base( ) khi và chỉ khi X U o
2 Base( ) = X Base( ) khi và chỉ khi X U I
Hệ quả 2.3.3
Cho hệ sinh = (U,F) và các tập phần tử X U o , Y U I Nếu thực
hiện phép thu gọn theo XY để nhận được hệ sinh = \XY thì
Base( ) = Y Base( )
Định nghĩa 2.3.7
Cho hệ sinh =(U, F) Ta ký hiệu ML(F) là tập các vế trái cực tiểu
của F, ML(F) = MIN {LS(f) | fF}
Bổ đề 2.3.3
Cho hệ sinh AXĐ =(U, F) Nếu L ML(F) thì L Base( ) khi và
chỉ khi f (L) = U
Kết quả của luận án về dạng biểu diễn cơ sở hệ sinh ánh xạ đóng theo
phép thu gọn hệ sinh với vế trái tối tiểu của tập luật sinh được trình
bày qua định lý, bổ đề dưới đây
Định lý 2.3.5
Cho hệ sinh AXĐ =(U, F) Khi đó mọi cơ sở K của đều biểu diễn
được dưới dạng K = LM, trong đó L là một vế trái cực tiểu của F và
M là cơ sở của hệ sinh AXĐ \ f (L)
Bổ đề 2.3.4
Cho hệ sinh =(U, F) và vế trái cực tiểu L Khi đó nếu K L Base( \f (L)) và K không chứa vế trái cực tiểu nào khác ngoài L thì
K là cơ sở của
Bổ đề 2.3.5
Cho hệ sinh = (U, F) và vế trái cực tiểu L Khi đó M Base( \f (L)), mọi cơ sở K của chứa trong LM đều phải chứa M
2.4 Hệ sinh cân bằng
Định nghĩa 2.4.1
Hệ sinh AXĐ α = (U,F) được gọi là cân bằng nếu α thỏa các tính
chất (C1)-(C4) sau đây:
(C1) Hợp các vế trái, vế phải của các luật sinh trong F đúng bằng tập U: LS(F) = RS(F) = U
(C2) F không chứa các luật sinh tầm thường, tức là các luật sinh có vế trái chứa vế phải: X,Y U: X Y (X Y F) (C3) Hai vế trái và phải của mọi luật sinh trong F rời nhau (không giao nhau): f F: LS(f) RS(f) =
(C4) Các vế trái của mọi luật sinh trong F khác nhau đôi một:
f, g F: LS(f) = LS(g) f = g
Ngoài các tính chất (C1)-(C4) ở trên, hệ sinh cân bằng (HSCB) còn
có một số tính chất sau:
(C5) Nếu tập luật sinh F trong hệ sinh AXĐ α = (U,F) thỏa C2-C4 và chỉ có một luật sinh thì α không thể là HSCB
(C6) Từ tính chất C5 ta suy ra hệ sinh AXĐ chỉ có một thuộc tính thì không thể là HSCB
(C7) Trong HSCB = (U,F), giao các cơ sở U =
Trang 9EndUnification
Theo giả thiết F là tập các PTBDTQ do đó trước hết cần đưa F về
dạng chuẩn hội và thực hiện các bước hợp giải đến mức tối đa
Thuật toán Reduction dưới đây thực hiện nhiệm vụ trên
Thuật toán 3.1.3
Algorithm Reduction
Function: Thu gọn tập PTBDTQ
Input: Tập PTBDTQ F
Output: Công thức thu gọn C của F
Method
1 Đưa F về dạng chuẩn hội:
C := ;
for each member f in F do
C := C cnf(f);
endfor;
2 return (Unification(C));
EndReduction
Cuối cùng, để giải bài toán thành viên F╞ f ta gọi thuật toán
Member_GPBD sau đây
Thuật toán 3.1.4
Algorithm Member_GPBD
Format: Member_GPBD(F,f)
Function: Giải bài toán thành viên F ╞ f
Input: - Tập PTBDTQ F
- PTBDTQ f
Output: True nếu F ╞ f ; ngoài ra: False
Method
1. C:=Reduce(F) cnf(f)
- Xác định tập L’ là tập chứa các vế trái cực tiểu của F’
- Giả sử tập L’ ={L 1 , L 2 , …, L k } Lần lượt tính A = f (L i ), i = 1, 2,
…, k
+ Nếu A = U thì L i Base( )
+ Nếu A U thì ta tiếp tục xét hệ sinh cân bằng = \ A + Lặp lại bước 3 cho hệ sinh cân bằng
Giả sử đến một lúc nào đó thì ta xác định được Base( ) Để bổ
sung các phần tử cho Base( ), ta thực hiện như sau:
+ Nếu Base( )={K 1 , K 2 , …, K s } + Xét lần lượt các tập L i K j với i cố định và j=1, 2, …, s:
Nếu L i K j chứa trong cơ sở đã tìm thấy của thì không xét
Nếu L i K j không chứa phần tử nào khác của L’ ngoài L i thì
L i K j Base( )
Bước 4: Xác định Base( ) = U I Base( )
C h ư ơ n g 3 - P h á t t r i ể n l ớ p c á c p h ụ t h u ộ c B o o l e
d ư ơ n g v à ứ n g d ụ n g á n h x ạ đ ó n g , h ệ s u y d ẫ n t r o n g
c ơ s ở d ữ l i ệ u 3.1 Phát triển lớp các phụ thuộc Boole dương tổng quát
Bài toán suy dẫn cho phụ thuộc Boole dương tổng quát được phát biểu như sau:
Cho LĐQH a = U ,F ), F là tập các PTBDTQ và một PTBDTQ f Xác định f F + (hay F╞ f) hay không, trong đó F + là bao đóng của tập PTBDTQ F ?
Định nghĩa 3.1.1
Cho tập PTBDTQ F trên U Xét LĐQH a = (U, F) Bao đóng của tập PTBDTQ F, ký hiệu F+ là tập PTBDTQ được suy dẫn từ F, cụ thể là
F+ = { g P(U) | F ╞ g } = { g P(U) | T F T g }
trong đó P(U) là tập các công thức Boole dương trên U
Trang 10Theo định nghĩa 1.5.2 về định lý tương đương của PTBDTQ trong
chương 1, bài toán thành viên được giải thông qua mệnh đề sau:
f F + khi và chỉ khi F╞ f
Trước khi giải bài toán trên ta có một số nhận xét sau :
Nhận xét 3.1.1
Để chứng minh công thức dương E (là hằng đúng với mọi phép
gán trị) ta tiến hành theo các bước sau:
1 Biểu diễn E dưới dạng chuẩn hội tức là dạng tích của các
tổng C = C 1 C 2 … C k với mỗi nhân tử C i là tổng của
các biến và hằng 0/1
2 Thực hiện các bước hợp giải đến khi không thể biến đổi C
được nữa:
Tìm hai nhân tử C i và C j có dạng C i = (p x) và C j = (q
x); Nếu tìm được thì thay C i và C j trong C bằng nhân
tử (p q)
3 Kết luận: Nếu C = thì công thức E được chứng minh;
ngược lại E không phải là công thức hằng đúng
Thuật toán giải bài toán trên được thể hiện dưới dạng các thành phần
theo kiến trúc sau :
Gọi công thức chuẩn hội C là khả hợp nếu sau khi thực hiện bước 2
của sơ đồ thuật toán trên ta thu được công thức rỗng; ngược lại, kết
luận C là không khả hợp
Thuật toán Resolution dưới đây chứng minh công thức dương E là
hằng đúng
Thuật toán 3.1.1
Algorithm Resolution
Function: Chứng minh công thức E Input: Công thức dương E
Output: True nếu E là công thức hằng đúng;
ngược lại: False Method
1 Đưa E về dạng chuẩn hội: C:= cnf(E);
2 Hợp giải: return(Unification(C) = );
EndResolution
Thuật toán Unification dưới đây thực hiện chức năng hợp nhất các
nhân tử trong công thức dương dạng chuẩn hội C đến mức tối đa
Thuật toán 3.1.2
Algorithm Unification
Function: Hợp nhất các nhân tử trong công thức
dương dạng chuẩn hội C đến mức tối đa
Input: Công thức dương C dạng chuẩn hội
C = C 1 C 2 … Ck; Output: công thức sau khi hợp nhất
Method
while (còn xử lý được) do Tìm hai nhân tử trong C có dạng
C i = (p x) và Cj = (q x);
if (tìm được)
Thay C i và C j trong C bằng (p q)
else break;
endif;
endwhile;
return C;