A*算法实现路径规划matlab(上)

本文介绍了A*算法的基础知识,包括其作用、特点和基本思想。A*算法是一种启发式搜索路径规划算法,结合实际费用g(j)与估计费用h*(j)来寻找最短路径。文章详细讲解了欧几里德距离和曼哈顿距离两种估价函数,并概述了A*算法的执行步骤。在路径规划中,A*算法比BFS等算法更为高效。下篇文章将展示A*算法在matlab中的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A*算法简介

1.1 作用与特点

A* 算法是启发式搜索型的路径规划算法,是一种尽可能基于现有信息的搜索策略,也就是说搜索过程中尽量利用目前已知的诸如迭代步数,以及从初始状态和当前状态到目标状态估计所需的费用等信息。总体来说,A*算法是一种较迅速的路径规划算法,比遍历式的路径规划算法,如广度优先算法(BFS)等都更加迅速和节省空间。

1.2 A*算法的基本思想与数学函数模型:

1.2.1基本思想

引入当前节点j的估计函数f*,当前节点j的估计函数定义为:
f*(j)= g(j)+h*(j)
其中g(j)是从起点到当前节点j的实际费用的量度,h*(j)是从节点j到终点的最小费用的估计,可以依据实际情况,选择h*(j)的具体形式,h*(j)要满足一个要求:不能高于节点j到终点的实际最小费用。从起始节点点向目的节点搜索时,每次都搜索f*(j)最小的节点,直到发现目的节点。

1.2.2数学函数模型

A* 算法的核心是设计估价函数,设计估价函数h(j)有很多方法,
(1)估价函数1:欧几里德距离
可以证明,在和起点距离相等的中间节点集合里,与终点直线距离(欧几里德距离)越小的节点,方向夹角越小。假设在图2-3求S到G点的最短路径,与S最近的点是节点2,与G最近的是节点11,因此可以确定上路点是节点2,下路点是节点11,求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值