optimization - 优化遗传算法?

标签 optimization artificial-intelligence genetic-algorithm

我一直在玩遗传算法的并行处理以提高性能,但我想知道还有哪些其他常用技术可以优化遗传算法?

最佳答案

由于适应度值经常被重新计算(种群的多样性随着算法的运行而降低),提高 GA 性能的一个好策略是减少计算适应度所需的时间。

细节取决于实现,但以前计算的适应度值通常可以
用哈希表有效地保存。这种优化可以显着减少计算时间(例如 "IMPROVING GENETIC ALGORITHMS PERFORMANCE BY HASHING FITNESS VALUES" - RICHARD J. POVINELLI, XIN FENG 报告说,将哈希应用于 GA 可以将复杂的现实世界问题的性能提高 50% 以上)。

一个关键点是冲突管理:您可以简单地覆盖哈希表的现有元素或采用某种方案(例如线性探针)。

在后一种情况下,随着冲突的增加,哈希表的效率会降低到线性搜索的效率。当累积冲突次数超过哈希表的大小时,应执行重新哈希:您必须创建一个更大的哈希表并将元素从较小的哈希表复制到较大的哈希表。

复制步骤可以省略:多样性随着 GA 运行而降低,因此许多被淘汰的元素将不会被使用,并且最常用的染色体值将被快速重新计算(哈希表将再次用最常用的关键元素填充值)。

关于optimization - 优化遗传算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27569620/

相关文章:

python - 在OCR python中占 'i'和 'j'点

machine-learning - 除了贝叶斯方法之外,机器学习中的其他主要方法/范式是什么?

python - 我的 Neuroevolution of Augmenting Topologies 实现无法解决 XOR 问题

java - AI 如何为战舰建模遗传编程

algorithm - 井字棋牌算法

.net - 用于 .NET 的良好遗传算法 (GA) 或粒子群优化 (PSO) 框架是什么?

MySQL 索引大于存储的数据

algorithm - 以最小偏差匹配曲线的比例因子

sql - django对象...values()仅选择一些字段

java - 如何或可以概括多个 JButton 的 If 语句(颜色更改)?