付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能最佳路径问题的求解
随着计算机的普及和发展,人工智能(ai)显示出极大的实用价值。许多ai的应用基础是数学公式的解算方法。例如,在交通路线上的最佳路径问题,由于计算机的公式中的解算方法,它是复杂的,不能用有限的形式来表示。因此,通常使用搜索解算方法。在寻找最佳路径问题时,考虑到搜索区域中的大节点数和复杂路径,需要一个优秀的解。根据图论知识,搜索速度取决于搜索过程中经历的路径长度和连续性节点的数量。如果使用尽可能多的搜索方法,则搜索路径的增加数是最好的,但如果搜索空间中增加一个节点,则搜索路径的增加数是相同的。如果添加一个节点,则其解的质量比特定点的解的质量要复杂得多。实践表明,采用与ai相关的研究方法是一种有效的方法。在这方面,国内外对搜索技术的性能评价有不同的要求。在某些情况下,它不仅注重最优的解,还注重在某些情况下的非差动解。两个重要的评估指标:(1)解的算法需要速度快、容易实施;(2)解的质量可以在指定的问题上找到令人满意的解。基于此,我们在交通路线上的最佳路径问题上提供了一种新的算法,并与之相比具有绝对优势。该算法已成功应用于计算机,并已在泉州公交路线管理系统的问路系统中得到了充分证明。1单源节点的最短路径算法1.1最短路径的定义在交通路线中寻找两结点间最短路径,可归结成求单源结点的最短路径问题.它可用模型表示:给定一个赋权无向图G,G=(V,A),其中V为顶点集,A为路径集.对每一条弧α=(Vi,Vj),相应地有权W(α)=Wij,又给G中的两个顶点Vs,Vt.设P是G中从Vs到Vt的一条路,定义路P的权是P中所有弧的权之和,记为W(P).最短路径问题就是要在所有从Vs至Vv的路中,求一条权最小的路,即求一条从Vs到Vt的路P0,使W(P0)=minP{W(P)},P∈G.W(Ρ0)=minΡ{W(Ρ)},Ρ∈G.我们把满足上式的P0叫做从Vs到Vt的一条最短路径.1.2源点到点对点的最短路径对上述问题的求解,Dijkstra曾提出一个按路径长度递增的次序产生最短路径的经典算法,该算法是目前多数系统解决最短路径问题采用的理论基础.但是,在下面两个问题上有它的不足.(1)要同时算出源点到其它所有顶点的最短路径.(2)求出的结果只是最短路径顶点的集合,要知道最短路径还需根据最短路径进行排序.为克服上述缺陷,我们直接从求出任意两个顶点之间的最短路径序列出发,提出一个新的算法.我们的基本思想,是根据图的广度优先搜索,采用的队列不是一般的先进先出队列,而是优先队列,即按路径长度进行排序入队.路径短的顶点先出队列,且当顶点出队时才作出访问的标记.该算法明显地避免走回头路,可以在同层范围内找出更短的路径来,从而尽量地避免了从死结点回溯,大大地提高了运算速度.从编出的程序来看,它比经典的算法更加简单、有效.其算法,可用图1所示的结构流程图表示.1.3在表头控制下增加信息存贮我们用邻接表来表示给定的网络图.在该邻接表中对图中的每一个顶点建立一个单链表,第i个单链表中的结点单元表示依附于顶点Vi的边.每个结点由3个域组成,其中邻接点域指示与顶点Vi邻接的点在图中的位置,链域指示下一条边的结点,数据域存贮和边有关的信息(如权值).每个链表附设一个表头结点.在表头结点中,除了设有链域指向链表的第一个结点外,还设有存贮顶点Vi的名称、编号数据域.这些表头结点采用顺序结构的形式存贮,以便能随机访问任一顶点的链表.同时设立优先链队,即用环形链表存贮,以方便按结点的数据域大小进行插入、删除等功能.该结点的存贮结构,如图2所示.为了提高运算速度,引入一辅助数组Visited[1,N]:(1)用以判断顶点i是否访问过;(2)指出各条路径的走向.一旦找到最短路径,便可以从其终端反过来不断求出其直接的前趋结点,直到起点为止.其中,Visited[i]=0,顶点i未访问过;或者Visited[i]=j,顶点i已访问过,且j为路径序列中i的直接前趋结点编号.2优先任务我们以6个结点为例,作为解释该算法的可行性(图3).如图3(a)所示,现有6个顶点的交通图以及它们的权值(两个顶点之间的距离),设要求出顶点1到顶点6之间的最短路径序列.按照该算法求解的具体步骤,有如下5个方面.(1)如图3(b)所示,顶点1先进入优先队列,且置顶点1的距离域为0.由于顶点1的距离域为0最小,所以它先出队.判断它不是终点6,就置顶点1的访问标志(*).同时,将顶点1的所有邻结点2,3,6的距离域5,10,15和顶点1的距离域0相加.然后,按从小到大的顺序,即2(5)→3(10)→6(15)的顺序进入优先队列.括号内是结点的距离域.(2)如图3(c)所示,现选择优先队列中距离域最小的结点即顶点2出发.当顶点2出队后,由于它不是终点6,将其置过访问标志.然后,将其所有的邻结点3,4,5入队(顶点1己置完访问标志,不能再访问,所以不应将它入队).同时,调整优先队列中的顺序.经调整后,优先队列为4(7)→5(9)→3(10)→6(15).括号内是它们到顶点1的权值和.(3)如图3(d)所示,现从顶点4出发,由于它不是终点6,将其置过访问标志.然后,将其所有的邻结点3,5,6入队.这时,优先队列变成为3(8)→5(9)→6(11).(4)如图3(e)所示,现从顶点3出发,由于它不是终点6,将其置过访问标志.然后,将其所有的邻结点5,6入队.这时,优先队列变成为5(9)→6(11).(5)如图3(f),这时从搜索树上看,结点5出队后,由于除了结点6以外的所有结点都己访问过,所以没有结点进队.这样,当结点6出队后,判断它是终点,结束搜索.最终得到最短的搜索路径为1→2→4→6,且路径的全部距离长度为11.3算法的有效性、可行性及与性按Dijkstra算法,要具体求出每一顶点到源点的最短距离.同时,在每次求出一顶点的最短路径后,又要修改其它各点到源点的当前最短距离.所以,时间复杂度为O(n2).本算法在一般情况下,优先队列的长度与顶点数n无关,每一个顶点的邻接点的平均数也是常数C.因此,本算法时间复杂度为O(n).这样,该算法成功地把搜索单源结点的最短路径时间复杂度从O(n2),缩小到O(n)量级.在实例操作上,我们应用到泉州公交路线管理系统.在拥有近300个站点的泉州公交无向图中,本算法实施在寻求任意给出的两站点的最短路径时,体现出优异快捷的运算速度,收到了良好的效果.实例证明它是可行的.最短路径问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高年资护士专科护理技能进阶
- 2026年加油加气合建站职业卫生特殊要求
- 2026年银行自助设备防护舱安装标准
- 汗蒸馆设备保养服务合同协议
- 中药材种植销售合同
- 法律事务案件执行服务合同
- 2026年医疗美容消费者权益保护
- 旅行社2026年旅游产品开发合作协议
- 2026年药品采购预算编制与执行管理流程
- 肝细胞生长因子:胃癌诊断与预后评估的关键血清标志物探究
- 编辑打印新课标高考英语词汇表3500词
- 带状疱疹疑难护理讨论
- 司炉与水处理安全技术培训课件
- 胸痛的护理查房
- 幕墙工程竣工资料(全套)
- 班级安全员培训课件-
- 承包商安全资格审查表格
- 残疾人旱地冰壶竞赛规则
- 2022年河北青年管理干部学院教师招聘考试真题
- 欧体6-结构5(楷书教学课件)
- 煤矿绿色开采技术-课件
评论
0/150
提交评论