Thuật toán Candidate Distribution

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG (Trang 87 - 89)

, x ik }→ {x ik

3.3.3.Thuật toán Candidate Distribution

MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ LUẬT KẾT HỢP SONG SONG VÀ PH ÂN T ÍCH Đ ÁNH GI Á CÁC THUẬT TOÁN

3.3.3.Thuật toán Candidate Distribution

Thuật toán Candidate Distribution thực hiện phân hoạch cả dữ liệu lẫn các tập mục ứng cử. Theo cách này, mỗi bộ xử lý có thể xử lý độc lập. Trong 

giai đoạn (  là giá trị heuristic), thuật toán này chia các tập mục phổ

C m m C C C C L C L C m m k k k k k k

cho các bộ xử lý sao cho mỗi bộ xử lý P i có thể sinh ra một i (m ≥  ) duy nhất độc lập với các bộ xử lý khác ( Ci ∩ C j = , i ≠ j).

Trong cùng một thời điểm, dữ liệu được phân chia lại sao cho một bộ xử lý có thể sinh các tập mục ứng cử trong i một cách độc lập với tất cả các bộ xử lý khác. Tùy vào tính tối ưu của việc phân chia tập mục, một số phần cơ sở dữ liệu có thể có các bản sao trên một số bộ xử lý.

Nội dung thuật toán

Giai đoạn k <  : Sử dụng thuật toán CD hoặc DD

Giai đoạn k = 1:

1) Phân hoạch Lk+1 cho các bộ xử lý sao cho các tập Lk-1 cân bằng nhau. 2) Bộ xử lý Pi sinh ra j từ phân hoạch Lk-1 đã gán cho nó. Lưu ý, P i có thể truy xuất đến Lk-1 đầy đủ và do đó có thể sử dụng phương pháp cắt tỉa chuẩn khi sinh ra j trong giai đoạn này.

3) Pi tính các số đếm hỗ trợ tổng thể cho các tập mục ứng cử trong j và CSDL được phân hoạch lại thành các Di tại thời điểm này.

4) Sau khi Pi đã xử lý tất cả các dữ liệu cục bộ của nó và mọi dữ liệu nhận được từ các bộ xử lý khác. Các j

tỉa sinh tập ứng cử.

này cần cho việc cắt tỉa k j+1 trong bước cắt

5) Bộ xử lý Pi sinh j từ j và truyền dị bộ đến N-1 bộ xử lý khác bằng cách sử dụng N-1 phép chuyển dị bộ.

Giai đoạn k > :

1) Bộ xử lý P i tập hợp tất cả các tập mục phổ biến mà các bộ xử lý khác chuyển đến nó. Chúng được sử dụng trong bước cắt tỉa khi sinh tập mục ứng cử nhưng không được sử dụng trong bước kết nối. Các tập mục đã nhận đư ợc từ bộ xử lý Pj sẽ có độ dài bằng k-1 hoặc nhỏ hơn k -1 (nếu bộ xử lý P j chậm hơn) hoặc lớn hơn k-1 (nếu bộ xử lý P j nhanh hơn). Bộ xử lý P i lưu giữ một phần trong các tập mục phổ biến được chuyển đến cho mỗi bộ xử lý Pj bởi nó. Các bộ đệm dùng để nhận mỗi tập mục phổ biến sẽ phản hồi lại sau khi xử lý.

C L L L L L L C L k k k k 2) Pi sinh ra j bằng cách sử dụng j k −1 cục bộ. Ta biết rằng Pi có thể không nhận được jk −1

từ tất cả các bộ xử lý khác, nên Pi phải thận trọng trong lúc cắt tỉa. Nó cần phải nhận biết được một tập mục (một tập con k -1-itemset của một tập mục ứng cử) không có mặt trong bất kỳ jk

−1

nào với một tập mục có mặt trong một số jk

−1

nhưng tập này chưa nhận được bởi bộ x ử lý Pi. Pi nhận biết bằng cách khảo sát j−

1

sử dụng phần tiền tố với độ dài 1-1 của các tập mục cần xem xét, bằng cách tìm kiếm bộ xử lý nào trả lời và kiểm tra nếu

i

L k −1nhận được từ bộ xử lý này.

3) Pi thiết lập một giai đoạn trên D i và đếm. Sau đó Pi sinh i từ i và truyền dị bộ i đến các bộ xử lý khác bằng N-1 phép chuyển dị bộ.

Phân hoạch CSDL

Có thể mô tả thuật toán phân hoạch Lk qua ví dụ sau:

Cho L=3 là {ABC, ABD, ABE, ACD, ACE, BCD, BCE, BDE, CDE}.

Sau đó: L4 = {ABCD, ABCE, ABDE, ACDE, BCDE} (adsbygoogle = window.adsbygoogle || []).push({});

L5 = {ABCDE}; L6 = {}

Để ý đến tập con của L3, Z = {ABC, ABD, ABE} có pầhn tiền tố chung là AB và các tập ứng cử ABCD, ABCE, ABDE, ABCDE cũng có phần tiề n tố là AB. Hàm apriori_gen() sinh ra các tập mục ứng cử này bằng cách nối các item của Z. Do đó, gi ả sử rằng, các mục trong tập mục đã được sắp thứ tự, ta có thể phân chia các t ập mục trong L3 dựa vào phần tiền tố chung có độ dài (k-1). Đảm bảo rằng không có một phân hoạch nào được gán cho nhiều hơn một bộ xử lý có thể sinh ra các tập mục ứng cử một cách độc lập (chưa tính đến bước cắt tỉa).

Việc phân chia lại CSDL giao dịch theo cách: Bất kỳ một bó giao dịch nào mà hỗ trợ cho một tập mục chứa trong L k mà tập mục đó đã được gán cho một bộ xử lý thì bó giao dịch đó sẽ được sao chép sang ổ đĩa cục bộ của bộ xử lý đó. Chính vì vậy mà các bộ xử lý có thể xử lý toàn bộ dị bội.

Một phần của tài liệu KHAI PHÁ DỮ LIỆU VÀ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP SONG SONG (Trang 87 - 89)