人工生命 v2.0.0 发布,给青蛙添个眼睛

yong9981
 yong9981
发布于 2019年06月13日
收藏 43

Frog | 人工生命
https://gitee.com/drinkjava2/frog

这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体,技术架构基于02年提出的 一个人工脑模型。 这个项目永远没有结束的时候,开始于模拟一个简单的生命体,然后是青蛙、狗......, 结束于有“自我意识表现”的人工脑。

本次更新内容为几个提交内容的总和,因为这个项目本身的特点,决定了它不可能是个“有用”的程序,就好象你如果真的拿到一只青蛙,也不知道能用它来干什么,所以我也不知道什么时候该发布更新资迅。只好将几次更新累积在一起发。但这个项目足够有趣,对神经网络、人工智能感兴趣的同学们可以看一看。自从上个版本“第一个人工生命诞生”后,目前主要改动是给青蛙加了个眼睛,但非常简陋,指望青蛙进化出一双炯炯有神大眼睛的同学们可能要失望了。以下为更新内容流水账:

2019.03.11 虚拟环境已建好,可以模拟低等生命的遗传、繁殖、变异、进化现象,但目前只能往一个方向运动,相当于一个最简单的单细胞生物,还不具备视觉能力,不具备主动找食能力。
运行run.bat可以查看演示(需要安装Java8和Maven)。Env.java中的几个重要参数说明:

  • SHOW_SPEED: 调整实验的速度(1~1000),值越小则越慢。
  • ENV_WIDTH: 虚拟环境的大小(100~1000)
  • EGG_QTY: 每次允许Frog下多少个蛋,每个蛋可以孵出4个青蛙。通常下蛋取值在10~1000之间。蛋保存着我们测试的结果。实验的最终目标就是获得一个蛋。
  • FOOD_QTY:食物的数量,食物越多,则Frog的生存率就越高,能量排名靠前的一批Frog可以下蛋,其余的被淘汰。
    下面是这个测试的动画截图,有兴趣的可以试着自己运行一下:
    result1
    另外每步演示的结果(egg)会存盘在根目根目录下,名为egg.ser,可以删除这个文件以从头开始新的测试。因为还没涉及脑模型的搭建,可以看到有些青蛙跑得飞快,这是自然选择的结果,因为跑在最前面的吃得多。 
    2019.03.21 添加了脑图,改进随机运动模式为Hungry区驱动。从脑图上可以直观地观察脑结构,方便调试。 
    2019.04.01 改进脑图的显示bug, 每一次生成Frog时添加随机神经元,并简单实现"卵+精子->受精卵"算法,以促进种群多样性。 
    2019-04-12 添加一个简单的眼睛(只有四个感光细胞),自然选择的结果是眼睛被选中,但是和运动区短路了,谈不上智能。但有眼睛后找食效率明显提高了,见下图:
    resut2
    2019-06-13 做了一些重构清理,加上了Happy和Pain两个器官,分别对应进食奖励和痛苦感,后者在靠近边界时激发。观查它的表现,痛苦感生效了,一些Frog跑到边界后就不再前进,而是顺着边界溜下去了,但是Happy器官没有生效,这也很显然,因为Happy属于复杂的进食条件反射链的一部分,在没有记忆器官(算法)引入之前,再怎么优胜劣汰也是没办法用上进食奖励信号的。见下图: 
    resut3

版权 | License

Apache 2.0

期望 | Futures

欢迎发issue提出更好的意见或加入开发组,尤其欢迎能接触到超级计算机的同学加入,随着虚拟环境的复杂度和神经元数量增多,对电脑速度要求会越来越高。

关注我 | About Me

Github
码云

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.aercaste.com]
本文标题:人工生命 v2.0.0 发布,给青蛙添个眼睛
加载中

精彩评论

muwanqing123
muwanqing123
这个比红薯还智能?
宇润
宇润
暴力??不可取
白菜粉条炖猪蹄儿
看不懂。但是感觉很nb。。。。
江格尔
江格尔
我认为是开源中国最ai的项目
RGW
RGW
青蛙发现自己在虚拟环境中运行,Sad

最新评论(23

s
sytcun2
咱也看不懂,咱也不敢问,就是觉得挺牛逼的样子
RGW
RGW
青蛙发现自己在虚拟环境中运行,Sad
glassfunct
glassfunct
嚯!
针叶
针叶
虽然很暴力,但是感觉很有趣。
sjz子游
sjz子游
赞你的坚持!!
h
heike07
貌似去年还是前年你好像发布了一个老版本。
yong9981
yong9981
嗯,大家都看不懂就对了,因为我也不懂,这叫盲人骑瞎马,走一步是一步。
移动设备JAVA代码搬砖侠
移动设备JAVA代码搬砖侠
感觉很牛逼的样子
子杨
子杨
咱也看不懂,咱也不敢问,就是觉得挺牛逼的样子
返回顶部
顶部