Phương phỏp bottom-up

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát hiện phụ thuộc hàm và phụ thuộc hàm suy rộng trong cơ sở dữ liệu (Trang 36 - 40)

1.4. Phỏt hiện phụ thuộc hàm

1.4.2. Phương phỏp bottom-up

Khỏc với phương phỏp top-down ở trờn, phương phỏp bottom-up [45] so sỏnh cỏc bộ của quan hệ để tớnh cỏc tập bằng nhau và cỏc tập khỏc nhau. Cỏc tập này sau đú được sử dụng để cú được cỏc phụ thuộc hàm đỳng trờn quan hệ đang xột. Đặc trưng của kỹ thuật bottom-up là chỳng khụng kiểm tra cỏc phụ thuộc hàm ứng viờn dựa trờn quan hệ, mà kiểm tra cỏc phụ thuộc hàm ứng viờn dựa trờn cỏc tập bằng nhau và khỏc nhau đó được tớnh.

Phủ õm. Một phủ õm là một phủ gồm tất cả cỏc phụ thuộc hàm vi phạm

Tập bằng nhau của hai bộ t và 1 t , kớ hiệu 2 ag t t , là tập thuộc tớnh ( , )1 2

X lớn nhất sao cho t X1[ ]t X2[ ]. Tập gồm tất cả cỏc tập bằng nhau trờn quan

hệ r kớ hiệu là ag r( ).

Vớ dụ 1.9. Quan sỏt bảng 1.6, ta cú

1 2

( , )

ag t tBWag r( )BW B NBS W, , , .

Cỏc tập bằng nhau cú thể được tớnh từ cỏc phõn hoạch thuộc tớnh. Cho trước phõn hoạch A của thuộc tớnh A và hai bộ t , 1 t . 2 Aag t t( , )1 2 nếu tồn tại một tập con c là một lớp tương đương trong A sao cho t t1, 2c. Để hiệu quả, ta thường dựng cỏc phõn hoạch lược gọn khi tớnh toỏn.

Tớnh chất của cỏc tập bằng nhau là nếu ag t t( , )1 2  X thỡ với mọi thuộc tớnh A(RX) ta cú t A1[ ]t A2[ ]. Núi cỏch khỏc, XA bị vi phạm bởi t 1

t . Đú là nguyờn lý cơ bản của cỏch tiếp cận dựa trờn phủ õm. 2

Tập cực đại của một thuộc tớnh A , kớ hiệu max A( ), được định nghĩa như sau:

max(A) = {X | X  ag(r), A  X,  Y  ag(r) : X  Y}

Do X khụng chứa A nờn XA bị vi phạm bởi ớt nhất một cặp bộ. Vỡ Yag r( ) :XY nờn X là một tập tối đại. í tưởng sử dụng tập tối đại X từ ag r( ) là nếu XYA bị vi phạm bởi một cặp bộ thỡ XA, YA

cũng bị vi phạm bởi cặp bộ đú. Với mục đớch là tớnh hiệu quả, ta chỉ cần xem xột cỏc tập tối đại chứ khụng phải tất cả cỏc tập bằng nhau.

Cỏc tập cực đại của tất cả cỏc thuộc tớnh tạo nờn một phủ của bao đúng

õm gồm tất cả cỏc phụ thuộc hàm vi phạm quan hệ đang xột.

Vớ dụ 1.10. Từ vớ dụ 1.9, ta cú:

 

( ) ,

max IBW NBS

Cỏc tập cực đại sau đú được dựng để tỡm cỏc phụ thuộc hàm đỳng trờn

r. Cỏc phụ thuộc hàm cú vế phải là A , kớ hiệu là FD A( ), được xõy dựng theo 2 bước:

FD1(A) = {X  A | X  ( - A),  Y  max(X): X  Y} (1a)

FD(A) = {f | f  FD1(A),  g  FD1(A): vetrai(g)  vetrai(f)} (2a)

Ta thấy rằng với mọi Ymax A( ) thỡ YA bị vi phạm bởi ớt nhất một

cặp bộ của r; nếu một tập thuộc tớnh V nào đú được bổ sung vào Y sao cho

( )

YVmax A thỡ YVA được thỏa món. Do đú, vỡ X khụng phải tập con

của một Y như vậy nờnXA phải được thỏa món. Từ (2a) suy ra FD A( ) chỉ chứa cỏc phụ thuộc hàm tối tiểu.

Tập FD A( ) cú thể được xõy dựng như sau: Kớ hiệu L là tập tất cả cỏc

thuộc tớnh trong max A( ). Đầu tiờn, ta kiểm tra từng thuộc tớnh BL, nếu B

khụng thuộc bất kỳ tập nào của max A( ) thỡ ta bổ sung BA vàoFD A( ).

Tiếp theo, ta kiểm tra cỏc tập gồm hai thuộc tớnh từ L . Nếu một tập, chẳng

hạn BC, khụng là tập con của bất kỳ tập con nào của max A( ) và khụng chứa vế trỏi của phụ thuộc hàm nào trong FD A( ) thỡ ta lại bổ sung BCA

vàoFD A( ). Cứ tiếp tục như vậy cho đến khi cỏc tập gồm 3, 4, ... thuộc tớnh

khụng chứa A được kiểm tra. Luật tỉa (T1) được sử dụng để thu hẹp cỏc tổ

hợp cần kiểm tra.

Vớ dụ 1.11 [45]. Từ vớ dụ 1.10, ta cú max I( )BW NBS, . Tất cả cỏc tập

gồm một thuộc tớnh (trừ I ) đều chứa trong một phần tử của max I( ) nờn

khụng cú thuộc tớnh nào xỏc định hàm I . Tiếp theo, ta xột cỏc tổ hợp hai

thuộc tớnh: NB NW NS BW BS WS, , , , , . Ta thấy, NWWS khụng chứa trong bất kỳ phần tử nào của max I( ). Do đú, NWIWSI được bổ sung vào FD I( ). Tiếp đến, ta xột cỏc tổ hợp ba thuộc tớnh:

, , ,

NBW NBS NWS BWS. Trong số này, NBSmax I( ); NBW NWS BWS, ,

chứa vế trỏi của một phụ thuộc hàm trong FD I( ); như vậy khụng cú phụ thuộc hàm nào được suy từ cỏc tập ba thuộc tớnh. Tương tự, khụng cú cỏc phụ thuộc hàm nào được suy từ cỏc tập bốn thuộc tớnh. Kết quả ta cú

 

( ) ,

Độ phức tạp của cỏch tiếp cận phủ õm là hàm mũ theo số thuộc tớnh của  trong trường hợp xấu nhất. Để tớnh tập bằng nhau ag r( ) cần n r 2 phộp so

sỏnh với n = ||. Để tớnh max A( ) với mọi A trong  mất n ag r( )2phộp so sỏnh. Cuối cựng, để nhận được cỏc phụ thuộc hàm từ max A( ) (với mọi A )

cần ( ) 2 2 L L n max A trong đú 2 2 L L là số cỏc phụ thuộc hàm ứng viờn và L

là tập tất cả cỏc thuộc tớnh trong max A( ). Độ phức tạp tổng cộng của phương

phỏp này là ( 2 ( )2 ( ) 2 )

2

L

L

O n rn ag rn max A . Trường hợp xấu nhất xảy ra khi LR.

Cỏc biến thể khỏc nhau của cỏch tiếp cận phủ õm được đề xuất trong [33]. Khỏc với việc sử dụng tập cực đại để trực tiếp phỏt hiện cỏc phụ thuộc hàm được thỏa (bởi quan hệ), cụng trỡnh trong [46] sử dụng phần bự của cỏc tập bằng nhau cực đại để tỡm cỏc phụ thuộc hàm được thỏa. Phương phỏp này được đề cập cựng với cỏch tiếp cận tập khỏc nhau dưới đõy.

Tập khỏc nhau. Thuật ngữ "tập khỏc nhau" đồng nghĩa với tập cần thiết [49] và phần bự của tập cực đại [46]. Phương phỏp tập khỏc nhau sử

dụng tư tưởng đối ngẫu của khỏi niệm phủ õm. Tập khỏc nhau của một thuộc

tớnh A , kớ hiệu dif A( ), là tập chứa cỏc tập con thuộc tớnh sao cho khi thuộc

tớnh A cú cỏc giỏ trị khỏc nhau trờn hai bộ thỡ một tập con trong dif A( ) cũng cú cỏc giỏ trị khỏc nhau trờn hai bộ đú [73].

Khi đó tớnh được dif A( ) thỡ vế trỏi của cỏc phụ thuộc hàm được thỏa phải chứa một thuộc tớnh từ mỗi tập con của dif A( ).

Mặc dự nguyờn lý để phỏt hiện vế trỏi của cỏc phụ thuộc hàm được thỏa món là đơn giản nhưng khụng gian tỡm kiếm trong quỏ trỡnh tớnh toỏn phụ thuộc hàm được thỏa món là hàm mũ theo số tất cả cỏc thuộc tớnh trong

( )

dif A . Thuật toỏn Dep-Miner được đề xuất trong [46] cũng dựng ý tưởng

cú thể theo từng mức trờn dàn thuộc tớnh của R . Vế trỏi của một phụ thuộc ' hàm được thỏa là một tổ hợp trong dàn cú giao với tất cả cỏc tập con của

( )

dif A .

Độ phức tạp của phương phỏp này tương tự như phương phỏp phủ õm. Để giảm độ phức tạp, thuật toỏn FastFDs đó được đề xuất trong [73]. Thuật toỏn xõy dựng một dàn trước tiờn theo chiều sõu (depth-first) sử dụng cỏc phần tử của một tập khỏc nhau. Quỏ trỡnh xõy dựng dàn kết thỳc bằng một phủ của tất cả cỏc phụ thuộc hàm được thỏa món. Về lý thuyết, số nỳt trong dàn được xõy dựng là hàm mũ theo số thuộc tớnh trong tập khỏc nhau. Thuật toỏn sử dụng cỏc tập con của tập khỏc nhau để thu hẹp kớch thước dàn.

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát hiện phụ thuộc hàm và phụ thuộc hàm suy rộng trong cơ sở dữ liệu (Trang 36 - 40)

Tải bản đầy đủ (PDF)

(132 trang)