1

我有问题要解决,任何建设性的帮助都会很好。

无论如何,我必须制作遗传算法来创建神经网络来解决问题 Ball-and-Beam。我想象的唯一健身功能是设置一些时间(如 3 - 10 秒)并测试人口中的每个单位是否能在船上存活(健身 = t/T ; t - 它存活的时间,T - 总时间),即需要很长时间:(。

模拟看起来像这样

该遗传算法应该为每个隐藏层生成权重、训练系数和神经元数量。大多数情况下我已经完成了其余的事情,但健身是我最大的问题。

感谢帮助 !

4

1 回答 1

0

我认为你在“设定一些时间并测试人口中的每个单位是否能在船上生存”方面是正确的。

我用“桥梁建造者遗传算法”做了类似的事情,在这种情况下我的适应度函数是“建造桥梁,让汽车通过它。汽车的距离和时间是适应度结果”。评估这种适应度函数需要很长时间,因此您可以尝试一些方法来使其更快:

  • 并行性:我想你的遗传算法支持并行评估染色体的适应度,如果它支持你可以同时运行尽可能多的球和光束模拟。在桥梁建造者健身功能的情况下,我同时测试了大约 100 座桥梁。
  • 物理引擎的时间尺度:如果你使用物理引擎来执行你的模拟,也许你可以改变它的时间尺度。尝试将时间刻度更改为 0.5 或更小。结果可能不像正常时间尺度那样完美,但可以接受创建您的神经网络。

我不知道您使用什么语言来构建您的遗传算法,如果您使用的是 C#,您可以尝试使用GeneticSharp。我用它来创建具有并行适应度函数评估的桥梁构建器遗传算法。

于 2016-05-31T12:02:03.580 回答