萌芽生活是复杂生活演变的模型。它延伸了康威的生活游戏,它以栩栩如生的模式出现,从简单的规则中出现。萌芽生活进一步迈出了这一步,创造了复制,突变和发展的模式。
启用再现自发地导致更先进的行为。幸存的生物开始竞争空间并与他们的兄弟姐妹在战斗形成中对齐。
在桌面上运行萌芽生活,发生手表演变。保存和加载生物基因组,并在剩余的生物之间创建战斗。
通过在桌面上打开文件,或使用以下命令行来运行sproutlife.jar:
集体行为,不仅仅是个人健身 - 萌芽生活是独特的模型集体行为的演变。蜂窝自动机模式是脆弱的,对破坏敏感。为了使有机体成功,它需要成为其后代,父母和亲戚的好邻居。生物体通过形成图案来生存并竞争,并且转化这些图案本身竞争并结合到更复杂的结构中。
丰富的隐喻来源 - 进化是一个丰富的隐喻来源。除了生物学之外,新突变成功之间存在强大的相似之处,以及初创世界中的新想法的成功。甚至可能是股票市场的政治革命或繁荣和胸部周期的现象,可以通过建模潮流和进化流程来揭示它们。
用于速度 - 速度是模拟演化的本质。理想是真正地展开一个美丽的故事。蜂窝自动机完美地设计用于计算机的快速计算。获得下一个州的游戏几乎就像添加两个二进制数字一样。这是计算机的做法。通过计算机作为我们的车辆,我们可以探索蜂窝自动机的不断变化的世界,并从我们的发现中学习。
对GOL规则的轻微变化允许萌芽生活中的生物来繁殖,突变和发展。
如果在&#34中,豆芽寿命中的细胞仅被视为细胞;活着的"状态。 Conway'生活游戏(GOL)使用术语"死亡"细胞指的是空坐标。萌芽生活只是认为这是空的空间。
种子 - 种子是我们用新细胞替代的细胞集合。静态2x2块模式是种子的自然选择,因为在典型的游戏期间产生了许多这些块。其他小型模式在某些情况下也是更好的。
萌芽 - 萌芽是一种取代种子的模式。 R-Pentomino是一种自然选择,因为它很小并且产生了大量的生长。
生物 - 生物是细胞的集合。生物开始作为萌芽的生命,并且从这种模式生长的每个细胞都成为生物体的一部分。将稍后讨论不同生物体细胞之间的碰撞。
繁殖 - 来自父母豆芽的种子成为新的儿童生物。我们知道每个孩子的父母的身份。因此,我们可以支持继承,其中基因从父母传递给孩子。现在,每个有机体都有一个父母。由于父母和其他生物之间的接触,也可以容易地添加性繁殖。
自我施加的寿命 - 事实证明,拥有旧的生物体自我毁灭对他们的孩子有益。从董事会中删除所有父母'他的孩子和后代的房间为增长。新的生物体以可预测的模式发展,允许出现稳定性,而旧的生物体因碰撞和突变而受损。令人兴奋的是,让生物控制自己的寿命不会导致逃跑增长。生物往往很喜欢很小。最大寿命被编码为可以从生成产生的整数值。
突变 - 有很多方法可以实施遗传密码和突变。工作良好的选项是具有突变是一对(x,y)坐标,以及每个坐标的时间值((x,y),t)。如果在年龄t,有机体具有突变((x,y),t)并且它在坐标(x,y)处具有活细胞,然后杀死该细胞。关闭细胞改变有机体如何从该点生长。
基因组 - 突变的集合构成有机体' s基因组。可以将突变添加到生物体中,或除去的基因组或除去的现有突变。我们在有机生命中随机的机会这样做。突变必须在所有条件下有益。例如,第一个孩子和第二个孩子在不同的时间出生,不同的周围细胞配置。在我们的情况下,他们都遵循相同的遗传蓝图,即使它诱人会考虑出生命。
可视化基因组 - 幸运的事故导致了一种美丽的方式来显示生物' s基因组。 GIF中的眼睛,三角形和爪印图案实际上是有机体的直接表示最近的突变。突变具有(x,y)坐标,对应于与生物体相同的空间。幸运的事故正在缩小那些突变的尺寸,导致它们在生物体中心呈现在一起,而不是在受影响的细胞上展开。所有有机体'跨不同时间点的突变同时显示。徽标样图案与生物体行为有深入的连接,它们大致概述了生物体在其生命中的形状。
旋转和反射 - '跟踪r-pentomino或潜在的其他新芽模式的重要性在生物体出生时面临。有8种方法可以为大多数模式旋转图案,4个旋转和2个镜像图像。对于突变的(x,y)坐标必须相对于种子模式的定向方式旋转。它也很好地让父母生物决定发芽的孩子面临的方向。一个2x2块种子给我们带来了一个棘手的困境,因为我们不知道它的面向它的方式。我们可以通过检查父母诞生的方式来解决这个问题,并将其与相对于父母相对于父母在一起,下面,下面,左,右侧或以其他方式定向。结合这两个我们可以让孩子面对相对于父母在出生时如何面对的方向。
发展萌芽的最初兴奋是它的工作!有机体会出现,繁殖和变异以改善自己。但是我们能看到进化似乎采取的方向?
有机体想要小 - 事实证明,基本实施会产生想要更小的生物。生物开始大而笨拙,并弄清楚了一个小而有效的方法。随着它们变小,生物能够更快地繁殖并增加他们在网格内的人口。
小小的方向不是直截了当的,我们仍然可以从新的能力如何通过人口引入和传播的新能力来学习很多。总的来说,趋势是简单,简单很无聊。简单也是一个固定的边界,超出哪个进展ISN' t。
我们有几种方式可以鼓励我们的进化模型保持复杂性,以保持有趣的事情。
生育成年人成熟 - 我们可以添加一个参数,表明有机体可以' t直到它击中某个年龄。年龄是根据GOL循环的数量衡量的。例如,我们可以说有机体可以' t直到20个循环通过。这确保了在此期间生物生长并幸存下来。更大的生物意味着有更多机会,可以创造有趣的行为。
孩子们之间的时间 - 我们还可以为有机体有一个孩子在它可以拥有另一个孩子之前必须通过多少时间来设置一个数字。我们可以控制有机体有多少人可以一次性的孩子。我们还可以控制每种种子必须投入多少能量来发芽。能量可以是年龄,大小或其他组合的函数。
为了追求更大,更复杂的生物,似乎自然地让更大的生物赢得碰撞。较大的生物体应出现未造成并携带繁殖,而较小的生物体有一些细胞破坏,可能无法生育。
竞争模式 - 最大竞争模式的生存维护GOL的基本B3 / S23规则,具有以下差异。如果它究竟有2或3个朋友(用"朋友"上面定义),细胞存活。只要它的生物是所有邻居中最大的一个,细胞仍然超过3个邻居。如果该细胞有2个朋友和一个来自一个更大的生物体的邻居,即使它有一个全部或3个邻居。同样出生,出生在空间中,一个细胞需要完全3将是朋友,其他邻居随着细胞所在的邻近空间附近的最大的生物而被忽略。
超过8个邻居中最大的 - 检查超过8个邻居,看看细胞是否属于最大的生物,给获胜者提供额外的奖励,以及对失败者的额外罚款。对于更大的效果,我们检查每个细胞周围的5x5平方,看看更大的生物体是否占用25个细胞之一。如果它确实是细胞死亡或诞生的。
尊重亲属 - 在竞争模式中,细胞不与相关的生物竞争。与第一表兄弟(共享祖父母的生物)的关系,即使它们的大小指标有所不同,也不会破坏其他细胞。
最后,增长,增长缓慢 - 随着所有这些措施到位,我们最终在竞争碰撞模式打开时会产生明显的影响。 增长很令人兴奋。 进化增长是开放的。 有机体可以是多大的限制,并且没有限制它可以展示的行为范围。