2. Thực trạng
2.3 Phân tích, đánh giá và so sánh việc thực hiện thuật toán
2.3.1.Phân tích và đánh giá thuật toán song song
Đánh giá thuật toán tuần tự có thể căn cứ chủ yếu vào thời gian thực hiện tính theo hàm của kích cỡ dữ liệu vào (input). Hàm này được gọi là độ phức tạp tính toán thời gian f(n) của thuật toán và được ký hiệu là O(f(n)). Một cách hình thức, O() được định nghĩa như sau:
Một thuật toán có độ phức tạp tính toán tính toán f(n) = O(g(x)) . Tồn tại số dương C và số nguyên x0 sao cho 0 ≤ f(x) ≤ C * g(x), với mọi số lượng dữ liệu vào x ≥ x0. O(1) ký hiệu cho một hằng số bất kỳ.
Ngoài ra, độ phức tạp tính toán của thuật toán song song còn phụ thuộc vào kiến trúc máy tính song song và số lượng bộ xử lý được phép sử dụng trong hệ thống và do vậy phụ thuộc vào thời gian trao đổi dữ liệu giữa các bộ xử lý.
Độ phức tạp thời gian là thước đo quan trọng nhất đánh giá mức độ hiệu quả của thuật toán song song. Giả sử rằng mô hình tính toán của chúng ta có p bộ xử lý; dẫn đến mức độ song song có giới hạn; ngược lại, không bị giới hạn khi số lượng bộ xử lý không bị chặn.
Mức độ hiệu quả của thuật toán được thể hiện ở mức độ song song của thuật toán. Là số lượng cực đại các phép toán độc lập có thể thực hiện đồng thời ở mỗi thời điểm thực hiện của thuật toán.
Ký hiệu p(w) là đ ộ song song của thuật toán, thì thuật toán đạt hiệu quả để giải bài toán có kích cỡ w là thuật toán chỉ cần sử dụng nhiều nhất p(w) bộ xử
lý. Độ phức tạp thời gian của thuật toán song song sử dụng p bộ xử lý để giải một bài toán có kích cỡ n là hàm f(n, p) xác định thời gian cực đại trôi qua giữa
điểm bắt đầu thực hiện thuật toán bởi một bộ xử lý và thời điểm kết thúc của các bộ xử lý đối với bộ dữ liệu vào bất kỳ.
Có hai thao tác khác nhau trong các thuật toán song song: Các phép toán cơ sở như: +, -, *, /, AND, OR,…
Các phép truyền dữ liệu trên kênh truyền.
Vì độ phức tạp thời gian của thuật toán song song được xác định bởi số các phép toán cơ sở và số các bước truyền tải dữ liệu giữ a các bộ xử lý với nhau. Nên từ đó suy ra, độ phức tạp thời gian của thuật toán song song không chỉ phụ thuộc vào mô hình tính toán mà còn ph ụ thuộc vào bộ xử lý được sử dụng.
Định nghĩa liên quan đến độ phức tạp của giải thuật song song là: Định nghĩa 3.1: Một thuật toán song song có độ phức tạp tính toán O(t) với p bộ xử lý khi nó thực hiện nhiều nhất là O(t * p) phép toán cơ sở.
Định nghĩa 3.2: Một thuật toán song song có độ phức tạp tính toán O(t) sử dụng nhiều bộ xử lý để thực hiện O(e) phép toán cơ sở khi cài đặt với p bộ xử lý thì sẽ có độ phức tạp thời gian là O([e/p]+t).
Định nghĩa 3.3: Một thuật toán song song có độ phức tạp tính toán O(t) với p bộ xử lý có thể cài đặt với [p/f] bộ xử lý (1≤ f ≤ p) thì sẽ có độ phức tạp thời gian là O(f * t). Ngoài ra, trong đánh giá thuật toán song song chúng ta còn cần phải xét
tới độ tăng tốc và hiệu suất của nó.
2.3.2 So sánh việc thực hiện các thuật toán
Dựa vào việc thực thi của thuật toán trên CSDL khác nhau cho thấy thuật toán FP- Growth th ực thi nhan h nh ất, tiếp đến là thuật toán Eclat, thuật toán Candidate distribution, CD, DD. Vi ệc theo thứ hạng này mang tính tương đối, mỗi thuật toán đều có những ưu điểm và nhược điểm riêng.
Trong số các thuật toán khai phá dữ liệu luật kết hợp song song, các thuật toán song song đư ợc cài đặt dựa trên thuật toán Apriori (chẳng hạn như thuật toán CD, DD, Candidate distribution) đư ợc sử dụng phổ biến bởi vì thực thi chúng đơn giản và dễ dàng. Hơn nữa, các luật kết hợp có thể được sinh trực tiếp dựa vào cách thức khai phá tập mục. Bởi vì các tập mục ứng cử được sinh ta thì tất cả các thông tin của tập con đều được tính toán. Tốc độ thực hiện các thuật toán này tỉ lệ với số lượng các giao dịch nhưng có thể gặp khó khăn trong việc xử lý quá nhiều mục và nhiều mẫu khi CSDL quá lớn.
Thuật toán song song Eclat có ưu điểm là tính toán nhanh độ hỗ trợ thông qua tập giao dịch tid-List. Thuật toán được thiết kế dựa trên mô hình song song thao tác, có tốc độ thực thi nhanh trên hệ thống đa bộ xử lý bộ nhớ phân tán.
Hạn chế chủ yếu của thuật toán này là chúng cần phải sinh ra và phân bố lại các tid-List. Hơn nữa, với một tập mục phổ biến có kích thước lớn, các phần chung chủ yếu của các tid-List này được lấy giao lặp lại nhiều lần đối với tất cả các tập con của nó. Để giảm bớt tình trạng này, một cách thiết lập tối ưu khác là chỉ
kiểm tra những thay đổi trong tid-List thay cho việc lưu giữ các tid-List toàn cục thông qua các vòng lặp sao cho nó giảm đáng kể khối lượng dữ liệu được tính toán.
Thuật toán FP-Growth xử ký lượng lớn CSDL rất hiệu quả và có tốc độ thực thi tỷ lệ rất hiệu quả so với lượng giao dịch lớn, sự lặp lại nhiều lần hay lặp lại nhiều lần cục bộ các giao dịch sẽ được kết hợp lại tạo thành các nhánh của FP-Tree. Tuy nhiên ích l ợi này không tăng khi tăng thêm số lượng bộ xử lý bởi vì nhiều FP-Tree cho các tập giao dịch khác nhau là hoàn toàn dư thừa. Lợi ích này cũng rất hạn chế đối với các CSDL rải rác. Thuật toán này có thể xử lý một số lượng lớn các mục bằng việc gán mục này cho nhiều bộ xử lý mà không quan tâm về không gian lưu trữ các tập mục.
2.3.3.Kết luận:
Trong chương này đã trình bày nguyên lý thiết kế thuật toán song song và hai hướng tiếp cận chính trong việc thiết kế thuật toán khai phá luật kết hợp song song đó là: Mô hình song song dữ liệu và mô hì nh song song giao tác. Một số thuật toán khai phá luật kết hợp song song được thiết kết dựa trên hai mô hình này như thuật toán Count Distribution, Data Distribution, Candidate
Distribution, Eclat, FP-Growth. Chương này c ũng đánh giá chung về những ưu nhược điểm và so sánh việc thực hiện của mỗi thuật toán làm cơ sở cho việc cải tiến thuật toán và phát hiện các thuật toán song song mới.
THÀNH VIÊN NHÓM 8:
1. Lê Thị Nhung 2. Mai Cẩm Nhung 3. Lê Quang Thiện
MỤC LỤC
Nội dung...Trang
1. Đặt vấn đề...1
2. Thực trạng...1
Chương I: Tổng quan về khai phá dữ liệu...2
1.1 Khái niệm khai phá dữ liệu...2
1.2 Một số kỹ thuật khai phá dữ liệu...4
1.3 Kết luận...7
Chương 2: Khai phá các luật kết hợp kết hợp song song...7
2.1 Luật kết hợp song song trong khai phá dữ liệu...8
2.2 Các thuật toán song song phát hiện luật kết hợp...10
2.2.1 Thuật toán song song...10
2.2.2 khai phá các luật kết hợp song song...14
2.3 Phân tích, đánh giá và so sánh việc thực hiện thuật toán...27
2.3.1 Phân tích và đánh giá thuật toán song song...27
2.3.2 So sánh việc thực hiện các thuật toán...29