SR 和 AES 之间的区别

Difference between SR and AES

我想使用 SR(成功率)和 AES(解决方案的平均评估次数)比较两个 "Evolution Startegies"。我不确定 "AES" 是如何工作的...

比方说,我有 10 运行 的算法,最佳值是 0.0:

Run 1: 0.1
Run 2: 0.8
Run 3: NAN
Run 4: 1.5
Run 5: 0.4
Run 6: 0.3
Run 7: NAN
Run 8: 1.9
Run 9: 1.1
Run 10: 0.5

我了解到如果我选择极限1.0,成功率为:5/10。

问题:

1- SR值对吗?

2- AES 的价值是多少?

3- 我是否必须对 SR 和 AES 使用相同的限制值(在此示例中为 1.0)?

4- 要计算 AES,我是否需要知道在每个 运行 的哪次迭代中该值低于 1.0(例如)?你能举个例子吗?

提前致谢

成功率是指特定算法达到预期准确度的运行个数与运行个总数的比值。代表着: SR =(成功的数量 runs/total 个 运行 个)。为此,您首先需要确定错误阈值。这个阈值取决于问题的难易程度。在 Kordestani、J.K.、A.Ahmadi 和 M.R.Meybodi 中可以找到一个例子。 2014.“一种改进的差分进化算法使用学习 自动机和种群拓扑。” Applied Intelligence 41 (4): 1150–1169.,其中 1e-10 被认为是一些易于优化的函数的预期精度,1e-6 和 1e-2 被认为是一些较难的函数。 解决方案的平均评估次数是为达到所考虑的准确度所花费的评估次数,这些评估是在各种 运行 上取平均值。以下是进一步检查 SR 和 AES 的示例。 假设我们 运行 一个优化数学函数的算法 5 次(至少应该执行 30 次才能得出关于不同论文中建议的不同算法性能的结论,但是为了举例,我们考虑 5 运行s)。此外,终止条件是达到 10000 次函数评估。以下分别是找到最佳解的误差(err),成功运行(ea),以及算法达到预期精度的评价数(FE)。

run     err     ea     FE     Successful run
1     1.35e-3  1e-2    8800      YES
2     1.05e-1  1e-2    -          NO
3     2.95e-4  1e-2    6000      YES
4     5.55e-8  1e-2    4200      YES
5     9.98e-0  1e-2    -         NO

考虑到上述 table,SR = (3/5) = 0.6 或 60%。 成功 运行s 的 AES 也计算为 (8800+6000+4200)/3