图论最小生成树.ppt
《图论最小生成树.ppt》由会员分享,可在线阅读,更多相关《图论最小生成树.ppt(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 图论及其应用图论及其应用应用数学学院应用数学学院1本次课主要内容本次课主要内容最小生成树最小生成树(一一)、克鲁斯克尔算法、克鲁斯克尔算法(二二)、管梅谷的破圈法、管梅谷的破圈法(三三)、Prim算法算法(四四)、计算机中的树简介、计算机中的树简介2最小连接问题:最小连接问题:交通网络中,常常关注能把所有站点连接起来的生交通网络中,常常关注能把所有站点连接起来的生成树,使得该生成树各边权值之和为最小。例如:成树,使得该生成树各边权值之和为最小。例如:假设要在某地建造假设要在某地建造5个工厂,拟修筑道路连接这个工厂,拟修筑道路连接这5处。处。经勘探,其道路可按下图的无向边铺设。现在每条边的经勘
2、探,其道路可按下图的无向边铺设。现在每条边的长度已经测出并标记在图的对应边上,如果我们要求铺长度已经测出并标记在图的对应边上,如果我们要求铺设的道路总长度最短,这样既能节省费用设的道路总长度最短,这样既能节省费用,又能缩短,又能缩短工期工期,如何铺设?,如何铺设?v1v2v3v4v5122434553v1v2v3v4v51223不难发现:最小代价的连接方式为:不难发现:最小代价的连接方式为:最小连接问题的一般提法为:最小连接问题的一般提法为:在连通边赋权图在连通边赋权图G中求一棵总权值最小的生成树。中求一棵总权值最小的生成树。该生成树称为最小生成树或最小代价树。该生成树称为最小生成树或最小代价
3、树。(一一)、克鲁斯克尔算法、克鲁斯克尔算法4克鲁斯克尔克鲁斯克尔(Kruskal):1928年生,一家年生,一家3弟兄都是数学家,弟兄都是数学家,1954年在普林斯顿大学获博士学位,导师是年在普林斯顿大学获博士学位,导师是Erds,他大他大部分研究工作是数学和语言学,主要在贝尔实验室工作。部分研究工作是数学和语言学,主要在贝尔实验室工作。1956年发表包含克鲁斯克尔算法论文,使他名声大振。年发表包含克鲁斯克尔算法论文,使他名声大振。1、算法思想、算法思想从从G中的最小边开始,进行避圈式扩张。中的最小边开始,进行避圈式扩张。2、算法、算法(1)、选择边、选择边e1,使得其权值最小;使得其权值最
4、小;(2)、若已经选定边、若已经选定边e1,e2,ek,则从则从E-e1,e2,ek 中选择边中选择边ek+1,使得:使得:(a)、Ge1,e2,ek+1为无圈图为无圈图(b)、ek+1的权值的权值w(ek+1)尽可能小。尽可能小。5(3)、当、当(2)不能进行时,停止。不能进行时,停止。例例1 用克鲁斯克尔算法求下图的最小生成树。用克鲁斯克尔算法求下图的最小生成树。3v721546789101112v1v2v3v4v5v6v86解:过程如下:解:过程如下:1v5v821v1v5v8321v1v4v5v83v7215v1v4v5v83v72156v1v4v5v8v373v72156v1v4v5
5、v8v3v683v72156v1v4v5v8v3v68v292、算法证明、算法证明定理定理1 由克鲁斯克尔算法得到的任何生成树一定是最小由克鲁斯克尔算法得到的任何生成树一定是最小生成树。生成树。证明:设证明:设G是一个是一个n阶连通赋权图,用阶连通赋权图,用T*=Ge1,e2,en-1表表示由克鲁斯克尔算法得到的一棵生成树,我们证明:它是最小示由克鲁斯克尔算法得到的一棵生成树,我们证明:它是最小生成树。生成树。8 设设T是是G的一棵最小生成树。若的一棵最小生成树。若T*T由克鲁斯克尔算法容易知道:由克鲁斯克尔算法容易知道:TT*。于是令于是令f(T)=k 表示表示T*中的边中的边ei不在不在T
6、中的最小中的最小i值。值。即可令即可令T=Ge1,e2,ek-1,ek,en 考虑:考虑:Teek k,则由树的性质,它必然为则由树的性质,它必然为G G中圈。中圈。作作 T1=T eek k-e,-e,容易知道:容易知道:T T1 1还为还为G G的一棵生成树。的一棵生成树。设设e是圈是圈T ek中在中在T中,但不在中,但不在T*中的边。中的边。由克鲁斯克尔算法知道:由克鲁斯克尔算法知道:所以:所以:这说明这说明T1是最小树,但这与是最小树,但这与f(T)的选取假设矛盾!所的选取假设矛盾!所以:以:T=T*.9 例例2 在一个边赋权在一个边赋权G中,下面算法是否可以产生有最小中,下面算法是否
7、可以产生有最小权值的生成路?为什么?权值的生成路?为什么?算法算法:(1)选一条边选一条边e1,使得使得w(e1)尽可能小;尽可能小;(2)若边若边e1,e2,ei已经选定,则用下述方法从已经选定,则用下述方法从Ee1,.,ei中中选取边选取边ei+1:(a)G e1,e2,ei,ei+1为不相交路之并;为不相交路之并;(b)w(ei+1)是满足是满足(a)的尽可能小的权。的尽可能小的权。(3)当当(2)不能继续执行时停止。不能继续执行时停止。解:该方法不能得到一条最小生成路。解:该方法不能得到一条最小生成路。10 例如,在下图例如,在下图G中我们用算法求生成路:中我们用算法求生成路:3122
8、343667910 用算法求出的生成路为:用算法求出的生成路为:12269311直接在图中选出的一条生成路为:直接在图中选出的一条生成路为:123366 后者的权值小于前者。后者的权值小于前者。(二二)、管梅谷的破圈法、管梅谷的破圈法 在克鲁斯克尔算法基础上,我国著名数学家管梅谷在克鲁斯克尔算法基础上,我国著名数学家管梅谷教授于教授于1975年提出了最小生成树的破圈法。年提出了最小生成树的破圈法。12 管梅谷()。管梅谷()。我国著名数学家,曾任山东我国著名数学家,曾任山东师范大学校长。中国运筹学会第一、二届常务理事,第六师范大学校长。中国运筹学会第一、二届常务理事,第六届全国政协委员。从事运
9、筹学及其应用的研究,对最短投届全国政协委员。从事运筹学及其应用的研究,对最短投递路线问题的研究取得成果递路线问题的研究取得成果,冠名为中国邮路问题,该,冠名为中国邮路问题,该问题被列入经典图论教材问题被列入经典图论教材 和著作。和著作。管梅谷教授管梅谷教授1957年至年至1990年在山东师范大学工作。年在山东师范大学工作。1984年至年至1990年担任山东师范大学校长,年担任山东师范大学校长,1990年至年至1995年任复旦年任复旦大学运筹学系主任。大学运筹学系主任。1995年至今任澳大利亚皇家墨尔本理工年至今任澳大利亚皇家墨尔本理工大学交通研究中心高级研究员,国际项目办公室高级顾问及大学交通
10、研究中心高级研究员,国际项目办公室高级顾问及复旦大学管理学院兼职教授。复旦大学管理学院兼职教授。自自1986年以来,管教授致力于城市交通规划的研究,在年以来,管教授致力于城市交通规划的研究,在我国最早引进加拿大的交通规划我国最早引进加拿大的交通规划EMME软件,取得一系列重软件,取得一系列重要研究成果要研究成果。13 破圈法求最小生成树的求解过程是:从赋权图破圈法求最小生成树的求解过程是:从赋权图G的任的任意圈开始,去掉该圈中权值最大的一条边,称为破圈。意圈开始,去掉该圈中权值最大的一条边,称为破圈。不断破圈,直到不断破圈,直到G中没有圈为止,最后剩下的中没有圈为止,最后剩下的G的子图为的子图
11、为G的最小生成树。的最小生成树。证明可以参看证明可以参看数学的认识与实践数学的认识与实践4,(1975),38-41。3122343667910 例例3 用破圈法求下图用破圈法求下图G的最小生成树。的最小生成树。14312234366710 解:解:过程如下:过程如下:312234667103122366710312266710312266731226615(三三)、Prim算法算法 Prim算法是由算法是由Prim在在1957年提出的一个著名算法。年提出的一个著名算法。作者因此而出名。作者因此而出名。Prim(1921-)1949年在普林斯顿大学获博士学位,年在普林斯顿大学获博士学位,是是S
12、andia公司副总裁。公司副总裁。Prim算法:算法:对于连通赋权图对于连通赋权图G的任意一个顶点的任意一个顶点u,选择与点,选择与点u关关联的且权值最小的边作为最小生成树的第一条边联的且权值最小的边作为最小生成树的第一条边e1;在接下来的边在接下来的边e2,e3,en-1,在于一条已经选取的边只在于一条已经选取的边只有一个公共端点的的所有边中,选取权值最小的边。有一个公共端点的的所有边中,选取权值最小的边。用反证法可以证明该算法。即证明:由用反证法可以证明该算法。即证明:由Prim算法得算法得到的生成树是最小生成树。到的生成树是最小生成树。(证明略证明略)16 例例4 用用Prim算法求下图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最小 生成
限制150内