D trên cơ sở dựa vào việc cải tiến và phát triển thuật toán CHARM.
2.3.3.1.Ý tưởng thuật toán
Thuật toán được tiến hành theo hai bước. Trước hết sử dụng thuật tốn
CHARM để tìm tập phổ biến đóng cực đại với các mục dữ liệu dương từ CSDL tác vụ D. Mỗi khi tìm được tập phổ biến đóng cực đại X trong tệp dữ liệu này thì khởi tạo và thực hiện bước thứ 2 bằng cách duyệt các cặp ràng buộc mục dữ liệu âm, nếu tập thứ nhất của cặp này nằm trong tập X thì bổ sung tập thứ hai của cặp ràng buộc vào một tập mà sau này sẽ trở thành tập phổ biến đóng cực đại có mục dữ liệu âm
trong tập dữ liệu D.
2.3.3.2. Thuật tốn NC-CHARM
Thuật tốn tìm các tập phổ biến đóng với ràng buộc mục dữ liệu âm được gọi là thuật toán NC-CHARM (Negative Constrains – CHARM). Giả ngôn ngữ của thuật tốn được thể hiện trong hình 2.8.
Độ phức tạp của thuật toán NC-CHARM: So với thuật tốn CHARM thì
thuật tốn này khác ở phần từ lệnh 10 đến lệnh 13. Đây là phần thực hiện tiếp theo phần thực hiện phép giao. Câu lệnh này được thực hiện bằng số phần tử trong tập ràng buộc mục dữ liệu âm (|Á|) đối với mỗi tập đóng tìm được, do đó tổng chi phí thực hiện phép so sánh là (|Á|.|C|). Kết hợp với độ phức tạp của thuật tốn CHARM ta có độ phức tạp của NC-CHARM là O(l. |Á|).|C|) với l là độ dài trung bình của các
định danh.
78
Hình 2.8: Thuật tốn NC-CHARM
Ở đây g là một phép kết nối Galois, k là một phép sắp thứ tự (theo thứ tự từ
vựng hoặc theo độ hỗ trợ) cho các mục dữ liệu. Hàm CHARM-PROPERTY được
xây dựng như trong [94].