Một chứng minh mới cho định lý 4.1

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 115 - 121)

4.3. Một phộp biến đổi tiền xử lý hiệu quả cỏc tập FD

4.3.2. Một chứng minh mới cho định lý 4.1

Để đơn giản cỏch chứng minh định lý 4.1, ta sử dụng hệ ba tiờn đề

tương đương với hệ tiờn đề Armstrong với X, Y, Z  , trong đú  là vũ trụ cỏc thuộc tớnh.

A1. Nếu Y  X thỡ X  Y (Tiờn đề phản xạ) A2. Nếu X  Y thỡ XZ  YZ (Tiờn đề gia tăng) A3. Nếu X  Y và Y  Z thỡ X  Z (Tiờn đề bắc cầu)

cựng với cỏc quy tắc suy diễn quen thuộc, dễ dàng được suy ra từ hệ ba tiờn đề A1, A2, A3 như:

Nếu X  Y và U  V thỡ XU  YV (Quy tắc hợp)

Nếu X  Y thỡ X  Z với mọi Z  Y (Quy tắc tỏch hay phõn mảnh)

Sau đõy là một chứng minh mới cho định lý 4.1. Trước hết, định lý 4.1 được phỏt biểu lại như sau:

(a). Nếu X  U , X  Y =  thỡ hai tập phụ thuộc hàm

{XY, UV}  {X  Y, (U  Y)  (V  Y)}

trong đú  là tương đương theo nghĩa sử dụng hệ quy tắc suy diễn Armstrong, hệ phụ thuộc hàm thứ nhất cú thể suy ra hệ phụ thuộc hàm thứ hai và ngược lại.

(b). Nếu X  U, X  UV thỡ

{XY, UV}  {X  Y, U  (V  Y} Chứng minh.

Vỡ X  U nờn X  Y  U  Y . Vỡ X  Y =  nờn X  Y = X  U  Y . Từ đú

ta cú dóy suy diễn sau:

1. (U  Y)  X (A1)

2. XY (Giả thiết)

3. (U  Y)  Y (1, 2, A3) 4. (U  Y)  (U Y) (A1) 5. (U  Y)  UY (3, 4, Quy tắc hợp) 6. (U  Y)  U (5, Quy tắc tỏch) 7. U  V (Giả thiết) 8. (U  Y)  V (6, 7, A3) 9. (U  Y)  (V  Y) (8, Quy tắc tỏch do (V  Y)  V) (a). 

1. XY (Giả thiết)

2. (U  Y)  (V  Y) (Giả thiết) 3. U  X (A1, vỡ X  U) 4. U  Y (3, 1, A3) 5. U  VY (2, 4, Quy tắc hợp) 6. U  V (5, Quy tắc tỏch) (b).  1. U  V (Giả thiết) 2. U  (V  Y) (1, Quy tắc tỏch) (b). 

1. XY (Giả thiết)

2. U  (V  Y) (Giả thiết)

3. U  U(V  Y) (2, A2)

4. U(V  Y)  (UV  Y) (A1)

do cú U  (V  Y)  (U  Y)  (V  Y) và (U  Y)  (V  Y) = UV  Y 5. U  (UV  Y) (3, 4, A3)

6. (UV  Y)  X (A1) do cú X  UV và X  Y =  nờn X = (X  Y)  UV  Y 7. (UV  Y)  Y (6, 1, A3) 8. U  Y (5, 7, A3) 9. U  UVY (5, 8, A2) 10. U  V (9, Quy tắc tỏch)

Nhận xột 4.6. Trong chứng minh mới của định lý 4.1, việc chứng minh phần

(a) về cơ bản là giống với chứng minh phần (a) trong [24]. Cỏi khỏc nhau là ở chỗ cỏch thức giải thớch cỏc bước suy diễn. Trong [24], cỏc tỏc giả dựng cỏc tiờn đề và cỏc quy tắc suy diễn trong logic Paredaens, cũn trong chứng minh mới, chỳng tụi sử dụng hệ tiờn đề quen thuộc của Armstrong, nờn việc giải thớch cỏc bước suy diễn là đơn giản, rừ ràng hơn.

Để khắc phục lỗi sai trong chứng minh phần (b) của định lý 4.1, chứng minh phần (b) của chỳng tụi ở đõy là hoàn toàn mới. Nú khiến cho định lý 6 trong [24], một định lý rất hay, là nền tảng cho phộp biến đổi tiền xử lý loại bỏ hiệu quả cỏc dư thừa trong một tập phụ thuộc hàm cho trước, đứng vững

và sử dụng được. Trong thư trao đổi với cỏc tỏc giả của Định lý 4.1, (là Định lý 6 trong [24]), cỏc tỏc giả của [24] đó thừa nhận chứng minh phần (b) của họ là sai và cụng nhận chứng minh mới của chỳng tụi là đỳng.

Nhận xột 4.7. Trong thực hành, trong nhiều trường hợp, để đơn giản hơn, ta

cú thể dựng quy tắc thay thế sau:

Cho hệ hai phụ thuộc hàm {XY, UV}. Nếu X  U, X  V và X  Y = 

thỡ, do tương đương, cú thể thay thế {XY, UV} bằng hệ hai phụ thuộc hàm {XY, U(V  Y)} núi chung đơn giản hơn. Núi cỏch khỏc, nếu X  U,

X  V và X  Y =  thỡ

Điều này hiển nhiờn đỳng vỡ nếu X  U, X  V và X  Y =  thỡ đương nhiờn

X  U, X  UV và X  Y =  và ta rơi vào trường hợp (b) của định ly 4.1. Nhận xột 4.8. Trờn cơ sở cỏc phộp thay thế (1), (2), (3), ta cú thể làm đơn giản hơn thủ tục removeRedundancy trong [24] bằng thủ tục Loại bỏ dư thừa cho cỏc tập phụ thuộc hàm F ở dạng thu gọn gồm cỏc bước sau:

------------------------------------------------------------------------------------------------ Procedure Loại bỏ dư thừa

------------------------------------------------------------------------------------------------ INPUT: F (Một tập phụ thuộc hàm ở dạng thu gọn)

OUTPUT: F' (Một tập phụ thuộc hàm tương đương với F với dư thừa ớt hơn)

begin repeat

B1. Thực hiện cỏc phộp hợp cho cỏc phụ thuộc hàm cú cựng vế trỏi; B2. Thực hiện cỏc phộp thay thế (1), (2), (3);

until (khụng thực hiện cỏc thao tỏc B1 và B2 thờm được nữa);

B3. Kiểm tra xem trong tập phụ thuộc hàm thu được, cú phụ thuộc hàm nào được suy ra từ hai phụ thuộc hàm khỏc từ việc ỏp dụng (A3). Nếu cú thỡ loại bỏ nú.

end;

______________________________________________________________

Nhận xột 4.9. Trong [24] và [55], cỏc tỏc giả đó cho chạy thủ tục

removeRedundancy trờn nhiều tập phụ thuộc hàm với số lượng và kớch thước khỏc nhau và đó thấy rằng tỷ lệ phần trăm số lần ỏp dụng cỏc quy tắc thay thế là rất cao và tăng đỏng kể với độ phức tạp của cỏc tập phụ thuộc hàm. Ngồi ra, cỏc tỏc giả của [24] và [55] đó rỳt ra cỏc kết luận tổng quỏt sau:

- Đối với 28,25% cỏc tập phụ thuộc hàm, khụng cần thiết ỏp dụng quy tắc bắc cầu (A3) và phộp biến đổi tiền xử lý loại bỏ dư thừa một cỏch hiệu quả.

- Khi số cỏc thuộc tớnh tăng lờn thỡ số trường hợp trong đú khụng cần ỏp dụng quy tắc bắc cầu (A3) cũng tăng lờn. Điều này chứng tỏ quy tắc thay thế đặc biệt thớch hợp để làm việc với cỏc lược đồ cơ sở dữ liệu lớn.

- Số phần trăm cỏc ỏp dụng của quy tắc thay thế khụng phụ thuộc vào số thuộc tớnh và độ dài của phụ thuộc hàm.

Nhận xột 4.10. Để thấy được ý nghĩa và ưu việt của cỏc quy tắc thay thế (tức

phộp biến đổi tiền xử lý cỏc tập phụ thuộc hàm), ta xột hai vớ dụ sau, trong đú vớ dụ 3.6 được lấy lại từ vớ dụ 1 trong [55] với việc chỉnh sửa lại một sai sút nhỏ.

Vớ dụ 4.6 ([55]). Cho F = {abc, abce, bdac, afb, cdba}. Ta cú thể

ỏp dụng cỏc phộp thay thế để thu được một tập phụ thuộc hàm với dư thừa ớt hơn. Quy tắc ỏp dụng F Subst: abc, abce | Par S

ae abc, ae, bdac, afb, cdba

Quy tắc hợp:

abc, ae |

Par

S

abce abce, bdac, afb, cdba

Subst:

abce, afb |

Par

S

af abce, bdac, af, cdba

A1: |

Par

S

af (sẽ được loại bỏ) abce, bdac, cdba

rSubst:

abce, bdac |

Par

S

bda abce, bda, cdba

rSubst:

bda, cdba |

Par

S

cdb abce, bda, cdb

Như vậy, sau khi thực hiện phộp biến đổi tiền xử lý, ta thu được tập F' tương đương với F nhưng chứa ớt dư thừa hơn.

F' = {abce, bda, cdb}.

Vớ dụ 4.7. Áp dụng cỏc phộp thay thế đối với tập phụ thuộc hàm F = {ba, bgh, da, bih, abde, abfg, abcdj, abck}.

Quy tắc ỏp dụng F Quy tắc hợp: ba, bgh | Par Sbagh

bagh, da, bih, abde, abfg, abcdj, abck

Quy tắc hợp:

abde, abfg |

Par

S

abdefg

bagh, da, bih, abdefg, abcdj, abck Quy tắc hợp: abcdj, abck | Par Sabcdjkh

bagh, da, bih, abdefg, abcdjk Subst: bagh, bih | Par S bi

bagh, da, bi, abdefg, abcdjk

A1: |

Par

S

bi (sẽ được loại bỏ) bagh, da, abdefg, abcdjk

Subst:

bagh, abdefg |

Par

S

bdef bagh, da, bdef, abcdjk

Quy tắc hợp:

bagh, bdef |

Par

S

badefgh badefgh, da, abcdjk

Subst: badefgh, abcdjk | Par Sbcjk badefgh, da, bcjk rSubst: da, badefgh | Par S

bdefgh bdefgh, da, bcjk Bảng 4.2. Minh họa cho vớ dụ 4.7

Như vậy, cuối cựng ta thu được tập F' = {bdefgh, da, bcjk} tương đương với F nhưng chứa ớt dư thừa hơ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 115 - 121)

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

(132 trang)