Evolutionary Floys

个体类型说明

原始个体 - 未变异
入侵者 - 攻击性个体
复活者 - 能量耗尽重生
变异体 - 经过基因变异
代数
0
步数
0
种群大小
50
入侵者
0
平均适应度
0

属性设置

基本属性

5 100 50
1 10 5
0.1 2 0.3
50 500 200

进化参数

0 0.2 0.1
0 1 1
0 10 1
0 10 1
10 200 50

种群信息

帮助说明

按钮功能 - 底端按钮

重新开始: 重新开始一代Floys并且给每只Floy赋予缺省的个性

突变洗牌: 让一代的个体的特性分散度更高,这样会引起更多的变异从而引起更多的多样性

繁殖: 创造新的一代,并且每个子孙都是以当前这代作为父母

开始进化: 开始或者终止进化的进程,并且繁殖在每只异己被杀死后都进行

投放入侵者: 释放一个红色的入侵者进入领土,使得当前的这些Floy们会追逐并进攻它

属性说明

基本属性: 主要的行为属性,受遗传操作(交叉、变异)影响

进化参数: 控制进化过程的参数

基本特征

最大速度: Floy可以到达的最大速度

加速度: 反映各种输入的基本加速度

碰撞距离: Floy可以接触到另一只的碰撞距离

进化参数

变异率: 被变异操作改变基因的概率

交叉率: 被交叉操作改变基因的概率

能量权重: 在适应度函数中能量项的权重

安全权重: 在适应度函数中安全性的权重因子

入侵者生命: 当一个入侵者诞生的时候赋予它的能量

快捷键

空格键: 暂停/继续

R键: 重新开始

S键: 添加入侵者

E键: 开始/停止进化

Floy的行为规则

Floy的本能行为

Floy的行为受两条规则的控制:

1. 一条规则制订了它是如何与同类交互的

2. 一条规则限制了它如何应对异类

如何应付自己的同类:

找出两个你身边的同类尽量去靠近但也不要靠得太近

如何应付异类:

如果在你的疆土里面:

如果你发现了一个入侵者就尾随它直到足够靠近了就进攻!

如果你不在自己的疆土里:

如果本土的Floy追逐你了你就赶快逃跑

奖赏或惩罚规则

(适应度函数是能量值与安全度的加权平均值)

打击入侵者: 能量值增加

被本地的floy袭击了: 能量值减少

与邻居尽量保持接近: 安全度增加

如何使用本程序

1. 调整整体的移动速度

开始的移动应该尽量的光滑平静,多次点击减速或者加速来使得整体移动得尽量平缓

2. 关于每一代的操作

加入一个入侵者,观察其它的本地居民是如何追逐进攻它的

可怜的入侵者的叫喊声意味着它被干掉了

点击'编辑属性'按钮来修改环境或者特征

3. 关于进化的操作

定义适应度函数:点击'编辑属性'来分配能量值和安全度的权重

如果能量权重更高那么就意味着floy的进化朝着更勇敢更敏捷的方向进行

如果安全权重越高就意味着进化朝向floy们更加的谨慎并且更加的抱团的方向进行

开始一个多样化随机化新代:点击'突变洗牌'多次,每一次都能够使得每一代更加多样化

点击'开始进化'

预设模式