- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在没有节点或单元的无网格二维平面上实现 A* 算法?我需要物体绕过目标途中相对较多的静态和移动障碍物。
我当前的实现是在对象周围创建八个点,并将它们视为可能是对象潜在位置的假想相邻正方形的中心。然后我为每个计算启发式函数并选择最好的。起点和运动点之间的距离,运动点和目标之间的距离我用勾股定理计算的正常方式。问题是这样的对象通常会忽略所有障碍物,并且更经常在两个位置之间来回移动被卡住。
我意识到 mu 问题可能看起来多么愚蠢,但任何帮助表示赞赏。
最佳答案
以适合您的问题的任何分辨率创建一个假想网格:尽可能粗粒度以获得良好性能,但足够细粒度以找到障碍之间的(理想的)间隙。您的网格也可能与带有障碍物的四叉树相关。
在网格上执行 A*。网格甚至可以预先填充有用的信息,例如接近静态障碍物。一旦沿着网格方块有了一条路径,就将该路径后处理成一系列路径点,只要路径中有拐点。然后沿着航路点之间的线行进。
顺便说一句,您不需要实际距离(参见您提到的勾股定理):A* 可以很好地估计距离。曼哈顿距离是一个受欢迎的选择:|dx| + |dy|
.如果您的网格游戏允许对角移动(或网格是“假的”),只需 max(|dx|, |dy|)
可能就足够了。
关于heuristics - 如何在无网格的二维平面上使用 A* 寻路算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054701/
我有一个非常简单的问题。 我正在研究 8 拼图(8 个数字(从 1 到 8)+ 空白(=0)) 在计算汉明距离(错误位置的数字)和曼哈顿距离(开始和最终位置之间的水平+垂直距离)时,我应该考虑“空白”
如何在没有节点或单元的无网格二维平面上实现 A* 算法?我需要物体绕过目标途中相对较多的静态和移动障碍物。 我当前的实现是在对象周围创建八个点,并将它们视为可能是对象潜在位置的假想相邻正方形的中心。然
我刚刚研究了heuristic functions,但是找不到关于黑白棋启发式函数的想法(Othello),我只需要一个很好的想法来对板的某些状态进行评分 我想到了: 计数移动次数 盘数 并计算转角处
我正在使用这里看到的 A 星算法(取自 http://code.activestate.com/recipes/578919-python-a-pathfinding-with-binary-heap
我正在研究前瞻性规划启发式 hmax、hadd 和 hff,我在网上找到了一些资源,但我真的不明白它们是如何工作的。 到目前为止,我找到的资源如下: http://icaps09.uom.gr/tut
我正在尝试实现 D*-Lite 寻路算法,如 Koenig 和 Likhachev 在 2002 年针对基于网格的导航图的文章中所述。 但我在那篇论文中没有看到任何启发式函数。那么,我应该选择哪些功能
我正在开发一种 A* 算法,旨在解决传教士和食人者问题。我不明白的是启发式算法是如何使搜索的节点数少于 Dikstras 算法的。 我理解程序会根据启发式值+当前值来确定可能的值,从而根据最佳优先进行
This is my project佛罗伦萨大学人工智能类(class)。我必须解决一个经典游戏:带有 8 和 15 格的滑动拼图。这是我对通用图搜索算法的实现: public abstract cl
我有一组 N 个项目,我知道它们之间的距离。每个元素都有成本,我有预算。我应该完成以下任务:假设我将一个项目放入篮子中,篮子中的下一个项目将是与第一个(在预算约束下)距离最大的项目,第三个项目将是距离
我需要一些帮助来为以下问题找到一个好的启发式方法: You are given an R-by-C grid and a six-sided die. Let start and end be two
我正在为国际象棋游戏制作 AI。 到目前为止,我已经成功实现了 Alpha-Beta Pruning Minimax 算法,它看起来像这样(来自维基百科): (* Initial call *) al
git 2.9 版本带有一个实验性差异算法 --compaction-heuristic。我已经设置了 git 和 git gui 来使用它。 但是我不知道如何配置 gitk 来使用这个选项。我知道
我使用 Prolog (Swipl) 实现了 15 拼图游戏。我已经使用曼哈顿启发式实现了 A* 搜索,但现在我需要添加汉明启发式。 你知道如何实现吗? :- op(400,yfx,'@'). res
我正在尝试使事务成为 Spring 集成的整个流程,该流程从一个到 IBM MQ 队列的适配器开始,然后我们有一个带有 ActiveMQ 队列的复杂流程,我得到了一个 com.atomikos。 ic
背景:我目前正在研究原始 A Star 算法的 8 拼图实现,并将其与略微修改的算法进行比较,该算法旨在改进节点扩展(使用附加信息,当然,A Star 在同样知情的单向搜索中具有被证明是最佳的)。节点
http://lab.arc90.com/experiments/readability/是一个非常方便的工具,可以以非常可读的方式查看杂乱的报纸、期刊和博客页面。它通过使用一些启发式方法并查找网页的
我是一名优秀的程序员,十分优秀!