创建虚拟生物第五部分

5行为选择
在这个工作中,通过为一个特定的任务或者是行为进行优化,进化了虚拟生物
一个生物能按照之前解释的基因描述进行生长,然后它被放在一个动态的模拟的
虚拟世界中。大脑提供了执行器的生物运动部分的力,传感器报告的世界与
生物体的情况,被反馈回大脑,生物的物理行为的结果被评估。一个特定的虚拟
时间间隔之后(可能是10秒),给那个相对应的行为的成功级别赋一个适合度
的值。如果一个生物相对于生物群中的其它生物有高的适应度,它能被选择生存
下来,并且按下一部分的描述进行繁殖。

对于适应度评估,生物被模拟之前,要执行一些简单的检测,不适合的生物
通过给它们0适应度的方式,把它们从群体中移除。那些身体部分超过一定
数量的生物也被移除了。一个基因型的子集将生成生物,这生物它的部分初
始化时是重叠在一起的。一个简短的碰撞检测和碰撞响应的模拟将试图排除
任何重叠的部分,但是那些始终保持重叠的生物也被丢弃了。

对于大部分的适应方法而言,通过离散的个体的模拟被预测为不利于下一代的
生存,计算能被保存下来。对于每一个模拟的进行,适应度被周期性的评估。
如果它们根本没有移动或者是做了一些比之前的个体的最小适应度更差的行为,
计算适应度被停下来了。

为了执行虚拟生物的进化,能够使用许多不同类型的适应度的量度。适应度
的方法的四个例子,在这里描述一下。

5.1 游泳
通过取消重力和添加有粘性的水阻力效应,实现了一个水环境的物理模拟
游泳速度被作为适应度的值,并且它被度量以每单位时间生物的重心移动的
距离。通过使用从重心的初始位置的最大距离,直线的游泳比转圈更受鼓励。
通过给出测试的最后阶段的速度,持续的运动比仅靠单一初始推力的运动
更受鼓励。


5.2 行走
这里术语行走被宽泛地使用,以展示陆路上的运动的任何形式。通过
包括重力,取消粘性的水效应,加一个静态的地面摩擦力,来模拟陆路。
为了更加复杂的环境,附加的不动的物体被放置到这个虚拟世界中。此外
速度是作为选择标准的,但是竖直方向上的速度被忽略。

对于陆地环境,通过简单的自由落体生成一个很快的速度,阻止生物的
这种高速度是很必要的。通过首先运行没有摩擦力和没有执行器的力的模拟
直到重心的高度达到一个稳定的很小的值,来实现。

5.3 跳跃
通过度量生物的最低的部分离开地面的最大高度,来选择跳跃行为。
一个可用的方法是在模拟期间,使用生物的最低部分的平均高度。

5.4 跟随
为了生物能够适应性地跟随一个光源,选择使用另一个评估方法。照相
传感器被启用,所以执行器输出的力和结果性的行为依赖于一个光源到
生物的相对方向。运行一些实验,以不同的位置的光源,一个生物移向
光源的速度的平均值作为适应度的值。在水环境与陆地环境下,跟随行为
都能进化。

以相似的方式也可能生成排斥性的生物,通过简单地为一个生物的照相
传感器的信号取负值,把跟随行为转换成排斥行为。

一旦生物被发现,它们能展示出成功的跟随行为,它们就能够以光源的
运动,在一条随意的路径上跟随了。

发布了108 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/105374327
今日推荐