2. Cấu trúc luận văn
3.2.2. Áp dụng thuật toán tụ năng lượng BEA
3.2.2.1. Giới thiệu thuật toán
Thuật toán tụ năng lượng đã được trình bày trong chương 2 [6, 10]. Chương này áp dụng thuật toán đối với bài toán thực tế tuyển sinh trung học phổ thông.
3.2.2.2. Quá trình phân đoạn dọc với thuật toán BEA
Theo [6, 10], thuật toán phân đoạn dọc trong quá trình thiết kế cơ sở dữ liệu phân tán được trình bày lại như sau.
Dữ liệu đầu vào:
Bảng dữ liệu R(A1, …, An)
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
Kết quả:
Các Ri, là bảng dữ liệu phân đoạn. Đối với một lần phân đoạn, có R1 (A1, …, Ai) và Rp (A#, Ai+1, …, An), trong đó A# là các thuộc tính khóa của bảng R.
Thuật toán:
1. Xác định lại tên các cột của bảng dữ liệu: chuyển sang các {Ci}
2. Lập bảng thống kê, cho biết Pi truy cập các cột Cj. Kết quả như bảng 2.
3. Dựa vào bảng thống kê, tính mức hấp dẫn của các Pj: AFF j = REF (Pj) * ACC (Pj); trong đó REF (Pj) lấy là 1, như trong thí dụ; ACC (Pj) là số các truy cập của Pj đến R. Nếu có nhiều trạm trong cơ sở dữ liệu phân tán, AFFj cần là tổng các AFF trên các trạm. Gọi các giá trị này là AFF(Pj) hay AFFj..
4. Xây dựng ma trận hấp dẫn xếp cụm:
Dựa trên bảng thống kê về mức hấp dẫn của các Pj, xác định ma trận A n*n của các dòng C1, … Cn và cột C1, …, Cn. Giá trị Aij là mức hấp dẫn của Pj trên thuộc tính Ci, Cj.
Tính giá trị trên đường chéo chính
n k ki ii A A 1 .
Xác định các mức liên hệ Bond (Ci, Cj) với mọi i, j, ij.
n k kj ki j i C A A C Bond 1 * ) , (
Bắt đầu từ hai cột đầu C1, Cp, tức danh sách có thứ tự S. Xét lần lượt các cột khác {C3, …, Cn}: giả sử xét cột Cj: xét các khả năng đặt Cj vào danh sách S. Đối với mỗi khả năng Cx, Cj, Cx, cần xét giá trị đóng góp theo công thức:
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn
CONT (Cx, Cj, Cx) = 2 * (BOND(Cx, Cj) + BOND (Cj, Cx) - BOND(Cx, Cx)). Khả năng có giá trị đóng góp cao nhất được chọn. Bổ sung Cj vào danh sách S.
Sắp xếp lại ma trận hấp dẫn A theo dòng, để thứ tự các dòng như thứ tự các cột.
5. Phân đoạn ma trận hấp dẫn xếp cụm A:
Trên ma trận (Aij), xét vị trí x ứng với tọa độ An-1, n-1. Điểm x chia ma trận thành khối trái trên và khối phải dưới. Tìm các phần từ của tập (i) PCTQ gồm các quá trình Pj chỉ truy cập các thuộc tính ứng với các cột trong khối trái trên; (ii) PCBQ gồm các quá trình Pj chỉ truy cập các thuộc tính ứng với các cột trong khối phải dưới; và (iii) PCTBQ gồm các quá trình truy cập các thuộc tính ứng các cột thuộc cả hai khối.
Dựa vào bảng các giá trị AFF(Pj) để tính giá ứng với ba tập trên: Giá là tổng các AFF (Pj), Pj thuộc vào tập. Ứng với ba tập có các giá G1, Gp, G3, tương ứng.
Tính giá cực đại G= G1 * Gp - G32.
Lặp lại đối với các điểm x, từ tọa độ An-2, n-2 đến A1, 1: (i) sử dụng ba tập; (ii) tính giá G1, Gp, G3; (iii) tính G; (iv) chuyển vị ma trận: dòng dưới cùng chuyển lên đầu, cột đầu chuyển về cuối.
Xác định vị trí x trong ma trận A để giá trị G cực đại.
6. Phân đoạn bảng quan hê ̣ theo hai khối, ứng với tọa độ x có G đạt giá trị cực đại. Bổ sung thuật toán khóa vào đoạn chưa chứa thuộc tính khóa. Các thuộc tính ứng với các cột trong các khối này tạo nên quan hệ R1, Rp.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn