Đề tài Phụ thuộc hàm xấp xỉ và ứng dụng trong khai phá dữ liệu

Cơ sở dữ liệu (CSDL) là một trong lĩnh vực được tập trung nghiên cứu và phát triển công nghệ thông tin, nhằm giải quyết các bài toán quản lý, tìm kiếm thông tin trong những hệ thống lớn, đa dạng, phức tạp cho nhiều người sử dụng trên máy tính điện tử. Mô hình dữ liệu quan hệ đặt trọng điểm hàng đầu không phải là khác thác các tiềm năng của máy mà sự mô tả trực quan dữ liệu theo quan điểm của người dùng, cung cấp một mô hình dữ liệu đơn giản, trong sáng, chặt chẽ, dễ hiểu và tạo khả năng tự động hoá thiết kế CSDL quan hệ. Có thể nói lý thuyết thiết kế và cài đặt CSDL, nhất là mô hình dữ liệu quan hệ đã phát triển ở mức độ cao và đạt được những kết quả sâu sắc. Ngày nay việc khai phá dữ liệucòn được coi như việc khai phá tri thức từ dữ liệu (knowlegde mining from databases), trích lọc tri thức(knowlegde extraction), phân tích dữ liệu mẫu (data-partent analysis), khảo cứu dữ liệu(data archaeology), đào xới và nạo vét dữ liệu(data dredging). Với các ngành khoa học, kinh tế -xã hội nơi có những kho dữ liệu khổng lồ thì việc tìm kiếm, truy xuất và đưa ra thông tin cần thiết phù hợp với thời gian và yêu cầu là không dễ dàng và chính vì thế một hế hệ mới các phương pháp tiếp cận, phương pháp nghiên cứu, và các kỹ thuật, công cụ cho phép phân tích, tổng hợp, khai phá tri thức từ dữ liệu một cách thông minh và hiệu quả đã được các nhà khoa học quan tâm và nghiên cứu. Trong những năm gần đây, việc tìm kiếm các thuật toán cho phép khai phá phụ thuộchàm xấp xỉ đang được quan tâm nghiên cứu, một trong hững thuật toán đó là TANE -một thuật toán tương đối hiệu quả trong khai phá phụ thuộc hàm xấp xỉ.

pdf50 trang | Chia sẻ: nhungnt | Lượt xem: 2389 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Phụ thuộc hàm xấp xỉ và ứng dụng trong khai phá dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN MINH HUY PHỤ THUỘC HÀM XẤP XỈ VÀ ỨNG DỤNG TRONG KHAI PHÁ DỮ LIỆU LUẬN VĂN THẠC SĨ Hà Nội – 2011 2 MỤC LỤC Lời cam đoan Mục lục Danh mục các từ viết tắt Danh mục các bảng biểu Danh mục phụ lục MỞ ĐẦU ................................................................................................ 5 Chương 1 - Phụ thuộc hàm và phụ thuộc hàm xấp xỉ ................................6 1.1 Khai phá dữ liệu.............................................................................6 1.1.1 Phát hiện tri thức và khai phá dữ liệu ......................................6 1.1.2 Các phương pháp khai phá dữ liệu ..........................................7 1.2 Phụ thuộc hàm ...............................................................................7 1.2.1 Định nghĩa...............................................................................7 1.2.2 Hệ tiên đề Armstrong ..............................................................8 1.2.3 Định nghĩa hai tập phụ thuộc hàm tương đương....................10 1.2.4 Định nghĩa phủ tối thiểu........................................................11 1.2.5 Khoá của quan hệ ..................................................................13 1.3 Phụ thuộc hàm xấp xỉ ...................................................................14 1.3.1 Phụ thuộc hàm xấp xỉ loại 1 ..................................................14 1.3.2 Phụ thuộc hàm xấp xỉ loại 2 ..................................................16 1.3.3 Bao đóng xấp xỉ ....................................................................20 1.3.4 Khoá xấp xỉ ...........................................................................21 Chương 2 - Xây dựng cây quyết định........................................................24 3 2.1 Đặt vấn đề....................................................................................24 2.2 Bảng quyết định ...........................................................................24 2.2.1 Hệ thống thông tin.................................................................24 2.2.2 Bảng quyết định ....................................................................27 2.3 Cây quyết định .............................................................................30 2.4 Ảnh hưởng của phụ thuộc hàm, phụ thuộc hàm xấp xỉ khi xây dựng cây quyết định ..............................................................................36 Chương 3 - Thử nghiệm và đánh giá.........................................................37 3.1 Thuật toán TANE.......................................................................37 3.1.1 Mô tả thuật toán ...............................................................37 3.1.2 Độ phức tạp......................................................................38 3.2 Thuật toán AFDMCEC .............................................................38 3.2.1 Phân tích thử nghiệm........................................................39 3.2.2 Những so sánh về độ phức tạp thời gian...........................40 KẾT LUẬN .......................................................................................... 41 TÀI LIỆU THAM KHẢO .................................................................... 42 PHỤ LỤC ............................................................................................. 43 a) Giao diện chương trình b) Thủ tục tính phụ thuộc hàm xấp xỉ c) Thủ tục phân hoạch 4 ‘ DANH MỤC CÁC CHỮ VIẾT TẮT CSDL : Cơ sở dữ liệu FDs : Các phụ thuộc hàm AFDs : Các phụ thuộc hàm xấp xỉ AFDMCEC : Khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương 5 DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Quy trình phát hiện tri thức Bảng 1.2 Bảng cơ sở dữ liệu quan hệ Bảng 1.3 Cây khai phá các AFDs(ví dụ với 5 thuộc tính) Bảng 1.4 Bảng cơ sở dữ liệu quan hệ số Bảng 1.5 Bảng cơ sở dữ liệu kiểm toán(ví dụ trong 5 tháng) Bảng 2.1 Bảng dữ liệu các đồ chơi Bảng 2.2 Bảng các triệu chứng của bệnh nhân Bảng 2.3 Bảng quyết định về cúm Bảng 2.4 Bảng rút gọn thứ nhất của bảng quyết định về cúm Bảng 2.5 Bảng rút gọn thứ hai của bảng quyết định về cúm Bảng 2.6 Bảng chọn ứng cử viên vào ngạch giảng dạy Bảng 2.7 Bảng dữ liệu điều tra khách hàng mua ôtô Bảng 2.8 Cây quyết định tại bước 1 trên thuộc tính phụ cấp Bảng 2.9 Cây quyết định tại bước 2 6 MỞ ĐẦU Cơ sở dữ liệu (CSDL) là một trong lĩnh vực được tập trung nghiên cứu và phát triển công nghệ thông tin, nhằm giải quyết các bài toán quản lý, tìm kiếm thông tin trong những hệ thống lớn, đa dạng, phức tạp cho nhiều người sử dụng trên máy tính điện tử. Mô hình dữ liệu quan hệ đặt trọng điểm hàng đầu không phải là khác thác các tiềm năng của máy mà sự mô tả trực quan dữ liệu theo quan điểm của người dùng, cung cấp một mô hình dữ liệu đơn giản, trong sáng, chặt chẽ, dễ hiểu và tạo khả năng tự động hoá thiết kế CSDL quan hệ. Có thể nói lý thuyết thiết kế và cài đặt CSDL, nhất là mô hình dữ liệu quan hệ đã phát triển ở mức độ cao và đạt được những kết quả sâu sắc. Ngày nay việc khai phá dữ liệu còn được coi như việc khai phá tri thức từ dữ liệu (knowlegde mining from databases), trích lọc tri thức(knowlegde extraction), phân tích dữ liệu mẫu (data-partent analysis), khảo cứu dữ liệu(data archaeology), đào xới và nạo vét dữ liệu(data dredging). Với các ngành khoa học, kinh tế - xã hội nơi có những kho dữ liệu khổng lồ thì việc tìm kiếm, truy xuất và đưa ra thông tin cần thiết phù hợp với thời gian và yêu cầu là không dễ dàng và chính vì thế một hế hệ mới các phương pháp tiếp cận, phương pháp nghiên cứu, và các kỹ thuật, công cụ cho phép phân tích, tổng hợp, khai phá tri thức từ dữ liệu một cách thông minh và hiệu quả đã được các nhà khoa học quan tâm và nghiên cứu. Trong những năm gần đây, việc tìm kiếm các thuật toán cho phép khai phá phụ thuộc hàm xấp xỉ đang được quan tâm nghiên cứu, một trong hững thuật toán đó là TANE - một thuật toán tương đối hiệu quả trong khai phá phụ thuộc hàm xấp xỉ. 7 CHƯƠNG 1: PHỤ THUỘC HÀM VÀ PHỤ THUỘC HÀM XẤP XỈ 1.1 Khai phá dữ liệu 1.1.1 Phát hiện tri thức và khai phá dữ liệu Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được. Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu. Qui trình phát hiện tri thức Qui trình phát hiện tri thức được mô tả tóm tắt : Bảng 1.1 Quy trình phát hiện tri thức - Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu. 8 - Bước thứ hai là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức. - Bước thứ ba là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu. - Bước thứ tư là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. 1.1.2 Các phương pháp khai phá dữ liệu Với hai đích chính của khai phá dữ liệu là Dự đoán và Mô tả , người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu: - Phương pháp quy nạp - Phát hiện các luật kết hợp - Sử dụng cây quyết định - Các phương pháp phân lớp và hồi quy phi tuyến: - Phân nhóm và phân đoạn - Các phương pháp dự trên mẫu - Mô hình phụ thuộc dựa trên đồ thị xác suất - Mô hình học quan hệ - Mạng neuron - Thuật giải di truyền 1.2 Phụ thuộc hàm 1.2.1 Định nghĩa Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc tính, giữa các bộ; sự liên hệ này có thể xảy ra trong cùng một quan hệ hoặc trong các quan hệ của một lược đồ CSDL. Các mối liên hệ này là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thoả mãn ở mọi thời điểm. Những điều kiện bất biến đó được gọi là rằng buộc toàn vẹn. Phụ thuộc hàm là 1 công cụ dùng để biểu diễn 1 cách hình thức 1 số rằng buộc toàn vẹn. 9 Các phụ thuộc hàm là các tương quan giữa các thuộc tính của một quan hệ: Một phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính được xác định duy nhất bởi một số các thuộc tính khác. Vấn đề phát hiện các phụ thuộc hàm từ các quan hệ đã nhận được các mối quan tâm đáng kể. Việc phân tích CSDL tự động, đương nhiên, rất thú vị cho các mục tiêu khai phá tri thức và khai phá dữ liệu , và các phụ thuộc hàm có nhiều ứng dụng trong các lĩnh vực quản lý CSDL, tối ưu hóa truy vấn… Một cách hình thức, một phụ thuộc hàm trên một lược đồ quan hệ R là một biểu diễn XA với X  R và A  R.Phụ thuộc này đúng trong một quan hệ r trên R cho trước nếu với mọi cặp hàng t,u  R, ta có nếu t[B] = u[B] mọi B  X thì t[A] = u[A] (ta cũng nói rằng t và u thoả trên X và A). Ví dụ : Mã Sinh viên Họ và tên Số chứng minh Năm sinh Quê quán 00001 Nguyễn Văn A 1247237 1987 Hà Nội 00002 Nguyễn Văn B 1211445 1988 Lạng Sơn Ta có các phụ thuộc hàm sau AB, AC, AD, AE,CB,CD, CE Phụ thuộc hàm X  A là tối thiểu trong r nếu A không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của X. Ví dụ nếu Y  A không thoả trong r với bất kỳ Y  X. Phụ thuộc hàm X  A là tầm thường nếu A  X. 1.2.2 Hệ tiên đề Armstrong Gọi F là tập tất cả các phụ thuộc hàm đối với lược đồ quan hệ r(U) và X -> Y là một phụ thuộc hàm với X, Y  U, ta nói rằng X -> Y được suy diễn logic từ F nếu quan hệ trên r(U) đều thỏa mãn các phụ thuộc hàm của F thì cũng thỏa X -> Y. Sau đây là tập quy tắc của hệ tiên đề được Armstrong đề xuất vào năm 1974, được gọi là hệ tiên đề Armstrong. Hệ tiên đề Armstrong 10 Gọi R(U) là lược đồ quan hệ với U = (A1, A2,..., An) là tập các thuộc tính: giả sử X, Y, Z  U, hệ tiên đề Armstrong bao gồm: * Tính phản xạ: Nếu Y  X thì X -> Y * Tính tăng trưởng: Nếu Z  U, X->Y thì ZX -> ZY. Trong đó ZX=Z U * Tính bắc cầu: Nếu X -> Y và Y -> Zthì X -> Z. Ví dụ: Cho AB -> C, C -> A, chứng minh BC -> ABC (1) C -> A (theo giả thiết) (2) BC -> AB (áp dụng luật tăng trưởng tăng (1) lên B) (3) AB -> C (theo giả thiết) (4) AB -> ABC (tăng (3)AB) (5) BC -> ABC (bắc cầu (1), (2)). Bổ đề 1: Hệ tiên đề Armstrong là đầy đủ, có nghĩa là nếu F là tập phụ thuộc hàm đúng trên quan hệ r và f : X -> Y là một phụ thuộc hàm được suy dẫn từ F nhờ hệ tiên đề Armstrong thì f đúng trên r Bổ đề 2: Tính hợp : nếu X -> Y và X -> Z thì X -> YZ . Tính tựa bắc cầu : Nếu X -> Y và WY -> Z thì XW -> Z. Tính tách: Nếu X -> Y và Z  Y thì X -> Z. Bao đóng của F được kí hiệu là F+, là tập tất cả các phụ thuộc hàm được suy diễn logic nhờ tiên đề Armstrong, 3 bổ đề trên từ F, nếu F = F+ thì F là họ đầy đủ của các phụ thuộc hàm. Bao đóng của tập thuộc tính (X+) X -> Y là một phụ thuộc hàm suy ra từ F. Khi đó X+ được gọi là bao đóng của tập thuộc tính X nếu X+ là tập tất cả các thuộc tính U được suy dẫn bắt đầu từ tập X. X+F = { A | X -> A  F+ } Thuật toán tìm bao đóng của tập thuộc tính: INPUT: X, F,U OUTPUT: X+ 11 S : = X WHILE có (Z -> Y) thuộc F với Z  S và Y⊄S DO S:= SY ENDWHILE X+ = S Phương pháp: Tính liên tiếp các tập thuộc tính X0, X1, X2,..., Xi BC0: Đặt X0 = X BC1: Nếu tồn tại phụ thuộc hàm f: Y->Z  F sao cho Y X0, Z  U thì X1=X0Z BC2: Tương tư. Until Xi = Xi+1. Kết luận X+ = Xi. Ví dụ: Cho lược đồ quan hê R(U)=(ABCDEM), với U là tập thuộc tính, tập phụ thuộc hàm F={AB -> C, C ->D, A -> E, BC ->EM} Tính bao đóng của (AB)+ BC0: Đặt X0 = AB BC1: Tồn tại A -> E  F, mà A X0, E  U vậy X1=X0E = ABE BC2: Tồn tại AB ->C F, mà AB X1, C U vậy X2=X1C = ABCE BC3: Tồn tại C -> D  F, mà C X2, D  U vậy X3=X2D= ABCDE BC4: Tồn tại BC -> EM  F, mà BC X3, EM  U vậy X4=X3M = ABCDEM BC5: Xét toàn bộ các phụ thuộc hàm thuộc F, thì X5 =X4 Vậy kết luận (AB)+ = X4 = ABCDEM 1.2.3 Định nghĩa hai tập phụ thuộc hàm tương đương: Để khám phá ra một tập hợp các FDs, sử dụng phương pháp phân vùng chia bản ghi của trường hợp này thành các nhóm dựa trên các giá trị khác nhau cho mỗi cột (thuộc tính). Đối với mỗi thuộc tính, số lượng các nhóm là bằng với số các giá 12 trị khác nhau cho các thuộc tính đó. Mỗi nhóm được gọi là một lớp tương đương. Ví dụ, hãy xem xét ví dụ liên quan được hiển thị trong bảng 1, trong trường hợp này, thuộc tính A có giá trị "1" chỉ trong bản ghi số một và hai, do đó, chúng tạo thành một lớp tương đương [1] (A) = [2] (A) = (1,2). Tương tự như vậy, thuộc tính A có giá trị của "2" trong bản ghi 3,4,5 và có giá trị "3" trong bản ghi 6,7,8. Do đó toàn bộ các lớp học tương đương đối với các thuộc tính A là bao gồm ba lớp tương đương như sau: ∏ {A} = {{1, 2}, {3, 4, 5}, {6, 7, 8}}. Các lớp tương đương đối với các thuộc tính kết hợp (B, C), ví dụ: ∏ {B, C} r = {{1}, {2}, {3, 4}, {5}, {6}, {7}, {8}}. Tuple ID A B C D E 1 1 A $ Flower 2 2 1 A Tulip 2 3 2 A $ Daffodil 0 4 2 A $ Flower 0 5 2 B Lily 0 6 3 B $ Orchid 1 7 3 C Flower 1 8 3 C # Rose 1 Bảng 1.2 : Bảng cơ sở dữ liệu quan hệ FD X → Y được suy ra khi và chỉ khi Π (x) lọc Π (Y). Trong ví dụ : thuộc tính A có các bộ sau đây của lớp tương đương: ((T1, T2), (T3, T4, T5), (T6, T7, T8)), và thuộc tính E có các tập sau của lớp tương đương: ((T1, T2), (T3, T4, T5), (T6, T7, T8)). Các lớp tương đương trong thuộc tính E được lọc bởi các lớp tương đương trong thuộc tính A, chúng ta có thể khám phá ra rằng A → E . 1.2.4 Định nghĩa phủ cực tiểu (tối thiểu) 13 Cho tập thuộc tính U và tập phụ thuộc hàm F. Nguời ta nói F là tối thiểu khi và chỉ khi: Vế phải của mỗi phụ thuộc hàm trong F chỉ có một thuộc tính độc nhất. ! X -> A  F tập F - {X -> A} tương đương với F (loại bỏ các phụ thuộc dư thừa). ! X -> A  F, Z  X | F - {X−A}{Z−A} tương đương với F (loại bỏ thuộc tính dư thừa vế trái) Thuật toán: tìm phủ tối thiểu của tập phụ thuộc hàm F, với tập thuộc tính U: INPUT: F, U OUTPUT: G (G là phủ tối thiểu của F). BC1: G = ϕ. Tách tất cả các phụ thuộc hàm f của F thành phụ thuộc hàm mà vế phải chỉ có một t thuộc tính: FOR f  F, f = X -> DO G=G{X−A,AY} BC2: Loại bỏ những phụ thuộc hàm không đầy đủ: WHILE Z  X, Z ≠ X, G ≅ G \ {f}{Z−A} DO G = G \ {f}{Z−A} BC3: Loại bỏ những phụ thuộc hàm dư thừa: FOR  f  G DO IF G \ {f} ≅ THEN G = G \ {f} BC4:RETURN (G). Ta có thể diễn giải lại thuật giải như sau: BC1: Tách tất cả các phụ thuộc hàm của F thành phụ thuộc hàm mà vế phải chỉ có một thuộc tính, Ví dụ: AB –> CD được tách thành AB ->C, AB -> D (luật tách) BC2: Loại bỏ những phụ thuộc hàm không đầy đủ. Khi loại bỏ, ta phân bịêt hai loại phụ thuộc hàm không đầy đủ sau: Loại1: Phụ thuộc hàm mà vế phải là tập con của vế trái ( loại AB -> B) Loai 2: Hai phụ thuộc hàm có vế phải giống nhau, nếu vế trái của phụ thuộc hàm này chứa vế trái của phụ thuộc hàm kia thì ta loại ra khỏi F. 14 Ví dụ: Nếu có ABC -> D và BC - >D thì ta loại ABC -> D khỏi F. BC3: Loại bỏ những phụ thuộc hàm dư thừa: Giả sử hai phụ thuộc hàm có vế phải giống nhau: f1 = X -> A và f2 = Y -> A, lúc đó nếu có A  X+F\ {f1} thì loại f1 ra khỏi F: 1.2.5 Khoá của quan hệ a) Khoá của tập thực thể Là một hoặc một tập các thuộc tính xác định duy nhất một thực thể trong một tập thực thể. b) Khoá của quan hệ Tập các thuộc tính X của một quan hệ R là một khoá nếu. Không tồn tại 2 bộ khác nhau nhưng tất cả các phần tử của X đều giống nhau, và không có tập con thực sự nào của X có tính chất này. Định nghĩa: Cho lược đồ quan hệ R(A1, A2,...,An) và tập phụ thuộc hàm F, X  A1, A2,...,An . Ta nói X là một khoá của R khi và chỉ khi X -> A1, A2,...,An  F+ (tất cả các thuộc tính phụ thuộc vào tập thuộc tính X),  YX | X-> A1A2...An  F+. Sau đây là một số định nghĩa về khoá của quan hệ: Khoá dự tuyển : là khoá của quan hệ. Một quan hệ có thể có nhiều khóa dự tuyển. Khoá chính : là khoá dự tuyển được chọn làm khoá chính của quan hệ. Khoá chính không thể rỗng ( NOT NULL). Siêu khoá : một khoá gọi là siêu khoá nếu như ta bỏ đi một hay nhiều thuộc tính bất kỳ, thì không đảm bảo phần còn lại là khóa. Khoá ngoại : (khoá liên kết ) là một hoặc một tập thuộc tính trong quan hệ R1 nhưng là khoá chính trong quan hệ R2. Một thuộc tính trong lược đồ quan hệ R(U) được gọi là thuộc tính khoá nếu nó là một thành phần của một khoá nào đó của R. Ngược lại người ta gọi là thuộc tính không khoá (thuộc tính thứ cấp). Ví dụ: Cho lược đồ quan hệ R = (ABCD) và tập phụ thuộc hàm F = { A → C, AB → DC}, khoá là {AB}. Khi đó thuộc tính A, B gọi là thuộc tính khoá, còn thuộc tính D, C gọi là thuộc tính không khóa. 15 - Thuật toán tìm tất cả các khoá của một lược đồ quan hệ Bước 1: Tạo tập thuộc tính nguồn TN, tập thuộc tính trung gian TG Bước 2: if TG = ∅ then lược đồ quan hệ chỉ có một khoá K K = TN Kết thúc Ngược lại Qua bước 3 Bước 3: Tìm tất cả các tập con Xi của tập trung gian TG Bước 4; Tìm các siêu khoá Si băng cách :  Xi if ( TNXi )+ = Q+ then Si = TNXi Bước 5: Tìm kháo bằng cách loại bỏ các siêu khoá không tối tiểu Si, Sj  S if Si  Sj then Loại Sj ra khỏi tệp siêu khóa S S còn lại chính là tập khoá cần tìm. 1.3 Phụ thuộc hàm xấp xỉ 1.3.1 Phụ thuộc hàm xấp xỉ loại 1 Đối với một số quan hệ, một số FDs có thể không đúng cho tất cả các bản ghi. Ví dụ đối với hãng ô tô. Được xác định bởi Model thông qua một kỳ vọng phụ thuộc: như Model = 323, chúng ta biết rằng của hãng Mazda với xác suất cao, nhưng có cũng là một cơ hội nhỏ của hãng BMW. Tính xấp xỉ FD được quy định bởi Model →Make. Một phụ thuộc hàm X → A được suy diễn trong r với độ lỗi g3 (X → A) = 1 - (max{|s| | s  r và X → A được suy diễn })/|r|. Với 1 số ε, 0 ≤ ε ≤ 1, chúng ta nói X->A là một phụ thuộc hàm xấp xỉ khi và chỉ khi g3(XA) nhỏ hơn ε. - Biểu diễn hình thức g3 (X → A) = 1 - ∑ c  πX max{ |c’| | c’  πx {A} and c’  c} / |r| - πX: Phân hoạch X 16 Ví dụ: Tuple ID A B C D E 1 1 A $ Flower 2 2 1 A Tulip 2 3 2 A $ Daffodil 0 4 2 A $ Flower 0 5 2 B Lily 0 6 3 B $ Orchid 1 7 1 C Flower 1 8 3 C # Rose 1 Bảng 1.2 : Bảng cơ sở dữ liệu quan hệ Trong bảng cơ sở dữ liệu bên trên. Kiểm tra phụ thuộc hàm AB không được suy diễn. Chúng ta tìm thấy các lớp tương đương: ∏ {A} = {{1, 2,7}, {3, 4, 5}, {6, 8}}. ∏ {B} = {{1}, {2, 3, 4,}, {5, 6}, {7,8}}. A không lọc được B ở các lớp khác nhau. Suy ra AB không đúng. Tuy nhiên A  B có thể đúng ở trong ví dụ, với độ đo là g3. Nếu chúng ta loại bỏ 1 vài bản ghi từ các mối quan hệ, bằng phương pháp loại trừ nhau cho việc tính toán g3. ∏ {A} = {{1, 2}, {3, 4, 5}, {6, 7, 8}}. ∏ {B} = {{1}, {2, 3, 4,}, {5, 6}, {7,8}}. Chúng ta tìm được ∏ {A} {B} = {{1}, {2}, {3,4}, {5}, {6}, {7.8}}. Lớp tương đương trong thuộc tính A {1,2} có kích thước 2 phần tử thành {1}, {2} từ ∏ {A} {B}. Do đó kích thước phần tử lớn nhất của {1}, {2} là 1. Với lớp tương đương {3, 4, 5} trong ∏