Cho bảng quyết định nhất quán DSU C, d V f, , với U u u1, ,...,2 um.
Trong phần này, luận văn trình bày thuật toán xây dựng sơ đồ quan hệ ,
d
s R F với R C d và F là tập các phụ thuộc hàm có dạng Ki d
vớiKi C sao cho s
d
PRED C K d , s d
K là họ các tập tối thiểu của thuộc tính
d trên sd.
Thuật toán 2.7 Xây dựng các phụ thuộc hàm từ bảng quyết định.
Đầu vào: Bảng quyết định DS U C, d V f, , với POSC d U.
Đầu ra: sd R F, mà s
d d PRED C K
Bước 1. Từ bảng quyết định DS, Sử dụng Thuật toán 2.6 tính PRED C .
Giả sử PRED C K K1, 2,...,Kt.
Bước 2. Với mỗi KiPRED C ,1 i t xây dựng PTH Ki d . SĐQH
,
d
s R F với R C d và FKi d K: iPRED C là SĐQH cần xây dựng.
Chứng minh s
d PRED C K d
1) Với K PRED C ta có K d K, d và không tồn tại K'K sao cho
'
K d . Do đó, theo định nghĩa K là một tập tối thiểu của thuộc tính d trên
d s , nghĩa là s d KK d . 2) Ngƣợc lại, với s d KK d ta có K d K, d và không tồn tại K'K sao cho K' d .
Dễ thấy với mọi KiPRED C ,1 i t, KKi. (2.10) Vì nếu K Ki thì Ki không phải là một tập rút gọn của DS.
Hơn nữa, với mọi KiPRED C ,1 i t K, i K. (2.11) Vì nếu Ki K thì K không phải là một tập tối thiểu của thuộc tính d trên sd.
mọi AK ta có A d . Do đó, với quan hệ r trên tập thuộc tính R C d ta có K d là họ các tập tối thiểu của thuộc tính d trên quan hệ r. Vì vậy,
PRED C K hayK PRED C . Từ 1) và 2) kết luận s d PRED C K d .
Độ phức tạp thời gian của Thuật toán 2.7
Độ phức tạp thời gian của Bước 1 là độ phức tạp thời gian của Thuật toán 2.6, độ phức tạp thời gian của Bước 2 là O PRED C nên độ phức tạp thời gian của thuật toán là độ phức tạp thời gian của Thuật toán 2.6. Do đó, độ phức tạp thời gian của thuật toán là hàm mũ đối với số thuộc tính điều kiện của bảng quyết định.
Ví dụ 2.7. Với bảng quyết định DS U C, d V f, , ở Ví dụ 2.6 ta có
, ,
PRED C a b c . Khi đó, SĐQH đƣợc xây dựng là sd R F, với
, , ,
R a b c d và F a d , ,b c d .