Maple实现基于Dijkstra算法的最短路径

来源 :课程教育研究 | 被引量 : 0次 | 上传用户:mangix16
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,用来解决有向图中最短路径问题,本人运用永久和临时标记的方式,结合数学软件maple中图论程序包networks,解决最短路径问题。
  【关键词】Dijkstra算法 最短路径 maple
  【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2017)45-0174-02
  一、引言
  随之智能手机的高度发展,手机导航已成为有车一族出行必备的工具之一,如何在繁杂的城市道路中找到一条最短、行车最快的路径能够快速到达目的地,是人们非常关心的问题之一。
  实际上,很多问题都可以归结为一个赋权图的最短路径问题。赋权图的最短路径问题可表述为:设赋权连通图G=(V,E,W),其中V为顶点集,E为边集,W为权(可以是道路长度,修路费用等),在所有顶点vi到顶点vj的路径中,寻找一条长度最短的路径,即一条路径的长度等于路径中所有边的权值之和。
  二、Dijkstra算法
  1959年荷兰计算科学家艾兹格·迪科斯彻(Edsger Wybe Dijkstra)给出了一个世界上公认最好的计算最短路径的方法,它是对每个顶点做标记,令L(v)代表顶点v的标记,在求解过程中,有些标记被记为临时标记,其余的被记为永久标记。令T表示当前标记为临时标记的顶点集合,算法开始时,所有标记都被标记为永久标记,在每次的迭代过程中,算法将一个顶点的标记从临时标记更改为永久标记。举例来说,假设有A,B,C,D,E,F六个地点,其拓扑结构如图1所示,欲找出A到D的最短路徑。
  由于这个问题规模比较小,用穷举法可以很容易知道最短路径为A→E→C→D,长度为9。
  在Dijkstra算法中,如果L(v)是顶点v的永久标记,那么L(v)就是从起点到v的最短路径的长度。要在一个连通的赋权图中寻找顶点A到D的最短路径长度,边(i, j)的权值w(i, j)>0,且顶点x的标记为L(x),此时Dijkstra算法可详细描述为:
  1.L(a)=0;for 所有顶点 x≠a do L(x)=∞
  2.令T为所有顶点组成的集合
  3.while z∈T do
  4.begin
  5.从T中找出最有最小L(v)的顶点v
  6.T: T- {v}
  7.for 所有与v相邻的顶点 x∈T do L(x):min{L(x),L(v)+w(v, x)}
  8.end
  9.end.
  下面求图1由顶点A到D(即D到A)的最短路径及其长度:依次执行到算法第五行(此时图的状态如图2①),此时T为所有顶点,其中具有零时标记的顶点为D(为了区分顶点是否已被考察过,考察过的顶点我们用方块表示),修改T为{C,F,B,E,A},更新与D相邻的顶点C,F的标记L(C)=min{∞,0+3}=3,L(F)=min{∞,0+7}=7,并标注顶点C,F,此时图的状态如图2②,其中标注“D,3”表明它的长度和它从D被标注的事实。接下来,在T中找标记L(x)的最小顶点C(把顶点C图形改为方块),并更新与C相邻的顶点B,E的标注,参见图2③,重复上述步骤,找出L(x)的最小顶点E(改为方块),并更新顶点E,B的标注(参见图2④)。接着该改顶点E为方块,并更新顶点A的标注(参见图2⑤),这时,就要改A为方块,因A已经做了永久标记,故算法结束,所有由D到A的最短路径长度为9,从A开始顺着标注返回可以得到最短路径为A→E→C→D。
  三、maple实现
  图论是应用数学和离散数学的重要组成部分之一,maple软件作为一种计算机代数系统,通过20多年的不断发展,已经成为当今世界上最优秀的数学软件之一,其中包含的图论程序包networks,对于研究图论和图论的教学提供了一个强有力的工具。Networks提供了非常丰富的函数,在绘制简单图及进行Dijkstra算法时,我们需要用到一下函数:
  在使用networks中的命令之前,需装载该程序包,即执行with(networks),首先画出图1的简单图(图3),命令如下:
  >with(networks):
  new(G):
  addvertex({A, B, C, D, E, F}, G):
  addedge([{A, B}, {A, E}, {B, C}, {B, F}, {E, F}, {E, C}, {C, D}, {F, D}], weight=[4, 5, 3, 6, 8, 1, 3, 7], G):
  >draw(G);
  然后找出图中边的长度:
  >eweight(G);
  table([e13=8,e2=5,e12=6,e1=4,e9=4,e14=1,e4=6,e7=3, e16=7, e8=7, e11=3, e15=3, e6=1, e5=8, e3=3, e10=5])
  使用maple提供的shortpathtree(G, v)命令(使用Dijkstra算法)求解最短路径问题,并找出最短路径(图4):
  > T:=shortpathtree(G, A, W):
  >draw(T);
  最后利用vweight(v, G)命令得到A到D的最短路径长度为9。
  >vweight(D, T);
  四、结论
  进入二十一世纪,随着多媒体技术和数学软件的迅速发展,计算机代数系统maple能够处理图论等数学分支,这是它优于其他数学软件的特点之一,利用maple软件进行图的构建,帮助人们解决最短路径问题,进行图论计算,理解图论的概念和方法,提供了有效的手段。这种利用CAS(Computer Algebra System,计算机代数系统)进行数学研究的方式,在当前信息化快速发展的时代,值得提倡和推广。
  参考文献:
  [1]部亚松.VC++实现基于Dijkstra算法的最短路径[J].科技信息.2008(18).
  [2]张小红,张建勋.《数学软件与数学实验》[M].北京:清华大学出版社.2004.
其他文献
【摘要】课堂教学技术手段,必须符合信息時代学生的视听需求。交互式电子白板,具有传统教学所不具备的诸多优势,更易为学生喜闻乐见,可取得更好的教学效果。深入研究其特征、使用技能技巧,使之更好的服务于课堂教学。  【关键词】交互式电子白板 小学 数学 课堂教学  【中图分类号】G434;G623.5【文献标识码】A 【文章编号】2095-3089(2017)45-0154-02  交互式电子白板因“计算
期刊
【中图分类号】G52【文献標识码】A 【文章编号】2095-3089(2017)45-0153-02  大量的证据表明,“儿童”在作为与成人相对应的社会概念不超过400年,但是在近四十年以来,童年却以前所未有的速度在消逝。美国学者尼尔·波兹曼的《童年的消逝》就是论述当下儿童是如何在现代传媒(主要指电视)的影响下迅速成人化的。作为一名教育工作者。读完尼尔·波兹曼的书感受颇深,而且深刻感受到我们现在面
期刊
【中图分类号】G623.5【文献标识码】A 【文章编号】2095-3089(2017)45-0162-02  数学的精髓不在于知识本身,而在于数学知识中所蕴含的数学思想方法; 数学教学的目的不在于学生掌握多少数学知识,而在于掌握和运用数学思想方法来解决实际问题的能力。因此,数学教学的重点应放在加强数学思想方法的教育上。教授学生思想方法是给学生“授之以渔”,学生会游刃有余的学习数学知识,教师的教学也
期刊
【摘要】高等教育作为培养社会人才和国家栋梁的基地与摇篮,是整个教育阶段的重要组成部分。《普通化学》作为农、林、牧、医学类的一个基本专业为社会提供了大量的专业性人才。在这其中,学生的创新与创造能力就成为了《普通化学》教育教学的重点。本文将通过高校《普通化学》教育的现状、创新必要性和培养措施几方面来进行进一步的探究与分析。  【关键词】高校《普通化学》教育 学生创新 措施  【中图分类号】G64【文献
期刊
【中图分类号】G633.6【文献标识码】A 【文章编号】2095-3089(2017)45-0168-01  这次的八年级期中测试卷中第25题:如图,在矩形ABCD中,对角线BD的垂直平分线MN与AD相交于点M,与BD相交于点O,与BC相交于点N,连接BM,DN。  (1)求证:四边形BMDN是菱形。  (2)若AB=4cm,AD=8cm,求菱形BMDN的面积。  分析:其中第(1)小题重点考查矩
期刊
【摘要】针对传统数学分析教学存在的一些问题,从分层教学的理论及其实践出发,探讨了数学分析分层教学的必要性,提出了建设性的对策和建议。研究发现分层教学对于数学分析的学习有着非常好的指导价值,分层教学优于传统教学,能够更好地调动学生的积极性和主动性,提高学生的创新能力和应用能力,使学生得到不同层次的发展。  【关键词】数学分析 分层教学 方法与策略  【中图分类号】G64【文献标识码】A 【文章编号】
期刊
【中图分类号】G633.7【文献标识码】A 【文章编号】2095-3089(2017)45-0187-02  根据对当前高中物理教学情况的调查得知,大多数学生对这门课程的基础较为薄弱,具体来说就是在物理基础水平和认知方面存在一定的差异。因而使得学生在学习物理知识的过程中没有养成较好的学习习惯和学习方法。针对这种情况,作为高中物理教师,则就可以采用分层教学的方法来进行。对于这种教学方法,不仅能够有效
期刊
【摘要】本文通过五个“为什么”,叙述了初中地理教师在日常教育教学的过程中倡导“工匠精神”的必要性。  【关键词】工匠精神 初中地理 教学  【中图分类号】G633.55【文献标识码】A 【文章编号】2095-3089(2017)45-0190-02  在“一切向钱看”的社会风气的影响下,整个中国社会充满着浮躁、不安的情绪。校园不是“世外桃源”,学生看到大学生毕业后找不到工作,于是“诗书无用论”开始
期刊
【中图分类号】G62【文献标识码】A 【文章编号】2095-3089(2017)45-0191-02  通过近几年的科学教学,发现学生对于科学课堂还是很期待,尤其是实验课都表现得非常的积极,但却存在大部分同学参与度不高,表现在主动性差、缺乏有效发言,本文结合评优课教科版小学科学五年级下册《传热比赛》,浅谈如何让科学课堂活跃起来,让学生从被动的接受转变为主动的获取。  一、贴合生活,激发兴趣  导入
期刊
【中图分类号】G623.5【文献标识码】A 【文章编号】2095-3089(2017)45-0175-01  班班通的使用使班级具备了与外界交流的能力,真正实现了信息技术与学科的有效整合,促进了教师教学方式和学生学习方式的变革,从粗简到丰富,由表象入本质,把管理者变为促进者、引导者,使受教育者成为研究者、主人翁,既能激发学生学习兴趣,又能提高教育教学质量,受到了广大师生的喜爱。在小学数学教学实践中
期刊