这里有一段截取下来的代码它的作用是为A算法提供估计函数。我想知道为何它在常规的曼哈顿距离计算基础上添加了calcuc for c in corners if c != loc loc这一项:def cornersHeuristicstate Any problem CornersProblem A heuristic for the CornersProblem that you
这是因为该算法希望估计函数能够更好地预测从当前状态到达目标状态的距离。在这个问题中,目标状态是所有角落都被访问过的状态。因此,算法需要一个估计函数,可以估计到达所有角落的最短距离。
常规的曼哈顿距离计算方法只考虑当前状态和目标状态之间的距离,但是它没有考虑到当前状态到达目标状态的路径上是否存在其他未访问的角落。因此,该算法添加了一个递归项,以考虑当前状态到达未访问角落的距离,从而更准确地估计到达所有角落的最短距离。
原文地址: http://www.cveoy.top/t/topic/biKz 著作权归作者所有。请勿转载和采集!