分布式算法课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式算法课件.ppt

第二部分 分布式算法 第四次课 中国科学技术大学计算机系 国家高性能计算中心(合肥) §2.5 不指定根时构造DFS生成树 算法2.2和2.3构造连通网络的生成树时,必需存在一个特殊的结点作为启动者(Leader)。当这样的特殊结点不存在时,如何构造网络的一棵生成树?但本节算法须假定:各结点的标识符唯一,不妨设是自然数,§3.2仍需此假定。 基本思想 每个结点均可自发唤醒,试图构造一棵以自己为根的DFS生成树。若两棵DFS树试图链接同一节点(未必同时)时,该节点将加入根的id较大的DFS树。 为了实现上述思想,须做: 每个结点设置一个leader变量,其初值为0,当Pi唤醒自己时,leaderi=idi; §2.5 不指定根时构造DFS生成树 当一结点自发唤醒时,它将自己的id(leader)发送给某一邻居; 当一结点Pi收到来自邻居Pj的标识符y时,Pi比较y和leaderi: §2.5 不指定根时构造DFS生成树 若yleaderi,则标记为y的DFS树中最大id(y)小于目前所看到的最大标识符。此时无须发送msg,停止构造标记为y的DFS。等待最终某个更大的id的leader消息到达标记为y的树中结点时,再将该节点连接到树中。(至少标记为leaderi的msg会到达标记为y的树) 若y=leaderi,则Pi已属于标记y的DFS树中。 §2.5 不指定根时构造DFS生成树 算法 Alg2.4 构造生成树,不指定根 Code for Processor Pi 0≤i≤n-1 Var parent: init nil; leader: init 0; children: int φ; unexplored: init all neighbors of Pi; 1: upon receiving no msg: //wake up spontaneously 2: if parent = nil then { //若非空,则Pi在某子树上,则Pi失去竞选机会 3: leader := id; parent := i;//试图以自己为根构造树 4: Pj∈unexplored; 5: 将Pj从unexplored中删去; 6: send leader to pj; } §2.5 不指定根时构造DFS生成树 想像:有m个人竞选领袖,id是他自身的素质分,不想竞争人的id不参与比较。 竞争规则:将自己的id(如讲演片)传递给一个熟悉的人,由他再传给另一人(一次只能送一人。) 7: upon receiving new-id from neighbor Pj: 8: if leadernew-id then { //将Pi所在树合并到Pj所在树中 9: leader := new-id; parent := j; //令Pi的双亲为Pj,可能是修改,而非对nil赋值 //并不一定能停止较差的竞选者传播msg 10: unexplored := all the neighbors of Pi except Pj; //重置未访问的邻居集 11: if unexplored ≠φ then { //因为new-id大,使原Pi所在DFS树修改各自id 12: Pk ∈ unexplored; 13: 将Pk从unexplored中删去; §2.5 不指定根时构造DFS生成树 14: send leader to PK; 15: }else send parent to parent; // unexplored =φ }else // leader≥new-id 16: if leader=new-id then send already to Pj; //表示自己已经传出过此录像带,无需重传。已在同一树中 //若leadernew-id,则new-id所在DFS停止构造 //以前收到的竞选者优于new-id,不传送,使之停止传播。 17: upon receiving parent or already from neighbor Pj: 18: if received parent then add j to children; 19

您可能关注的文档

文档评论(0)

克拉钻 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档