用矩阵和积求最短路的一种新算法(完整版)实用资料.doc
上传人:天马****23 上传时间:2024-09-10 格式:DOC 页数:100 大小:3.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

用矩阵和积求最短路的一种新算法(完整版)实用资料.doc

用矩阵和积求最短路的一种新算法(完整版)实用资料.doc

预览

免费试读已结束,剩余 90 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用矩阵和积求最短路的一种新算法(完整版)实用资料(可以直接使用,可编辑完整版实用资料,欢迎下载)第36卷第9期2006年9月数学的实践与认识Vol.36No.9Sep.,2006用矩阵和积求最短路的一种新算法詹棠森,张三强,唐敏(景德镇陶瓷学院信息工程学院,江西景德333001)摘要:先定义了矩阵和积的概念和运算,在求最短路中,这种方法和线性代数中的矩阵运算相似,通过这种方法,把求最短路转化为矩阵的运算,计算简便,有效.关键词:最短路;矩阵和积;多阶段决策;不完全关联;距离阵1引言求最短路的方法很多,有动态规划的多阶段决策方法[1],在动态规划算法中,利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优解逐步构造出整个问题的最优解,而Disjkstra算法是解单源最短路径问题的贪心算法,其基本思想是设置顶点集合S并不断地做贪心选择来扩充这个集合[2,3].等.2定义矩阵和积及运算1)符号意义表示和运算⊕表示或运算[4,5]2⊕3表示2和32)运算形式和运算律交换律ab=ba分配律a(b⊕c=)(ab)⊕(ac)例23=32=5,2(3⊕4)=(23)⊕(24)=5⊕6.记∞(a⊕b⊕…⊕c=(∞).3)两矩阵和积的算法设矩阵Am×s=(aij)m×s,Bs×n=(bij)s×nAm×sBs×n=Cm×n=(cij)m×n其中cij=s∑k=1⊕aikbkj=ai1b1j⊕…⊕aisbsj.3构造多阶段决策最短路算法1.完全关联的多阶段问题及距离阵多阶段的决策问题的特点是先将一个复杂问题分解成相互联系的若干阶段,每一个阶段的点(事件点)与后一阶段的点完全相互联系,这种问题称为完全关联的多阶段问题.[6]9期詹棠森,等:用矩阵和积求最短路的一种新算法171如右图1B1C2=7,B1C3=4B2C1=3,B2C3=2B3C1=5,B3C2=1对于四个阶段的决策问题,若第一阶段只有一个点,第二,三,四阶段分别有n,m,1个点.构造矩阵,矩阵的元素由这些距离组成第1,2,3阶段的矩阵为k=A2以kk为列向量构成权矩阵(2)(2)(2)W(2)=(k1,k2,…,kn)(1)(1)1,k1,…k1)=(k(1)(2)(n)T(2)(2)(2)(2)Tkk=(kk1,kk2,…,kkm),k=1,2,…n[7].图1W(1)W(s-1)W(s-2)W(2)k.(3)=(k1,k2,…,km)(3)(3)(3)(3)(1)(s-1)最后得A到T的距离行阵(或称为权阵)k=W(3)W(2)k更一般S阶段的距离为k=2.求A到T的最短路按上图1,利用上面计算权重的方法,可得6k=(6,3,2)7(3)32=(12⊕10⊕6,9⊕5⊕4,11⊕4⊕6)42=14⊕12⊕8⊕12⊕8⊕7⊕15⊕8⊕10从这些数字中,我们很快找到A到T最短路是7,并按逆推过程可得取得最短路径是A→B2→C3→T,从中可看出距离为8的有3条,距离为10,14,15的各一条,距离为12的有二条.A到T最长距离为15,且路径是A→B3→C1→T.3.其它问题对不完全关联,我们可化不完全关联为完全关联,不是阶段决策问题可化为阶段决策问题.这些问题的转化参考[1][6].在求最小距离时,添加的权记为∞,在求最大问题时,添加的权记为0.如右图2,实线是已连通,虚线是添加的,且B1C2=4,B2C1=3,B2C3=1,B3C2=8,C1E2=2,C2E3=7,C3E2=10.求A到F的最短路距离.S=(7,8,6)42∞∞∞57963∞4∞8∞1图2172数学的实践与认识36卷6=(11⊕10⊕∞,∞,13⊕13,∞⊕18⊕15)4∞3∞1∞84=(17⊕16⊕∞⊕∞⊕17⊕17⊕),14⊕13⊕∞⊕(∞)⊕∞⊕19⊕16,(∞)⊕∞⊕21⊕21⊕∞⊕22⊕19)=(21⊕20⊕∞⊕∞⊕21⊕21⊕(∞)⊕19⊕18⊕∞⊕(∞)⊕∞⊕⊕24⊕21⊕(∞)⊕∞⊕24⊕24⊕∞⊕25⊕22从上可得最短路是18,其路径是A→B2→C1→E2→F.最长路是25,其路径是A→B3→C3→E2→F.同理,对多发点和多收点(即第一阶段和最后阶段有多个点)的情况下,这种算法仍然适用,并且也很简便.在此就不再叙述.参考文献:[1]《运筹学》教材编写组编.运筹学[M].北京:清华大学出版社,1990.[2]王晓东编.算法设计与分析[M].北京:清华大学出版社,2003.[3]SaraBaase,AllenVanGelder.ComputerAlgorithms—IntroductiontoDesignandAnalysis[M].ThirdEd