Thuật toán ăn tham

Một phần của tài liệu Data warehouse lý thuyết và thực tiễn (Trang 76)

6 Kỹ thuật để xử lý truy vấn hiệu quả trên OLAP

6.2.3 Thuật toán ăn tham

Làm thế nào để chọn ra một tập bao gồm k (là số cho trước) các view mang lại độ lợi lớn nhất. Người ta đã chứng minh được rằng bài toán tối ưu này thuộc lớp bài toán NP- đầy đủ. Cài đặt một thuật toán mang lại tập tốt cũng là một cách làm thực tế. Trong đó đơn

giản nhất là thuật toán ăn tham.

Ví dụ:

//Output: k view có độ lợi lớn nhất S = {view đỉnh};

For I=1 to k do begin

select that view V không có trong S mà B(V,S) là lớn nhất; S=S union {V}; End; return S; a b c e d f g h 100 50 75 30 20 1 40 10

First Choice Second Choice Third Choice b 50X5=250 c 25X5=125 25X2=50 25X1=25 d 80X2=160 30X2=60 30X2=60 e 70X3=210 20X3=60 20+20+10=50 f 60X2=120 60+10=70 g 99X1=99 49X1=49 49X1=49 h 90X1=90 40X1=40 30X1=30

- „a‟ là view đỉnh là phần tử đầu tiên của tập S. Các view được tính từ a sẽ có chi phí là 100.

- tại vòng lặp thứ nhất:

o Nếu b được chọn thì các đỉnh b, d, e, g, h sẽ được tính với chi phí là 50, do đó độ lợi của b là 5 * (100-50)=250. Nếu c được chọn thì c, e, f, g, h sẽ được tính với chi phí là 75 do đó độ lợi của c là 5* (100-75)=125,…tương tự cho việc xét các đỉnh khác. Tại đây b có độ lợi lớn nhất, chọn b vào S

- Vòng lặp thứ 2 chọn „f‟ : tương tự như trên - Vòng lặp thứ 3 chọn d

Nếu chỉ a được cài đặt thì tổng chi phí là 800, còn nến (a,b,d,f) được cài đặt thì tổng chi phí là 420.

Nhận xét thuật toán:

- Như đã nói ở trên bài toán chọn S là một bài toán tối ưu thuộc lớp bài toán NP – đầy đủ, thuật toán ăn tham chỉ cố gắng đưa ra một tập S tốt.

- Độ tốt của thuật toán cũng rất phụ thuộc vào số phần tử mà chúng ta gán cho tập S - Thuật toán được xây dựng trên cơ sở mô hình chi phí tuyến tính. Hiện nay có nhiều

nghiên cứu trong đó có xây dựng các mô hình chi phí phức tạp hơn vì thế thuật toán được xây dựng trên đó cũng khác.

- Để đơn giản hóa, thuật toán cũng không xét đến sự có mặt của các cấu trúc chỉ mục của các view.

Một phần của tài liệu Data warehouse lý thuyết và thực tiễn (Trang 76)

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

(126 trang)