基于A星算法的最优路径规划系统
基于A*算法的最优路径规划系统
XXXXXXXXX
摘要:人工智能(Artificial Intelligence)是当前科学技术发展的一门前沿学科,同时也是一门新思想,新观念,新理论,新技术不断出现的新兴学科以及正在发展的学科。本文将主要介绍人工智能在搜索方法上的应用,即基于A*算法的最优路径规划问题的解决方法。A*算法是一种求解最短路径的有效方法,也是人工智能算法中一种简单的启发式搜索方法。本文介绍了A* 算法的原理及实现机制, 以及在搜索出的结点解空间集中,用A* 算法如何选择最优结点,最终求解出最短路径的过程。 关键词:人工智能;研究报告;模板
本组成员:xxxxxxx
本人分工:A*算法设计及实现
1 引言
人工智能是在计算机科学,控制论,信息论,神经心理学,哲学,语言学等多种学科研究的基础发展起来的,因此又可把它看作是一门综合性的边缘学科[1]。它的出现及所取得的成就引起了人们的高度重视,并取得了很高的评价。有的人把它与空间技术,原子能技术一起并誉为20世纪的三大科学技术成就。人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理计算机视觉、智能机器人、自动程序设计等方面。
本文主要介绍在路径规划问题上使用A*搜索算法来找到最优路径的设计与实现。
路径规划是指在旅行前或旅行中为驾驶员提供参考行驶路线的过程,是车辆定位与导航系统的基本功能之一针对陆地车辆导航的不同要求,在路径规划中可采取多种优化标准,如最短距离、最少行驶时间或收费。本实验中将使用最短距离来寻找最优路径。
2 算法原理与系统设计
2.1 A*算法的基本思想
A*算法在人工智能中是一种典型的启发式搜索算法,通过选择合适的估价函数,指导搜索朝着最有希望的方向前进, 以求得最优解[2]。A*算法中,关键是求估价函数:f(n)=g(n)+h(n).其中,g(n)是从起点 u 到当前节点 n 己付出的代价,h(n)是从当前节点 n 到目标节点 v 的代价估计函数,必须保证h(n) <=h’(n),其中h’(n)是从当前点到目标点的实际最小代价。
2.2 A*算法的步骤
A*算法的搜索步骤如下:
(1)给起始节点标记,对它的没有标记过的子节点进行扩展;
(2)对每一个子节点计算评价函数值,按评价值的大小进行排列,找出评价值最小的节点,并给它作标记,如果当前节点就是目标节点,则停止搜索。
(3)否则,对最新被标记的节点进行第(2)步处理,并记录最短路径。
2.3算法分析
A*算法是利用对问题的了解和对问题求解过程和解的了解,寻求某种有利于问题求解的启发信息,从而利用这些启发信息去搜索最优路径它不用遍历整个地图,而是每一步搜索都根据启发函数朝着某个方向搜索当地图很大很复杂时,它的计算复杂度大大优于算法,是一种搜索速度非常快、效率非常高的算法。但是,相应的A*算法也有它的缺点,启发性信息是人为加入的,有很大的主观
性,直接取决于操作者的经验,对于不同的情形要用不同的启发信息和启发函数,且他们的选取难度比较大,很大程度上找不到最优路径。
2.4 系统设计
系统的实现流程图如图2.1所示。
图2.1 系统的实现流程图
首先判断初始结点的周围8个结点是否有障碍点,从除障碍点以外的结点中求解出代价最小的结点,并加入到结果列表中。
求解结点代价是根据A*算法的估价函数f(n)=g(n)+h(n)。其中g(n)是从起始结点到当前节点 n 己付出的代价,h(n)是从当前节点 n 到目标节点的代价估计。
对于本实验中,设计的g(n)=10(当前结点与起始结点在同一水平线或者竖直线上。如图2.2中,初始结点,即蓝结点与1、3、5、7结点之间的代价即为10。)g(n)=14(当前结点与起始结点在同一
对角线上时。如图2.2中,初始结点,即蓝结点与0、2、4、6结点之间的代价即为14。)
对于本实验中,h(n) = (当前结点与目标结点之间横坐标格数 + 当前结点与目标结点之间纵坐标格数) * 10。如图2.2中,当前结点依次为0、1、2、3、4、5、6、7,分别与红色目标结点求解h(n)。
图2.2 搜索图
每次求解出的8个h(n),比较大小,选出最小的结点作为起始节点继续搜索。直到遇到目标结点便结束搜索,画出求解出的最优路径。
3 系统实现
void CAxingTestDlg::ExecuteCalculate(RectIndex RI[], RectIndex * resultRI, bool * find) {
//判断8个相邻点里是否有障碍点
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < blockPointNum; j++)
{
if (RI[i].m == blockIndexM[j]&&RI[i].n == blockIndexN[j])//有障碍点 {
RI[i].weight = 10000;
}
}
}
//得到权值最小的点
int minWeight=10000, minweightIndexM,minweightIndexN;
for(int i = 0; i < 8; i++)
{
minWeight = min(minWeight,RI[i].weight);
}
resultRI->weight = minWeight;
for(int i = 0; i < 8; i++)//获得权值最小点的坐标
{
if (RI[i].weight == minWeight)
{
minweightIndexM = RI[i].m;
minweightIndexN = RI[i].n;
}
}
resultRI->m = minweightIndexM;
resultRI->n = minweightIndexN;
pathPointIndex[pathPointIndexSub].m = resultRI->m;//存储路径
pathPointIndex[pathPointIndexSub].n = resultRI->n;
pathPointIndex[pathPointIndexSub].weight = resultRI->weight;//存储当前遍历点的权值 totalWeigeht += pathPointIndex[pathPointIndexSub].weight;
pathPointIndexSub++;
//判断8个相邻点是否有目标点
for (int i = 0; i < 8; i++)
{
if (RI[i].m == endRectIndex.m&&RI[i].n == endRectIndex.n)
{
*find = true;
break;
}
}
}
void CAxingTestDlg:: GetAroundPoint(RectIndex RI0, RectIndex RI[])//获得邻接点坐标,同时计算权值
{
int i = RI0.m;
int j = RI0.n;
int postM,postN;
RI[0].m = i-1;
RI[0].n = j-1;
postM = (i-1)>endRectIndex.m?(i-1-endRectIndex.m):(endRectIndex.m-(i-1));
postN = (j-1)>endRectIndex.n?(j-1-endRectIndex.n):(endRectIndex.n-(j-1));
RI[1].m = i-1; RI[1].n = j; postM = (i-1)>endRectIndex.m?(i-1-endRectIndex.m):(endRectIndex.m-(i-1)); postN = j>endRectIndex.n?(j-endRectIndex.n):(endRectIndex.n-j); RI[1].weight = (postM+postN)*10 + 10; RI[2].m = i-1; RI[2].n = j+1; postM = (i-1)>endRectIndex.m?(i-1-endRectIndex.m):(endRectIndex.m-(i-1)); postN = (j+1)>endRectIndex.n?(j+1-endRectIndex.n):(endRectIndex.n-(j+1)); RI[2].weight = (postM+postN)*10 + 14; RI[3].m = i; RI[3].n = j-1; postM = i>endRectIndex.m?(i-endRectIndex.m):(endRectIndex.m-i); postN = (j-1)>endRectIndex.n?(j-1-endRectIndex.n):(endRectIndex.n-(j-1)); RI[3].weight = (postM+postN)*10 …… 此处隐藏:3480字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业资料]创设有效语境 改善英语教学
- [行业资料]微商推广引流的44种方法
- [行业资料]医疗机构输血科血库基本标准
- [行业资料]锂离子电池项目可行性研究报告(2015年
- [行业资料]申请执行人长沙市开福区人口和计划生育
- [行业资料]倾听草木的呼吸(初中阅读)
- [行业资料]长沙新环境厂房租赁合同书
- [行业资料]2022年经济师《金融专业知识与实务(中
- [行业资料]浦东新区2009学年度第二学期期末考试七
- [行业资料]企业劳动用工协议书
- [行业资料]最新苏科版七年级数学上册第二章有理数
- [行业资料]12星座与英语词汇学习
- [行业资料]2008年高考化学科经验
- [行业资料]镇政府2015年工作总结及2016年政府工作
- [行业资料]梧州市产业园区规划及招商引资报告
- [行业资料]大体积砼承台施工作业指导书
- [行业资料]学生干部在创建和谐校园中的作1
- [行业资料]小学语文教师实习个人总结
- [行业资料]2014完美最新奖金制度
- [行业资料]2016年一建建筑实务-重要知识点地质
- 【最新】人教版小学语文三年级上册:第
- 中国中小企业年鉴(地区数据)
- 动物与人类生活的关系 ppt
- 选修3 专题3 胚胎工程知识点
- 遥感技术基础复习题
- 公司员工职业生涯规划实施方案
- 辽宁省建筑施工企业安全生产许可证管理
- 15秋福师《中外幼儿教育史》在线作业二
- 2015-2020年中国网络视频行业深度调研
- 数学八年级下华东师大版21.1算术平均数
- 苏教版一年级语文下册《小松树和大松树
- 油画论文:摄影对当下油画艺术的影响
- 西方自由主义影响下的新闻自由——从17
- 基于支持向量机的商业银行信用风险评估
- 机械设计基础复习题答案(修改)(1)
- 语文:高考作文素材:材料引用及论点论
- 月份工程进度款结算单62+56
- 2018-2023年中国互联网基金行业现状研
- 人教版 PEP 五年级下册Unit1Lesson1 th
- 2014学年第二学期四年级数学期末教学质




