So sánh thời gian trên CSDLSALE-FACT-SYNC

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát triển một số thuật toán hiệu quả khai thác tập mục trên cơ sở dữ liệu có sự phân cấp các mục (Trang 84 - 89)

Các kết quả thực nghiệm từ Hình 2.46 đến 2.51 cho thấy hiệu quả của phƣơng pháp Dtab-TRFWUI và DHEAP_TRFWUI so với VTK trên các CSDL thực nghiệm. Phƣơng pháp hiệu quả nhất là DHEAP_TRFWUI với việc sử dụng cấu trúc DHeap. Ví dụ trên CSDL RETAIL với k = 500, VTK có thời gian xử lý là 527,81s, DTab-TRFWUI là 141,21s, trong khi DHEAP_TRFWUI là 107,4s. Thời gian chạy của VTK nhiều hơn 3,74 lần so với DTab-FWUI và nhiều hơn DHEAP_TRFWUI 4,91 lần.

104,2 279,02 732,06 0 200 400 600 800 100 200 300 400 500 Ti m e (s) k DHeap-TRFWUI DTab-TRFWUI VTK 109,12 281,17 739,15 0 200 400 600 800 100 200 300 400 500 Ti m e (s) k DHeap-TRFWUI DTab-TRFWUI VTK 97,61 269,2 685,1 0 200 400 600 800 100 200 300 400 500 Ti m e (s) k DHeap-TRFWUI DTab-TRFWUI VTK

Kết quả thực nghiệm ở trên cho thấy việc sử dụng DHeap, DTab là hiệu quả, không tốn thời gian lọc ra các tập mục cùng lớp để kết nối chúng lại do trên cây TR-tree đã có sẵn các lớp. Đồng thời việc cập nhật các giá trị min- DTab với chi phí O(1) trên DTab, DHeap và cắt nhánh nhanh trên TR-tree.

Ngồi ra, thao tác tìm và chèn một phần tử mới vào DHeap chỉ mất thời gian O(nlogn).

2.4. Kết luận chƣơng

Chƣơng này tập trung trình bày các kết quả nghiên cứu khai thác nhanh tập mục phổ biến trên CSDL số lƣợng với các cấu trúc mới đề xuất MBiS [I], IWS [II, V] theo tiếp cận cải tiến cấu trúc dữ liệu lƣu tidset theo bit-vector. Đồng thời đƣa ra bài toán khai thác Top-rank-k tập phổ trên CSDL số lƣợng và đề xuất hai cấu trúc DTab [III], DHeap với hai thuật toán DTab-TRFWUI [III] và DHEAP_TRFWUI để giải quyết hiệu quả bài toán này.

Các đề xuất về tối ƣu bit-vector với IWS bằng cách loại bỏ hồn tồn các word hai byte có giá trị bằng 0 trong biểu diễn bit-vector tidset của tập mục. Nghĩa là IWS chỉ lƣu các word khác 0 liên tiếp trên bit-vector tidset của các tập. Đồng thời đề xuất sử dụng mảng MAP lƣu trữ vị trí bit 1 đối với các số có giá trị trong khoảng hai byte để tính nhanh ws (đối với khai thác FWI) và wus (đối với khai thác FWUI). Các đề xuất này thật sự có hiệu quả nhất là đối với các CSDL thƣa. Kết quả thực nghiệm trong mục 2.2.4.3 đã thể hiện rõ điều đó.

Bên cạnh đó, chƣơng 2 đề xuất cấu trúc MBiS, bằng cách chỉ lƣu các đoạn bit 1 liên tiếp trên bit-vector của các tập mục. Với cấu trúc này việc xác định giao MBiS của hai tập mục rất nhanh, do chỉ cần tính lại đầu và cuối mỗi đoạn giao. Đồng thời, việc tính ws (đối với khai thác FWI) hay tính wus (đối với khai thác FWUI). Các kết quả thực nghiệm trong mục 2.2.4.3 cho thấy hiệu quả của MBiS so với DBV, tuy nhiên MBiS không hiệu quả hơn IWS, do việc lƣu các đoạn bit 1 liên tiếp làm cho MBiS bị “phân mảnh” quá nhiều dẫn tới việc xác định giao của các MBiS tốn nhiều thời gian.

Cuối cùng, chƣơng 2 đề xuất bài toán khai thác TRFWUIk trên CSDL số lƣợng, đây là bài toán chƣa đƣợc đề cập trƣớc đây, mặc dù đã có nhiều cơng bố liên quan đến bài toán này trên CSDL nhị phân. Cấu trúc DTab với khai thác theo tiếp cận một lần quét CSDL đã cho thấy hiệu quả so với thuật toán VTK. Tiếp theo luận án đề xuất cấu trúc DHeap dựa trên cấu trúc Heap, với cấu trúc DHeap việc tìm vị trí chèn wus của tập mục mới là O(nlogn) giúp

giảm thời gian khai thác TRFWUIk. Các kết quả thực nghiệm trong mục 2.3.3.2 đã cho thấy hiệu quả của các đề xuất mới nói trên.

CHƢƠNG 3. KHAI THÁC TẬP MỤC PHỔ BIẾN TRÊN CƠ SỞ DỮ LIỆU SỐ LƢỢNG CÓ SỰ PHÂN CẤP CÁC MỤC

CSDL số lƣợng có sự phân cấp các mục là sự kết hợp giữa CSDL số lƣợng và CSDL có sự phân cấp các mục. Do đó, về cơ bản khai thác tập mục phổ biến trên CSDL số lƣợng có sự phân cấp các mục có thể đƣợc kế thừa từ các phƣơng pháp khai thác tập mục phổ biến trên CSDL số lƣợng và CSDL có sự phân cấp. Vì vậy, việc khó khăn và phức tạp của bài toán khai thác FWUI trên CSDL số lƣợng có sự phân cấp cũng đƣợc kế thừa từ các bài tốn trên. Ngồi ra, đặc trƣng riêng của bài toán này là việc xác định trọng số của các mục cha trên cây phân cấp nhƣ thế nào? Và xác định số lƣợng của từng mục cha trong các giao dịch của CSDL ra sao? v.v... đã làm cho bài toán khai thác tập mục phổ biến trên CSDL số lƣợng có sự phân cấp mục thêm sự phức tạp và cần có những đề xuất tốt để giảm thiểu sự khó khăn đó.

CSDL số lƣợng có sự phân cấp các mục là CSDL xuất hiện nhiều trong các ứng dụng thực tế, trong đó cây phân cấp đƣợc sử dụng nhƣ để phân loại các nhóm mặt hàng, chủng loại hàng hóa. Các mục cha trên cây phân cấp là mức khái quan cho mục con của nó. Tuy nhiên, cho đến hiện nay, bài toán khai thác tập mục phổ biến trên loại CSDL này chƣa đƣợc quan tâm nghiên cứu. Do vậy, phần nội dung chƣơng này luận án đề xuất bài toán khai thác FWUI trên CSDL số lƣợng có sự phân cấp các mục trong mục 3.1 và đề xuất một thuật toán MINE_FWUI dựa trên cấu trúc HIT-tree để khai thác FWUI trong mục 3.2, các nội dung này đã đƣợc trình bày tại cơng bố [IV].

Tiếp theo, trong phần 3.3 luận án trình bày một số cải tiến nâng cao hiệu quả khai thác FWUI trên CSDL số lƣợng có sự phân cấp các mục nhƣ:

(i) Đề xuất cấu trúc SDBV - là một mở rộng của DBV với việc sử dụng phần tử là các số nguyên lớn (8 byte). Đề xuất này giúp làm giảm số phép toán trong xác định giao giữa hai SDBV.

(ii) Đề xuất mệnh đề về việc xác định tidset mục nút cha dựa trên tidset mục nút con. Với đề xuất này không phải tốn thời gian thêm các mục nút cha vào CSDL và không làm tăng thêm bộ nhớ lƣu trữ.

(iii) Xác định nhanh mối quan hệ cha - con giữa các mục trên cây phân cấp. Luận án đƣa ra mệnh đề về việc xác định mối quan hệ cha con giữa các mục trong tập mục tạo thành bằng cách chỉ cần xác định mối quan hệ của đúng một cặp mục trong tập mục đó.

Ngồi ra, các cấu trúc đã đề xuất trong chƣơng 2 nhƣ IWS, MBiS đều đƣợc áp dụng vào để giải quyết hiệu quả hơn bài toán khai thác FWUI trên CSDL số lƣợng có sự phân cấp các mục trong chƣơng này.

3.1. Giới thiệu bài toán

Định nghĩa 3.1. CSDL số lƣợng có sự phân cấp các mục -hierarchical

quantitative databases (HQDB) là một bộ gồm bốn thành phần: T, I, W, Tr

trong đó, T = {t1, t2, …, tm} là tập các giao dịch, I = {i1, i2, …, in} là tập các mục, W = {w1, w2, …, wn} là tập các trọng số (lợi ích) tƣơng ứng của mỗi mục trong tập các mục I và Tr là tập các cây phân cấp thể hiện mối quan hệ giữa

các mục. Mỗi giao dịch tk có dạng tk = { , , …, }, trong đó là số nguyên chỉ số lƣợng mục thứ i trong giao dịch tk, k = 1.. m.

Ví dụ 3.1: Cho HQBD HD = T, I, W, Tr với tập mục I = {A, B, C, D, E}, các giao dịch T và trọng số W đƣợc trình bày trong Bảng 3.1 và Bảng 3.2,

các cây phân cấp Tr các mục nhƣ trong Hình 3.1.

Bảng 3.1. Giao dịch của HD Bảng 3.2. Trọng số

Giao dịch A B C D E F Item Weight

t1 1 1 0 2 1 0 A 0,3 t2 0 1 3 0 1 0 B 0,2 t3 2 1 0 2 2 2 C 0,5 t4 3 1 1 0 1 0 D 0,6 t5 1 2 2 1 3 1 E 0,9 t6 0 1 1 1 0 1 F 0,1

Và tập các cây phân cấp Tr nhƣ trong Hình 3.1

Một phần của tài liệu (LUẬN án TIẾN sĩ) phát triển một số thuật toán hiệu quả khai thác tập mục trên cơ sở dữ liệu có sự phân cấp các mục (Trang 84 - 89)

Tải bản đầy đủ (PDF)

(120 trang)