数学建模~最短路问题.ppt
《数学建模~最短路问题.ppt》由会员分享,可在线阅读,更多相关《数学建模~最短路问题.ppt(54页珍藏版)》请在三一办公上搜索。
1、最短路问题,二、最小生成树问题及其解法,三、最短路问题及其解法,一、图论的基本概念,图 论 的 基 本 概 念,一、图 的 概 念,1图的定义,2顶点的次数,3子图,二、图 的 矩 阵 表 示,1 关联矩阵,2 邻接矩阵,返回,图的定义,定义,定义,返回,顶点的次数,例2 在一次聚会中,史密斯先生和他太太邀请四对夫妻参加晚会。每个人到的时候,房间里的一些人都要与别的一些人握手。当然,每个人都不会与自己的配偶握手,也不会跟同一个人握手两次。之后,史密斯先生问每个人和别人握了几次手,他们的答案都不一样。那么史密斯太太和别人握了几次手呢?,返回,例1 在一次聚会中,认识奇数个人的人数一定是偶数。,由
2、图可知,8号的配偶是0号。7号的配偶是1号。6号的配偶是2号。5号的配偶是3号。史密斯太太是4号,所以史密斯太太和别人握了4次手。,返回,邻接矩阵,注:假设图为简单图,返回,最 短 路 问 题 及 其 算 法,一、基 本 概 念,二、固 定 起 点 的 最 短 路,三、每 对 顶 点 之 间 的 最 短 路,返回,基 本 概 念,返回,返回,求图的最小生成树最常用的两种算法:(1)Prim算法(2)Kruskal算法,注意:在一个加权连通图G中,权最小的那棵生成树称为图G的最小生成树。,返回,Prim算法思想:输入加权图的带权邻接矩阵(1)建立初始候选边集B,;(2)从候选边中选取最短边(u,
3、v),;(3)调整候选边集B;(4)重复(2)、(3)直到T含有n-1条边。,Prim算法的实现过程,1 1 1 12 3 4 58 inf 1 5,439,453,527,236,实现Prim算法的MATLAB程序:a=0 8 inf 1 5;8 0 6 inf 7;inf 6 0 9 10;1 inf 9 0 3;5 7 10 3 0;T=;e=0;v=1;n=5;sb=2:n;%1代表第一个红点,sb代表白点集。for j=2:n%构造初始候选边的集合 b(1,j-1)=1;b(2,j-1)=j;b(3,j-1)=a(1,j);end,while size(T,2)n-1 min,i=m
4、in(b(3,:);%在候选边中找最短边。T(:,size(T,2)+1)=b(:,i);e=e+b(3,i);v=b(2,i);v表示新涂的红点。temp=find(sb=b(2,i);sb(temp)=;b(:,i)=;for j=1:length(sb)%调整候选边 d=a(v,b(2,j);if db(3,j)b(1,j)=v;b(3,j)=d;end endend,Kruskal算法思想:假设给定了一个加权连通图G,G的边集合为E,顶点个数n,则假设最小生成树T中的边和顶点均涂为红色,其余为白色。初始时G中的边均为白色。(1)将所有的顶点涂成红色;(2)在白色边中,挑选一条权最小的边
5、,使其与红色边不形成圈,将该白色边涂红。(3)重复(2)直到n-1条红色边,这n-1条红色边就构成了最小生成树T的边集合。注意:在用Kruskal算法求最小生成树时,在第(2)步判断是否形成圈在程序实现时比较麻烦。,实现Kruskal算法的MATLAB程序:%加权图的存储结构采用边权矩阵b(i,j)m3b=1 1 1 2 2 3 3 4 2 4 5 3 5 4 5 5 8 1 5 6 7 9 10 3;B,I=sortrows(b,3);B=B;m=size(b,2);n=5;t=1:n;k=0;T=;c=0;,for i=1:m if t(B(1,i)=t(B(2,i)%判断第i条边是否与树
6、中的边形成圈。k=k+1;T(k,1:2)=B(1:2,i);c=c+B(3,i);tmin=min(t(B(1,i),t(B(2,i);tmax=max(t(B(1,i),t(B(2,i);for j=1:n if t(j)=tmax t(j)=tmin;end end end if k=n-1 break;endendT,c,Kruskal实现过程:初始化后排序:B=1 4 1 2 2 1 3 3 4 5 5 3 5 2 4 5 1 3 5 6 7 8 9 10;第一轮:tmin=1;tmax=4;t=1 2 3 1 5;第二轮:tmin=4;tmax=5;t=1 2 3 1 1;第三轮:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 短路 问题
链接地址:https://www.31ppt.com/p-6295679.html