我读过很多教程,论文,我理解了遗传算法的概念,但是我有一些问题要在Matlab中实现。
总括而言,我有:
我所做的:
我所面临的困难:
发布于 2013-10-07 07:43:05
一般情况下,遗传算法是用来寻找一个很好的解决问题的一个巨大的搜索空间,在那里找到一个绝对的解是非常困难或不可能的。很明显,我不知道你的值的范围,但是由于你只有三个基因,很有可能通过遗传算法(或者更简单的搜索策略)找到一个很好的解决方案,而不需要任何额外的运算符。种群中的所有染色体通常都进行选择和杂交(尽管从每一代人身上携带一些最好的东西并不少见)。一般的想法是,更适合的染色体更有可能被选择和相互交叉。
变异通常用于阻止遗传算法过早收敛于非最优解.你应该在没有突变的情况下分析结果,看看是否需要。突变通常是在整个种群上进行的,每一代都是如此,但概率很小。让每一个基因都有0.05%的几率发生变异,这并不罕见。你通常想给一个小的机会突变,而不是它完全超过选择和交叉的结果。
正如人们所建议的那样,我会对遗传算法做一个简单的背景阅读,以便更好地理解它的概念。
发布于 2019-09-26 12:26:24
分享一些建议,从‘实用神经网络食谱在C++’的书.为您的第一个epoc提供一个大得多的人口是一个好主意,然后您可能会包含一些特性,这些特性将有助于一个可接受的解决方案。以后,可以拥有较少人口的epocs将调整、合并或淘汰这些有利的特征。
手册-多父母-Eiben似乎表明四位父母比两位更好。然而,床制造商还没有意识到这一点,似乎只生产单人床和双人床。
https://stackoverflow.com/questions/19203425
复制相似问题