适用于多变环境的路径查找算法

问题描述:

我无法适应A *算法来处理变化的环境。作为最小的例子,考虑这个流氓般的地图:适用于多变环境的路径查找算法

###### 
#! # 
### # 
#S # 
##+### 
##F### 
###### 

的目标是得到SF,但为了做到这一点的球员必须踩!开门。我遇到的问题是,在A *中,一旦访问了一个网格点,它将变为“关闭”并且不能重新进入。我如何修改算法来解决这个难题?

+0

玩家*知道*按下那个'!'是否打开了门'+'?因为如果有多个交换机没有指示它们打开哪扇门,则A *假设全部信息失败,并且该算法无法解决问题。 (另外,香草A *在处理迷宫方面非常糟糕。) – 2012-07-14 19:45:03

在你的问题中,在A *中当你访问一个点(x,y线)时,你不会再访问同一个点。

原因是,在你的问题中,状态是在网格中的位置以及每个门的状态(打开或关闭)。 所以在开始时,在你的例子中,初始状态是(3,1,{false})。 (错误意味着门已关闭)。

当您到达'!'位置,新状态将为(1,1,{true}),所以现在当你到达门时,你将通过门。

您可以运行两次A *:

  1. 首先找到最短路径开关(!),其中门就像是 墙
  2. 然后找到最短路径,从交换机上,在那里结束门 是空白的瓷砖。

最短路径将是这两条路径的组合。

+0

+1这就是如何使用路标完成寻路。 – 2012-07-15 20:21:37