Hai loại phụ thuộc hàm suy rộng điển hỡnh là phụ thuộc hàm xấp xỉ và phụ thuộc hàm điều kiện. Phần này sẽ trỡnh bày ngắn gọn vấn đề phỏt hiện phụ thuộc hàm xấp xỉ và phụ thuộc hàm điều kiện.
1.5.1. Phỏt hiện phụ thuộc hàm xấp xỉ
Thuật ngữ "phụ thuộc hàm xấp xỉ" [41] mang ý nghĩa là sự thỏa món gần đỳng của một phụ thuộc hàm thụng thường f X: Y. Một phụ thuộc hàm xấp xỉ đũi hỏi phụ thuộc hàm thụng thường phải được thỏa món bởi phần lớn cỏc bộ của quan hệ r.
Để định nghĩa thuật ngữ "xấp xỉ" một cỏch chớnh xỏc hơn, cỏc bộ vi phạm được sử dụng để tớnh độ đo lỗi hoặc độ thỏa của một phụ thuộc hàm xấp xỉ.
Cú nhiều phương phỏp đó được đề xuất để tớnh độ thỏa hoặc độ đo lỗi. Cỏc phương phỏp này được túm tắt và so sỏnh trong [34]. Dưới đõy là một phương phỏp được đề xuất trong [41].
3 | , | ( , ) 1 max s s r s X A g X A r r
Để kiểm tra cỏc phụ thuộc hàm xấp xỉ trờn r, cỏc phương phỏp phỏt hiện phụ thuộc hàm cú thể được thớch nghi để phỏt hiện cỏc phụ thuộc hàm xấp xỉ bằng cỏch bổ sung vào phần tớnh toỏn độ thỏa hoặc độ đo lỗi. Một vớ dụ trong cụng trỡnh [47] là sử dụng phương phỏp phủ õm. í tưởng của việc sử dụng phủ õm là với một tập bất kỳ Zmax A( ) thỡ Z A khụng đỳng trờn quan hệ r. Tuy nhiờn, với việc phỏt hiện cỏc phụ thuộc hàm xấp xỉ, nếu
Z A khụng bị vi phạm bởi một số lượng lớn cỏc bộ, nghĩa là g Z3( A r, ) nhỏ hơn hoặc bằng một ngưỡng nào đú, thỡ Z Alà một phụ thuộc hàm xấp xỉ được phỏt hiện.
Phương phỏp lấy mẫu được đề xuất trong [41] là một cỏch tiếp cận khỏc để phỏt hiện cỏc phụ thuộc hàm xấp xỉ. Phương phỏp lấy mẫu sử dụng một lượng nhỏ cỏc bộ để quyết định một phụ thuộc hàm xấp xỉ cú được thỏa
món hay khụng trờn tồn bộ quan hệ r, điều này làm nảy sinh thờm độ phức tạp của vấn đề. Kớ hiệu s là một mẫu ngẫu nhiờn của quan hệ r. Xột hai trường hợp sau:
- Nếu f được thỏa món hoặc được thỏa món xấp xỉ bởi s thỡ cú thể
f khụng thỏa (vi phạm) bởi cỏc bộ trong rs.
- Nếu f bị vi phạm bởi một số ớt cỏc bộ trong s thỡ cú thể f thỏa xấp xỉ r
vỡ cú thể f thỏa tất cả cỏc bộ trong rs.
Để mụ tả cỏc tỡnh huống xỏc suất giữa việc thỏa bởi s và việc thỏa xấp xỉ bởi r, một tham số tin cậy được đưa vào. Với tham số đú, nếu f được thỏa bởi s, ta núi rằng f được thỏa bởi r với xỏc suất (1).
Với cựng lập luận, một phủ của cỏc phụ thuộc hàm xấp xỉ đỳng trờn s
trở thành một phủ xỏc suất trờn r.
Kớch thước của mẫu (ngẫu nhiờn) cú ảnh hưởng đến độ chớnh xỏc của phủ mặc dự nú khụng hoàn toàn xỏc định độ chớnh xỏc. Một mẫu lớn hơn cú thể khụng chứa bất kỳ bộ vi phạm nào của r, nhưng một mẫu nhỏ cú thể chứa đa số cỏc bộ vi phạm; do đú việc xỏc định kớch thước của mẫu là một bài toỏn rất quan trọng. [41] đề xuất kớch thước của mẫu phải nằm trong một phạm vi nhất định.
Ta thấy rằng cú sự khỏc nhau giữa việc dựng mẫu để phỏt hiện cỏc phụ thuộc hàm và cỏc phụ thuộc hàm xấp xỉ. Trong trường hợp cỏc phụ thuộc hàm, mẫu được sử dụng hiệu quả để loại bỏ cỏc phụ thuộc hàm khụng thỏa món. í tưởng rất đơn giản là nếu một phụ thuộc hàm vi phạm mẫu s của r
thỡ nú vi phạm r; từ đú, cỏc phụ thuộc hàm ứng viờn khụng thỏa s được xúa bỏ một cỏch hiệu quả. Cỏc phụ thuộc hàm ứng viờn cũn lại thỏa s, kớ hiệu
( )
dep s , sau đú cần phải kiểm tra vỡ một số phụ thuộc hàm trong dep s( ) cú thể khụng được thỏa bởi r. Với mỗi phụ thuộc hàm f dep s( ), nếu f thỏa
r thỡ đưa f vào dep r( ). Cuối cựng, dep r( ) chứa tất cả cỏc phụ thuộc hàm thỏa r và là một phủ của tất cả cỏc phụ thuộc hàm thỏa r.
Trỏi lại, trong trường hợp cỏc phụ thuộc hàm xấp xỉ, một phủ của cỏc phụ thuộc hàm xấp xỉ được phỏt hiện từ một mẫu là một phủ xỏc suất trờn r.
Cụng trỡnh [40] sử dụng độ đo lỗi của cỏc siờu khúa để xỏc định sự thỏa món xấp xỉ của cỏc phụ thuộc hàm và chứng minh rằng X A nếu và chỉ nếu g X3( )g XA3( ) với g Z3( ) 1 r Z( ) / r là phần bộ tối thiểu cần loại bỏ khỏi r để Z là một siờu khúa.
Cụng trỡnh [37] mở rộng phương phỏp phõn hoạch để tớnh sự thỏa món xấp xỉ nhờ sử dụng độ đo lỗi g X3( A).
1.5.2. Phỏt hiện phụ thuộc hàm điều kiện
Cỏc phụ thuộc hàm cú điều kiện là một kiểu ràng buộc mới mở rộng
phụ thuộc hàm truyền thống dựng cho cỏc mục đớch làm sạch dữ liệu [12]. Cỏc phụ thuộc hàm điều kiện mặc dự cũn mới đối với cộng đồng nghiờn cứu cơ sở dữ liệu nhưng bài toỏn phỏt hiện phụ thuộc hàm điều kiện đó được bắt đầu nghiờn cứu [32, 35]. Phần dưới đõy trỡnh bày ngắn gọn về định nghĩa của phụ thuộc hàm điều kiện và việc phỏt hiện phụ thuộc hàm điều kiện.
Cho trước 2 tập con X Y, của , một phụ thuộc hàm cú điều kiện là một phỏt biểu cú dạng (X Y S, ) với S là một bảng mẫu trờn X Y. Một
bộ p S là một bộ xỏc định trờn tập thuộc tớnh X Y, trong đú A X Y, p[A] = a Dom(A) hoặc p[A] = "" với "" là một biến khụng tờn lấy giỏ trị thuộc Dom(A). Một bộ t trong một quan hệ r trờn sỏnh hợp một bộ mẫup
trong S, kớ hiệu t[X Y] p[X Y], nếu với mỗi AX thỡ p A[ ] ' ' hoặc [ ] [ ]
p A t A . Một phụ thuộc hàm cú điều kiện được thỏa bởi quan hệ r trờn nếu và chỉ nếu: t t1, 2r, p S, nếu t X1[ ]t X2[ ] p[X] thỡ t Y1[ ]t Y2[ ]
p[Y].
Trong định nghĩa trờn, X Y được gọi là một phụ thuộc hàm nhỳng. Vớ dụ 1.12 [12]. Xột một thể hiện của lược đồ quan hệ cust(CC, AC, PN,
Ta thấy cỏc phụ thuộc hàm được thỏa gồm:
1:[ , , ] [ , , ]
f CC AC PN STR CT ZIP
2:[ , ] [ ]
f CC AC CT
Dưới đõy là hai phụ thuộc hàm điều kiện được thỏa bởi quan hệ trờn:
1:[CC 01,AC 212,PN] [STR CT, NYC ZIP, ]
2:[CC 01,AC 215] [CT PHI]
Sự khỏc nhau giữa phụ thuộc hàm, phụ thuộc hàm xấp xỉ và phụ thuộc hàm điều kiện. Phụ thuộc hàm và phụ thuộc hàm xấp xỉ đều cú dạng X Y , sự khỏc nhau là ở mức độ thỏa. Phụ thuộc hàm đũi hỏi X Y phải được thỏa món bởi tất cả cỏc bộ trong quan hệ, trong khi phụ thuộc hàm xấp xỉ cho phộp một phần nhỏ cỏc bộ vi phạm. Phụ thuộc hàm điều kiện sử dụng kớ hiệu (X Y S, ) và sự thỏa món chỉ cần đối với cỏc bộ sỏnh hợp với bảng S. Một phụ thuộc hàm là trường hợp đặc biệt của phụ thuộc hàm điều kiện khi bảng
S chứa duy nhất một bộ toàn giỏ trị '-'. Cũng giống như cỏc phụ thuộc hàm, phụ thuộc hàm điều kiện cũng cú thể được thỏa món xấp xỉ [26].
Phỏt hiện phụ thuộc hàm điều kiện [45]. Những khú khăn xuất hiện
khi phỏt hiện cỏc phụ thuộc hàm điều kiện đến từ hai khớa cạnh. Cũng như trong trường hợp của phụ thuộc hàm, số lượng cỏc phụ thuộc hàm nhỳng cần kiểm tra đối với cỏc phụ thuộc hàm điều kiện cú thể cú là hàm mũ theo số thuộc tớnh. Mặt khỏc, bài toỏn phỏt hiện bảng mẫu tối ưu cho một phụ thuộc hàm nhỳng là NP-C [35].
Một thuật toỏn được đề xuất trong [21] nhằm phỏt hiện cỏc phụ thuộc hàm điều kiện. Cỏc phụ thuộc hàm ứng viờn nhận được từ dàn thuộc tớnh. í tưởng sử dụng trong thuật toỏn này là dựa trờn những tớnh chất của cỏc phõn hoạch thuộc tớnh. Mọi bộ trong một lớp tương đương của phõn hoạch Y cú cựng giỏ trị trờn Y . Nếu một lớp tương đương c trong XA bằng với một lớp tương đương trong X thỡ cỏc bộ của c cú cựng giỏ trị trờn A .
Cho trước một phụ thuộc hàm ứng viờn X A, vế trỏi X được chia
thành cỏc tập con Q và W, Q được gọi là tập điều kiện và Wđược gọi là tập
biến. Thuật toỏn sử dụng cỏc phõn hoạch Q, X và XA. Sau đú tớnh một tập
X
U chứa tất cả cỏc lớp tương đương trong X với tớnh chất: cú ớt nhất l bộ và bằng hoặc được chứa trong một lớp tương đương nào đú của XA. Cuối cựng, một bộ mẫu trong bảng S của phụ thuộc hàm cú điều kiện được phỏt hiện nếu tồn tại một lớp tương đương z trong Q sao cho cỏc bộ trong z được chứa trong U . Bộ mẫu là X z Q[ ], | nếu z khụng phải là một lớp tương đương trong XA; ngược lại, bộ mẫu là z Q[ ], | [ ] z A .
S1 N B S John d1 e1 S2 N B S - d1 e1
Bảng 1.7. Minh họa phụ thuộc hàm điều kiện
Xột bảng 1.7 và một phụ thuộc hàm ứng viờn NBS với X NB và
AS. Đặt QN và l2. Khi đú
{ },{ , },{ }1 2 3 4
N NB NBS t t t t
và UX {{ , }}t t2 3 .
Xột lớp tương đương thứ hai z {t ,t }2 3 trong N ta thấy cỏc bộ của z
đều nằm trong U và X zNBS nờn bộ mẫu được phỏt hiện là john, | 1 e . Một thuật toỏn xấp xỉ (dựng chiến lược tham lam) được đề xuất trong
[35] để tớnh một bảng mẫu gần tối ưu cho một phụ thuộc hàm điều kiện khi
cho trước phụ thuộc hàm nhỳng. Tớnh chất gần tối ưu của bảng mẫu được phỏt hiện so với bảng mẫu tối ưu được kiểm soỏt bới hai tham số là độ hỗ trợ và độ tin cậy. Cho trước một phụ thuộc hàm nhỳng X Y và với mỗi bộ t
cỏc tổ hợp giỏ trị cú thể trong t X[ ] và điều này đưa đến kết quả với số lượng mẫu ứng viờn là hàm mũ theo X : r X[ ] 2X . Tiếp đú, đối với mỗi mẫu ứng viờn, thuật toỏn tớnh độ hỗ trợ và độ tin cậy tương ứng. Sau đú lựa chọn cỏc mẫu cú độ hỗ trợ cao nhất trờn ngưỡng hỗ trợ để đưa vào bảng. Thuật toỏn đũi hỏi độ phức tạp thời gian là r 2X .
Cụng trỡnh [32] đề xuất ba thuật toỏn CFDMiner, CTANE và FastCFD. Cỏc thuật toỏn này tương ứng với cỏc phiờn bản FD_Miner, TANE và
FastFD. CFDMiner tập trung phỏt hiện cỏc phụ thuộc hàm điều kiện hằng
(cỏc bộ mẫu khụng chứa kớ hiệu '-'), trong khi CTANE và FastCFD phỏt hiện phụ thuộc hàm điều kiện tổng quỏt.