我正在研究各种AI算法。
Greedy最好的第一次搜索如何使用启发式来限制其对网格的探索,而不是探索完整的网格,直到找到目标点?
启发式输出没有与任何设定值共存,所以恕我直言,它必须探索完整的网格,直到它找到目标,但行为是另外的,我知道我在这里显然是错的。
此代码来自redblobgames.com
启发式使用曼哈顿距离。
frontier.put(start, 0)
came_from = {}
came_from[start] = None
while not frontier.empty():
current = frontier.get()
if current == goal:
break
for next in graph.neighbors(current):
if next not in came_from:
priority = heuristic(goal, next)
frontier.put(next, priority)
came_from[next] = current