Xét bảng quyết định TU C, D V f, , với Uu u1, 2,...,un. Ma trận phân biệt của T, ký hiệu M mi j n n
, là một ma trận đối xứng mà mỗi phần tử của nó được xác định như sau [50]:
mij = { nếu u Di( )u Dj( ), {cC u ci( )u cj( )} nếu u Di( )u Dj( ).
Như vậy, mijlà tập hợp gồm tất cả các thuộc tính điều kiện có thể xếp đối tượng ui và uj vào các lớp tương đương khác nhau đối với quan hệ không phân biệt được trên mỗi thuộc tính của tập thuộc tính này. Hay nói cách khác hai đối tượng ui và uj mà u Di( )u Dj( ) có thể phân biệt với nhau bởi một thuộc tính bất kỳ trong tập mij. Nếu mij thì ui và uj bằng nhau trên tập thuộc tính D hoặc trong trường hợp bảng quyết định đã cho là không nhất quán, hai đối tượng ui và
j
u có cùng giá trị trên tập thuộc tính điều kiện nhưng khác nhau trên tập thuộc tính quyết định.
Ví dụ 2.2. Xét bảng quyết định như trong Bảng 1.2 (Chương 1) với các ký hiệu c1, c2, c3, c4 tượng trưng tương ứng cho tập các thuộc tính điều kiện {Mệt
mỏi, Đau đầu, Đau cơ, Thân nhiệt}, d ký hiệu thay cho thuộc tính quyết định
{Cảm cúm}. Bảng 2.3 trình bày ma trận phân biệt tương ứng; đây là ma trận đối xứng nên được trình bày dưới dạng một ma trận tam giác dưới.
Bảng 2.3. Ma trận phân biệt được xây dựng từ Bảng 1.2 U u1 u2 u3 u4 u5 u6 u1 u2 c4 u3 c4 u4 c2, c4 c2, c4 u5 c2, c3 c2, c3, c4 u6 c2, c4 c4 c3, c4
Giá trị m32 trong Bảng 2.3 cho thấy hai đối tượng u3 và u2 có cùng giá trị quyết định ( ( )u d3 u d2( )" ó")c hay nói cách khác u3 và u2 cùng thuộc một lớp tương đương của phân hoạch IND D( ). Trong khi đó m42{ , }c c2 4 điều này nói lên rằng hai đối tượng u2 và u4 có giá trị quyết định khác nhau và chúng được phân biệt nhau bởi các thuộc tính c2 hoặc c4 nhưng không phân biệt được bởi các thuộc tính c1 và c3.
Các thuật toán rút gọn thuộc tính dựa trên khái niệm ma trận phân biệt đã được đề xuất. Tương tự như Thuật toán 2.2, các thuật toán này thường được tiến hành theo hướng "từ trên xuống".
Trong [69], Yao Y.Y. và cộng sự giới thiệu một thuật toán tìm tập rút gọn trong hệ thông tin S = (U, A, V, f) dựa trên ma trận phân biệt. Trong thuật toán này ma trận phân biệt M được viết dưới dạng là tập các phần tử khác rỗng trong ma trận phân biệt hai chiều như định nghĩa.
Một cách hình thức, cho M mi j n n
là ma trận phân biệt thì dạng tập hợp của M là M mij . Ví dụ, dạng tập hợp của ma trận phân biệt trong Bảng 2.3 chính là M c c2 3, c c c2 3 4, c c2 4, c c3 4, c4. Thuật toán sử dụng các toán tử và độ đo sau đây:
- Absorb(M): m m, 'M mà m' M thì M:=M\{m}. Ví dụ,
2 3, 2 3 4, 2 4, 3 4, 4
Absorb c c c c c c c c c c cho kết quả là c c2 3, c4. Ý nghĩa của toán tử này trong quá trình sử dụng ma trận phân biệt để rút gọn thuộc tính là chỉ cần xem xét các tập thuộc tính chỉ dẫn phân biệt ở dạng tối giản nhất. - Cho a là một thuộc tính thì Group a( ) :mM a| m. Ví dụ, với
2 3, 2 3 4, 2 4, 3 4, 4
M c c c c c c c c c c thì Group c( )2 cho kết quả là
c c2 3, c c c2 3 4, c c2 4. Ý nghĩa của toán tử này trong quá trình sử dụng ma trận phân biệt để rút gọn thuộc tính là với một thuộc tính đã được chọn thì
cần xem xét loại bỏ đi các tập thuộc tính phân biệt trong M có chứa thuộc tính đó.
- Độ đo phù hợp : C R như trên. Độ đo thường sinh ra thứ tự ưu tiên giữa các thuộc tính. Chẳng hạn, (c2)> (c2)> (c2) c2 > c3 > c4. - Độ đo phù hợp md đối với các phần tử của M. Thông thường md được
chọn hoặc là tổng độ phù hợp các thuộc tính hoặc trung bình độ phù hợp các thuộc tính trong phần tử.
Thuật toán 2.6 dưới đây tương ứng với thuật toán được trình bày trong [69].
Thuật toán 2.6. Tìm tập rút gọn trong bảng quyết định từ ma trận phân biệt
(Tương ứng với thuật toán 4 trong [69])
Đầu vào: Ma trận phân biệt M mt của bảng quyết định TU C, D V f, , .
Đầu ra: Tập rút gọn R. Phương pháp: (1) R: ; TGA:C; (2)Do while M (2.1) M := Absorb(M); (2.2)aTGA: tính (a); (2.3) Chọn aTGA, Group(a) và a phù hợp nhất
begin R:=R{a}; TGA:= TGA \{a} end;
(2.4) a Group(a): tính dm(a);
(2.5) Chọn mi Group(a) phù hợp nhất
//Cập nhật ma trận M qua hai bước sau
begin M := M - Group(a); mM: m := m \ mi end
end
(3)Output R.