用C

时间:2016-03-29 18:06:53

标签: c genetic-algorithm

我刚刚学习了遗传算法的基本知识(更多介绍)。对于赋值,我们要找到在0 <= x <= 256的区间内使f(x)= sin(x * pi / 256)最大化的x的值。

虽然我了解如何获得个人的健康以及如何使健康正常化,但我在生成人口方面有点迷失。在文中,为了执行交叉和变异,使用8位表示每个人。例如:

189 = 10111101

35 = 00100011

我的问题是:

  1. 使用c,生成人口的最佳方法是什么?我查了一下,我能找到的只是使用uint8_t。我正在考虑将其生成为数组,然后找到一种转换为它的整数表示的方法。

  2. 规范健身有什么用途?

  3. 由于这是我第一次编写使用遗传算法的程序,有什么建议我应该记住吗?
  4. 感谢您的时间。

1 个答案:

答案 0 :(得分:0)

通常的方式是人口是随机的,但如果你有一些初步优化,你可以围绕已有的结果形成人口。

当GA与PSO,模拟退火等等等语言混合时,使用混合算法是很常见的。