如何在C#中编写遗传算法?有图书馆吗?像C ++:http://lancet.mit.edu/ga/
答案 0 :(得分:4)
这可能听起来像一个滑稽的答案,但您首先要确定您希望遗传算法解决的问题。如上所述,旅行销售人员问题是一个常见问题,也是学习它们如何运作的一种相当好的方式。
我说这是GA中最重要的部分之一就是健身功能,没有框架可以为你写。
2003年的codeproject article确实涵盖了:
它易于使用:
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);
这可以升级到.NET 3:
ga.FitnessFunction = delegate(double[] values)
{
return 1.2d;
};
正如您所看到的,适用于此的适应度函数需要将基因表示为双精度值(而不是例如位串)。
然而(这并不是解读文章,这很好),你可以很容易地自己写这篇文章,让你知道基本的GAs是如何工作的。
答案 1 :(得分:1)
有一个很好的框架“AForge.NET Genetics”,它不仅可以提供您在codeproject上找到的“hello world”示例。 查看重复的帖子Genetic Programming in C#
答案 2 :(得分:0)
您可以在CodeProject上找到C#的一些遗传算法信息。
答案 3 :(得分:0)
我在C#中开发了一个简单的GA展示项目。这是遗传算法的世界,我在一组接口上构建了这个例子,这些接口通常足以用作开发遗传算法的模式。
您可以在the github page上找到代码和文档(包括Enterprise Architect文档,包括设计图)。您还可以download可执行文件以查看其实际效果。
希望它有所帮助。