最优算法可以不完整吗?

时间:2018-02-16 12:49:59

标签: algorithm

完整的算法是一种算法,如果有的话可以找到解决方案。 最优算法是一种算法,它返回的任何解决方案都是最优的,换句话说,没有比返回的解决方案更好的解决方案。

这意味着最优性基于完整性,对吧? 这意味着算法不能是最优的但不是完整的。或者我弄错了?

3 个答案:

答案 0 :(得分:4)

始终不返回任何内容的算法是最优的,但根本不完整。

答案 1 :(得分:2)

不,最优性不是基于完整性:

想象一个完整的算法,如果存在一系列问题和找到最优解的最优算法,则找到解决方案。现在,完整的算法找到了家庭所有问题的解决方案。然而,最优算法可能只能解决一个特定的家庭问题。

换句话说:最优算法无法保证他能解决多少问题。

例如,如果您的算法会乘以两个数字。现在,您的完整算法将为您可能想要乘以的每个a和b返回一个答案。

您的最佳算法现在可以为a和b的两个特定值计算最优解决方案,并且不会为所有其他值返回任何解决方案。

答案 2 :(得分:0)

最优算法的存在基于以下事实:如果存在,则该算法找到了最优解。因此,最佳算法必须是完整的。 See here用于已包含答案的帖子。