- 1、本文档共132页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以机器为顶点,作一个完全图,每条边 (i, j) 被赋予权 w(i, j)。这个图的最小生成树是由那些相异度最小的边构成的连通图,或看成是去掉了相异度相对比较大的边后余下的连通图。如果希望把机器分成 k 个组,就继续删去最小生成树上权最大的 k?1条边。于是得到 k 个分离的子树,每棵树的顶点就构成各机器组。 (2) 模型求解 对前面表中给出的数据,按照上述建模方式构造加权图,边权矩阵如下表所示。 边 1 1 1 1 1 1 1 1 2 2 2 2 2 3 4 5 6 7 8 9 3 4 5 6 边权 0.5 1 0.89 0.14 1 1 1 1 1 1 0.62 1 边 2 2 2 3 3 3 3 3 3 4 4 4 7 8 9 4 5 6 7 8 9 5 6 7 边权 1 1 1 1 1 1 1 1 0.5 0.87 0.67 0.75 边 4 4 5 5 5 5 6 6 6 7 7 8 8 9 6 7 8 9 7 8 9 8 9 9 边权 0.75 1 1 1 1 1 1 1 1 0 1 1 用 Kruskal 算法可求出最小生成树,如下图。 将最小生成树中最大权的两条边去掉,得到三个分离树,它们的顶点集合分别为:{3, 9},{1, 2, 5},{4, 6, 7, 8},这也就是机器的分组。 图6.5 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 5.3 找图中生成树的方法 可分为两种:避圈法和破圈法 A 避圈法 : 深探法和广探法 B 破圈法 上级目录 A 避圈法 定理5.2的充分性的证明提供了一种构造图的生成树的方法. 这种方法就是在已给的图G中,每步选出一条边使它与已选边不构成圈,直到选够n-1条边为止. 这种方法可称为“避圈法”或“加边法”. 在避圈法中,按照边的选法不同,找图中生成树的方法可分为两种:深探法和广探法. 深探法的步骤 i) 在点集V中任取一点u,给以标号0. ii) 若某点v已得标号,检查一端点为v的各边,另一端是否均已标号. 若有边vw之w未标号,则给w以标号i+1,记下边vw.令w代v,重复ii). 若这样的边的另一端均已有标号,就退到标号为i-1的r点,以r代v,重复ii),直到全部点得到标号为止. 广探法的步骤 i) 在点集V中任取一点u,给以标号0. ii)令所有标号i的点集为Vi,检查[Vi,V\Vi]中的边端点是否均已标号. 对所有未标号之点均标以i+1,记下这些边。 iii) 对标号i+1的点重复步步骤ii),直到全部点得到标号为止. B 破圈法 相对于避圈法,还有一种求生成树的方法叫做“破圈法”. 这种方法就是在图G中任取一个圈,任意舍弃一条边,将这个圈破掉,重复这个步骤直到图G中没有圈为止. 例5.1 用破圈法求图5.2的一个生成树。 图5.2 图5.3 不难发现,图的生成树不是唯一的 . 图5.2 图5.4 5.4 最小生成树与算法 介绍最小树的两种算法: Kruskal算法(或避圈法)和破圈法. 上级目录 A. Kruskal算法(或避圈法) 步骤如下: 1) 选择边e1,使得w(e1)尽可能小; 2) 若已选定边 ,则从 中选取ei+1,使得: i) 为无圈图, ii) w(ei+1)是满足i)的尽可能小的权, 3) 当第2)步不能继续执行时,则停止. 定理5.3 由Kruskal算法构作的任何生成树都是最小树。 例5.2 用Kruskal算法求下图的最小树. 在下图中权值最小的边为e1,e5,任取一条e1,在{e2,e3,…,e8}选取权值最小的边e5; {e2,e3,e4,e6,e7,e8}中权值最小的边有e3,e7,从中选取一条边e3;在{e2, e4,e6,e7,e8}选取e7。 最后在{e2, e4,e6, e8}中任选一条边都会和已选边构成圈。 图5.5 图5.6 例5.3 用Kruskal算法求图5.7
文档评论(0)