分布式算法习题解答.ppt
《分布式算法习题解答.ppt》由会员分享,可在线阅读,更多相关《分布式算法习题解答.ppt(13页珍藏版)》请在三一办公上搜索。
1、算法设计与分析分布式部分习题解答,2013.1.5,1.分析在同步和异步模型下汇集算法的复杂性。,解:与广播算法分析时间复杂性的步骤一致,一两句的说明不是分析。同步模型 引理:在汇集算法的每个容许执行里,树中每个高为 t 子树根结点在第 t 轮里收到所有孩子的msg。归纳证明。定理:当生成树高为 d 时,存在一个时间复杂度为O(d)的 同步汇集算法。异步模型 引理:在汇集算法的每个容许的执行里,树中每个高为 t 的子树根结点在时刻 t 收到所有孩子的msg。归纳证明。定理:当生成树高为 d 时,存在一个时间复杂度为O(d)的 异步汇集算法。,2.证明在引理2.6中,一个处理器在图G中是从Pr可
2、达的,当且仅当它的parent变量曾被赋过值。,解:引理2.6:在异步模型的每个容许执行中,算法2.2构造一棵以pr为根的生成树。两个方向证明题目:依据是算法2.2和题目条件(异步模型的每个容许执行中),不是空口讨论。方法不一,原则是有理有据,逻辑清楚。=pr可达,(因为图G是由parent与children确定的静止图)收到m才会加入图中,所以可达结点收到过m,执行了alg2.2第5行。由于是容许执行,第7行,即parent:=j也会执行。也就是被赋值。=当第7行执行过,由于是容许执行,第5行也执行过,即收到过m,而m是由pr发出的,所以可达。,3.证明Alg2.3构造一颗以Pr为根的DFS
3、树。,解:类似引理2.6的证明过程。先证连通,再证无环(反证),再证DFS树。依据是算法2.3与DFS的定义。可以证明:在有子结点与兄弟结点未访问时,子结点总是先加入树中。根据alg2.3 的xxx步证明这一点。,4.证明Alg2.3时间复杂度为O(m)。,解:同步模型:每一轮中,根据算法,有且只有一个消息(M or Parent or Reject)在传输,从算法的第6、14、16、20、25行发送消息的语句中可以发现:消息只发往一个处理器结点,除根结点外,所有的处理器都是收到消息后才被激活,所以,不存在多个处理器在同一轮发送消息的情况,所以时间复杂度与消息复杂度一致。异步模型:在一个时刻内
4、至多有一个消息在传输,因 此,时间复杂度也与消息复杂度一致。消息复杂度:对任一边,可能传输的消息最多有4个,即2个M,2个相应M的消息(Parent or Reject),所以消息复杂度为O(m)。综上,该算法的时间复杂度为O(m)。,5.修改Alg2.3,使其时间复杂度为O(n)。,解:两种考虑方式:在每个处理器中维护一本地变量,同时添加一消息类型,在处理器Pi转发M时,发送消息N通知其余的未访问过的邻居,这样其邻居在转发M时便不会向Pi转发。在消息M和中维护一发送数组,记录已经转发过M的处理器名称。两种方式都是避免向已转发过M的处理器发送消息M,这样DFS树外的边不再耗时,时间复杂度也降为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 算法 习题 解答
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6094346.html