MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 智能算法 > 改进A*算法

改进A*算法

资 源 简 介

所有步骤放在一起: 把起点加入 open list 。 重复如下过程: a. 遍历 open list ,查找 F 值最小的节点,把它作为当前要处理的节点。 b. 把这个节点移到 close list 。 c. 对当前方格的 8 个相邻方格的每一个方格? ◆ 如果它是不可抵达的或者它在 close list 中,忽略它。否则,做如下操作。 ◆ 如果它不在 open list 中,把它加入 open list ,并且把当前方格设置为它的父亲,记录该方格的 F , G

详 情 说 明

所有步骤放在一起:

首先,将起点加入到open list中。

然后重复以下过程:

a. 遍历open list,查找F值最小的节点,并将其作为当前要处理的节点。

b. 将这个节点移动到close list中。

c. 对当前方格的8个相邻方格中的每一个方格进行以下操作:

- 如果该方格是不可到达的或者已经在close list中,则忽略它。

- 否则,将该方格加入到open list中,并将当前方格设置为其父节点,记录该方格的F、G和H值。

- 如果该方格已经在open list中,检查经由当前方格到达它的路径是否更好,以G值作为参考。较小的G值表示这是一条更好的路径。如果是这样,将其父节点设置为当前方格,并重新计算其G和F值。如果open list按照F值排序,可能需要重新排序。

d. 当满足以下条件时停止:

- 将终点加入到open list中,此时路径已经找到。

- 查找终点失败,并且open list为空,此时没有路径可达。

3. 保存路径。从终点开始,沿着父节点移动每个方格,直到达到起点,这就是你的路径。