Xây dựng cây TWUI-tree

Một phần của tài liệu khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu (Trang 37 - 42)

Định nghĩa 2.1: (Cây TWUI-tree): Cây TWUI-tree là một cấu trúc cây tiền tố (prefix-tree) đƣợc định nghĩa nhƣ sau:

(1)Cây bao gồm một nút gốc nhãn Null, tập các cây con của gốc và một bảng đầu mục.

(2)Mỗi nút của cây gồm ba trƣờng: tên mục dữ liệu, giá trị twu của mục dữ liệu và con trỏ(trỏ đến nút tiếp theo cùng nhãn trên cây hoặc là null nếu không có).

(3)Mỗi mục của bảng đầu mục gồm hai trƣờng: tên mục dữ liệu và con trỏ(trỏ đến nút đầu tiên biểu diễn dữ liệu này trên cây). Các mục dữ liệu trong bảng đầu mục sắp xếp giảm dần theo lợi ích TWU của chúng.

Dựa trên định nghĩa 2.1, luận văn đề xuất thuật toán xây dựng cây TWUI-tree nhƣ sau:

Thuật toán 2.3.1(xây dựng cây TWUI-tree)

Input: Cơ sở dữ liệu giao tác DB, ngƣỡng lợi ích minutil.

Output: Cây TWUI-tree.

(Cây nén các giao tác của cơ sở dữ liệu DB để khai phá tập mục lợi ích TWU cao).

Method: Cây TWUI-tree xây dựng nhƣ sau: 1. Duyệt cơ sở dữ liệu lần thứ nhất:

1.1Tính lợi ích các giao tác, lợi ích TWU của từng mục dữ liệu.

1.2Chọn ra tập U các mục dữ liệu có lợi ích TWU cao, sắp tập U theo thứ tự giảm dần của lợi ích TWU đƣợc danh sách Ulist và xây dựng bảng đầu mục của cây.

2. Tạo cây:

2.1Tạo nút gốc R của cây.

2.2Duyệt cơ sở dữ liệu lần thứ 2, với mỗi giao tác T trong DB, chọn ra các mục dữ liệu có lợi ích TWU cao, sắp các mục này theo thứ tự của Ulist. Giả sử danh sách đã sắp của T là ([xL]), ở đó x là mục dữ liệu đầu và L là phần còn lại của danh sách, gọi hàm insert_tree([xL], R).

Giải thích thực hiện của hàm insert_tree([xL], R):

Hàm insert_treeI([xL], R) làm việc nhƣ sau: Nếu có nút con N nhãn X thì điều chỉnh trƣờng twu của nút N nhƣ sau: N.twu:= N.twu + tu(T); Ngƣợc lại, tạo nút N mới là nút con của nút R, nhãn của nút N là x, trƣờng twu của nút gán là tu(T), N.twu:= tu(T), bổ sung thêm đƣờng liên kết của các nút cùng nhãn đến nút N này. Nếu L khác rỗng thì gọi đệ quy hàm insert_tree(L, N).

Minh họa xây dựng cây TWUI-tree qua xét cơ sở dữ liệu bảng 2.1 và bảng 2.2, ngƣỡng lợi ích bằng 30% của tổng lợi ích, minutil =30%x 398 =119,4.

Bảng 2.3: Lợi ích các giao tác của cơ sở dữ liệu bảng 2.1 và bảng 2.2.

TID A B C D E Tu T1 0 12 2 0 2 72 T2 0 12 0 2 1 71 T3 2 0 1 0 1 12 T4 1 0 0 2 1 14 T5 0 0 4 0 2 14 T6 1 2 0 0 0 13 T7 0 20 0 2 1 111 T8 3 0 25 6 1 57 T9 1 2 0 0 0 13 T10 0 0 16 0 1 21 Tổng 8 48 48 12 10 398

Bảng 2.4: Lợi ích TWU của các mục dữ liệu. Mục dữ liệu twu A 109 B 280 C 176 D 253 E 372

Bảng 2.5: Các mục dữ liệu có lợi ích TWU cao sắp giảm dần theo twu. Mục dữ liệu twu

E 372

B 280

D 253

C 176

Duyệt cơ sở dữ liệu lần thứ nhất , tính đƣợc lợi ích của các giao tác(bảng 2.3), lợi ích TWU của từng mục dữ liệu(bảng 2.4). vì twu(A) =109 < minutil nên ta loại mục A, các mục còn lại sắp theo thứ tự giảm dần của lợi ích TWU và nhận đƣợc nảng 2.5. Từ bảng 2.5 xây dựng đƣợc bảng đầu mục của cây TWUI-tree.

Duyệt cơ sở dữ liệu lần thứ 2, mỗi giao tác đƣợc đọc ra, bỏ đi các mục dữ liệu có lợi ích TWU thấp, sắp các mục còn lại theo thứ tự giảm dần của lợi ích TWU. Giao tác thứ nhất T1=BCE đƣợc sắp thành EBC, lợi ích giao tác tu=72 và sinh ra nhánh thứ nhất trên cây(hình 2.1). Trong hình 2.1, biểu diễn nút của cây là một hình chữ nhật gồm: tên mục dữ liệu, lợi ích twu. Giao tác T2=EBD lƣu lên cây có chung đoạn EB với đƣờng đi đã có, trƣờng twu của 2 nút E và B tăng thêm 71 là lợi ích của giao tác T2. Hình 2.2 là cây sau khi lƣu 2 giao tác T1 và T2. Hình 2.3 biểu diễn cây khi xây dựng xong.

Bảng 2.6: Các mục dữ liệu trong giao tác sắp giảm dần theo lợi ích TWU. TID E B D C tu T1 2 12 0 2 72 T2 1 12 2 0 71 T3 1 0 0 1 6 T4 1 0 2 0 11 T5 2 0 0 4 14 T6 0 2 0 0 10 T7 1 20 2 0 111 T8 1 0 6 25 48 T9 0 2 0 0 10 T10 1 0 0 16 21 Tổng 10 48 12 48 374

Hình 2.2: Cây TWUI-tree sau khi lƣu giao tác T1 và T2.

Hình 2.3: Cây TWUI-tree của cơ sở dữ liệu bảng 2.1 và bảng 2.2.

Ta thấy rằng các giao tác của cơ sở dữ liệu bảng 2.1 và bảng 2.2 đã đƣợc lƣu lên cây TWUI-tree, cây chứa đủ thông tin để khai phá tập mục lợi ích TWU cao.

Tính chất của cây TWUI-tree:

Mệnh đề 2.1:Trường twu của bất kỳ nút nào trong cây TWUI-tree cũng không nhỏ hơn trường twu của mọi nút con của nó.

Từ cách xây dựng cây, mỗi giao tác đƣợc sắp các mục dữ liệu theo thứ tự giảm dần của lợi ích TWU rồi lƣu thành một đƣờng đi trên cây, khi lƣu lên cây lại bắt đầu từ gốc của cây (từ trên xuống) nên tính chất trên là hiển nhiên.

Cũng từ cách xây dựng cây nhƣ vậy, đƣờng đi từ một nút lên gốc của cây xác định một mẫu có lợi ích TWU bằng giá trị trƣờng twu tại nút đó. Ví dụ, trong cây hình 2.3, đƣờng đi từ nút B đầu tiên lên nút gốc xác định mẫu BE có twu(BE)

=254.

Một phần của tài liệu khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu (Trang 37 - 42)