8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 1/14
Học Viện Công Nghệ Bưu Chính Viễn Thông
Khoa Công Nghệ Thông Tin
Môn Cơ Sở Dữ Liệu Phân Tán
PHÂN MẢNH DỌGiảng Viên Hướng Dẫn: T
Nhóm Thực Hiện : Nhóm 2 –
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 2/14
3. Thuật Toán Tụ Nhóm
Số đo hấp dẫn chung AM ( Global Affinity Meansure ):
AM = =1 =1 ff(A i ,A j )[aff(A i ,A j-1) + aff(A i ,A j+1 )]
Cầu nối (bond) 2 thuộc tính Ax và Ay định nghĩa như sau:
Khi đó AM có thể viết thành
AM = =1 [bond(A j ,A j-1) + bond(A j ,A j+1)]
Số đo đóng góp của thuộc tính Ak khi đặt vào Ai và A j : Cont(Ai, Ak, Aj) = AMnew – AMold
= 2[cont (Ai, Ak) + cont (Ak, Aj) – cont(Ai, Aj)]
Vậy số đo hấp dẫn chung AM lớn nhất tương ứng với số đo đóng góp Cont lớn nhất.
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 3/14
3. Thuật Toán Tụ Nhóm
Thuật toán BEA - Bond Energy Algorithm (Thuật toán năng lượng nối):
Bond Energy Algorithm (BEA) – Giải thuật năng lượng liên kết: Được sử dụncác thực thể. BEA tìm ra một trình tự các thực thể (trong trường hợp này là sao cho lực hút chung AM (global Affinity Measure ) là lớn nhất. Kết quả sẽ là
hấp dẫn CA (Cluster Affinity). Thuật toán gồm 3 bước:
Bước 1: Đặt cột 1 và 2 của AA vào cột 1&2 trong CA.
Bước 2: Giả sử có i cột đã được đặt vào CA. Lấy lần lượt một trong (n-i) cộ
đặt vào cột thứ (i+1) của CA, sao cho số đo AM tại vị trí đó là lớn nhất.Bước 3: Sắp thứ tự hàng theo thứ tự cột
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 4/14
3. Thuật Toán Tụ NhómThuật toán BEA - Bond Energy Algorithm
Input: AA:ma trận hấp dẫn thuộc tínhOutput: CA : Ma trận hấp dẫn tụ nhómBegin
{Khởi tạo , nhớ rằng AA là ma trận n x n}
CA(.,1)←AA(.,1)CA(.,2)←AA(.,2)index ← 3While index <= n do {chọn vị trí tốt nhất cho thuộc tính AAindex}
Begin
For i from 1 to index-1 by 1 do
Tính cont(Ai-1,Aindex,Ai )
End-for
Tính cont(Aindex-1,Aindex,Aindex+1) {điều kiện biên}
loc←vị trí được đặt bởi giá trị cont lớn nhấtFor j from index to loc By -1 do
CA(.,j) ←AA(.,j-1)
End-for
CA(.,loc) ←AA(.,index)index←index+1
End-While
Sắp xếp các hàng theo thứ tự các cột. End {BEA}
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 5/14
3. Thuật Toán Tụ Nhóm
Chú ý:
Trong bước khởi gán, cột 1 và 2 được đặt vào vị trí 1&2 trong CA, vì vậy A2 có thoặc phải của A1.
Nếu A j là thuộc tính tận trái trong ma trận CA, kiểm tra đóng góp khi đặt thuộc
trái của A j , khi đó bond (A0, Ak) = bond(A0, A j) =0,
Nếu A j là thuộc tính tận phải đã được đặt trong ma trận CA và đang kiểm tra đthuộc tính Ak vào bên phải của A j, Khi đó bond (A j, Ak+1) = bond(Ak, Ak+1) =0.
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 7/14
3. Thuật Toán Tụ Nhóm
Ví dụ 1 (2):
Giải:bond(A1,A3) = aff(A1,A1)*aff(A1,A3)+
aff(A2,A1)*aff(A2,A3)+
aff(A3,A1)*aff(A3,A3)+
aff(A4,A1)*aff(A4,A3)
= 45*45 + 0*5 + 45*53 + 0*3
= 4410
bond(A2,A4) = aff(A1,A2)*aff(A1,A4)+aff(A2,A2)*aff(A2,A4)+
aff(A3,A2)*aff(A3,A4)+
aff(A4,A2)*aff(A4,A4)
= 0*0 + 80*75 + 5*3 + 75*78
= 11865
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 8/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (1): cho ma trận lực hút thuộc tính AA sau:
Sử dụng thuật toán BEA để tìm ma trận tụ hấp dẫn CA.
AA =
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 9/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (2)
Giải:Chép cột 1 và cột 2 ma trận AA vào ma trận CA
(1) CA(*,1)←AA(*,1)
(2) CA(*,2)←AA(*,2)
CA = AA =
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 10/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (3).
index=3
While index ≤ n do index ≤4 {thỏa mãn}
For i from 1 to index – 1 by 1 do
Tính cont(Ai-1,Aindex,Ai)
i=1 thứ tự ( 0-3-1): cont(A0,A3,A1) = 8820
i=2 thứ tự (1-3-2): cont(A1,A3,A2) = 10150
End – for
Điều kiện biên, thứ tự (2-3-4): cont(A2,A3,A4)= 1780
loc =2 thứ tự (1-3-2) có cont =10150 lớn nhất For j from index to Loc by – 1 do {xáo trộn hai ma trận}
CA(*, j) := AA(*,j-1)
index=index+1
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 11/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (4).
đặt A3 giữa A1 và A2
AA =CA =
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 12/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (5).
index=4
While index ≤ n doindex ≤4 {thỏa mãn}
For i from 1 to index – 1 by 1 do
Tính cont(Ai-1,Aindex,Ai)
i=1 thứ tự (0-4-1): cont(A0,A4,A1) = 270
i=2 thứ tự (1-4-2): cont(A1,A4,A3) = - 5208
i=3 thứ tự (2-4-3): cont(A3,A4,A2) = 23698
End – for
Điều kiện biên, thứ tự (3-4-5): cont(A2,A4,A5)= 23730
loc =4 thứ tự (1-3-2) có cont =10150 lớn nhất
index=index+1
8/13/2019 Slide Thuat Toan Tu Nhom
http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 13/14
3. Thuật Toán Tụ Nhóm
Ví dụ 2 (6).
đặt A4 bên phải A2
AA =CA =
Recommended