这算是一个系列吧,遗传算法,神经网络,强化学习,都将慢慢更新;本文是假设你有一定的编程(C#)和Unity基础知识,对于很多操作并不会详细的解释,如果有想一起交流学习的朋友,可以私信我_。
一:下面是人类的DNA结构:
二:假设每一个碱基对都是有意义的,就可以在计算机中映射出如下形式:
很像数组对吗?
没错,但是呢,我们在代码的编写中用到的是列表;因为列表相比数组提供了更多的方法和特性,让我们可以更方便的关注遗传算法的实现。
以下是Array(数组)和ArrayList(列表)的区别:
三:然后我们如何把DNA结构在遗产算法中的应用起来呢,这就用到了达尔文“物竞天择,适者生存”这句名言了。
对应到代码当中去,这些不合适的DNA(列表)理所当然的应该被抛弃,然后对剩下来的比较合格的DNA进行两两进行重组,来产生新的DNA。
废话不多说,让我们进行下一步实战吧。