基于A*算法实现2D、3D环境下的路径优化(附带完整项目代码)

一、效果展示

1. 2D效果展示

(1)对角线模式:(用时: 0.6947秒)
请添加图片描述
(2)直线模式:(用时: 0.3629秒)
请添加图片描述

2. 3D 效果展示

障碍物设置

# 以下情况为障碍物
if x - y == 15 and z < 15:
    OBSTACLE = True
if x - y == 15 and 15 <= z <= 20 and x <= 25:
    OBSTACLE = True
if x == 25 and z > 5 and y >= 10:
    OBSTACLE = True
if z == 20 and y < 25 and x <= 25:
    OBSTACLE = True
if z == 10 and y > 10 and x >= 20:
    OBSTACLE = True
if y == 25 and x < 20 and z <= 20:
    OBSTACLE = True
if y == 25 and 5 <= x <= 15 and z >= 20:
    OBSTACLE = True
if y == 10 and 15 <= x <= 25 and z >= 20:
    OBSTACLE = True
if x == 15 and 10 <= y < 25 and z > 5:
    OBSTACLE = True
if x == 15 and 5 <= y < 10 and z > 20:
    OBSTACLE = True
if x + y == 15 and z < 15:
    OBSTACLE = True

(1)对角线模式,结果展示。(用时: 600.2027秒)请添加图片描述
(2)直线模式结果展示。(用时: 130.0591秒)
请添加图片描述

(3)总截图
在这里插入图片描述

二、使用说明

  1. 打开命令行cmd 或 Anaconda Prompt
  2. cd 转到程序所在的文件夹下
  3. 安装所需第三方库
pip install pandas
pip install plotly
  1. 输入 python main.py --help 可查看所有可选参数的说明
  2. 实例
    在这里插入图片描述
    备注:默认是沿对角线方向移动(2d为8向, 3d为26向);如果是传入–straight参数则使用直线模式:2d为前后左右4个方向(3d为前后左右上下6个方向)

三、完整项目代码

下载地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于A*算法的人工智能是一种能够自主学习和决策的系统。A*算法是一种基于启发式搜索的算法,它通常用于寻找最短路径或最优解的问题。人工智能利用A*算法作为核心,通过对问题空间进行搜索和评估,找到最佳路径或解决方案。 在人工智能中,A*算法可以被用于解决很多问题,比如路径规划、游戏AI等。其基本思想是在搜索过程中综合考虑两个因素:路径的实际代价和到目标的预估代价。这样可以高效地搜索问题空间,并找到最优的结果。 当人工智能应用A*算法时,它首先要定义问题的状态空间和状态转换规则,并构建一个搜索图。然后利用A*算法进行搜索,通过启发函数估计每个状态到目标的代价。在搜索过程中,A*算法会根据代价函数的估计值选择下一个状态,并更新代价函数的值。最终,当找到一个最优路径或解决方案时,人工智能就能够根据这个结果做出相应的决策。 基于A*算法的人工智能具有以下优点:首先,它能够找到最优路径或解决方案,具有较好的搜索效率;其次,它可以根据不同的问题设置不同的启发函数,适应不同的应用场景;最后,A*算法具有广泛的适用性,可以应用于很多实际问题,如机器人导航、网络路由等。 总之,基于A*算法实现的人工智能系统能够通过高效的搜索和评估找到最优路径或解决方案,为实际问题提供智能化的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盘古开天1666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值