在旅行商问题中,这个家伙需要去N个城市,他并不关心订单,但他关心总距离。
假设城市在圈中的位置,其中所有城市之间的距离相等,并且放置在两条平行线上比沿线城市更近一些。
作者声称,Best-First Search算法运行良好 圆圈,但不是在两条平行线的情况下,它将失败 找到最好的解决方案,因为这个策略将使它成为曲折的 一条线到另一条线,而完美的解决方案是一个矩形。在 这个具体的例子,获胜策略在于尝试 每个分支的2个最佳城市。
我真的不明白它为什么会失败,为什么算法首先会出现问题?为什么它会在圆圈的情况下正常运作。
答案 0 :(得分:1)
Best-First Search的原因还在于找到矩形的最佳解决方案。但这需要很长时间,因为在找到最佳解决方案之前会找到很多不好的解决方案。
在圆圈上,Best-First Search首先找到的解决方案是最佳解决方案。因为四处走动是最好的解决方案。如果你总是拿最近的其他点,你将永远不会穿过圆圈的内部,这不是最佳的。