algorithm - 在迷宫中广度优先搜索,我如何计算状态?

标签 algorithm artificial-intelligence

我很困惑如何为迷宫编写 BFS 算法,

我知道我需要一个队列,但我的问题是如何生成状态?

例如,迷宫包含一个机器人和洞,以及积木

让以下是初始状态:

R BBB
   H 
   H 

  B G 

空间是空单元格(机器人可以穿过) B 是 block ,H 是孔,

我的问题是,要使用 BFS,我需要一个图(或相应的树)

但我不知道如何生成这些状态?

为了清除我的问题,让上面的初始状态为状态 A

我怎样才能找到状态 B、C、D ......等等?

应用BFS算法

我希望问题很清楚,

谢谢大家

最佳答案

如果迷宫是一个网格,那么状态就是一对两个数字:行索引和列索引。 (r, c) 的邻居是 (r-1, c), (r, c-1), (r, c+1), (r+1, c)。您可以维护一个配对队列以在您的迷宫中运行广度优先搜索。

关于algorithm - 在迷宫中广度优先搜索,我如何计算状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854810/

相关文章:

python - 如何使用两个特征向量训练 svm?

arrays - 如何找到最大长度子序列的最大和

algorithm - 如何使用动态规划确定最长的递增子序列?

machine-learning - 如何处理不代表数量的数字

java - 允许测试人工智能算法的游戏

artificial-intelligence - Spotify web api 播放播放列表

artificial-intelligence - "Monte-Carlo Tree Search"可以像 Stratego 一样应用于 "two player game with imperfect information"吗?

java - 国际象棋中达到目标的最少步数 - 使用 BFS 进行马遍历

algorithm - 计算距值集最大距离处的值

php - 文本比较