- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式算法习题解答
算法设计与分析分布式部分习题解答 helibao@mail.ustc.edu.cn 2013.1.5 1. 分析在同步和异步模型下汇集算法的复杂性。 解:与广播算法分析时间复杂性的步骤一致,一两句的说明 不是分析。 1 同步模型 引理:在汇集算法的每个容许执行里,树中每个高为 t 子树根结点在第 t 轮里收到所有孩子的msg。 归纳证明。。。 定理:当生成树高为 d 时,存在一个时间复杂度为O(d)的 同步汇集算法。 2 异步模型 引理:在汇集算法的每个容许的执行里,树中每个高为 t 的子树根结点在时刻 t 收到所有孩子的msg。 归纳证明。。。 定理:当生成树高为 d 时,存在一个时间复杂度为O(d)的 异步汇集算法。 2. 证明在引理2.6中,一个处理器在图G中是从Pr可达的,当且仅当它的parent变量曾被赋过值。 解: 引理2.6:在异步模型的每个容许执行中,算法2.2构造一棵 以pr为根的生成树。 两个方向证明题目:依据是算法2.2和题目条件(异步模型的 每个容许执行中),不是空口讨论。方法不一,原则是有理 有据,逻辑清楚。 1 = pr可达,(因为图G是由parent与children确定的静 止图)收到m才会加入图中,所以可达结点收到过m,执行 了alg2.2第5行。由于是容许执行,第7行,即parent:=j也 会执行。也就是被赋值。 2 =当第7行执行过,由于是容许执行,第5行也执行过, 即收到过m,而m是由pr发出的,所以可达。 3. 证明Alg2.3构造一颗以Pr为根的DFS树。 解:类似引理2.6的证明过程。先证连通,再证无环(反 证),再证DFS树。依据是算法2.3与DFS的定义。 可以证明:在有子结点与兄弟结点未访问时,子结点总是先 加入树中。根据alg2.3 的xxx步证明这一点。 4. 证明Alg2.3时间复杂度为O(m)。 解: 1同步模型:每一轮中,根据算法,有且只有一个消息(M or Parent or Reject)在传输,从算法的第6、14、16、20、25行发送消息的语句中可以发现:消息只发往一个处理器结点,除根结点外,所有的处理器都是收到消息后才被激活,所以,不存在多个处理器在同一轮发送消息的情况,所以时间复杂度与消息复杂度一致。 2 异步模型:在一个时刻内至多有一个消息在传输,因 此,时间复杂度也与消息复杂度一致。消息复杂度:对任一边,可能传输的消息最多有4个,即2个M,2个相应M的消息(Parent or Reject),所以消息复杂度为O(m)。 综上,该算法的时间复杂度为O(m)。 5. 修改Alg2.3,使其时间复杂度为O(n)。 解:两种考虑方式: 1 在每个处理器中维护一本地变量,同时添加一消息类型,在处理器Pi转发M时,发送消息N通知其余的未访问过的邻居,这样其邻居在转发M时便不会向Pi转发。 2 在消息M和parent中维护一发送数组,记录已经转发过M的处理器名称。 两种方式都是避免向已转发过M的处理器发送消息 M,这样DFS树外的边不再耗时,时间复杂度也降 为O(n)。 证明同步环上不存在匿名的、一致性的Leader选举算法。 解:由Lemma3.1可得。 假设R是大小为n1的环(非均匀),A是其上的一 个匿名算法,它选中某处理器为leader。因为环是 同步的且只有一种初始配置,故在R上A只有唯一的 合法执行。 Lemma3.1: 在环R上算法A的容许执行里,对于每 轮k,所有处理器的状态在第k轮结束时是相同的。 Note:每个处理器同时宣布自己是Leader! 7. 证明异步环系统中不存在匿名的Leader选举算法。 解: 每个处理器的初始状态相同,状态机相同,接收的消 息序列也相同(只有接收消息的时间可能不同),故 最终处理器的状态一致。由于处理一条消息的至多需 要1时间单位,若某时刻某个处理器宣布自己是Leader (接收到m条消息),则在有限时间内(m时间单位) 其他处理器也会宣布自己是Leader。 所以。。。 Note:每个处理器陆续宣布自己是Leader! 8. 若将环Rrev划分为长度为j(j为2的幂)的连续片段,则所有这些片段是次序等价的。 解:。。。。 附1:“表面上,1-time复杂性至少等于时间复杂性,因为T2假定下的最坏时间不会高于O2假定下的时间。但事实并非如此,而往往O1和O2假定之下的1-time复杂性是前一种时间复杂性的一个下界。”为什么one-time复杂性是时间复杂性的下界呢? 解:考虑运行在环上的分布式算法的1-time时间复杂性
文档评论(0)