3. Kết luận chƣơng
2.2.5 Thuật toán tìm bảng quyết định không dư thừa
Cho trƣớc bảng quyết định DS(U,C {d}, V,f}) . Ta gọi DS là bảng quyết định nhất quán không dƣ thừa nếu với mọi u U , ta đặt '
U U \ u và
' '
DS (U ,C {d},V,f}) ta có PRED (C)U PRED (C).U' Ở đây PRED (C)U là kí pháp tập tất cả các rút gọn của DS. Có nghĩa là nếu ta bỏ đi một đối tƣợng (dòng) bất kỳ của DS thì tập tất cả các rút gọn sẽ thay đổi.
Chúng ta trình bày thuật toán sau: Tìm một bảng quyết định nhất quán không dư thừa từ một bảng quyết định nhất quán cho trước.
Đầu vào: Bảng quyết định nhất quán DS(U,C {d}, V,f}) , U = {u1, …, um}.
U
PRED (C)là tập tất cả các rút gọn của DS.
Đầu ra: U’ là bảng quyết định nhất quán không dƣ thừa.
Bƣớc 1. Xét quan hệ r = {u1, …, um} trên tập thuộc tính R C {d} . Đặt Er {Eij:1 i j m} với Eij {aR a u: ( )i a u( j)}. Đặt d U { r: M A d A, Br:dB A, B}. d U
M đƣợc gọi là tập bằng nhau cực đại trên U của d. Bƣớc 2. Đặt N(0) = U = {u1, …, um}
Bƣớc 3. Tính:
N(i + 1) = N(i) – ui + 1 nếu
i 1
d d
N(i) u U
M M . Ngƣợc lại N(i + 1) = N(i) Ở đây
i 1
d N(i) u
M là tập bằng nhau cực đại trên N(i) – ui + 1 của d. Bƣớc cuối. Đặt U’ = N(m).
Có thể thấy rằng d U
M đƣợc tính bằng thời gian đa thức. Vì thế, dễ thấy rằng thuật toán trên có độ phức tạp tính toán đa thức với số dòng và số cột của bảng quyết định DS. Mặt khác, chúng ta có thể chứng minh tính đúng đắn của thuật toán trên bằng phƣơng pháp quy nạp. Có thể thấy, nếu hoán vị thứ tự các phần tử của U thì chúng ta sẽ nhận đƣợc một bảng quyết định nhất quán không dƣ thừa khác. Ví dụ 7: Cho bảng quyết định DS ( ,U C{ }, , })d V f với U = {u1, u2, u3, u4, u5} và C = {a, b, c, e} cụ thể nhƣ sau: a b c e d 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0
Để đơn giản kí pháp, ta quy ƣớc {a, b} đƣợc viết là ab. Nhƣ vậy, ta có E12 = bed, E13 = ae, E14 = e, E15 = abed, E23 = , E24 = ace, E25 = bced, E34 = bd, E35 = a, E45 = ce,
Er ={bed, ae, e, abed, , ace, bced, bd, a, ce}.
Để dễ kí pháp đặt Er = E(U) là tập các tập bằng nhau trên U. Dễ thấy MdU={ace}. Đặt N(0) = {u1, u2, u3, u4, u5}
Tính N(0) – u1 = {u2, u3, u4, u5}, có thể thấy E(N(0) – u1) = {, ace, bced, bd, a, ce} Và 1 d N(0) u M = MdU. Do đó N(1) = {u2, u3, u4, u5}. Tính N(1) – u2 = {u3, u4, u5}. Có thể thấy 2 d N(1) u M d U M . Vì thế N(2) = N(1). Tính N(2) – u3 = {u2, u4, u5}, có thể thấy E(N(2) – u3) = {ace, bced, ce} và
3 d N(2) u M d U M . Do đó N(3) = {u2, u4, u5}. Tính N(3) – u4 = {u2, u5}. Có thể thấy 4 d N(3) u M d U M . Vì thế N(4) = N(3). Cuối cùng, chúng ta tính N(4) – u5 = {u2, u4}, có thể thấy E(N(4) – u5)={ace} và
5 d N(4) u M d U M . Do đó N(5) = N(4) – u5 = {u2, u4}. Chúng ta đặt U’ = N(5) = {u2, u4}. Vậy, chúng ta có bảng quyết định nhất quán DS’ = (U’ = {u2, u4}, Ơa, b, c, d}, V, f) là bảng quyết định nhất quán không dƣ thừa.
2.3 Kết luận chƣơng
Chƣơng 2 trình bày về một số tính chất và rút gọn thuộc tính trên bảng quyết định. Thuật toán tìm tập tất cả các thuộc tính rút gọn, họ tất cả các tập rút gọn, xây dựng các phụ thuộc hàm từ bảng quyết định nhất quán, thuật toán xây dựng bảng quyết định từ tập phụ thuộc hàm.
CHƢƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM
3.1 Đặt vấn đề
Nhƣ đã trình bày trong chƣơng 2 từ một bảng quyết định nhất quán ban đầu, nếu có các thuộc tính dƣ thừa, ta rút gọn bằng cách loại bỏ các thuộc tính dƣ thừa đó đi. Việc loại bỏ các thuộc tính dƣ thừa này giúp bài toán trở nên đơn giản hơn mà vẫn không ảnh hƣởng tới việc phân lớp đối tƣợng. Nội dung thuật toán đƣợc trình bày trong mục 2.2.2 chƣơng 2.