【发布时间】:2016-08-03 10:25:39
【问题描述】:
既然我们期望遗传算法有可行的解决方案,那么遗传算法是否会在每次输入相同的情况下提供不同的输出?
【问题讨论】:
标签: java genetic-algorithm genetic-programming genetic
既然我们期望遗传算法有可行的解决方案,那么遗传算法是否会在每次输入相同的情况下提供不同的输出?
【问题讨论】:
标签: java genetic-algorithm genetic-programming genetic
视情况而定。
GAs 通常用于具有大解空间、复杂收益和局部最小值的复杂问题。在此类问题中,您不会期望在 GA 运行结束时有相同的输出。
另一方面,GA 可以应用于只有一个正确答案的大型问题。在这种情况下,人口可能会聚。
【讨论】:
良好的 GA 实施将支持可重现的结果。这适用于所有元启发式(不仅仅是 GA)。可重现意味着相同的运行将产生相同顺序的同一组新的最佳解决方案事件被发现。根据分配给进程的实际 CPU 时间,迭代次数可能会有所不同,因此它们可能不会以相同的最佳解决方案结束。
在内部,可重现的结果意味着:
在开发过程中,重现性是金子般的重量,用于查找、诊断、调试和修复错误。
在生产中,少数公司将其关闭(以利用诸如窃取工作等性能提升),但大多数企业仍喜欢将其保持打开状态。
【讨论】: