关于Anytime算法

时间:2015-08-05 19:32:40

标签: algorithm

我最近了解了任何时候算法,但找不到任何好的解释。

任何人都可以解释任何时候算法及其工作原理吗?

2 个答案:

答案 0 :(得分:4)

传统上,算法是一个过程,当遵循时,最终将停止并返回结果(想想二进制搜索,mergesort,Dijkstra算法等等)。

随时算法是一种算法,它不是产生最终答案,而是不断搜索特定问题的更好和更好的答案。 “随时”方面意味着在任何时间点,您都可以询问算法当前的最佳猜测。

例如,假设您有一些数学函数,并且您想要找到函数获得的最小值。您可以使用许多数值算法来实现这一点 - 梯度下降,牛顿方法等 - 在大多数情况下,从未真正达到最终答案。相反,它们越来越接近真实值。这些算法可以用于任何时间的算法。您可以无限期地运行它们,并且在任何时间点,您都可以询问算法到目前为止它的最佳猜测。

请注意,没有一种称为“随时算法”的算法。它是一类算法,就像没有“随机算法”或没有“近似算法”一样。

希望这有帮助!

答案 1 :(得分:2)

随时算法是一类计算程序,可以计算某些问题的解决方案,并且还需要具有三个技术属性。
(1)它必须是算法,这意味着它可以保证终止 (2)它需要可以随时停止,那时它需要提供问题的答案(将其视为理想解决方案的近似值)。
(3)随着时间的推移越久,停止算法得到的结果均匀且持续更好(即它永远不会出现更糟糕的解决方案,这可能会发生在一些可能会发生振荡的优化过程中偶尔从头开始重启。