1、示例说明
前几天记了一下遗传算法的基本概念,我们知道,遗传算法就是模拟达尔文生物进化论而提出来的算法。这里提供一个遗传算法使用的简单示例,在这个示例中,有一条吃老鼠的蛇,这条蛇只吃体型较小的老鼠,老鼠种群经过N代繁殖,经历了物竞天择、适者生存的自然法则,最后基本都进化成了体型很大的老鼠,蛇吃不了它们,当然也有少数基因突变的老鼠体型还是很小,依然躲不过被蛇吃的命运。下面在unity中简单实现一下它:
![2a7c302626b3f07ad01487a6e39519de.png](https://i-blog.csdnimg.cn/blog_migrate/e0029a71da7cf5726fed984b592b7cd6.jpeg)
2、定义老鼠个体类
using System.Collections;using System.Collections.Generic;using UnityEngine;public class RatItem : MonoBehaviour { public float size = 1;//大小 public float survivalTime = 8;//存活时间 //被蛇吃 public void Dead() { survivalTime = Population.timeCount; gameObject.SetActive(false); } }
3、定义老鼠种群管理类
using System.Collections;using System.Collections.Generic;using System.Linq;u