Download pdf - Slide Thuat Toan Tu Nhom

Transcript

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 6/14

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 =

8/13/2019 Slide Thuat Toan Tu Nhom

http://slidepdf.com/reader/full/slide-thuat-toan-tu-nhom 14/14

3. Thuật Toán Tụ Nhóm 

Ví dụ 2 (7).

index=5 

While index ≤ n do

index ≤4 {Không thỏa mãn , kết thúc vòng while} 

Sắp xếp lại hàng theo thứ tự các cột :

CA =