[人工智能AI]之搜索-A*算法

[人工智能AI]之搜索-A*算法

1. 概述

这是一种经典的寻路算法;
简而言之,重点在于估算距离

在这里插入图片描述
在这里插入图片描述


问题描述:

假设起点a, 终点b, 当前结点为n
F(n) = G(n) + H(n)
G(n)表示起点到n实际距离;
H(n)表示n到终点预估距离;
在所有结点中选择F值最小可行节点走下去即可。


缺陷:
  1. 显然,A*算法的效率很大程度取决于H(n)的计算,即对未来距离的预估;
  2. 未完待续…

2. A*算法细节

2.1 对于H(n)估算函数的选择

曼哈顿距离:横纵坐标差之和 (推荐使用)
欧氏距离:即两点间的实际距离
ps: 这两种估算方式,会导致无法避开障碍物


2.2 A*算法实现

"""
A*寻路算法, 评估函数采用曼哈顿距离
"""
path = [[0, 0, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 3, 0, 0, 0, 0, 0],
        [0, 0, 0, 3, 0, 0, 2, 0, 0],
        [0, 0, 0, 3, 0, 0, 0, 0, 0],
        [0, 4, 0, 3, 0, 0, 0, 0,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值