AI之A*算法

什么是寻径算法
寻找当前点到目标点的一条路径。比如从A点到B点,其中要绕过这两点之间的障碍物(比如绕过山 / 河等不能移动的),我们就需要一个适合的路径规划的寻路算法。其中A*寻路已经是比较成熟的一种可以解决固定障碍的寻径算法。
战术性寻路,相对比上一种寻路相对复杂,比如说避开敌人攻击区的路线,避开地面雷达的飞行路线等。

避开动态的障碍,常用的算法有如Flocking算法,用合力的方式计算朝向与速度,可以将角色分为三个基本行为:聚集 / 分散 / 列队去解决,这一算法用的非常广。更加复杂的算法如RVO算法。

AI的实现也是一个非常复杂的一个过程,不仅仅在算法上其中后期的各项数值的调试迭代磨合也是非常需要耐心的。

A*算法实现


开启列表:待检查的方格列表,寻找周围可达的点并加入此列表,并将此中心点保存为父节点。

关闭列表:保存不需要再进行检查的方格的列表。

路径评分

G 与起始点的距离

H  与目标点的距离

F值是G和H的各,其中F / G 和 H 评分被写在每个方格中。

(注:F被打印在中间,G在左上角,H则在右上角)

等式:F=G+H

添加起始点到开始集合中
1,在开启列表最小的点为当前点,将当前点移出开启列表中,将当前点移入关闭列表中。
2,如果当前点为目标点,则结束查询。
3,否则遍历当前点的每一个相邻点,如果相邻点无法访问或者在关闭列表中,跳过此相邻点。
4,如果新路径到相邻点的距离更短或者不在开启列表中则重新设置当前点并保存为父节点,如果相邻点不在开启列表中则添加到开启列表中。
以上的步骤循环执行直到找到目标点。

来自为知笔记(Wiz)

时间: 2024-12-17 10:52:34

AI之A*算法的相关文章

AI学习---分类算法

分类算法:对目标值进行分类的算法    1.sklearn转换器和预估器    2.KNN算法    3.模型选择与调优    4.朴素贝叶斯算法    5.决策树    6.随机森林 sklearn转换器(transfer)与估计器(estimeter) 1.转换器 - 特征工程的父类 转换器 - 特征工程的父类    1.API的实现过程:        1 实例化 (实例化的是一个转换器类(Transformer))        2 调用fit_transform(对于文档建立分类词频矩

H5版俄罗斯方块(3)---游戏的AI算法

前言: 算是"long long ago"的事了, 某著名互联网公司在我校举行了一次"lengend code"的比赛, 其中有一题就是"智能俄罗斯方块". 本着一向甘做分母, 闪耀分子的绿叶精神, 着着实实地打了一份酱油. 这次借学习H5的机会, 再来重温下俄罗斯方块的AI编写. 本系列的文章链接如下: 1). 需求分析和目标创新 2). 游戏的基本框架和实现 这些博文和代码基本是同步的, 并不确定需求是否会改变, 进度是否搁置, 但期翼自己能

浅析初等贪吃蛇AI算法

作为小学期程序设计训练大作业的一部分,也是自己之前思考过的一个问题,终于利用小学期完成了贪吃蛇AI的一次尝试,下作一总结. 背景介绍: 首先,我针对贪吃蛇AI这一关键词在百度和google上尽心了检索,大致获得了一下信息 1.A*寻路算法是人工智能中的一个经典算法,很多AI利用这个算法提高性能. 2.在alphaGo一战成名,人工智能家喻户晓之后,有一个贪吃蛇AI吃满全屏的GIF图已读在微博疯转. 3.这个GIF图早在2013年就已经出现了(其实比alphaGo早). 4.国内过于贪吃蛇AI(也

【AI创新者】小蚁首架张骏峰:让图像AI人尽可用转载

张骏峰,小蚁科技首席架构师,负责小蚁AI图像相关算法架构.主要包括:小蚁智能摄像机的智能报警服务.小蚁智能行车记录仪的辅助驾驶ADAS服务.小蚁运动相机App的图像风格迁移技术以及小蚁微单App的图像视频编辑技术.其团队包括移动开发.前端.后台.算法,成员分布在北京及以色列.张骏峰于2015年加入小蚁,此前,张就职于微软长达14年,参与过Windows, .Net Framework, MSN, Office, Lync, Skype等产品的研发工作. 小蚁科技成立于2013年,是一家年轻的互联

堪称最好的A*算法

如此好贴,不能不转!原文地址:http://dev.gameres.com/Program/Abstract/Arithmetic/AmitAStar.mht 本文版权归原作者.译者所有,我只是转贴:如果侵害到您的权益,请联系我,我将删除本文. 基本上,这文章可以说是最佳A*算法文档.极力推荐! Amit's A star Page中译文   译序 这篇文章很适合A*算法的初学者,可惜网上没找到翻译版的.本着好东西不敢独享的想法,也为了锻炼一下英文,本人译了这篇文章. 由于本人英文水平非常有限,

MTU-TCP/IP协议栈-linux kernel-TCP丢包重传-UDP高性能-AI-

http://view.inews.qq.com/a/20161025A0766200窄带时代的QQ QQ是窄带时代极具代表性的产品,在那个网络传输效率比较低的年代,大家还记得Google的首页吗?Google的那个简洁页面,为什么如此简洁? Google诞生于1998年,也是身处窄带时代,你会发现它的首页字节大小是小于1024的,为什么要小于1024字节,因为以太网的MTU(也就是最大传输单元)是1024,Google为了让用户在一个网络包中传输完成,所以它把页面大小降到了1024以下.这是一

Cocos2d-x 怪物智能AI怪物也有智商----之游戏开发《赵云要格斗》(6)

       这里是Evankaka的博客,欢迎大家前面讨论与交流------       转载请注明出处http://write.blog.csdn.net/postedit/42611031 这几天一直在研究怪物的AI,博客都没怎么更新.本文将主要来讲讲游戏开发中的怪物智能,一个好的游戏一般怪物都要分等级,这样我们游戏玩起来才有意思,怪物如果智商太高,游戏难度大.怪物如果智商太低,游戏玩起来又没有意思.一般好的游戏低级怪物和中级怪物占大部分,高级怪物一般是BOSS级怪物.下面我来讲讲自己对怪

数据结构与算法常见笔试题

一.算法的基本概念计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报.2.算法的基本要素:算法中对数据的运算和操作.算法的控制结构.3.算法设计的基本方法:列举法.归纳法.递推.递归.减半递推技术.回溯法.4.算法设计的要求:正确性.可读性.健壮性.效率与低存储量需求二.算法的复杂度1.算法的时间复杂度:指执行算法所需要的计算工作量2.算法的空间复杂度:执行这个算法所需要的内存空间三.数据结构的定义1.数据的逻辑结构:反映数

算法将成为人工智能时代的“科技原力”

10月25日,"TEDx漕河泾--科技的原力"主题演讲在上海举行,腾讯公司副总裁姚星在演讲中回顾了中国互联网20年经历的三个阶段,并且展望了人工智能行业的发展趋势."算法,将成为人工智能时代的'科技原力'",姚星说. 过往的20年,是互联网飞速发展,并渗透到我们经济生活的每一个方面的20年.姚星将其划分为三个阶段:窄带时代.宽带时代和移动互联网时代. 诞生于1998年的Google,首页最初是一个极为简洁的搜索框,这个首页的传输大小是小于1024字节的,"