我正在使用unifrom成本搜索算法。我的解决方案比实际大一点。扩展节点的数量将大于实际数量。
我使用了这个算法:
获取初始节点并将其放入优先级队列.P.queue本身将根据成本排列其中的节点。低成本节点将首先出现。
使用while循环,直到队列为空。
从队列中删除节点并检查它是否是目标状态。如果没有,检查它是否在访问列表中。访问列表是一个包含已经扩展的所有节点的集合。如果没有出现在访问列表中,请获取其继承者以及成本和行动。
计算此节点的成本。
如果成功者的成本大于父节点的成本,请将其添加到队列中并检查此后继者是否在父目录中。如果没有,请让他成为一个pparent,以便我们可以回溯路径。
我的算法是对的还是我需要检查别的东西: