Bƣớc xây dựng cây TWUI-tree:
Cho cơ sở dữ liệu giao tác DB với n mục dữ liệu, m giao tác và ngưỡng lợi ích minutil.
(1) Thuật toán chỉ cần duyệt cơ sở dữ liệu hai lần để xây dựng cây TWUI-tree. (2) Chi phí chèn một giao tác T vào cây là OTU , ở đó U là tập các mục dữ liệu có lợi ích TWU cao của DB.
(3) Kích thước và chiều cao của cây có thể đánh giá như sau:
Mệnh đề 3.2: Cho cơ sở dữ liệu giao tác DB, ngưỡng lợi ích minutil. Không kể nút gốc, kích thước của cây TWUI-tree (số nút) có cận trên là .
T DB
T X m n
cao của cây có cận trên là max
T DB T U n
, ở đó n là số mục dữ liệu và m là số giao tác của cơ sở dữ liệu, n =│I│, m =│DB│.
Chứng minh:
Theo cách xây dựng cây, mỗi giao tác TDB ứng với một nhánh trên cây.
Trường hợp tốt nhất, tất cả các giao tác có chung một tập mục dữ liệu, lúc đó chỉ có một nhánh trên cây, số nút của cây bằng số nút của nhánh đó (bằng số mục dữ liệu có lợi ích TWU cao trong DB)
Trường hợp xấu nhất, mỗi giao tác chứa một tập mục dữ liệu riêng biệt, không có mục dữ liệu nào chung, lúc đó số nút tối đa của cây là bằng tổng số mục dữ liệu có lợi ích TWU cao xuất hiện trong các giao tác, tức là .
T DB
T U m n
.
Các giao tác lưu trên cây thành một đường đi bắt đầu từ nút gốc, các mục tiền tố chia sẻ chung các nút, do đó chiều cao của cây bằng số mục dữ liệu có lợi ích TWU cao trong giao tác có nhiều mục lợi ích TWU cao nhất, tức là max
T DB T U n
.
(4) Thông thường, các giao tác dùng chung với nhau một số nút trên cây nên kích thước cây TWU-tree thường nhỏ hơn kích thước của cơ sở dữ liệu. Cơ sở dữ liệu càng dày thì kích thước cây TWU-tree càng nhỏ so với cơ sở dữ liệu gốc. Theo các nghiên cứu gần đây trong [25-29] , hiện nay có thể sử dụng hàng gigabyte bộ nhớ để khai phá hiệu quả tập mục thường xuyên dựa trên cây tiền tố (prefix tree). Cây TWU-tree trong thuật toán COUI-Mine có cấu trúc giống cây FP-tree, kích thước của hai cây cơ bản giống nhau, do đó khai phá dựa trên cây TWU-tree trong thuật toán COUI-Mine là khả thi và hiệu quả.
Bƣớc khai phá cây TWU-tree
Mệnh đề 3.3: Thuật toán COUI-Mine đảm bảo tính dừng và tìm ra tập tất cả các
tập mục lợi ích cao.
Ta có thể lý giải cho mệnh đề 3.3 như sau:
- Bước xây dựng cây TWU-tree là hữu hạn thao tác, được đánh giá qua mệnh đề 3.2. - Bước khai phá cây TWU-tree: Xây dựng cây COUI-tree cho một mục dữ liệu chỉ cần duyệt một số nhánh trên cây TWU-tree liên quan đến mục đó nên số
nhánh cần duyệt là nhỏ. Cây COUI-tree được xây dựng giống như cây TWU-tree. Số cây COUI-tree cần xây dựng và khai phá là hữu hạn, bằng số mục có lợi ích TWU cao trừ đi 1, tức là u 1 n 1
Thông thường, kích thước cây COUI-tree rất nhỏ so với kích thước cây TWU- tree. Kích thước cây COUI-tree có cận trên bằng kích thước cây TWU-tree, đó là trường hợp cây TWU-tree chỉ có một nhánh duy nhất, khi đó chỉ có một cây COUI- tree cần xây dựng và khai phá.
Khai phá các cây COUI-tree theo phương pháp không đệ quy đã được công bố trong [5,6], ở đây ta chỉ thay độ hỗ trợ của mục dữ liệu bởi lợi ích TWU của nó. Tập mục lợi ích TWU cao có tính chất phản đơn điệu, do đó, khi thay độ hỗ trợ bởi lợi ích TWU thì phương pháp khai phá cho kết quả là các tập mục lợi ích TWU cao. Thuật toán chỉ cần duyệt lại cơ sở dữ liệu lần thứ 3 để tính lợi ích thực sự của các tập mục lợi ích TWU cao này.
Mệnh đề 3.4 sau sẽ chỉ rõ tính hiệu quả của thuật toán qua so sánh số các tập mục ứng viên với các thuật toán kiểu Apriori.
Mệnh đề 3.4: Số các tập mục ứng viên sinh ra bởi thuật toán COUI-Mine không bao
giờ lớn hơn số các tập mục ứng viên sinh ra bởi các thuật toán khai phá tập mục lợi ích cao theo kiểu sinh ứng viên rồi kiểm tra rằng buộc (như cách của thuật toán Apriori).
Chứng minh:
Trong thuật toán được phát triển dựa trên thuật toán Apriori, trước tiên, một k- tập mục X là ứng viên lợi ích TWU cao nếu tất cả các tập con độ dài (k-1) của X là tập mục lợi ích TWU cao. Mặc dù vậy, khi duyệt lại cơ sở dữ liệu thì tập mục X có thể lại không xuất hiện hoặc có giá trị twu(X) thấp, twu(X) < minutil.
Trong thuật toán COUI-Mine, nếu tập mục X không có mặt trong cơ sở dữ liệu thì nó không xuất hiện trong bất kỳ nhánh nào của cây TWU-tree, do đó nó không thể được sinh ra. Hơn nữa, khi xác định X có lợi ích TWU thấp thì nó đã bị tỉa. Vì vậy, số các ứng viên sinh ra bởi thuật toán COUI-Mine không bao gìờ lớn hơn số các ứng viên sinh ra bởi các thuật toán kiểu Apriori.
Tính hiệu quả của thuật toán COUI-Mine, nếu tập mục X không có mặt trong cơ sở dữ liệu thì nó không xuất hiện trong bất kỳ nhánh nào của cây TWU-tree, nếu tập ứng viên CP tìm được khác rỗng thì thuật toán cần duyệt lại cơ sở dữ liệu lần thứ 3 để tìm các tập mục lợi ích cao trong tập ứng viên CP. Trong khi đó, với các thuật toán kiểu Apriori, nếu độ dài của tập mục ứng viên dài nhất là N thì thuật toán cần duyệt cơ sở dữ liệu N lần, thuật toán Hai pha cần duyệt N+1 lần. Khi ngưỡng lợi ích giảm, số các ứng viên và độ dài cực đại của chúng cũng tăng lên, do đó, thời gian thực hiện của các thuật toán kiểu Apriori rõ ràng tăng lên rất nhanh.