Giả sử klà số thuộc tính điều kiện và n là số đối tượng. Độ phức tạp để tính hàm phân biệt qua bảng CT là 2
O kn . Xét vòng lặp While, trước tiên xét độ phức tạp để tính hàm phân biệt qua hai bảng CT và TCT là 2
O kn . Như vậy độ phức tạp của vòng For là 2 2
( ).
O k n Độ phức tạp thời gian để chọn thuộc tính rút gọn tốt nhất của lệnh if là O kn( ),(bỏ qua d số phân lớp quyết định). Do đó độ phức tạp của vòng lặp While là 3 2
( ).
O k n Vì vậy, độ phức tạp của Thuật toán 3.1 là 3 2 ( ).
O k n
Chứng minh tính đúng của thuật toán GMDSDT
Soi vào định nghĩa 3.8 về tìm tập rút gọn dựa trên hàm phân biệt mở rộng, thuật toán 3.1. bổ sung đoạn kiểm tra tính tối thiếu của tập R thu được. Như vậy, cần bổ sung thêm đoạn lệnh sau lệnh end while dưới đây.
//Loại bỏ các thuộc tính dư thừa trong R nếu có; For each aR
If Discern R \ r Discern R then RR\ a ; Return R;
Như vậy, kết thúc vòng lặp while ta có Discern R Discern C , câu lệnh
For cho ta kết quả R' R, Discern R ' Discern C . Theo định nghĩa tập rút gọn, ta kết luận tập thuộc tính R thu được là tập rút gọn.
Với bước thêm dần vào R các thuộc tính có độ quan trọng lớn nhất, tập thuộc tính R thu được từ câu lệnh từ 1 đến 13 thỏa mãn điều kiện bảo toàn khoảng cách
S( ) ( ).
DI R DIS C Với bước loại bỏ các thuộc tính dư thừa của đoạn lệnh trên đảm bảo tập R là tối thiểu, nghĩa là DI RS( \{ })r DIS C( ).
Theo Định nghĩa 3.8 về tập rút gọn, R là tập rút gọn dựa trên hàm phân biệt mở rộng dựa trên bảng phân biệt ngẫu nhiên.