Bài viết đề xuất thuật toán song song MCP-mRI nhằm nâng cao hiệu năng cho khai thác tập hiếm tối thiểu trên bộ xử lý đa nhân. Thuật toán đề xuất dễ dàng mở rộng trên nhiều hệ thống tính toán phân tán như Hadoop, Apache Spark. Kết quả thực nghiệm trên bộ dữ liệu thực của UCI và bộ dữ liệu giả lập của trung tâm nghiên cứu IBM Almaden, cho thấy thuật toán đề xuất hiệu quả. Mời các bạn cùng tham khảo!
Nâng Cao Hiệu Năng Cho Thuật Toán Khai Thác Tập Hiếm Tối Thiểu Trên Bộ Xử Lý Đa Nhân Phan Thành Huấn1,2, Lê Hồi Bắc3 Khoa Tốn – Tin học, Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Bộ môn Tin học, Trường Đại học Khoa học Xã hội Nhân văn, ĐHQG-HCM Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Email: huanphan@hcmussh.edu.vn, lhbac@fithcmus.edu.vn Tóm tắt - Trong khai thác liệu, khai thác tập kỹ thuật khai thác quan trọng với ứng dụng tiềm phát cơng máy tính, giao dịch gian lận tổ chức tài chính, tin sinh học, y tế Trong viết này, đề xuất thuật toán song song MCP-mRI nhằm nâng cao hiệu cho khai thác tập tối thiểu xử lý đa nhân Thuật toán đề xuất dễ dàng mở rộng nhiều hệ thống tính tốn phân tán Hadoop, Apache Spark Kết thực nghiệm liệu thực UCI liệu giả lập trung tâm nghiên cứu IBM Almaden, cho thấy thuật toán đề xuất hiệu mảng chứa itemset xuất giao dịch item hạt nhân, thuật toán sinh nLOOC-Tree thuật toán SEQ-mRI khai thác tập tối thiểu Phần 4, nhóm tác giả dựa thuật tốn Phần để xây dựng thuật toán song song MCP-mRI khai thác hiệu xử lý đa nhân Kết thực nghiệm trình bày phần kết luận phần Từ khóa - Bộ xử lý đa nhân, khai thác liệu, tập tối thiểu, thuật toán song song MCP-mRI A Tập phổ biến Cho I = {i1, i2, , im} tập gồm m mục hàng riêng biệt, mục hàng gọi item Tập mục X { i1 ,i2 , ,ik }, i j I (1 j k ) gọi itemset, tập mục có I II GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN k mục gọi k-itemset Ɗ liệu giao dịch, gồm n ghi phân biệt gọi tập giao dịch T = {t1, t2, , tn}, giao dịch ti { ik1 ,ik , , ik j }, ik j I ( k j m ) Thuật toán khai thác luật kết hợp truyền thống [1-5] dùng giá trị ngưỡng phổ biến tối thiểu minsup với ngầm định mặt hàng có tính chất tần số liệu, điều không thực tế Trong kinh doanh bán lẻ, thường mặt hàng thiết yếu, hàng tiêu dùng sản phẩm giá rẻ mua nhiều hơn, mặt hàng xa xỉ sản phẩm giá trị cao lại mua (tập hiếm) Nếu chọn minsup cao mặt hàng khai thác thơng thường có giá thành thấp mang lại lợi nhuận không cao cho doanh nghiệp Ngược lại, chọn minsup thấp mặt hàng khai thác lớn, điều làm cho doanh nghiệp khó khăn định kinh doanh Từ đó, có nhiều thuật tốn khai thác tập đề xuất Apriori-Inverse, ARIMA, Rarity, Walky-G Các thuật tốn dựa Apriori [6-9], Eclat [10] có nhiều hạn chế quét liệu nhiều lần, sử dụng nhiều nhớ, chiến lược cắt tỉa chưa sử dụng triệt để hiệu tính tốn xử lý đa nhân (BXLĐN) Trong viết này, chúng tơi đề xuất thuật tốn khai thác song song tập tối thiểu Thuật toán đề xuất theo hướng tiếp cận song song liệu chức năng, thuật toán liên quan viết: - Xây dựng mảng Index_LOOC chứa item xuất giao dịch item hạt nhân; - Dựa Index_LOOC xây dựng nLOOC-Tree ; - Thuật toán SEQ-mRI khai thác tập tối thiểu dựa nLOOC-Tree ; - Thuật toán song song MCP-mRI khai thác nhanh tập tối thiểu BXLĐN Trong phần 2, báo trình bày khái niệm tập hiếm, tập tối thiểu Phần 3, xây dựng thuật toán xác định Định nghĩa 1: Độ phổ biến (support) itemset X I, ký hiệu sup(X), số giao dịch Ɗ có chứa X Định nghĩa 2: Cho X I, X gọi itemset phổ biến sup(X) ≥ minsup, với minsup ngưỡng phổ biến tối thiểu Cho liệu giao dịch Ɗ Bảng Bảng Dữ liệu giao dịch Ɗ cho Ví dụ Mã giao dịch t1 A C t2 t3 A C t4 t5 t6 A A t7 t8 A A B t9 t10 A A B Tập item E F G E C C C C C C D H F E E G G E D E E F G G Dữ liệu Bảng 1, có item riêng biệt I ={A, B, C, D, E, F, G, H} 10 giao dịch T = {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10} B Tập tập tối thiểu Trong thực tế, nhiều ứng dụng tiềm cần khai thác tập ứng dụng phát cơng máy tính, giao dịch gian lận tổ chức tài chính, tin sinh học, y tế,… Nhiều tác giả đề xuất thuật toán [6-10] khai thác tập 207 tối thiểu thỏa hai ngưỡng Sau khái niệm liên quan: Định nghĩa 3: Cho X I, X gọi itemset – sup(X) < minsup Ký hiệu RI tập hợp chứa itemset Định nghĩa 4: Cho X I, X gọi itemset tối thiểu – X itemset tất tập thực X phổ biến Ký hiệu mRI tập hợp chứa itemset tối thiểu Tính chất 1: ik I, sup(ik) < minsup ik mRI Ví dụ 1: Dữ liệu Ɗ Bảng với minsup = 2, ta có: Xét itemset X ={F, G, E}, sup(FGE) = < minsup, ta nói: ”Itemset X ={F, G, E} itemset hiếm”; Xét itemset Y ={H, E}, sup(HE) = < minsup, ta nói: ”Itemset Y ={H, E} itemset hiếm”; Ngồi ra, itemset X ={F, G, E} cịn itemset tối thiểu, nghĩa tập thực itemset X phổ biến: sup(F) = 3, sup(G) = 5, sup(E) = 7, sup(FG) = 2, sup(FE) = 2, sup(GE) = minsup = Trong đó, itemset Y = {H, E} khơng itemset tối thiểu, sup(H) = < minsup Theo tính chất item có độ phổ biến nhỏ minsup thuộc mRI, ta có : item H, sup(H) = < minsup, suy item H item tối thiểu Ví dụ 3: Xem item G item hạt nhân, ta xác định item xuất với item B giao dịch looc(G) = {B, D, E, F} có (G) = {t2, t4, t5, t9, t10} (GB) = {t9}, (GE) = {t5, t9, t10} Trong phần này, chúng tơi trình bày thuật tốn sinh item xuất giao dịch với item hạt nhân, lưu trữ vào mảng Index_LOOC Mỗi phần tử Index_LOOC gồm có thành phần thông tin sau: - Index_LOOC[k].item: item hạt nhân thứ k; - Index_LOOC[k].sup:độ phổ biến item hạt nhân thứ k; - Index_LOOC[k].looc: item xuất item hạt nhân thứ k giao dịch dạng bit; Mã giả thuật toán Xây dựng Index_LOOC Đầu vào: Dữ liệu giao dịch Ɗ Đầu ra: Ma trận BiM, mảng Index_LOOC Bảng Tập RI mRI Ɗ với minsup = Tập RI #RI = 26 H Tập tối thiểu mRI #mRI = H HE, DF, DG, BG BG, DF, DG BGE, BGC, BGA, DFG, DFC, DFA, DGA, DGC, FGE BEFC, BGEA, BGAC, DFGC, DFGA, DFAC, DGAC, FGEA, FGEC BGEAC, DFGAC, FGEAC FGE k-itemset Minh họa thuật toán 1: thực từ dòng đến Khởi tạo mảng Index_LOOC: (thành phần looc biểu diễn dạng bit) số item m = [4, 5] Trong Bảng 2, tập RI tập tối thiểu mRI chứa k-itemset với minsup = Số lượng itemset |RI| = 26 số lượng itemset tối thiểu |mRI| = Tỷ suất mRI RI 26 100% 19% Mối quan hệ tập item sup looc A B C 00000000 D 00000000 E 00000000 00000000 F 00000000 G H 00000000 0 00000000 00000000 G H Duyệt giao dịch từ t1 đến t10: Đọc t1: {A, C, E, F} có dạng bit 10101100 itemset tập itemset tối thiểu sau: mRI RI III Với phần tử k mảng Index_LOOC: Index_LOOC[k].item = ik Index_LOOC[k].sup = Index_LOOC[k].looc= Với giao dịch ti thực hiện: Lưu giao dịch ti vào ma trận BiM Với item k có giao dịch ti thực hiện: Index_LOOC[k].looc |= vectorbit(ti) Index_LOOC[k].sup + + Sắp xếp mảng Index_LOOC tăng dần theo sup Với phần tử k mảng Index_COOC: Index_COOC[k].looc= lexlooc(ik) Trả mảng Index_LOOC, ma trận BiM 10 11 12 13 item sup looc CÁC THUẬT TOÁN ĐỀ XUẤT A B C 10101100 D 00000000 E 00000000 10101100 F 10101100 10101100 00000000 00000000 Duyệt … đến t10: {A, C, E, F, G} có dạng bit 10101110 item sup looc A Tập chiếu items xuất giao dịch với item hạt nhân có thứ tự Tập chiếu mục hàng ik liệu giao dịch Ɗ: (ik)={t Ɗ│ikt} tập giao dịch có chứa mục hàng ik sup(ik) = | ( ik)| (1) Tập chiếu tập mục X { i1 ,i2 , , ik } , i j I (1 j k ) (X) = (i1) (i2)… (ik) A B C D E F G H 2 8 11111110 11101010 11111110 10110110 11101111 10111110 11111110 00001001 Dòng 10, xếp theo độ phổ biến item, ta có Index_LOOC sau: item sup looc H B Ø D G F G E F, G D, E, G A B, D, E, F C A, B, C, F, G, H B, D, E, F, G B, D, E, F, G Thực rút gọn dịng 11 12, ta có Bảng sau: Bảng Index_LOOC có thứ tự theo độ phổ biến item sup(X) = |(X)| (2) Ví dụ 2: Theo Bảng 1, có (A) = {t1, t2, t4, t5, t7, t8, t9, t10} (B) = {t7, t9 } Khi đó, (AB) = (A) (B)= {t1, t2, t4, t5, t7, t8, t9, 10}{t7, t9} = {t7, t9}, (B) (A) (AB) (A) Để tránh trùng lặp không gian sinh, đưa Định nghĩa – item có thứ tự theo độ phổ biến: Định nghĩa 5: Cho ik I (i1 i2 … im) thứ tự theo độ phổ biến, ta gọi ik item hạt nhân Tập Xlexlooc I chứa item xuất có thứ tự với ik giao dịch, không đồng xuất hiện: 1| ( ikxlexlooc) | < | ( ik)| , xlexlooc Ƥ1(Xlexlooc) Ký hiệu, lexlooc(ik) = Xlexlooc item sup looc H B Ø D G F F, G G G, E E E A A, C C Ø Ø Bảng 3, minh họa kết trả mảng Index_LOOC từ thuật toán Mảng Index_LOOC có thành phần looc biểu diễn theo item B Thuật toán sinh nLOOC-Tree Từ Index_LOOC xây dựng chứa mẫu xuất giao dịch với item hạt nhân Mỗi có nút gốc item hạt nhân nút items xuất giao dịch với item hạt nhân Mỗi nút có thành phần: - nLOOC_Tree[k].item: item xuất với item hạt nhân (nút gốc); 208 Chứng minh: theo bổ đề 1, ta có sup(ik xsub) < sup(ik) minsup, nên {ik xsub } RI, xsub Ƥ1(Xlexlooc) ■ Bổ đề 3: ik I, sup(ik) ≥ minsup, lexlooc(ik) = Xlexlooc sup(ik xsub) < minsup {ik xsub } mRI, xsub Ƥ2(Xlexlooc) Chứng minh: theo bổ đề 2, ta có {ik xsub } RI theo bổ đề 1, ij xsub mà sup(ik ij) < minsup nên {ik xsub } mRI, xsub Ƥ2(Xlexlooc) ■ - nLOOC_Tree[k].sup: độ phổ biến item xuất với item hạt nhân; Mã giả thuật toán 2: Xây dựng nLOOC-Tree Đầu vào: Ma trận BiM, Mảng Index_LOOC Đầu ra: Danh sách nLOOC-Tree Với phần tử k mảng Index_LOOC: nLOOC_Tree[k].item = Index_LOOC[k].item nLOOC_Tree[k].sup = Index_LOOC[k].sup Với item ik giao dịch tℓ : Với item ij Index_LOOC[k].looc: Nếu ij nút nút gốc nLOOC-Tree[k] Thêm nút ij vào nút gốc nLOOC-Tree[k] Ngược lại Thêm nút ij vào nút gốc nLOOC-Tree[k] 10 Cập nhật sup nút ij nút gốc nLOOC-Tree[k] 11.Trả danh sách nLOOC-Tree Mã giả thuật toán 3: SEQ-mRI Đầu vào: Ma trận BiM, Index_LOOC, minsup Đầu ra: Tập tối thiểu mRI Với Index_LOOC[k].sup < minsup mRI[k] = mRI[k] Index_LOOC[k].item//theo tính chất Với (Index_LOOC[k].sup ≥ minsup) (Index_LOOC[k].looc {})//bổ đề nLOOC_Tree(Index_LOOC[k].item) SSP GenPath(Index_LOOC[k].item)//sinh sub-single-path Với sspj SSP Nếu (sup(sspj) < minsup) (sup(sspj \{iℓ}) minsup) mRI[k] = mRI[k]{(sspj \{iℓ})} Trả tập tối thiểu mRI Ví dụ 5: Cho liệu Ɗ Bảng minsup = Dòng 2: item tối thiểu theo tính chất – có item H, B, D F (sup(H) = 1, sup(B) = sup(D) = sup(F) = < minsup); Dòng 3: loại bỏ item A C khỏi danh sách item khai phá; (Bổ đề 3) Xét item G, xem nLOOC-Tree(G): có đường đơn {G E} sup(GE) = < minsup Ta có, mRI[G] = {(GE; 3)} Hình Cây nLOOC-Tree theo Index_LOOC Bảng Cây nLOOC-Tree có đặc trưng sau: - Chiều cao nhỏ số lượng item xuất giao dịch với item hạt nhân (các item có thứ tự theo độ phổ biến) - Mỗi đường đơn (single-path) mẫu có thứ tự từ nút gốc (item hạt nhân) đến nút độ phổ biến mẫu độ phổ biến nút (ikik+1…iℓ) - Mỗi phân đoạn đường đơn (sub-single-path) từ nút gốc đến nút đường đơn mẫu thứ tự độ phổ biến mẫu độ phổ biến nút cuối phân đoạn đường đơn Ví dụ 4: Xét item hạt nhân F, có đường đơn {F G E} sup(FGE) = 1; phân đoạn đường đơn {F G} sup(FG) = độ phổ biến nút G Bảng Tập tối thiểu mRI Ɗ với minsup = Item hạt nhân Tập tối thiểu mRI H (H;1) B (B; 2) D F (D; 2) (F; 3) G (GE; 3) IV THUẬT TOÁN SONG SONG MCP-MRI Ngày nay, nhiều máy tính cá nhân máy trạm có hai nhân cho phép nhiều luồng xử lý (thread) thực đồng thời – điều làm cho máy tính có tốc độ xử lý nhanh khả đa nhiệm tốt Để tận dụng hết hiệu BXLĐN ta cần phân phối xử lý đồng thời nhiều nhân cho nhiều pha hay toán khác để tiết kiệm thời gian nâng cao hiệu Chúng tơi xây dựng thuật tốn song song MCP-mRI (Multi Core Processors - minimal Rare Itemsets) khai thác tập tối thiểu BXLĐN dựa thuật toán SEQ-mRI Thuật toán SEQ-mRI, gồm pha chính: - Pha 1: Xây dựng mảng Index_LOOC chứa itemset xuất giao dịch item hạt nhân; - Pha 2: Thuật toán SEQ-mRI khai thác tập tối thiểu từ mảng Index_LOOC C Thuật toán khai thác tập tối thiểu Thuật toán SEQ-mRI (SEQuential-minimal Rare Itemsets): khai thác tập tối thiểu dựa nLOOC-Tree chứa item xuất giao dịch với item hạt nhân (có thứ tự theo độ phổ biến) Các bổ đề dùng loại bỏ item không sinh itemset tối thiểu trình khai thác: Bổ đề 1: ik ij, ij lexlooc(ik) sup(ik ij) < sup(ik) Chứng minh: sup(ik ij) < sup(ik), theo (1) (2) (ik ij) = (ik) (ij) (ik) ■ Bổ đề 2: ik I, sup(ik) minsup, lexlooc(ik) = Xlexlooc sup(ik xsub) < minsup {ik xsub } RI, xsub Ƥ1(Xlexlooc) 209 Bước thứ nhất, song song hóa Pha theo sơ đồ đây: V Thực nghiệm máy Panasonic CF-74, Core Duo 2.0 GHz (2 core, thread), 4GB RAM, cài đặt C#, VS 2010 Nghiên cứu thực nghiệm nhóm liệu: Nhóm liệu thực dày đặc: sử dụng liệu thực từ kho liệu học máy trường Đại học California (Lichman, M (2013) UCI Machine Learning Repository [http://archive.ics.uci.edu/ml] Irvine, CA: University of California, School of Information and Computer Science) gồm tập Chess Mushroom Nhóm liệu giả lập thưa: sử dụng phần mềm phát sinh liệu giả lập trung tâm nghiên cứu IBM Almaden (IBM Almaden Research Center, San Joe, California 95120, U.S.A [http://www.almaden.ibm.com]) gồm tập T10I4D100K T40I10D100K Hình Sơ đồ song song hóa cho Pha Hình 2, phân chia liệu Ɗ thành c liệu Ɗ1, Ɗ2,…, Ɗc-1, Ɗc ứng với nhân Ci thực thuật toán với đầu vào liệu Ɗi đầu mảng Index_LOOCi tương ứng Để tính mảng Index_LOOC cho Ɗ, thực phép tính sau: Index_LOOC = Index_LOOC1 Index_LOOC2… (3) Sau đó, xếp mảng Index_LOOC tăng dần theo sup chuẩn hóa theo dịng 14, 15 16 thuật tốn Ví dụ 6: Giả sử Ɗ chia thành tập - Ɗ1 có giao dịch {t1, t2, t3, t4, t5} Ɗ2 có giao dịch {t6, t7, t8, t9, t10} Ɗ1 chạy thuật toán nhân C1 trả Index_LOOC1: item sup cooc looc A B C D E F G Bảng Dữ liệu thực nghiệm 00000000 10111110 10110110 10101111 10111110 10111110 Chess Mushroom H T10I4D100K T40I10D100K 00001001 item sup cooc looc B C D E F G H 4 1 10100000 11101000 10100000 10110000 00001000 10101110 10101010 11111111 11111110 11101010 11111110 10110000 11101110 10101110 11101110 00000000 Tính mảng Index_LOOC cho Ɗ, :Index_LOOC = Index_LOOC1 Index_LOOC2 item sup cooc looc A B C D E F G H 2 8 10100000 11101000 10100000 10110000 00001000 10100100 10100010 00001001 11111110 11101010 11111110 10110110 11101111 10111110 11111110 00001001 Bước thứ hai, song song hóa Pha theo sơ đồ sau: Hình Sơ đồ song song hóa cho Pha Hình 3, phân chia mảng Index_LOOC từ i1 đến im thành c phần ứng với nhân Cj thực thuật toán SEQ-mRI với đầu vào mảng Index_LOOC từ phần tử thứ [(j-1)*(m div c)+1] đến phần tử thứ [j*(m div c)] đầu tập tối thiểu mRIj tương ứng Tập tối thiểu cho Ɗ, ta thực hiện: mRIƊ = mRI1mRI2…mRIc (4) Ví dụ 7: Cho liệu Ɗ Bảng 1, minsup = Sau thực song song hóa Pha 1, ta có Bảng Nhân C1 chạy thuật toán SEQ-mRI từ item H đến F sinh tập tối thiểu mRI1 sau: mRI[H] mRI [B] mRI [D] mRI [F] Thời gian (mili giây) Chess (H;1) (B; 2) (D; 2) (F; 3) 262144 65536 16384 4096 1024 256 64 16 AprioriRare Walky-G SEQ-mRI MCP-mRI 11 12 13 14 15 Minsup (% ) Nhân C2 chạy thuật toán SEQ-mRI từ item G đến C sinh tập tối thiểu mRI2 sau: mRI [G] Số item nhỏ Số item lớn nhất/ Số item trung Mật độ nhất/giao dịch giao dịch bình/ giao dịch (%) 37 37 37 49,3 23 23 23 19,3 29 10 1,1 77 40 4,2 Trong viết này, chúng tơi đề xuất thuật tốn khai thác song song tập tối thiểu Đây đề xuất theo hướng tiếp cận trên, nên chưa có thuật toán hướng tiếp cận để so sánh hiệu thuật tốn Vì vậy, chúng tơi đề xuất so sánh hiệu thuật toán song song sau: so sánh thuật toán SEQ-mRI với thuật toán AprioriRare [7] thuật tốn Walky-G [10] Sau đó, chúng tơi so sánh hiệu suất thuật toán song song MCP-mRI với thuật tốn SEQ-mRI Trong thực nghiệm, chúng tơi tiến hành so sánh theo ngưỡng minsup thuật toán cho kết số lượng itemsets Hiệu suất thực thuật toán song song BXLĐN: T T (5) HS TM S S c c Trong đó: - TS: thời gian thực - TM: thời gian thực song song BXLĐN - c: số lượng nhân CPU (số core) Phương trình (5) dùng để đánh giá hiệu suất thuật toán song song MCP-mRI so với thuật toán SEQ-mRI Ɗ2 chạy thuật toán nhân C2 trả Index_LOOC2: A Số item 75 119 870 942 Ɗ 4 3 10100000 11111111 10100000 10110110 00001000 10100100 10100010 00001001 10111110 KẾT QUẢ THỰC NGHIỆM Hình Thời gian thực khai thác mRI Chess Hình kết thực nghiệm tập liệu Chess có mật độ dày đặc, ta thấy thuật tốn SEQ-mRI nhanh thuật toán AprioriRare, Walky-G thuật tốn chạy BXLĐN MCP-mRI có thời gian thực nhanh thuật (GE; 3) Tập tối thiểu mRI liệu giao dịch Ɗ với minsup = tính mRIƊ = mRI1mRI2 Bảng 210 tốn SEQ-mRI Hiệu suất trung bình thuật toán MCP-mRI 76,9% độ lệch chuẩn 2,2% Hình kết thực nghiệm nhóm liệu giả lập có mật độ thấp T40I10D100K, ta thấy thuật toán SEQmRI nhanh thuật toán AprioriRare, Walky-G thuật tốn chạy BXLĐN MCP-mRI có thời gian thực nhanh thuật toán SEQ-mRI Hiệu suất trung bình thuật tốn MCP-mRI 80,9% độ lệch chuẩn 2,7% Kết cho thấy thuật toán song song khai thác tập tối thiểu MCP-mRI BXLĐN tốt nhiều so với thuật toán AprioriRare, Walky-G Thuật toán MCP-mRI cần thực nghiệm thêm liệu giao dịch cỡ lớn so sánh thêm với thuật toán chạy hệ thống tính tốn phân tán Hadoop, Spark Ngồi ra, ta cịn thấy rõ thuật tốn MCP-mRI hồn tồn thuật toán song song Thời gian (mili giây) Mushroom 512 256 128 64 32 16 AprioriRare Walky-G SEQ-mRI MCP-mRI 0,3 0,2 0,1 0,5 0,4 VI Minsup (% ) Bài viết đề xuất thuật toán SEQ-mRI khai thác nhanh tập tối thiểu dựa mảng itemset xuất giao dịch item hạt nhân Từ thuật toán SEQ-mRI, chúng tơi mở rộng song song hóa thực BXLĐN gọi thuật toán MCP-mRI Hiệu suất trung bình song song hóa 78,6% độ lệch chuẩn 1,7% (trên liệu thực nghiệm) Trong nghiên cứu tiếp theo, nhóm tác giả mở rộng thuật tốn MCP-mRI để khai thác nhanh tập tối thiểu hệ thống điện thoại thông minh đa lõi có tài nguyên hạn chế, thực nghiệm mở rộng hệ thống phân tán phổ biến Hadoop, Spark Hình Thời gian thực khai thác mRI Mushroom Hình kết thực nghiệm tập liệu Mushroom có mật độ cao, ta thấy thuật toán SEQ-mRI nhanh thuật toán AprioriRare, Walky-G thuật toán chạy BXLĐN MCP-mRI có thời gian thực nhanh thuật tốn SEQ-mRI Hiệu suất trung bình thuật toán MCP-mRI 78% độ lệch chuẩn 2,6% Thời gian (mili giây) T10I4D100K 1048576 262144 65536 16384 4096 1024 256 64 16 LỜI CẢM ƠN Nhóm tác giả cảm ơn hỗ trợ từ Trường Đại học Khoa học Xã hội Nhân văn; Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Tp.HCM AprioriRare Walky-G SEQ-mRI MCP-mRI 0,01 0,015 0,02 0,025 TÀI LIỆU THAM KHẢO [1] R Agrawal, T Imilienski, A Swami Mining association rules between sets of large databases Proc of the ACM SIGMOD International Conference on Management of Data, Washington, DC, (1993) 207-216 [2] M J Zaki, S Parthasarathy, M Ogihara, W Li New Algorithms for Fast Discovery of Association Rules In: Proc of the 3rd International Conference on Knowledge Discovery in Databases, (1997) 283-286 [3] J Han, J Pei, Y Yin, R Mao Mining frequent patterns without candidate generation: A frequent pattern tree approach Data Mining and Knowledge Discovery, 8(1), (2004) 53–87 [4] J Dong, M Han BitTableFI: An efficient mining frequent itemsets algorithm Knowledge-Based Systems 20(4), (2007) 329–335 [5] W Song, B Yang Index-BitTableFI: An improved algorithm for mining frequent itemsets Knowedge-Based Systems 21, (2008) 507513 [6] Y S Koh, N Rountree Finding sporadic rules using apriori-inverse In PAKDD’05, 3518, Springer, (2005) 97–106 [7] L Szathmary, A Napoli, P Valtchev Towards rare itemset mining Proc of the 19th IEEE Int Conf on Tools with Artificial Intelligence Washington, DC, USA: IEEE Computer Society, (2007) 305–312 [8] L Troiano, C Birtolo A fast algorithm for mining rare itemsets IEEE 19th International Conference on Intelligent Systems Design and Applications, (2009) 1149-1155 [9] L Szathmary, Finding minimal rare itemsets with an extended version of the Apriori algorithm, Proceedings of the 9th International Conference on Applied Informatics, 1, (2014), 85-92 [10] L Szathmary, P Valtchev, A Napoli, R Godin Efficient vertical mining of minimal rare itemsets Proc of the 19th Int Conference on Concept Lattices and Their Applications, (2012) 269–280 0,03 Minsup (% ) Hình Thời gian thực khai thác mRI T10I4D100K Hình kết thực nghiệm nhóm liệu giả lập có mật độ thấp T10I4D100K, ta thấy thuật toán SEQmRI nhanh thuật toán AprioriRare, Walky-G thuật toán chạy BXLĐN MCP-mRI có thời gian thực nhanh thuật tốn SEQ-mRI Hiệu suất trung bình thuật tốn MCP-mRI 78,5% độ lệch chuẩn 1,9% T40I10D100K Thời gian (mili giây) 262144 65536 16384 4096 AprioriRare 1024 256 Walky-G 64 SEQ-mRI 16 MCP-mRI 0,075 0,08 0,085 0,09 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 0,095 Minsup (% ) Hình Thời gian thực khai thác mRI T40I10D100K 211 ... Thuật toán SEQ-mRI khai thác tập tối thiểu từ mảng Index_LOOC C Thuật toán khai thác tập tối thiểu Thuật toán SEQ-mRI (SEQuential-minimal Rare Itemsets): khai thác tập tối thiểu dựa nLOOC-Tree... xuất thuật toán khai thác song song tập tối thiểu Đây đề xuất theo hướng tiếp cận trên, nên chưa có thuật tốn hướng tiếp cận để so sánh hiệu thuật tốn Vì vậy, chúng tơi đề xuất so sánh hiệu thuật. .. Itemsets) khai thác tập tối thiểu BXLĐN dựa thuật toán SEQ-mRI Thuật toán SEQ-mRI, gồm pha chính: - Pha 1: Xây dựng mảng Index_LOOC chứa itemset xuất giao dịch item hạt nhân; - Pha 2: Thuật toán SEQ-mRI