C#中的遗传算法?

Pen*_*uen 4 .net c# genetic-algorithm

如何在C#中编写遗传算法?有图书馆吗?像C ++:http//lancet.mit.edu/ga/

Chr*_*s S 5

这听起来像是一个有趣的答案,但是您首先需要确定遗传算法要解决的问题。如前所述,旅行销售人员问题是一个常见的问题,也是学习他们如何工作的一种很好的方式。

我说这是GA最重要的部分之一,它是适应性函数,没有框架可以为您编写。

代码项目文章来自2003年,内容涉及:

  • 健身功能
  • 轮盘偏心轮
  • 突变

易于使用:

GA ga = new GA(crossover rate, 
               mutation rate, 
               population size, 
               number of generations,
               number of parameters for the fitness function);

ga.FitnessFunction = new GAFunction(theActualFunction);
Run Code Online (Sandbox Code Playgroud)

可以将其升级到.NET 3:

ga.FitnessFunction = delegate(double[] values)
{
    return 1.2d;
};
Run Code Online (Sandbox Code Playgroud)

如您所见,适合度函数期望您的基因被表示为双精度值(而不是位字符串)。

但是(这并不排除本文的好处,这很好),只要您知道基本GA的工作原理,您就可以自己编写起来很容易。