返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

48.2. 基因算法

发布于 2019-09-30 03:13:46 字数 1579 浏览 910 评论 0 收藏 0

基因算法(GA)是一种启发式的优化法,它是通过不确定的随机搜索进行操作。优化问题的可能解的集合被认为是个体组成的种群。一个个体对它的环境的适应程度由它的适应性表示。

一个个体在搜索空间里的参照物用染色体表示(实际上是一套字符串)。一个基因是染色体的一个片段,基因是被优化的单个参数的编码。对一个基因的典型的编码可以是二进制整数

通过仿真进化过程的重组变异选择找到新一代的搜索点,它们的平均适应性要比它们的祖先好。

根据 comp.ai.genetic FAQ,不论怎么强调 GA 在解决一个问题时不是纯随机搜索都不过份。GA 使用随机处理,但是结果明显不是随机的(比随机更好)。

Figure 48-1. 基因算法的结构化框图

P(t)时刻 t 的父代
P''(t)时刻 t 的子代
+=========================================+
|>>>>>>>>>>>  Algorithm GA  <<<<<<<<<<<<<<|
+=========================================+
| INITIALIZE t := 0                       |
+=========================================+
| INITIALIZE P(t)                         |
+=========================================+
| evaluate FITNESS of P(t)                |
+=========================================+
| while not STOPPING CRITERION do         |
|   +-------------------------------------+
|   | P'(t)  := RECOMBINATION{P(t)}       |
|   +-------------------------------------+
|   | P''(t) := MUTATION{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := SELECTION{P''(t) + P(t)}  |
|   +-------------------------------------+
|   | evaluate FITNESS of P''(t)          |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文