AI人工智能 遗传算法概述

2020-09-24 14:06 更新

本章详细讨论 AI 的遗传算法。

什么是遗传算法?

遗传算法(GA)是基于自然选择和遗传学概念的基于搜索的算法。遗传算法是称为进化计算的更大分支的一个子集。

GAs 由 John Holland 及其在密歇根大学的学生和同事开发,最着名的是 David E.Goldberg。自那以来,它一直在尝试各种优化问题并取得了很高的成功。

在 GAs 中,我们为给定问题提供了一系列可能的解决方案。这些解决方案然后经历重组和突变(如在自然遗传学中),产生新的儿童,并且该过程在各代重复。每个个体(或候选解决方案)都被分配一个适应值(基于其目标函数值),并且适合者个体被赋予更高的配偶并产生更适合个体的机会。这符合达尔文适者生存理论。

因此,它不断发展更好的个人或解决方案,直到达到停止标准。

遗传算法在本质上具有充分的随机性,但它们比随机局部搜索(我们只是尝试随机解决方案,追踪迄今为止最好的)的性能好得多,因为它们也在利用历史信息。

如何使用遗传算法优化问题?

优化是使设计,状况,资源和系统尽可能有效。 以下框图显示了优化过程 -

img

GA 机制优化过程的阶段

以下是用于优化问题的 GA 机制的一系列步骤。

  • 第1步 - 随机生成初始群体。
  • 第2步 - 选择具有最佳适应值的初始解决方案。
  • 第3步 - 使用变异和交叉算子重组选定的解决方案。
  • 第4步 - 将后代插入群体。
  • 第5步 - 现在,如果停止条件得到满足,则返回具有最佳适应值的解。 否则,请转到第2步。

安装必要的软件包

要在 Python 中使用遗传算法来解决这个问题,我们将使用一个称为 DEAP 的功能强大的 GA 包。 它是用于快速建立原型和测试思想的新型演化计算框架库。在命令提示符下使用以下命令来安装此软件包 -

pip install deap

如果您使用的是anaconda环境,则可以使用以下命令安装 deap -

conda install -c conda-forge deap
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号