Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
2,29 MB
Nội dung
i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - NGÔ VIỆT TRƯỜNG PHỤTHUỘCLOGICTRONGCƠSỞDỮLIỆU LUẬN VĂN THẠC SĨ Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số ngành: 60480201 TP HỒ CHÍ MINH, THÁNG NĂM 2014 ii BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - NGÔ VIỆT TRƯỜNG PHỤTHUỘCLOGICTRONGCƠSỞDỮLIỆU LUẬN VĂN THẠC SĨ Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số ngành: 60480201 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS TSKH NGUYỄN XUÂN HUY iii TP HỒ CHÍ MINH, THÁNG NĂM 2014 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa công bố công trình khác Tôi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thông tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn (Ký ghi rõ họ tên) NGÔ VIỆT TRƯỜNG iv LỜI CẢM ƠN Trong suốt quá trình học tập hoàn thành luận văn này, đã nhận được sư hướng dẫn, giúp đỡ quý báu của quý thầy cô, gia đình, bạn bè đồng nghiệp Với lòng kính trọng biết ơn sâu sắc xin được bày tỏ lời cảm ơn chân thành tới: Thầy hướng dẫn Phó giáo sư - Tiến sĩ Khoa học Nguyễn Xuân Huy, thầy đã truyền đạt kiến thức bổ ích cho quá trình học tập hướng dẫn hết sức tận tình quá trình hoàn thành luận văn Khoa Công Nghệ Thông Tin, Phòng quản lý khoa học - Đào tạo sau đại học trường Đại Học Công Nghệ Thành Phố Hồ Chí Minh đã tạo điều kiện thuận lợi giúp đỡ quá trình học tập hoàn thành luận văn Toàn thể quý thầy cô đã nhiệt tình giảng dạy truyền đạt kiến thức bổ ích cho suốt khóa học vừa qua Cuối xin cảm ơn đến tất cả người thân gia đình, bạn bè đồng nghiệp đã giúp đỡ suối quá trình học tập thưc luận văn NGÔ VIỆT TRƯỜNG v MỤC LỤC Danh mục kí hiệu, từ viết tắt Danh mục hình minh họa Mở đầu Chương Tổng quan lý thuyết sởliệu quan hệ 1.1 Một số khái niệm 1.2 Phụthuộc hàm .8 1.2.1 Khái niệm phụthuộc hàm 1.2.2 Hệ tiên đề Armstrong .10 1.2.3 Một số tính chất phụthuộc hàm 10 1.2.4 Định lý tương đương 11 1.3 Lược đồ quan hệ 12 1.4 Kết chương 12 Chương Một số khái niệm sởphụthuộc Boole dương 13 2.1 Các công thức Boole 13 2.2 Phụthuộc Boole dương .16 2.2.1 Công thức Boole dương 16 2.2.2 Bảng chân lý quan hệ 17 2.2.3 Phụthuộc Boole dương 17 2.2.4 Một số tính chất phụthuộc Boole dương 18 2.2.5 Định lý tương đương 20 2.3 Bài toán suy dẫn cho lớp PTBD 21 2.4 Biểu diễn PTBD dạng hội suy dẫn 24 2.4.1 Công thức suy dẫn 24 vi 2.4.2 Bài toán biểu diễn PTBD dạng hội suy dẫn .25 2.4.3 Tập TR PTBD .30 2.4.4 Xây dựng tập PTBD từ quan hệ R cho trước 32 2.5 Kết chương 34 Chương Ứng dụng lớp phụthuộc Boole dương giải số lớp toán 35 3.1 Bài toán thành viên 35 3.2 Bài toán bao đóng 38 3.3 Chuẩn hóa dạng chuẩn hội (CNF) .40 3.4 Phương pháp chứng minh công thức suy dẫn phép hợp giải .40 3.5 Phương pháp chứng minh công thức .41 3.6 Một số thí dụ minh họa 42 3.7 Môi trường xây dựng chương trình .44 3.7.1 Phần cài đặt chương trình 44 3.7.2 Dữliệu áp dụng cho chương trình 44 3.8 Cách thực chương trình .45 3.9 Kết đạt 52 3.10 Kết chương 52 Kết luận kiến nghị hướng phát triển .53 Phụ lục Tài liệu tham khảo .54 vii DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT CSDL Cơsởliệu CTB Công thức Boole CTBD Công thức Boole dương CTSD Công thức suy dẫn HSD Hội suy dẫn I(U) Tập công thức suy dẫn tập biến U L(U) Tập CTB xây dựng tập biến U P(U) Tập toàn công thức dương U PTBD Phụthuộc Boole dương PTBDTQ Phụthuộc Boole dương tổng quát PTH Phụthuộc hàm R(U) Quan hệ R với tập thuộc tính U REL(U) Tập toàn thể quan hệ tập thuộc tính U REL_p(U) Tập toàn thể quan hệ có không p tập thuộc tính U, p ≥ SAT(F) Tập toàn thể quan hệ U thỏa tập ràng buộc F SAT_p(F) Tập toàn thể quan hệ có không p U thỏa tập ràng buộc F, p ≥ SubSet(U) Tập tập U ⇔ Khi ⇒ suy ra, kéo theo ├ suy dẫn theo quan hệ ╞ suy dẫn logic ├2 suy dẫn theo quan hệ có không viii DANH MỤC CÁC HÌNH MINH HOẠ Hình 1.1 Tập thuộc tính quan hệ R 16 Hình 2.1 Bảng chân lý Tf,Tg 21 Hình 2.2 Bảng trị Vf,Vg .21 Hình 2.3 Bảng chân lý TG,Th .23 Hình 2.4 Quan hệ R(A,B,C) 23 Hình 2.5 Bảng chân lý TR 23 Hình 3.1 Các kí hiệu phép toán 41 Hình 3.2 Gọi thủ tục go1 52 Hình 3.3 Gọi thủ tục go2 52 Hình 3.4 Gọi thủ tục go3 53 Hình 3.5 Gọi thủ tục go .53 Hình 3.6 Gọi tiếp thủ tục go 54 Hình 3.7 Gọi tiếp thủ tục go 54 Hình 3.8 Gọi tiếp thủ tục go 55 Hình 3.9 Gọi tiếp thủ tục go 55 Hình 3.10 Tính trị a + b .55 Hình 3.11 Tính trị a & b 56 Hình 3.12 Tính trị a => b 56 Hình 3.13 Tính trị a ^ b .57 Hình 3.14 Tính trị a b 57 ix MỞ ĐẦU Cơsởliệu hạt nhân thiếu hệ thống, có hệ thống máy tính truyền thông Cùng với phát triển không ngừng Internet, việc trao đổi thông tin truyền liệu mạng nhu cầu tất yếu đặt Với khối lượng thông tin lớn trao đổi, liệu lưu trữ phân tán, yêu cầu truy xuất xảy nhiều nơi, việc đảm bảo tính quán, tránh dư thừa liệu, dị thường thêm, xóa toán liên quan đến tổ chức, xử lý, nén liệu,… vấn đề quan tâm Để lưu trữ, quản lý khai thác liệu ta dùng nhiều mô hình tổ chức liệu khác từ mô hình truyền thống mô hình mạng, mô hình phân cấp, mô hình quan hệ đến mô hình đại, dùng nhiều mô hình sởliệu phân tán, mô hình sởliệu hướng đối tượng … Trong mô hình liệu, việc nghiên cứu lý thuyết ứng dụng ràng buộc liệu hay gọi phụthuộcliệu yêu cầu cấp thiết đặt Phụthuộcliệu Codd [13] tác giả mô hình liệu quan hệ đặt móng từ năm 70 với khái niệm phụthuộc hàm Tiếp sau R Fagin Zaniolo đưa phụthuộc đa trị vào năm 1976 Cùng với phát triển lớp phụthuộc hàm, sốphụthuộcliệu bậc cao hệ tiên đề cho lớp phụthuộc tức đặt móng sở lý thuyết phụthuộc liệu, giới thiệu sau phụthuộc đối ngẫu, phụthuộc mạnh, phụthuộc yếu J Demetrovics Gy Gyepesy đề xuất năm 1981, phụthuộc Boole dương Berman đề xuất năm 1985, 1987, phụthuộc Boole dương tổng quát Nguyễn Xuân Huy, Lê Thị Thanh [6] phát triển năm 1992, … Gần đây, sở lớp phụthuộc hàm phụthuộcliệu truyền thống cósố công trình nghiên cứu nhiều nhóm phụthuộcliệu mở rộng cho nhiều loại liệu khác Với liệu xác định, năm 2004, Ilya đồng nghiệp nghiên cứu phụthuộc hàm nhẹ (Soft Functional Dependencies – Soft FD) phụthuộc hàm mà giá trị X xác định giá trị Y với độ không chắn x định hay phụthuộc hàm có điều kiện (Conditional functional dependencies CFDs) Bohannon [8] đồng nghiệp đề xuất năm 2007 để làm liệu Với liệu mờ, phụthuộc hàm đối sánh (Matching dependencies - MDs), phụthuộc hàm độ đo (Metric Functional Dependencies - MFD) Fan nghiên cứu, đề xuất năm 2008, 2009 Hay phụthuộc (Sequential dependencies - SD ) Golab đồng nghiệp đưa để khái quát liệu theo thứ tự biểu diễn mối quan hệ thuộc tính có thứ tự Gần đây, đầu năm 2011 nhóm nghiên cứu Song S Chen L [12] đề xuất phụthuộc sai khác (Differential Dependencies - DDs) để giải số vấn đề đảm bảo tính toàn vẹn, tối ưu truy vấn tốt so với phụthuộc hàm Lớp PTH hầu hết phụthuộc bậc cao phát triển sau phụthuộc đối ngẫu, phụthuộc mạnh, phụthuộc yếu, phụthuộc hàm nhẹ, phụthuộc hàm có điều kiện … dựa quan hệ đẳng thức so sánh trị thuộc tính xuất Trong thực tế, so sánh theo đẳng thức tồn loại hình so sánh khác Ta xét số thí dụ sau: Trong CSDL quản lý giao dịch thẻ tín dụng, số thẻ giao dịch xác định vị trí giao dịch Để xác định giao dịch có gian lận hay không ta kết hợp điều kiện số thẻ với vị trí để xác định thời gian giao dịch, thí dụ thẻ tín dụng giao dịch hai vị trí cách 40km (ở hai thành phố khác nhau), thời gian truyền sai lệch phải lớn 20 phút Nếu hai giao dịch không thỏa điều kiện hai phiên giao dịch gian lận Như vậy, ta thấy phụthuộc [sothe (=0) ∧ vitri (≥40)] → [thoigian(≥20)] có ngữ nghĩa rộng PTH sothe → vitri Trongsố luận, độ cao số tự nhiên n, H(n) tổng chữ sốsố đó, thí dụ, H(2006) = H(125) = Nếu ta phân loại số theo độ cao hai số khác thuộc lớp Như phụthuộc H(N)→CLASS có ngữ nghĩa rộng PTH N → CLASS xlix Xét h: (f => g)’ - Bước 1: Đưa h dạng CNF = tích tổng: h = h1.h2…hk - Bước 2: Thay nhân tử dạng (a+b) (a’+c) (b+c) - Bước 3: Lặp đến xảy tình sau: + Gặp 0: Kết luận f => g + Không gặp 0: Kết luận f không suy g 3.5 Phương pháp chứng minh công thức - Bước 1: Đưa h dạng CNF = tích tổng: h = A.B D - Bước 2: Thay nhân tử dạng (a+b) (a’+c) (b+c) - Bước 3: Lặp đến xảy tình sau: + Gặp 1: Kết luận h + Không gặp 1: Kết luận h Các biến thể qui tắc: (a+b)(a’+c) => (b+c) (a’+b)a => b (a+b)a’ => b aa’ => Mệnh đề 3.1 (a+b)(a’+c) => b+c Chứng minh Cho X = (a+b)(a’+c) Y = b+c ta chứng minh X => Y Nói cách khác, ta chứng minh X = Y = Thật vậy, X = (a+b) = (a’+c) = Nếu a = a’ = Từ suy c = Nếu a = b = Do đó, b+c = Mệnh đề 3.2 Nếu a => b b =>0 a = Chứng minh Do a => b, a = b = Điều mâu thuẫn với b => Do đó, a = Chú ý l Để chứng minh theo hợp giải trước hết phải loại bỏ thừa số giống tích, tức thay AA A Một số công thức (Tautologies) (1) X = ( (x+a) & (y+(~a)) ) =>(x+y)), (2) X = ((a => b) & (b => c))=>(a => c)), (3) X = (~a+1), (4) X = ((a & b) => a), (5) X = (a & (a => b) => a), (6) X = (~b & (a => b) => ~a), (7) X = (~a & (a + b) => b), (8) X = (a (b => (a&b))), (9) X = (a => (a+b)), (10) X = (((a&b) => c) => (a => (b => c))), (11) X = ((a => (b => c)) => ((a & b) => c)), (12) X = ((a => (b &(~b)) => (~a)), (13) X = (((a => b) & (~b)) => (~a)), (14) X = ((a => b) => ((a+c) => (b+c)) ), (15) X = ((a => b) => ((a & c) => (b & c)), (16) X = ((a => b) => ((b => c) => (a => c))), (17) X = (((a b) & (b c)) => (a c)), (18) X = (a a), (19) X = ((~(~a)) a), (20) X = ((a b) (b a)), (21) X = (((a => b) & (c => b)) => (a & c => b)), (22) X = (((a => b) & (a => c)) => (a => b & c)), (23) X = ((a => b) (~b => ~a)), (24) X = ((a+b)+c a+(b+c)), 3.6 Một số thí dụ minh họa Thí dụ 3.2 li Hãy chứng minh: Nếu a=>b, b=>c a=>c (Tc bắc cầu) Gọi f, g công thức sau: f = (a=>b)(b=>c) = {a=>b, b=>c}; g = a=>c = {a=>c} Hỏi f => g? Giải X = ((a=>b)&(b=>c))=>(a=>c)? Xét phủ định X: H = [((a=>b)&(b=>c))=>(a=>c)]’ (A) Đưa h CNF H = [((a=>b)&(b=>c))=>(a=>c)]’ = = (a’+b)(b’+c)(a’+c)’ // Vận dụng công thức (x=>y)’ = xy’ (x=>y) = x’+y = (a’+b)(b’+c)ac’ = (a’+b)(b’+c)ac’ // Đây CNF (B) Hợp giải H = (a’+b)(b’+c)ac’ => (a’+c)ac’ // Thay (a’+b)(b’+c) (a’+c) => cc’ // Thay (a’+c)a = (a’+c)(a+0) (c+0) = c => Kết luận: Nếu a=>b, b=>c a=>c (Tc bắc cầu) Thí dụ 3.3 Hãy kiểm tra công thức sau: (a=>b) => (ac=>bc) ? Giải H = (a=>b)(ac=>bc)’ = (a’+b)(ac(bc)’) = (a+b)(b’+c’)ac CNF H => (a+c’)ac => aa = a Sai Kết luận: (a=>b) =/> (ac=>bc) Thí dụ 3.4 Hãy kiểm tra công thức (a=>b) => ((a+c)=>(b+c)) ? Giải H = (a=>b)[(a+c)=>(b+c)]’ = (a’+b)(a+c)(b+c)’ = (a’+b)(a+c)b’c’ CNF H = (a’+b)(a+c)b’c’ =>(b+c)b’c’ => cc’ = Kết luận: Công thức suy dẫn lii Thí dụ 3.5 Hãy chứng minh công thức sau (((x+a) (y+a’)) =>(x+y)) đúng, Giải Với thí dụ này, ta sử dụng phương pháp phản chứng Giả sử X sai, ta có: H = X’ = (x+a)(y+a’)(x+y)’ = (x+a)(y+a’)x’y’ CNF H => (x+y)x’y’ => yy’ = Kết luận: Công thức suy dẫn Thí dụ 3.6 Hãy chứng minh X = a’+1 Giải Vẫn dùng phương pháp phản chứng Giả sử X sai, ta có H = X’ = (a’+1)’ = a0 = Kết luận: Công thức suy dẫn Thí dụ 3.7 Hãy chứng minh công thức X = (ab => c) => (a => (b => c)) Giải Sử dụng phương pháp phản chứng sau: Giả sử X sai, ta có H = X’ = [(ab => c) => (a => (b => c))]’ = (ab=>c)[a=>(b=>c)]’ = = (ab=>c)a(b=>c)’ = ((ab)’+c)abc’ = (a’+b’+c)abc’ CNF H => (b’+c)bc’ => cc’ = Kết luận: Công thức X = (ab => c) => (a => (b => c)) 3.7 Môi trường xây dựng chương trình 3.7.1 Phần cài đặt chương trình Chương trình xây dựng ngôn ngữ Prolog, ngôn ngữ lập trình logic sử dụng phổ biến lĩnh vực trí tuệ nhân tạo Nguyên lý lập trình logic dựa mệnh đề Horn (Horn logic) Nội dung chương trình nhằm giải toán thành viên với liệu công thức Logic f, g 3.7.2 Dữliệu áp dụng cho chương trình liii Dữliệu sử dụng để chạy chương trình tập thuộc tính phụthuộcLogic f tập thuộc tính phụthuộcLogic g có sẵn, nhập trực tiếp bàn phím phần code chương trình Thí dụ 3.8 Giải toán thành viên: F= (a&b => c) & (~a+b), G = a => c Hỏi F=>G? 3.8 Kết đạt Khi thực lệnh gọi thủ tục chương trình giải cách nhanh chóng toán thành viên với phụthuộc boole dương f g cho kết rỗng ta kết luận theo thuật toán hợp giải ta kết luận f=>g, ngược lại f=/>g Chương trình thực tìm khóa lược đồ quan hệ có tập hợp thuộc tính với phụthuộclogic f, g cho trước Kết thuật toán cho giá trị tập hợp khóa tìm quan hệ Ta tìm trị cách nhanh chóng cách đưa vào thuộc tính hay hàm, chương trình xuất kết tương ứng thuộc tính hay hàm 3.9 Kết chương Chương trình bày sốsố toán thành viên toán bao đóng, thuật toán phương pháp hợp giải để giải toán thành viên cho phụthuộc Logic, sử dụng thuật toán tìm khóa để giải toán tìm khóa cho lược đồ quan hệ gồm phụthuộcLogic f,g Đồng thời trình bày cách thực hiện, việc đưa liệu kết chương trình ứng dụng viết ngôn ngữ Prolog liv KẾT LUẬN VÀ KIẾN NGHỊ HƯỚNG PHÁT TRIỂN Kết luận Lý thuyết phụthuộcliệu vấn đề nhiều người quan tâm nghiên cứu, phát triển mặt lý thuyết ứng dụng Các nhà nghiên cứu đề xuất nhiều loại phụthuộcliệu khác để đáp ứng yêu cầu thực tế phong phú đa dạng Lớp phụthuộcliệuphụthuộc hàm E F Codd [13] tác giả mô hình sởliệu quan hệ giới thiệu năm 1970 Cùng với phát triển lớp phụthuộc hàm, nhiều lớp phụthuộc khác nghiên cứu, phát triển phụthuộc đối ngẫu, phụthuộc mạnh, phụthuộc yếu, phụthuộc đối sánh, phụthuộc tuần tự, phụthuộc sai khác…và số lớp phụthuộc Boole dương Với mong muốn đóng góp vào phát triển ứng dụng đó, luận văn cố gắng tìm hiểu trình bày số khái niệm lớp phụthuộc Boole dương số vấn đề lớp phụthuộc bao đóng, toán suy dẫn, toán thành viên Kiến nghị hướng phát triển - Nghiên cứu ứng dụng loại phủ cho lớp phụthuộc Boole dương - phủ tự nhiên, phủ tối tiểu Tiếp tục tìm hiểu số lớp phụthuộcliệucó chất phụthuộc Boole dương nghiên cứu gần phụthuộc hàm mềm, phụthuộc hàm có - điều kiện, phụthuộc sai khác… Xây dựng ứng dụng, giải toán thực tế dựa vào lớp phụthuộc Boole dương lv PHỤ LỤC (Một số kết chương trình ứng dụng) - Gọi thực lệnh “go1.” để giải toán thành viên - Kích đúp chuột lên file chương trình thanhvien.pl - Màn hình hiển thị sau: Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 6.4.1) Copyright (c) 1990-2013 University of Amsterdam, VU Amsterdam SWI-Prolog comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions Please visit http://www.swi-prolog.org for details For help, use?- help(Topic) or?- apropos(Word) 1?- Tại dấu nhắc ta đánh vào lệnh “go1.” 1?- go1 (a&b=>c)& (~a+b) => a=>c? Given: (a&b=>c) & (~a+b)=> (a=>c) Y = ~ ((a&b=>c) & (~a+b)=> (a=>c)) CNF: (~a+ ~b+c) & (~a+b)& (a& ~c) ToList: [~a+ ~b+c,~a+b,a,~c] List: [[~a,~b,c],[~a,b],[a],[~c]] [] true ! true ?Hình 3.2 Gọi thủ tục go1 lvi - Gọi thực lệnh “go2.” để giải toán thành viên ?- go2 (a=>b)& (b=>c) => a=>c? Given: (a=>b)& (b=>c)=> (a=>c) Y = ~ ((a=>b)& (b=>c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! true Hình 3.3 Gọi thủ tục go2 - Gọi thực lệnh “go3.” để giải toán thành viên ?- go3 (a=>b+c)& (a&d=>e)& (c+e=>b) => b&e=>a+d? Given: (a=>b+c)& (a&d=>e)& (c+e=>b)=> (b&e=>a+d) Y = ~ ((a=>b+c)& (a&d=>e)& (c+e=>b)=> (b&e=>a+d)) CNF: (~a+ (b+c))& (~a+ ~d+e)& ((~c+b)& (~e+b))& (b&e& (~a& ~d)) ToList: [~a+ (b+c),~a+ ~d+e,~c+b,~e+b,b,e,~a,~d] List: [[~a,b,c],[~a,~d,e],[~c,b],[~e,b],[b],[e],[~a],[~d]] [[b],[e],[~a],[~d],[~a,b],[~a,~d,b]] By val [0,1,0,0,1] false ! true Hình 3.4 Gọi thủ tục go3 lvii - Gọi thực lệnh “go.” để giải toán thành viên ?- go (a=>b)& (b=>c) => a=>c? Given: (a=>b)& (b=>c)=> (a=>c) Y = ~ ((a=>b)& (b=>c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! Continue [Y|N] ? y Hình 3.5 Gọi thủ tục go - Để tiếp tục thực giải ta nhấn “y.”, kết tiếp tục giải sau: (~a+b)& (~b+c) => a=>c? Given: (~a+b)& (~b+c)=> (a=>c) Y = ~ ((~a+b)& (~b+c)=> (a=>c)) CNF: (~a+b)& (~b+c)& (a& ~c) ToList: [~a+b,~b+c,a,~c] List: [[~a,b],[~b,c],[a],[~c]] [] true ! Continue [Y|N] ? y Hình 3.6 Gọi tiếp thủ tục go lviii (x+a)& (y+ ~a) => x+y? Given: (x+a)& (y+ ~a)=>x+y Y = ~ ((x+a)& (y+ ~a)=>x+y) CNF: (x+a)& (y+ ~a)& (~x& ~y) ToList: [x+a,y+ ~a,~x,~y] List: [[x,a],[y,~a],[~x],[~y]] [] true ! Continue [Y|N] ? y Hình 3.7 Gọi tiếp thủ tục go a+b => a? Given: a+b=>a Y = ~ (a+b=>a) CNF: (a+b)& ~a ToList: [a+b,~a] List: [[a,b],[~a]] [[b]] By val [0,1] false ! Continue [Y|N] ? y Hình 3.8 Gọi tiếp thủ tục go lix a&b => a? Given: a&b=>a Y = ~ (a&b=>a) CNF: a&b& ~a ToList: [a,b,~a] List: [[a],[b],[~a]] [] true ! Continue [Y|N] ? n Bye ! true Hình 3.9 Gọi tiếp thủ tục go - Khi nhấn “n.” chương trình thoát khỏi thủ tục “go” - Gọi thực lệnh “tt( thuộc tính).” để tính trị cho thuộc tính Thí dụ 3.9 Để tính trị biểu thức a+b ta gọi sau: ?- tt(a+b) [a,b] a+b [0,0] [0,1] [1,0] [1,1] True Hình 3.10 Tính trị a+b lx Thí dụ 3.10 Để tính trị biểu thức a&b ta gọi sau: ?- tt(a&b) [a,b] a&b [0,0] [0,1] [1,0] [1,1] True Hình 3.11 Tính trị a&b Thí dụ 3.11 Để tính trị biểu thức a=>b ta gọi sau: ?- tt(a=>b) [a,b] a=>b [0,0] [0,1] [1,0] [1,1] True Hình 3.12 Tính trị a=>b lxi Thí dụ 3.12 Để tính trị biểu thức a^b ta gọi sau: ?- tt(a ^ b) [a,b] a^b [0,0] [0,1] [1,0] [1,1] True Hình 3.13 Tính trị a^b Thí dụ 3.13 Để tính trị biểu thức ab ta gọi sau: ?- tt(a b) [a,b] ab [0,0] [0,1] [1,0] [1,1] true Hình 3.14 Tính trị ab lxii TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa (2011), “Hệ sinh cân toán biểu diễn sở hệ sinh ánh xạ đóng”, Chuyên san các công trình nghiên cứu, phát triển ứng dụng CNTT-TT, Tập V-1, Số (25), tr.15-21 [2] Nguyễn Xuân Huy (2006), Các phụthuộclogicsở liệu, Viện KH&CN Việt nam, NXB Thống kê, Hà Nội [3] Nguyễn Xuân Huy, Lê Đức Minh, Vũ Ngọc Loãn (2000), “Các ánh xạ đóng ứng dụng sở liệu”, Tạp chí Tin học Điều khiển học, 16(4), tr.1-6 [4] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Giàn giao ánh xạ đóng”, Chuyên san các công trình nghiên cứu - triển khai viễn thông công nghệ thông tin, số 14, tr 35-42 [5] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Thu gọn hệ sinh ánh xạ đóng”, Chuyên san các công trình nghiên cứu - triển khai viễn thông công nghệ thông tin, số 15, tr 53-58 [6] 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ế sở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 Truyền thông”, Đại Lải, 1415/09/2007, NXB KHTN, tr.499-506 Tài liệu tiếng Anh [7] Armstrong W.W., Delobel C (1980), “Decomposition and Functional Dependencies in Relations” , ACM TODS, 5(4), pp 404-430 [8] Bohannon, P., Fan, W., Geerts, F., Jia, X., and K.ementsietsidis, A (2007), “Conditional functional dependencies for data cleaning”, In ICDE, pp.746755 lxiii [9] Cong, G., Fan, W., Geerts, F., Jia, X., and Ma, S (2007), “Improving data quality: Consistency and accuracy”, In VLDB, pp.315-326 [10] Fan, W., Geerts, F., Lakshmanan, L V S., and Xiong, M (2009), “Discovering conditional functional dependencies”, In ICDE, pp 12311234 [11] Luong Nguyen Hoang Hoa (2011), “Some results concerning Generalized Positive Boolean Dependencies in relational database”, Internatinal Journal of Computer Electrical Engineering (IJCEE), vol 3, no 6, pp 779-783 [12] Song, S., and Chen, L (2011), “Differential Dependencies: Reasoning and Discovery”, ACM Trans Datab Syst., vol.9, no 4, Article 39 [13] Codd E F (1970), “A Relational Model of Data for Large Shared Data Banks, CACM 13(6), pp 377-387 ... VỀ LÝ THUYẾT CƠ SỞ DỮ LIỆU QUAN HỆ Lý thuyết phụ thuộc liệu đóng vai trò quan trọng việc mô tả giới thực, phản ánh ngữ nghĩa liệu sở liệu Trong quản lý sở liệu (CSDL), phụ thuộc liệu hiểu mệnh... lớp phụ thuộc liệu phụ thuộc Boole dương tổng quát hay phụ thuộc có chất phụ thuộc Boole dương phụ thuộc sai khác, phụ thuộc đối sánh nghiên cứu sau Mục tiêu luận văn tìm hiểu lý thuyết phụ thuộc. .. họa phụ thuộc hàm xxi Chương MỘT SỐ KHÁI NIỆM CƠ SỞ TRONG PHỤ THUỘC BOOLE DƯƠNG Trong chương nêu tổng quan lớp phụ thuộc logic lớp phụ thuộc hàm, phát biểu định lý tương đương cho lớp phụ thuộc