在 Russell & Norvig 的书“人工智能:现代方法书”(第 3 版)的第 84 页上,给出了统一成本搜索的伪代码。为了您的方便,我在这里提供了它的屏幕截图。
我无法理解突出显示的行if child.STATE is not in explored **or** frontier then
那不应该是
if child.STATE is not in explored **and** frontier then
这么写,好像是在暗示如果子节点已经探索过了,但是当前不在前沿,那么我们把它加到前沿,但我觉得不太对。如果它已经被探索过,那么这意味着我们之前已经找到了这个节点的最佳路径,不应该再次处理它。我的理解错了吗?
