提交 d9793120 编写于 作者: W wizardforcel

11

上级 b68f74f3
## 十一、进化
> 原文:[Chapter 11 Evolution](http://greenteapress.com/complexity2/html/thinkcomplexity2012.html)
> 译者:[飞龙](https://github.com/wizardforcel)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
> 自豪地采用[谷歌翻译](https://translate.google.cn/)
生物学乃至整个科学最重要的思想,是通过自然选择的进化论,它声称由于自然选择而创造出新的物种并改变现有的物种。自然选择是个体间遗传差异导致生存和繁殖差异的过程。
在了解生物学的人中,进化论被广泛认为是一个事实,也就是它足以接近事实,如果将来得到纠正,纠正将使中心思想基本保持完整。
......@@ -30,10 +38,12 @@
我将从一个简单的模型开始,演示一种基本的进化形式。 根据该理论,以下特征足以产生进化:
+ 复制者:我们需要一批能够以某种方式复制的智能体。 我们将以复制者开始,它们生成它们自己的完美的副本。 稍后我们将添加不完美的副本,即突变。
+ 突变:我们还需要一些总体中的变化,也就是个体之间的差异。
+ 突变:我们还需要一些种群中的变化,也就是个体之间的差异。
+ 生存和繁殖差异:个体之间的差异必须影响其生存或繁殖的能力。
为了模拟这些特征,我们将定义智能体种群,智能体代表个体。 每个智能体都有遗传信息,称为基因型,这是智能体繁殖时复制的信息。 在我们的模型 1 中,基因型由`N`个二进制数字(零和一)的序列表示,其中`N`是我们选择的参数。
为了模拟这些特征,我们将定义智能体种群,智能体代表个体。 每个智能体都有遗传信息,称为基因型,这是智能体繁殖时复制的信息。 在我们的模型中 [1],基因型由`N`个二进制数字(零和一)的序列表示,其中`N`是我们选择的参数。
> [1] 模型是主要由 Stuart Kauffman 开发的 NK 模型的变体(参见 <https://en.wikipedia.org/wiki/NK_model>)。
为了产生突变,我们创建了具有多种基因型的种群;稍后我们将探讨创造或增加突变的机制。
......@@ -349,7 +359,7 @@ class Mutant(Agent):
`logical_xor`函数计算“异或”,不同的元素为`True`,相同的元素为`False`
为了量化种群的分散,我们可以计算每对智能体之间距离的平均值。 在本章的笔记本中,会看到`MeanDistance`仪器,它会在每个时间步骤后计算这个度量。
为了量化种群的分散,我们可以计算每对智能体之间距离的平均值。 在本章的笔记本中,会看到`MeanDistance`仪器,它会在每个时间步骤后计算这个度量。
图? 展示了智能体随时间的平均距离。 因为我们从相同的突变开始,所以初始距离为 0。随着突变的发生,平均距离增加,在种群遍布景观时达到最大值。
......@@ -375,3 +385,19 @@ class Mutant(Agent):
一旦种群达到稳定状态,它就会形成一个新的簇,智能体之间的平均距离再次接近 1。
现在,如果我们计算智能体之前和之后的位置之间的距离,平均而言,它们相差超过 6。 簇之间的距离远大于每个簇内的距离,因此我们可以将这些簇解释为不同的物种。
## 11.10 总结
我们已经看到,突变以及生存和繁殖差异,足以导致适应性的增加,多样性的增加,并产生简单形式的物种。 这种模型并不是现实的;自然系统中的进化要比这复杂得多。 相反,它意味着一个“充足定理”;也就是说,模型的特征足以产生我们试图解释的行为(参见 <https://en.wikipedia.org/wiki/Necessity_and_sufficiency>)。
从逻辑上讲,这个“定理”并不能证明,自然界中的进化仅仅由这些机制引起,但是由于这些机制确实以多种形式出现在生物系统中,所以认为它们至少有助于自然进化,是合理的。
同样,该模型并不能证明这些机制总是会导致进化。 但是我们在这里看到的结果是可靠的:在几乎所有包含这些特征的模型中 - 不完美的复制者,变异性和繁殖差异 - 发生了进化。
我希望这一观察有助于揭开进化的神秘面纱。 当我们观察自然系统时,进化看起来很复杂。 而且由于我们主要看到了进化的结果,而没有看到这个过程,所以难以想象和相信。
但在模拟中,我们看到整个过程,而不仅仅是结果。 通过包含最少的一系列特征来产生进化 - 暂时忽略了生物生命的巨大复杂性 - 我们可以将进化看作是一个令人惊讶的简单,不可避免的想法。
## 11.11 练习
本章的代码位于本书仓库的 Jupyter 笔记本`chap11.ipynb`中。 打开笔记本,阅读代码并运行单元格。 笔记本包含本章的练习。 我的解决方案在`chap11soln.ipynb`中。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册