最短路模型.ppt
《最短路模型.ppt》由会员分享,可在线阅读,更多相关《最短路模型.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于最短路模型现在学习的是第1页,共12页一、引例一、引例例例1:已知如图所示的单行线交通网,每:已知如图所示的单行线交通网,每弧旁的数字表示通过这条单行线所需的弧旁的数字表示通过这条单行线所需的费用。现在某人要从费用。现在某人要从v1出发通过这个交通出发通过这个交通网到网到v8,求使总费用最小的旅行路线。,求使总费用最小的旅行路线。对于有向图对于有向图G 或无向图或无向图G 的每一条边的每一条边e,附加一个实数,附加一个实数w(e),则称则称w(e)为边为边e 上的权,当上的权,当e=(vi,vj)时,时,w(e)也可记为也可记为wij。G 连同其各边上的权称为带权图连同其各边上的权称为带权
2、图,带权图常记为,带权图常记为G=。最短路问题:设最短路问题:设G 是带权图,是带权图,vs,vt是是G 的两个顶点,的两个顶点,P是是G 中从中从vs到到vt的一条通路,定义路的一条通路,定义路P 的权为的权为P 中所有边的权之和,记为中所有边的权之和,记为w(P)。最短。最短路就是在所有从路就是在所有从vs到到vt的路中,求一条权最小的路,即求一条从的路中,求一条权最小的路,即求一条从vs到到vt的路的路P0,使使)(min)(PwPwP 0v6v5v4v3v2v1v9v8v7310461022161234263现在学习的是第2页,共12页上式中对上式中对G 中所有从中所有从vs到到vt的
3、路的路P 取最小,称取最小,称P0为从为从vs到到vt的最短路。路的最短路。路P0的权的权称为从称为从vs到到vt的距离,记为的距离,记为d(vs,vt),显然显然d(vs,vt)与与d(vt,vs)不一定相等。不一定相等。二、最短路算法二、最短路算法设设G=为为n阶带权图,阶带权图,wij 0,若若vi与与vj 不相邻,令不相邻,令wij=标号法:标号法是由标号法:标号法是由E.W.Dijkstra于于1959年提出来的,其基本思想是:从年提出来的,其基本思想是:从vs出发,逐步地向外探寻最短路。在执行过程中,与每点对应,记录下一出发,逐步地向外探寻最短路。在执行过程中,与每点对应,记录下一
4、个数(称为这个点的标号),它或者表示从个数(称为这个点的标号),它或者表示从vs到该点的最短路的权(称为到该点的最短路的权(称为P 标号),或者表示从标号),或者表示从vs 到该点的最短路的权的上界(称为到该点的最短路的权的上界(称为T 标号),方法标号),方法的每步是去修改的每步是去修改T 标号,并把某个标号,并把某个T 标号的点改变为具有标号的点改变为具有P 标号的点,从而使标号的点,从而使G 中具有中具有P 标号的顶点数多一个,这样,至多经过标号的顶点数多一个,这样,至多经过p1步,就可以求出从步,就可以求出从vs到各到各点的最短路。点的最短路。以引例为例,说明标号法的基本思想。以引例为
5、例,说明标号法的基本思想。现在学习的是第3页,共12页s=1,因所有因所有wij 0,故,故d(v1,v1)=0,这时这时v1 是具有是具有P 标号的点。标号的点。v6v5v4v3v2v1v9v8v7310461022161234263考察从考察从v1出发的三条弧出发的三条弧(v1,v2),(v1,v3),(v1,v4)。如果从。如果从v1出发沿出发沿(v1,v2)到达到达v2,则需要则需要d(v1,v1)+w12=6单位费用;如果单位费用;如果从从v1出发沿出发沿(v1,v3)到达到达v3,则需要,则需要d(v1,v1)+w13=3单位费用;类似地若沿单位费用;类似地若沿(v1,v4)到达到
6、达v4,则需要则需要d(v1,v1)+w14=1单位费用。由于单位费用。由于min d(v1,v1)+w12,d(v1,v1)+w13,d(v1,v1)+w14=d(v1,v1)+w14=1所以从所以从v1出发到达出发到达v4所需要的最小费用必定是所需要的最小费用必定是1单位,即从单位,即从v1到到v4的最短路是的最短路是(v1,v4),d(v1,v4)=1。v4 变成具有变成具有P 标号点。标号点。考察从考察从v1及及v4指向的其余点的弧,由上已知,从指向的其余点的弧,由上已知,从v1出发分别沿出发分别沿(v1,v2),(v1,v3)到到达达v2,v3,所需所需6,3单位费用,而从单位费用,
7、而从v1出发沿出发沿(v1,v4)和和(v4,v6)到达到达v6,所需费用是所需费用是d(v1,v4)+w46=1+10=11单位。因为单位。因为min d(v1,v1)+w12,d(v1,v1)+w13,d(v1,v4)+w46=d(v1,v1)+w13=3现在学习的是第4页,共12页所以从所以从v1出发到达出发到达v3所需要的最小费用必定是所需要的最小费用必定是3 单位,即从单位,即从v1到到v3的最短路是的最短路是(v1,v3),d(v1,v3)=3。v3变成具有变成具有P 标号点。如此重复此过程,可以求出从标号点。如此重复此过程,可以求出从v1到任到任意一点的最短路。意一点的最短路。几
8、个记号:用几个记号:用P,T 分别表示某点具有分别表示某点具有P 标号,标号,T 标号,用标号,用Si 表示第表示第i 步时具步时具有有P 标号点的集合。在每个点标号点的集合。在每个点v 处给一个处给一个 值值 (v)。如果算法结束时,。如果算法结束时,(v)=m,表示从,表示从vs 到到v 的最短路上,的最短路上,v 的前一个点是的前一个点是vm;如果;如果(v)=M,则表示,则表示G 中不含从中不含从vs 到到v 的最短路;如果的最短路;如果 (v)=0,则表示,则表示v=vs。Dijkstra方法的步骤:方法的步骤:开始(开始(i=0)令)令S0=vs,P(vs)=0,(vs)=0,对每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 短路 模型
限制150内