返回首页
当前位置: > 计算机类 > 计算机网络 >

基于leader-follower算法的超级节点研究(3)

时间:2012-01-26 13:45来源:网络(转载) 作者:王小娟 周竹荣 点击:
?input? arr?[]?? mergeSort?(?arr?)?? ?void? MergeSort?(Type? a?[]?,?int? left,?int? right?){?? ?if(?left ?int? i=?(?left+right?)?/2? mergeSort?(?a,left,i?)?? mergeSort?(?a,i+1,right?)?? merge?(?a
  
  ?input? arr?[]??
  mergeSort?(?arr?)??
  ?void? MergeSort?(Type? a?[]?,?int? left,?int? right?){??
  ?if(?left  ?int? i=?(?left+right?)?/2?
  mergeSort?(?a,left,i?)??
  mergeSort?(?a,i+1,right?)??
  merge?(?a,b,left,i,right?)??
  copy?(?a,b,left,right?)}}??
  ?output? Merit?[?Sn1?]?,Merit?[?Sn2?]?,…,Merit?[?Sni?]??
  
  缺乏两个"}",请补充。
  程序后
  ?
  2.2.3 分裂算法?
  ?本文引入通用类节点GN,如果新加入节点和超级节点之间语义不匹配,则交由通用类节点管理。为通用类节点GN设定一个最大值Max,当通用类节点GN中的新节点数超过这个值,根据语义相似聚簇后分裂。进行分裂时,采用合并排序方法选择性能最优超级节点,这个超级节点管辖该新簇中的普通节点。没有语义聚簇的节点继续由通用类节点管理,当节点数超过Max值,调用分裂算法,根据语义相似聚簇后再分裂出来。具体分裂算法如算法3。??
  算法3 分裂算法。
  
  程序前
  ?
  Let ?C? represent the set of ?GN??
  if(|?C?|>?Max?)//?GN?中的节点数目超过设定的?Max??
  then initialize ?η,θ??
  ?sim?(?vi,vj?)=max I?C?(?v?)=max[-lg ?p?(?v?)]//根据语义相似聚簇?
  Do 接受?sim?(?vi,vj?)?
  if ?sim?(?vi,vj?)≥?θ??
  then ?Wi?←?Wi?+?ηx?//?x?代表和?Wi?语义相似的任意节点,?Wi?表示聚簇中心?
  Until 没有语义相似的节点?
  ?mergeSort?(?Wi?)//从类的节点中选择超级节点?
  ?Merit?[?vi?]=?α?×?capacity?+?β?×?uptimeAVE??
  ?ClusterID?=get ?Cluster????id?? from ?Sn?? id ??(?SnID?)?
  Return ?ClusterID??
  End
  程序后
  ?
  
  3 实验仿真?
  
  3.1 实验目的和方法?
  本实验的目的是测试基于I_LF算法的节点聚簇效率。算法使用UCI数据集中Iris数据集来检验算法的性能。Iris是模式识别中一个经典的数据集,记录的是一些植物的特征数据。共有150条数据和3种决策值,这些数据简单记为0,1,3,…,149。其中0~49、50~99、100~149分别对应一种决策。对数据集分别用leader-follower算法和I_LF算法进行聚簇,分析两种算法的聚类结果,比较两种算法选择出来的超级节点的性能和聚簇的数目。?
  
  3.2 实验内容与仿真?
  
  3.2.1 聚类结果测试?
  由于leader-follower算法和I_LF算法都涉及到参数,因此参数设置不同,最后得到的聚簇结果也不一样。本文设置了合适的参数,使得两种算法得到的聚簇结果都是3类,而且聚簇效果比较好。?
  下面分别给出两种算法得到的聚簇结果。设阈值分别为?0.026,?0.037,0.043,在此条件下得到两种算法的聚簇结果。?
  1) leader-follower算法聚簇结果。?
  ①第1类结果如下(共50个数据项)。?
  1,2,3,4,5,6,147,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,122,125。?
  ②第2类结果如下(共50个数据项)。?
  50,51,52,53,148,128,129,55,56,57,58,59,60,61,108,62,63,64,65,109,66,67,68,69,118,70,71,72,73,145,74,75,76,77,149,78,79,80,81,126,82,83,84,85,127,86,87,88,89,124。?
  
  ③第3类结果如下。?
  100,101,102,103,104,105,106,107,90,91,92,93,94,95,96,97,98,99,108,109,110,111,112,113,114,115,116,117,118,119,120,121,128,123,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,150。?
  2)I_LF算法的聚簇结果。?
  ①第1类结果如下(共50个数据项)。?
  1,2,3,4,5,6,147,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,122,125。?
  ②第2类结果如下(共50个数据项)。?
  50,51,52,53,148,128,129,55,56,57,58,59,60,61,108,62,63,64,65,109,66,67,68,69,118,70,71,72,73,145,74,75,76,77,149,78,79,80,81,126,82,83,84,85,127,86,87,88,89,124。?
  ③第3类结果如下。?
  100,101,102,103,104,105,106,107,90,91,92,93,94,95,96,97,98,99,108,109,110,111,112,113,114,115,116,117,118,119,120,121,128,123,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,150。?
  由此可得出,两种算法聚簇结果是一样的,I_LF算法继承了原算法的优点。?
  
  3.2.2 I_LF算法?
  本文采用计算能力、存储能力和在线时长这三个参数来衡量超级节点的性能,用式(6)计算出各个节点的性能。?
  为了验证实验,本文有如下三元组(节点ID,节点性能,节点语义相似度)数据。其中节点的性能和语义相似度分别通过式(6)和式(4)计算得来的数值,如下所示:?
  (1,4,0.64),(2,6,0.53),(3,7,0.63),(4,6,0.50),(5,7,0.63),(6,8,0.66),(7,9,0.92),(8,5,0.89),(9,4,?0.67),?(10,5,0.74),(11,6,0.42),(12,6,0.41),(13,6,?0.44),?(14,7,0.40),(15,9,0.44),(16,6,0.43),(17,3,?0.31),?(18,6,0.21),(19,6,0.95),(20,7,0.93),(21,8,?0.90),?(22,5,0.86),…?
?分析数据,根据相似性判断标准,ID=1,3,5,6,9的节点,ID=2,4的节点,ID=7,19,20,21的节点,ID=11,12,13,14,15,16的节点,它们各自语义匹配,因此聚为一簇。ID=17,?ID=?18,ID=10,ID=22语义互不匹配,?因此单独是一簇。下面从两方面比较分析leader-follower算法和I_LF算法。? (责任编辑:南粤论文中心)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容