Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
882 KB
Nội dung
Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 MỤC LỤC i Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 DANH MỤC HÌNH Hình Giá đỡ, hạt nhân, tập mức α tập mờ A Error: Reference source not found Hình Hợp hai tập mờ A B .Error: Reference source not found Hình Giao hai tập mờ A B .Error: Reference source not found Hình Phần bù tập mờ A Error: Reference source not found Hình Giao diện chương trình tìm bao đóng mờ Error: Reference source not found Hình Giao diện chương trình tìm khóa mờError: Reference source not found Hình Giao diện chương trình tìm tất khóa mờ Error: Reference source not found ii Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 DANH MỤC CÁC TỪ VIẾT TẮT CSDL FD FFD Cơ sở liệu Functional Dependency ( Phụ thuộc hàm) Fuzzy Functional Dependency ( Phụ thuộc hàm mờ) iii Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Phần I Mở Đầu Đặt vấn đề Logic mờ cho phép lập luận đối tượng thực tế định nghĩa không rõ ràng Trong logic mờ , có đối tượng xấp xỉ đối tượng xác, rõ ràng, kiểu lập luận xấp xỉ Mọi thứ logic mờ, kể giá trị chân lý (true value) độ đo khoảng [0, 1], hay nhãn như: đúng, đúng, sai, sai hơn… Mô hình quan hệ Codd E F đề xuất năm 1970 đáp ứng nhu cầu lưu trữ xử lý liệu người thời gian dài Tuy nhiên, mô hình tồn nhiều hạn chế chưa giải Trên thực tế, thu nhận liệu với thông tin không đầy đủ, có thông tin không xác, không chắn gọi chung liệu mờ Nếu giới hạn mô hình sở liệu kinh điển phải đợi đầy đủ thông tin đối tượng cập nhật vào sở liệu, nhập gây khó khăn, ngữ nghĩa không quán xử lý liệu Do để đáp ứng nhu cầu thực tế, phải mở rộng mô hình sở liệu kinh điển để biểu diễn xử lý liệu mờ gọi sở liệu mờ (Fuzzy Database) Trong thời đại có hàng ngàn thông tin kết nối với có thông tin dư thừa lặp lặp lại không cần thiết làm cho chuỗi sở liệu trở nên khổng lồ tải Chính vấn đề đặt cho thông tin xác, đầy đủ phản ánh nguyên vẹn, đầy đủ thông tin không bị mát , cần khóa để liên kết thuộc tính có mối quan hệ khăng khít lại với tạo nên hệ sở liệu chặt chẽ tránh đươc tình trạng dư thừa liệu Qua ta thấy khóa vấn đề quan trọng việc thiết kế CSDL dù rõ hay mờ Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Trong hệ sở liệu mờ việc tìm khóa mờ quan trọng Nó giúp liên kết thuộc tính có quan hệ với tạo nên hệ sở liệu chặt chẽ hơn,giúp cho liệu không bị dư thừa Khóa tập thuộc tính, nhờ phân biệt đối tượng với đối tượng khác.Với ràng buộc Khóa luôn xác định phải Khóa có vai trò quan trọng CSDL giúp dễ dàng tạo mối liên hệ bảng CSDL quan hệ Chính việc xây dựng tìm khóa mờ mô hình sở liệu mờ vô quan trọng cần thiết khóa mờ nghiên cứu theo cách tiếp cận Đại số gia tử Với mong muốn học hỏi tìm hiểu thêm CSDL mờ, hướng dẫn thầy Nguyễn Văn Định khoa Công nghệ thông tin, em định chọn đề tài: “Xây dựng thuật toán tìm khóa mờ mô hình CSDL mờ ” cho khóa luận tốt nghiệp Mục đích Tìm hiểu sở liệu mờ khóa mờ Xây dựng chương trình demo tìm bao đóng mờ khóa mờ Phương pháp nghiên cứu Tìm kiếm thông tin internet Phương pháp nghiên cứu tài liệu chuyên khảo Phương pháp khảo nghiệm: Xây dựng chương trình để kiểm tra kết nghiên cứu Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Phần II TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC Tình hình nghiên cứu nước Trong năm gần đây, CSDL mờ vấn đề liên quan nhiều tác giả nước quan tâm nghiên cứu có kết đáng kể Hiện mô hình sở liệu mờ nhà khoa học tâm huyết nghiên cứu phát triển thành ứng dựng áp dụng cho thực tế: chẳng hạn ứng dụng logic mờ hệ thống chuẩn đoán điều trị đau thắt ngực Tình hình nghiên cứu nước Các nhà nghiên cứu nước nỗ lực tìm công nghệ mờ đại như: logic mờ cách để biểu diễn xác suất Bart Kosko thực thành công… Ứng dụng logic mờ vào công nghiệp thực Châu Âu, khoảng sau năm 1970 Tại trường Queen Mary Luân Đôn – Anh, Ebrahim Mamdani dùng logic mờ để điều khiển máy nước mà trước ông điều khiển kỹ thuật cổ điển Và Đức, Hans Zimmermann dùng logic mờ cho hệ định Liên tiếp sau đó, logic mờ áp dụng vào lĩnh vực khác điều khiển lò xi măng Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Phần III NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU I CÁC KHÁI NIỆM LIÊN QUAN ĐẾN CƠ SỞ DỮ LIỆU QUAN HỆ Quan hệ Một quan hệ ( hay xác định ) tập thuộc tính Ω = { A1, A2, …, An} tập tích Decartes Dom (A1) ×Dom (A2) × … × Dom (An), Dom (Ai) miền trị thuộc tính Ai, i = 1, 2, …, n Cho quan hệ r xác định tập thuộc tính Ω = { A1, A2, …, An} Theo định nghĩa, ta viết r dạng sau: r ⊆ {( a1, a2, …, an)| ai∈ Dom(Ai), I = 1,2 , … , n} Lược đồ quan hệ Một lược đồ quan hệ S cặp có thứ tự S = < Ω , F >, Ω tập hữu hạn thuộc tính quan hệ, F tập ràng buộc thuộc tính Một ràng buộc tập thuộc tính {A1, A2, , An} tính chất tập tất quan hệ xác định tập thuộc tính Một lược đồ quan hệ sử dụng để mô tả cấu trúc ràng buộc quan hệ Một quan hệ thay đổi liên tục theo thời gian cấu trúc ràng buộc ổn định khoảng thời gian định Ví Dụ 1: cho quan hệ TKB ( thời khóa biểu ) sử dụng cho sở đào tạo sau: Khóa Luận Tốt Nghiệp Ngày 20/5 20/5 21/5 Tiết thứ Nguyễn Thị Ngọc Bích – THC52 Môn Cơ sở liệu Cơ sở liệu Quản trị mạng Phòng TT201 TT201 TT211 Giáo viên Ngô Chiên Ngô Chiên Phan Huyền Dữ liệu quan hệ TKB thường xuyên thay đổi cấu trúc ổn định Mặc dù liệu quan hệ thay đổi phải thỏa mãn ràng buộc để đảm bảo tính đắn thời khóa biểu, chẳng hạn: giáo viên không phép dạy phòng củng thời điểm Cho lược đồ quan hệ S = < Ω , F > với Ω = { A1, A2, , An} Nếu không quan tâm đến tập ràng buộc F ta dùng ký hiệu S( A1, A2, …, An) thay cho S = < Ω , F > Ta dùng quan hệ r(S) để quan hệ r ( hay thể r ) lược đồ quan hệ S với t r(S) X ⊆ Ω , ta ký hiệu t[X] chứa giá trị t thuộc tính X Khóa lược đồ quan hệ Một quan hệ tập hợp Các phần tử tập hợp phân biệt nên có hai trùng quan hệ Như vậy, với lược đồ quan hệ S = < Ω , F >, tồn tập thuộc tính SK ⊆ Ω có tính chất: với thể r(S) t 1[SK] ≠ t2[SK], với t1, t2 hai khác r Siêu khóa lược đồ quan hệ S tập gồm hay nhiều thuộc tính lược đồ S có tính chất xác định thể S Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Cho lược đồ quan hệ S = < Ω , F > Nếu SK siêu khóa S tập Ω mà chứa SK siêu khóa S Một siêu khóa “nhỏ nhất” gọi khóa Khóa lược đồ quan hệ S siêu khóa S cho tập thực siêu khóa siêu khóa S Mỗi lược đồ quan hệ có khóa có nhiều khóa Một thuộc tính xuất khóa gọi thuộc tính khóa Ngược lại, thuộc tính không xuất hiên khóa gọi thuộc tính không khóa Khóa lược đồ quan hệ S tập hợp gồm hay nhiều thuộc tính lược đồ S tập thuộc tính khóa lược đồ quan hệ khác Khóa dùng để biểu diễn mối liên kết quan hệ Ví Dụ 2: xét hai lược đồ quan hệ KHOA (khoa) LOP (lớp) sở liệu trường cao đẳng: KHOA(Ma_Khoa, Ten_Khoa, So_DT) LOP(Ma_Lop, Ten_Lop, Ma_khoa) Trong khoa có mã số (Ma_Khoa) lớp có mã lớp (Ma_Lop) Ta có {Ma_Khoa} {Ma_Khoa, Ten_Khoa} tương ứng khóa siêu khóa lược đồ KHOA, {Ma_Khoa} lược đồ LOP khóa lược đồ LOP Trong mô hình liệu quan hệ, khái niệm phụ thuộc hàm, bao đóng tập thuộc tính tập phụ thuộc hàm, khóa lược đồ quan hệ khái niệm trung tâm 3.1 Phụ thuộc hàm Phụ thuộc hàm ràng buộc hai nhóm thuộc tính lược đồ quan hệ thể tính chất ngữ nghĩa thuộc tính Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 3.1.1 Một số định nghĩa Định nghĩa 3.1.1: Phụ thuộc hàm Cho Ω tập thuộc tính S( Ω ) lược đồ quan hệ Ω Giả sử X,Y ⊆ Ω Khi Y gọi phụ thuộc hàm vào X lược đồ S( Ω ), ký hiệu X → Y, với quan hệ r lược đồ S( Ω ), với hai t 1, t2 ∈ r mà t1[X] = t2[X] t1[Y] = t2[Y] Nếu Y phụ thuộc hàm vào X ta nói “ X xác định hàm Y” Định nghĩa 3.1.2: Với quan hệ r lược đồ S( Ω ), ta nói r thỏa mãn phụ thuộc hàm X → Y( hay phụ thuộc hàm X → Y r) với t1, t2 ∈ r, t1[X] = t2[X] kéo theo t1[Y] = t2[Y] Định nghĩa 3.1.3: Cho F tập phụ thuộc hàm lược đồ quan hệ S( Ω ) Ta nói X → Y suy diễn logic từ F, ký hiệu F |= (X → Y), với quan hệ S( Ω ), r thỏa F ( r thỏa phụ thuộc hàm F) r thỏa X → Y Định nghĩa 3.1.4: Ta gọi bao đóng tập phụ thuộc hàm F, ký hiệu F*, tập tất phụ thuộc hàm suy diễn logic từ F F* = {X → Y| F |= (X → Y)} Ví Dụ Một cửa hàng cần quản lý liệu loại hàng hóa mà họ bán Thông tin loại hàng bao gồm mã số (MaSo), tên hàng (TenHang) giá bán (GiaBan) Giả sử loại có mã số tên Khi {MaSo} → {TenHang}, {TenHang} → {GiaBan}, {MaSo} → {GiaBan} dễ nhận thấy {MaSo} → {TenHang, GiaBan} 3.1.2 Hệ quy tắc suy diễn Armstrong Hệ quy tắc suy diễn Armstrong đưa lần vào năm 1974 gọi hệ tiên đề Armstrong Hệ quy tắc cho phép ta tìm phụ thuộc hàm suy diễn logic từ tập phụ thuộc hàm F nữa, mặt lý thuyết, sử dụng hệ quy tắc ta tìm tất phụ thuộc hàm suy diễn logic từ F Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Các ký hiệu: U = {A1, A2, … , An}là tập thuộc tính F = {Fi = Li ~>vi Ri , với i = 1, 2, , k}là tập gồm k phụ thuộc hàm mờ Ký hiệu L tập tất vế trái, R tập tất vế phải vi độ mạnh phụ thuộc hàm mờ thứ i , ≤ vi ≤ , i = 1, 2, , k L = ∪ Li R = ∪ Ri L ∩ R = {At1, At2, … , Ath} • Với tập X ⊆ U, X+ tập gồm thuộc tính X thêm vào thuộc tính suy dẫn từ phụ thuộc hàm mờ F, có vế trái L i gồm thuộc tính X, vế phải R i tập X, trình suy dẫn lặp lặp lại không bổ xung thêm thuộc tính vào X, tập X cuối bao đóng mờ X + với độ mạnh độ mạnh nhỏ phụ thuộc hàm mờ sử dụng để xác định X+ • Nếu với tập X mà X+ = U X siêu khóa mờ với độ mạnh độ mạnh X+ Rõ ràng X = U siêu khóa mờ (tầm thường) U, với độ mạnh 1.(vì thuộc tính xác định với độ mạnh v = 1) • Tập nhỏ K ⊆ X mà có tính chất K+ = U gọi khóa mờ lược đồ quan hệ S, với độ mạnh độ mạnh bao đóng mờ K+ • Để việc tính độ mạnh dễ dàng, ta thường tìm khóa mờ cách xuất phát từ tập nhỏ chứa tất thuộc tính khóa, tập (U \ R) ∪ (L ∩ R), ký hiệu AL (Atribute List), sau tính bao đóng tất tập AL, tập có thuộc tính, hai thuộc tính với độ mạnh bao đóng này; có bao đóng tập K, (K ⊆ AL) chứa thuộc tính U tập K khóa mờ lược đồ S, với độ mạnh độ mạnh bao đóng K + Trong trình tìm bao đóng tập AL, có tập chứa khóa tìm được, chuyển sang xét tập xét hết tập AL, ta tìm tất cac khóa mờ lược đồ S = (U,F) 38 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 2.1 Tính bao đóng mờ X+ tập thuộc tính X (đối với tập phụ thuộc hàm mờ F) Input: Lược đồ quan hệ S = (U, F), với ký hiệu trên, tập thuộc tính X Output: Bao đóng X+ với độ mạnh v (có thể ký hiệu X+v) Phương pháp: OLD_X := ∅ ; NEW_X := X;v:= 1; while OLD_X ≠ NEW_X begin OLD_X:=NEW_X; for each FFDi : W ~>vi Z in F if (NEW_X ⊇ W AND Z not in NEW_X) then /* để đảm bảo dùng phụ thuộc hàm mờ thực cần thiết cho tính X+ */ begin NEW_X := NEW_X ∪ Z ; if v > vi then v:= vi; /* v giá trị nhỏ độ mạnh phụ thuộc hàm sử dụng */ 10 end (7) 11 end (3) 12 return NEW_X ; độ mạnh v /* X+ = NEW_X */ Ví Dụ 22: Cho U = {A, B, C, D, E, I}, tập phụ thuộc hàm F = {A ~> 0.9 D, AB ~>0.8 E, BI ~>0.6 E, CD ~>0.8 I, E ~>0.7C} Với X = AE, trình tính X + thực sau: Khởi đầu cho NEW_X := AE, v:= 1; duyệt phụ thuộc hàm F, với A ~>0.9 D, ta bổ xung D vào NEW_X, v := 0.9; với phụ thuộc hàm E ~>0.7C, ta bổ xung C vào NEW_X, v:= 0.7; sau lần duyệt 1, ta có NEW_X:=ACDE Với tập X này, ta lại duyệt lần tập phụ thuộc hàm, 39 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 có CD ~>0.8 I có vế trái nằm NEW_X, bổ xung I vào NEW_X, v không đổi = 0.7 Vậy sau lần duyệt ta có NEW_X = ACDEI Tiếp tục duyệt lần phụ thuộc hàm cho NEW_X, không bổ xung thêm thuộc tính nào, NEW_X không đổi, v = 0.7 Thuật toán kết thúc có X+ = (AE)+= ACDEI với độ mạnh 0.7, hay X + = (ACDEI)0.7 2.2 Thuật toán tìm khóa mờ Cho lược đồ quan hệ R = , U tập tất thuộc tính, F tập FFDs Thuật toán gồm bước sau: (1) Tìm tất thuộc tính vế trái FFD F (2) Tìm tất thuộc tính không xuất FFD F (3) Lấy hợp hai tập tìm hai bước , hợp hai tập ký hiệu AL (Attribute List), giả sử tập có n thuộc tính (4) Tổ hợp thuộc tính AL, kí hiệu ki (i = 1, 2, …, n) tổ hợp, tổ hợp thực theo thứ tự tăng dần, bắt đầu với tổ hợp thuộc tính • Nếu ki chứa khóa tìm trước đó, tiếp tục thuật toán với ki+1 • Tìm bao đóng ki • Nếu bao đóng tìm chứa tất thuộc tính R, đặt α với giá trị độ mạnh nhỏ tất thuộc tính bao đóng, thêm khóa k i với độ mạnh α vào danh sách khóa Với thuật toán này, toàn khóa (dự tuyển) tìm Thao tác bước thứ tư thuật toán đảm bảo phụ thuộc hàm đầy đủ thuộc tính quan hệ vào khóa mờ 40 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Ví Dụ 23: Quan hệ R có U = {A, B, C, D, E, G}, với FFD : F = {B ~>0.6C, C ~>0.9B, A ~>0.8GD} Áp dụng thuật toán ta có: L = {BCA}; R = {CBGD}; U trừ R = {AE}; L giao R = {BC}; AL = {AEBC} Các tập AL (có: 15 tập con): A; AEC; E; ABC; B; EBC; C; AE; AB; AC; EB; EC; BC; AEB; AEBC; Ban đầu: K* = {} Tính bao đóng tập AL: (A)+ = AGD ≠ U ( dùng: A ~> 0.8 GD, ) (E)+ = E ≠ U ( tập có phần tử suy diễn sinh từ tập ) (B)+ = BC ≠ U ( dùng: B ~> 0.6 C, ) (C)+ = CB ≠ U ( dùng: C ~> 0.9 B, ) (AE)+ = AEGD ≠ U ( dùng: A ~> 0.8 GD, ) (AB)+ = ABCGD ≠ U ( dùng: B ~> 0.6 C, A ~> 0.8 GD, ) (AC)+ = ACBGD ≠ U ( dùng: C ~> 0.9 B, A ~> 0.8 GD, ) (EB)+ = EBC ≠ U ( dùng: B ~> 0.6 C, ) (EC)+ = ECB ≠ U ( dùng: C ~> 0.9 B, ) (BC)+ = BC ≠ U ( dùng: B ~> 0.6 C,C ~> 0.9 B, ) (AEB)+ = AEBCGD = U ( dùng: B ~> 0.6 C, A ~> 0.8 GD, ) -> AEB khóa lược đồ quan hệ mờ với độ mạnh 0.6 Vậy ta có K* = AEB/0.6 Ví Dụ 24 : Cho quan hệ R có thuộc tính U = {A, B, C, D, E}, với FFD: 41 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 F = {CD~>1A, CD~>1B, AD~>1E, CD~>1E, A~>1B, B~>1E} Áp dụng thuật toán ta có : L = {CDCDADCDAB}; R = {ABEEBE}; U trừ R = {CD}; L giao R = {AB}; AL = {CDAB} Các tập AL (có: 15 tập con): C; CDB; D; CAB; A; B; DAB; CD; CA; CB; DA; DB; AB; CDA; CDAB; Ban đầu: K* = {} Tính bao đóng tập AL: (C)+ = C ≠ U ( tập có phần tử suy diễn sinh từ tập ) (D)+ = D ≠ U ( tập có phần tử suy diễn sinh từ tập ) (A)+ = ABE ≠ U ( dùng: A ~> B, B ~> E, ) (B)+ = BE ≠ U ( dùng: B ~> E, ) (CD)+ = CDABE = U ( dùng: CD ~> A, CD ~> B, CD ~> E, ) -> CD khóa lược đồ quan hệ mờ với độ mạnh Vậy ta có K* = CD/1 2.3 Tìm khóa mờ lược đồ quan hệ R Input: Lược đồ quan hệ mờ R = (U, F) Output: Các khóa mờ Ki với độ mạnh tương ứng Cho lược đồ quan hệ mờ R = (U, F), U tập tất thuộc tính, F tập phụ thuộc hàm mờ R, (mỗi phụ thuộc hàm mờ có độ mạnh v, với ≤ v ≤ 1) Các ký hiệu: U = {A1, A2, …, An} tập thuộc tính F = {Fi = Li ~>vi Ri, với i = 1, 2, , k} tập gồm k phụ thuộc hàm mờ Ký hiệu L tập tất vế trái, R tập tất vế phải 42 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 vi độ mạnh phụ thuộc hàm mờ thứ i, ≤ vi ≤ 1, i = 1, 2, , k L = ∪ Li R = ∪ Ri L ∩ R = {At1, At2, …, At h} Phương pháp: Tính AL:= (U \ R) ∪ (L ∩ R) = {At1, At2, …, Atk} Tìm tất tập khác rỗng AL, theo thứ tự tập có số thuộc tính tăng dần, ký hiệu Xi, ( i = 1, 2, , m) Với tập Xi, tìm bao đóng Xi+ với độ mạnh vi , Xi+ = U Xi+ khóa mờ với độ mạnh vi Lặp lại bước với tất tập AL có số phần tử tăng dần, có tập chứa khóa tìm được, không cần tính bao đóng, chuyển sang xét tập Quá trình kết thúc xét hết tất tập AL, ta tìm tất khóa với độ mạnh tương ứng Procedure Find_FuzzyKey 13 Tính L, R, L ∩ R 14 Tính AL:= (U \ R) ∪ (L ∩ R) = {At1, At2, …, Atk}; /* AL gồm k thuộc tính */ 15 Liệt kê tất tập Xi AL , i = 1, 2, , m ; /* m = 2k – 1, số tập AL */ 16 Tập khóa K* := ∅; i:=1; 17 while i ≤ m 18 begin 19 for each Kj in K* 20 if Kj ⊆ Xi then i:= i+1 21 endfor; 22 Tính bao đóng Xi (gọi hàm tính bao đóng) ); 43 Khóa Luận Tốt Nghiệp 23 Nguyễn Thị Ngọc Bích – THC52 If Xi+ = U then {Ki := Xi ; vi := v; K* := K* ∪ {Ki}}; /* tìm thêm khóa Ki với độ mạnh vi */ 24 i:= i+1; 25 end while; 26 end Ví Dụ 25: Quan hệ R có U = {A, B, C, D, E, G}, với FFD : F = {B ~>0.6C, C ~>0.9B, A ~>0.8GD} Áp dụng thuật toán ta có: L = {BCA}; R = {CBGD}; U trừ R = {AE}; L giao R = {BC}; AL = {AEBC} Các tập AL (có: 15 tập con): A; AEC; ABC; E; B; EBC; C; AE; AB; AC; EB; EC; BC; AEB; AEBC; Ban đầu: K* = {} Tính bao đóng tập AL: (A)+ = AGD ≠ U ( dùng: A ~> 0.8 GD, ) (E)+ = E ≠ U ( tập có phần tử suy diễn sinh từ tập ) (B)+ = BC ≠ U ( dùng: B ~> 0.6 C, ) (C)+ = CB ≠ U ( dùng: C ~> 0.9 B, ) (AE)+ = AEGD ≠ U ( dùng: A ~> 0.8 GD, ) (AB)+ = ABCGD ≠ U ( dùng: B ~> 0.6 C, A ~> 0.8 GD, ) (AC)+ = ACBGD ≠ U ( dùng: C ~> 0.9 B, A ~> 0.8 GD, ) (EB)+ = EBC ≠ U ( dùng: B ~> 0.6 C, ) (EC)+ = ECB ≠ U ( dùng: C ~> 0.9 B, ) (BC)+ = BC ≠ U ( dùng: B ~> 0.6 C,C ~> 0.9 B, ) (AEB)+ = AEBCGD = U ( dùng: B ~> 0.6 C, A ~> 0.8 GD, ) 44 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 -> AEB khóa mờ với độ mạnh 0.6 Vậy ta có K1 = AEB/0.6 • Tập AEC không chứa khóa có K* Xét bao đóng AEC (AEC)+ = AECBGD = U ( dùng: C ~> 0.9 B, A ~> 0.8 GD, ) -> AEC khóa mờ với độ mạnh 0.8 Vậy ta có K2 = AEC/0.8 • Tập ABC không chứa khóa có K* Xét bao đóng ABC (ABC)+ = ABCGD ≠ U ( dùng: A ~> 0.8 GD, ) • Tập EBC không chứa khóa có K* Xét bao đóng EBC (EBC)+ = EBC ≠ U ( dùng: B ~> 0.6 C,C ~> 0.9 B, ) • Tập AEBC chứa khóa có K* -> bỏ qua không tính bao đóng AEBC Tập tất khóa mờ K* = {K1, K2, K3, } lược đồ quan hệ mờ là: K1 = {AEB} với v = 0.6 K2 = {AEC} với v = 0.8 Ví Dụ 26: Cho quan hệ R có thuộc tính U = {A, B, C, D, E} với FFD: F = {CD~>1A, CD~>1B, AD~>1E, CD~>1E, A~>1B, B~>1E} Áp dụng thuật toán ta có: L = {CDCDADCDAB}; R = {ABEEBE}; U trừ R = {CD}; L giao R = {AB}; AL = {CDAB} Các tập AL (có: 15 tập con): C; CDB; D; CAB; A; B; DAB; CD; CA; CB; DA; DB; AB; CDA; CDAB; Ban đầu: K* = {} 45 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Tính bao đóng tập AL: (C)+ = C ≠ U ( tập có phần tử suy diễn sinh từ tập ) (D)+ = D ≠ U ( tập có phần tử suy diễn sinh từ tập ) (A)+ = ABE ≠ U ( dùng: A ~> B, B ~> E, ) (B)+ = BE ≠ U ( dùng: B ~> E, ) (CD)+ = CDABE = U ( dùng: CD ~> A, CD ~> B, CD ~> E, ) -> CD khóa mờ với độ mạnh Vậy ta có K1 = CD/1 • Tập CA không chứa khóa có K* Xét bao đóng CA (CA)+ = CABE ≠ U ( dùng: A ~> B, B ~> E, ) • Tập CB không chứa khóa có K* Xét bao đóng CB (CB)+ = CBE ≠ U ( dùng: B ~> E, ) • Tập DA không chứa khóa có K* Xét bao đóng DA (DA)+ = DAEB ≠ U ( dùng: AD ~> E, A ~> B, ) • Tập DB không chứa khóa có K* Xét bao đóng DB (DB)+ = DBE ≠ U ( dùng: B ~> E, ) • Tập AB không chứa khóa có K* Xét bao đóng AB (AB)+ = ABE ≠ U ( dùng: B ~> E, ) • Tập CDA chứa khóa có K* -> bỏ qua không tính bao đóng CDA 46 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 • Tập CDB chứa khóa có K* -> bỏ qua không tính bao đóng CDB • Tập CAB không chứa khóa có K* Xét bao đóng CAB (CAB)+ = CABE ≠ U ( dùng: B ~> E, ) • Tập DAB không chứa khóa có K* Xét bao đóng DAB (DAB)+ = DABE ≠ U ( dùng: AD ~> E, ) • Tập CDAB chứa khóa có K* -> bỏ qua không tính bao đóng CDAB Tập tất khóa mờ K* = {K1, K2, K3, } lược đồ quan hệ mờ là: K1 = {CD} với v = 47 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Phần IV CÀI ĐẶT CHƯƠNG TRÌNH Trong phần này, em trình bày chương trình tìm bao đóng mờ, tìm khóa mờ, tìm tất khóa mờ Chương trình xây dựng dựa thuật toán tìm bao đóng mờ, tìm khóa mờ tìm tất khóa mờ Chương trình xây dựng phần mềm Microsoft Visual Studio 2005 NET Framework 4.0 Tìm bao đóng mờ: Nhập toán với thuộc tính U = {A, B, C, D, E, G} phu thuộc hàm F = {B~>0.6C, C~>0.9B, A~>0.8GD} sau ta kích chọn nút tìm bao đóng mờ form cho phép nhập thuộc tính mờ có kết hình đây: Hình Giao diện chương trình tìm bao đóng mờ 48 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Tìm khóa mờ: Nhập toán với thuộc tính U = {A, B, C, D, E, G} phu thuộc hàm F = {B~>0.6C, C~>0.9B, A~>0.8GD} sau ta kích chọn nút tìm khóa có kết hình đây: Hình Giao diện chương trình tìm khóa mờ Tìm tất khóa mờ: Nhập toán với thuộc tính U = {A, B, C, D, E, G} phu thuộc hàm F = {B~>0.6C, C~>0.9B, A~>0.8GD} sau ta kích chọn nút tìm nhiều khóa có kết hình đây: 49 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Hình Giao diện chương trình tìm tất khóa mờ 50 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Phần V KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Qua thời gian nghiên cứu thực đề tài đạt số kết sau: Giới thiệu tổng quan CSDL mờ khóa mờ Xây dựng chương trình demo minh họa cho thuật toán tìm bao đóng mờ, tìm khóa mờ, tìm nhiều khóa mờ Đề tài tìm hiểu, nghiên cứu số vấn đề vấn đề tìm bao đóng mờ, tìm khóa mờ, tìm nhiều khóa mờ, song thời gian lực hạn chế nên không tránh khỏi thiếu sót định Em mong nhận ý kiến đóng góp Thầy Cô để tiếp tục nghiên cứu phát triển đề tài ngày hoàn thiện Em xin chân thành cảm ơn thầy giáo, TS Nguyễn Văn Định trực tiếp hướng dẫn em thực đề tài Kiến nghị Trên sở kết đạt được, hướng nghiên cứu đề tài quan tâm đến vấn đề sau: Về lý thuyết: Nghiên cứu sâu vể việc cập nhật cho CSDL quan hệ mờ với khóa mờ Tìm hiểu phụ thuộc hàm mờ liên kết thuộc tính phụ thuộc hàm mờ để tìm khóa mờ chuẩn xác Về demo: Cần nghiên cứu xem xét thêm giải thuật tìm khóa mờ bao đóng mờ, qua tìm giải thuật tốt với độ phức tạp thuật toán thấp 51 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 TÀI LIỆU THAM KHẢO 1.Tài liệu tiếng việt [1] Bài giảng “Logic mờ ứng dụng” TS.Nguyễn Văn Định,Khoa CNTT, ĐHNN Hà Nội [2] B.Bouchon – Meunier, Hồ Thuần – Đặng Thanh Hà, “Logic mờ ứng dụng”, Nhà xuất Đại học quốc gia Hà Nội 2007 [3] Hồ Thuần, Hồ Cẩm Hà (2005), Các hệ sở liệu (lý thuyết thực hành, Nxb Giáo dục, Hà Nội [4] Nguyễn Tuệ (2007), Giáo trình nhập môn hệ sở liệu, Nxb Giáo dục, Hà Nội [5] H.Thuan, T.T.Thanh (2002), Fuzzy Functional Dependencies with Linguistic Quantifiers, Tạp chí tin học điều khiển học, Tập 18 (2), 97–108 Tài liệu Tiếng Anh [6] Armstrong W.W (1974, “Dependency structures of data base relationship”, Information Processing 74, North-Holland, Amsterdam, pp.580-583 [7] Codd E F (1970), “A relational model of data for large shared data banks”, Comm ACM, Vol 13, pp.377-387 52 [...]... Thuật toán kết thúc, bao đóng cuối cùng là X +(0.7) = {A , B , C, D} 25 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 Có thể viết là {A}+(0.7) = { A, B, C, D} 1.5.3 Tìm khóa của một quan hệ mờ Cũng giống như trong CSDL quan hệ kinh điển, việc tìm các khóa mờ của một lược đồ quan hệ dựa trên việc tính bao đóng của một tập thuộc tính và dựa vào định nghĩa khóa mờ Có nhiều thuật toán để tìm khóa mờ, ... thuộc tính khóa mờ, thuộc tính không khóa mờ ta gọi tắt là thuộc tính khóa và thuộc tính không khóa Một thuộc tính là một thuộc tính khóa, nó sẽ là một phần của ít nhất một trong những khóa dự tuyển mờ của quan hệ Tương tự như vậy, một thuộc tính là một thuộc tính không khóa, nó sẽ không xuất hiện trong bất kỳ một khóa dự tuyển mờ nào của quan hệ Trong ví dụ 10 thuộc tính A là một thuộc tính khóa với... thuộc tính của U được xác định bởi những thuộc tính trong X Vậy tập thuộc tính X là siêu khóa nếu X xác định U • Khóa( hay khóa dự tuyển): là một siêu khóa K, mà không có tập con nào của K có thể xác định U Trong mô hình CSDL quan hệ kinh điển, những giá trị đồng nhất trên khóa K sẽ kéo theo những giá trị đồng nhất trên U Còn trong mô hình CSDL quan hệ mờ, khái niệm đồng nhất trên một tập thuộc tính sẽ... thực sự của t[Ai]) Ngoài ba mô hình CSDL mờ chủ yếu được trình bày ở trên, còn có hai mô hình nữa là mô hình dựa trên cách tiếp cận mở rộng lý thuyết phân bố khả năng mà ta sẽ trình bày trong các phần sau, và cách tiếp cận phối hợp tất cả ba cách trên cũng được một số tác giả nghiên cứu như Kerre (1988) và Chen (1991) 1.3.4 Mô hình CSDL mờ dựa trên phân bố khả năng mở rộng Mô hình này là cách tiếp cận... bằng cách nào đó phải mở rộng định nghĩa phụ thuộc hàm cho các mô hình CSDL quan hệ mờ Trong mô hình CSDL mờ dựa trên quan hệ tương tự, định nghĩa dưới đây là một khái niệm phụ thuộc hàm mở rộng của khái niệm phụ thuộc hàm kinh điển cho mô hình CSDL quan hệ mờ, theo đó phụ thuộc 20 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 hàm mờ giữa 2 tập thuộc tính X và Y sẽ có nghĩa là "sự phù hợp của các... khóa mờ Định nghĩa 6: Cho một quan hệ mờ R trên lược đồ quan hệ R, với tập thuộc tính U và một tập các khóa mờ K của R Thuộc tính A ∈ U được gọi là một thuộc tính khóa mờ nếu và chỉ nếu A ∈ Ki với Ki là một khóa thuộc K • Những thuộc tính mà không phải là thuộc tính khóa mờ ( không xuất hiện trong bất kỳ một khóa mờ nào) được gọi là thuộc tính không khóa mờ 26 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích... thuộc hàm vẫn đúng như vậy AB → C là phụ thuộc hàm mờ một phần 1.5 KHÓA VÀ CÁC DẠNG CHUẨN TRÊN CƠ SỞ DỮ LIỆU 1.5.1 Khóa mờ Giống như CSDL kinh điển, các dạng chuẩn mờ được dựa trên khái niệm phụ thuộc hàm mờ và các khóa mờ Nhắc lại một số khái niệm về khóa trong CSDL quan hệ kinh điển: • Siêu khóa: là vế trái của một phụ thuộc hàm đặc biệt X → U, trong đó U là tập tất cả các thuộc tính Như vậy có thể... vi phạm dạng chuẩn mờ 3NF vì các vế trái không chứa khóa mờ AB, hai thuộc tính ở vế phải cũng không phải là thuộc tính khóa Vậy R không thuộc dạng chuẩn mờ 3NF III CÁC THUẬT TOÁN TÌM KHÓA 1 Các thuật toán tìm khóa rõ Cho lược đồ quan hệ S = (Ω, F) , trong đó Ω là tập tất cả các thuộc tính, F là tập phụ thuộc hàm trên S Với các phụ thuộc hàm X → Y trong F, gọi L là tập tất cả các vế trái, còn R là... bộ đó vào quan hệ Về mặt biểu diễn quan hệ trong mô hình này giống trong mô hình quan hệ nhưng thêm cột µ để lưu độ thuộc của một bộ vào quan hệ Như vậy, mỗi bộ của một quan hệ trong mô hình này có dạng: t = Với ai là giá trị các thuộc tính Ai, tức là ai ∈ Dom(Ai), µ ∈ [0, 1], là độ thuộc của mỗi bộ vào quan hệ 1.3.2 Mô hình CSDL mờ dựa trên quan hệ tương tự Cách tiếp cận... 1.3.5 Mô hình CSDL mờ dựa trên tổ hợp các mô hình trên Theo cách tiếp cận này, tính mờ có liên quan đến độ thuộc của các bộ vào CSDL, tính mờ thể hiện trong các giá trị thuộc tính và quan hệ giữa các phần tử của miền trị của thuộc tính Như vậy, cách tiếp cận này là tổ hợp của cách tiếp 18 Khóa Luận Tốt Nghiệp Nguyễn Thị Ngọc Bích – THC52 cận theo phân bố khả năng, theo quan hệ tương tự và theo mô hình ... ABCGD U ( dựng: B ~> 0.6 C, A ~> 0.8 GD, ) (AC)+ = ACBGD U ( dựng: C ~> 0.9 B, A ~> 0.8 GD, ) (EB)+ = EBC U ( dựng: B ~> 0.6 C, ) (EC)+ = ECB U ( dựng: C ~> 0.9 B, ) (BC)+ = BC U ( dựng: B... ABCGD U ( dựng: B ~> 0.6 C, A ~> 0.8 GD, ) (AC)+ = ACBGD U ( dựng: C ~> 0.9 B, A ~> 0.8 GD, ) (EB)+ = EBC U ( dựng: B ~> 0.6 C, ) (EC)+ = ECB U ( dựng: C ~> 0.9 B, ) (BC)+ = BC U ( dựng: B... AGD U ( dựng: A ~> 0.8 GD, ) (E)+ = E U ( vỡ ny ch cú phn t v khụng cú suy din no sinh t ny ) (B)+ = BC U ( dựng: B ~> 0.6 C, ) (C)+ = CB U ( dựng: C ~> 0.9 B, ) (AE)+ = AEGD U ( dựng: A