1 / 23

程式語言 - PowerPoint PPT Presentation

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about ' 程式語言' - cheryl

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

程式語言

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

2

• \$mean_x[1] = 1;\$sdev_x[1] = 0.1;\$mean_x[2] = -1;\$sdev_x[2] = 0.15;\$mean_x[3] = 1;\$sdev_x[3] = 0.1;\$mean_x[4] = -1;\$sdev_x[4] = 0.15;\$mean_y[1] = 1;\$sdev_y[1] = 0.1;\$mean_y[2] = 1;\$sdev_y[2] = 0.15;\$mean_y[3] = -1;\$sdev_y[3] = 0.1;\$mean_y[4] = -1;\$sdev_y[4] = 0.15;

• @[email protected]=();open OUTFILE, ">xy.txt" or die "Cannot open gene_list.txt!\n (\$!)";for (\$i=1;\$i<=4;\$i++){for (\$j=1;\$j<=80;\$j++) {\$x_tmp = gaussian_rand() * \$sdev_x[\$i] + \$mean_x[\$i];\$y_tmp = gaussian_rand() * \$sdev_y[\$i] + \$mean_y[\$i]; printf(OUTFILE "%.2f \t %.2f \n", \$x_tmp, \$y_tmp); }}

• for (\$j=1;\$j<=20;\$j++){\$x_tmp = rand(2);\$y_tmp = rand(2); printf(OUTFILE "%.2f \t %.2f \n", \$x_tmp, \$y_tmp);}

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

7

• open (FILE1,“xy.txt”) || die “open error!” ; #FILE1¬Oradom dateopen FILE2, “>aixes.txt”or die “Cannot open gene_list.txt!\n (\$!)”;@aa = <FILE1>;chomp (@aa);#用@x_one和y_one載random date的x,y

• for (\$z=0; \$z<=\$#aa; \$z++){ \$bb = \$aa[\$z]; \$bb =~ /(\S+)\s+(\S+)/; @x_one[\$z] =\$1; @y_one[\$z] =\$2;}

#計算出每點與各點的potient, 用@sum裝

• while (\$n <4){ @sum = 0, \$bb = 0 ;for (\$i=0; \$i<=\$#x_one ;\$i++) {for (\$j=1; \$j<=\$#x_one; \$j++) { \$bb = exp ( -((\$x_one[\$i]-\$x_one[\$j])**2 + (\$y_one[\$i] - \$y_one[\$j])**2 ));

@sum[\$i] += \$bb; } }

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

10

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

11

printf(FILE2 "%s : %.2f , %.2f %s \n","cluster center", \$x_one[\$num], \$y_one[\$num], \$m);

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

14

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

15

• 計算出各點與center間的距離[email protected]

@dis =();for (\$c=0; \$c<\$#x_one;\$c++) {

if (\$c != \$num) {\$dis[\$c] = ( (\$x_one[\$num] - \$x_one[\$c])**2 + (\$y_one[\$num] - \$y_one[\$c])**2 )**0.5 ;

}

}

• 比較各點之間的唔離大小-找出較小的距離[email protected] @sort = (); @sort = sort {\$a <=> \$b} @dis ;

• 把cluster center附近的點

@del = ();for (\$d=0; \$d<=90;\$d++) {for (\$c=0; \$c<=\$#dis;\$c++) {if (\$sort[\$d] == \$dis[\$c]) { print OUTFILE “\$x_one[\$c] \t \$y_one[\$c] \t \$m \n”); @del[\$d] = \$c; } } }

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

19

• Repeat while any point (xi) is left to be assigned to a cluster

• Use Eq. (1) to get the potential of xi

• Find the point with the highest potential and choose it as the kth cluster center

• Form the kth cluster by assigning N points closest to the centroid (Euclidean distance)

• Remove the chosen N points

(1)

20

• foreach (@del) { \$x_one[\$_] = shift; \$y_one[\$_] = shift; }for (\$f=0, \$g=0 ;\$f<=\$#x_one;\$f++){if (\$x_one[\$f] != "" and \$y_one[\$f] != "") { \$x_one[\$g] = \$x_one[\$f] ; \$y_one[\$g] = \$y_one[\$f] ; \$g++; }}

• for(\$e=0; \$e<90; \$e++){pop @x_one;pop @y_one;} \$n++; \$m++;}