A*算法

图的表示

学习算法的首要任务是理解数据。什么是输入?什么是输出?

  • 输入
  • 输出
  • 权衡
    对于游戏地图有很多种图的表示方法

图的属性

  • 基于图的寻径算法需要知道当前的位置,以及位置之间的相互连接关系。
    事实上算法并不知道这些,它只知道位置之间的连接关系。
  • 图的布局并不是图的一部分
  • 路径搜索算法并不知道网格图的布局和属性,它只知道网格之间的连接关系。

算法

关键思想: 跟踪一个被称为边界的扩展环

  • 广度优先搜索
    平等的探索所有可能的路径
  • Dijstra算法
    优先向低成本路径探索,需要跟踪移动的成本(move cost)
    根据移动成本去选择下一个位置
  • A算法
    A
    是对Dijkstra算法的修改,针对单个目标进行优化

参考

A*算法介绍:https://www.redblobgames.com/pathfinding/a-star/introduction.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容