用于快速算法的基准测试,其任务是函数最小化

时间:2016-02-16 16:22:06

标签: algorithm optimization benchmarking minimization

是否有一组测试函数来测量给定算法的性能(在速度方面,可能与准确性折衷),其任务是在给定的时间间隔内找到实值函数的全局最小值?最终:这个问题是一个开放的问题,还是存在一个理论上最好的算法来完成这样的任务?

编辑:对该功能没有任何限制,除此之外它应该是有限的。

2 个答案:

答案 0 :(得分:1)

在评估f(x)的每个点上取一个0的函数,c表示未知的c>对于你不评估f(x)的每个点都为0。如果你想要它是连续的,那么如果x在a和b之间,其中a和b是你评估f(a)和f(b)的相邻点,那么f从f(a)= 0线性变为f( (a + b)/ 2)= c并且反向线性到f(b)= 0。

显然,每次评估f(x)时,都会得到零。由于您从未评估过任何其他内容,因此您的算法无法得出全局最大值为零的结论 - 这是错误的。

答案 1 :(得分:1)

除了有界性之外,对函数没有限制,似乎总是找不到它的全局最小值,更不用说在合理的时间内了。

考虑在[0..1]上定义的实值函数族:

f (x0) = y0
f (x)  = 0    for all other x in [0..1]

对于任何固定的x0 in [0..1]y0 < 0,最低值为x0。 但是,任何没有x0先验知识的算法都很难找到它。