遗传算法之DNA的数据结构

这算是一个系列吧,遗传算法,神经网络,强化学习,都将慢慢更新;本文是假设你有一定的编程(C#)和Unity基础知识,对于很多操作并不会详细的解释,如果有想一起交流学习的朋友,可以私信我_

一:下面是人类的DNA结构:

遗传算法之DNA的数据结构_第1张图片
人类的DNA结构.png

二:假设每一个碱基对都是有意义的,就可以在计算机中映射出如下形式:


映射后的DNA结构.png

很像数组对吗?

没错,但是呢,我们在代码的编写中用到的是列表;因为列表相比数组提供了更多的方法和特性,让我们可以更方便的关注遗传算法的实现。
以下是Array(数组)和ArrayList(列表)的区别:


遗传算法之DNA的数据结构_第2张图片
数组和列表的区别.png

三:然后我们如何把DNA结构在遗产算法中的应用起来呢,这就用到了达尔文“物竞天择,适者生存”这句名言了。

遗传算法之DNA的数据结构_第3张图片
物竞天择适者生存.png

对应到代码当中去,这些不合适的DNA(列表)理所当然的应该被抛弃,然后对剩下来的比较合格的DNA进行两两进行重组,来产生新的DNA。
废话不多说,让我们进行下一步实战吧。

你可能感兴趣的:(遗传算法之DNA的数据结构)