📜  Python中的进化论简介

📅  最后修改于: 2022-05-13 01:54:31.626000             🧑  作者: Mango

Python中的进化论简介

遗传过程涉及以基因的形式将特征从一代传递到另一代。这些基因实际上具有DNA,这是有关特征的编码信息。由于遗传,进化发生从一个物种到另一个物种。所以我们可以得出结论,进化是一个随机的过程,因为它不是一蹴而就的,而是需要数百万年的时间才能发生的。例如,从变形虫进化到 Homosapien(人类)需要数百万年的时间。

可以模拟这种进化过程的随机性。我们将以非常不同的方式模拟这个模型。实际上,我们可以模拟并看到进化是如何发生的。事实上,有一个“遗传算法”模型,它可以学习变形虫是如何进化成人类的。所以为了理解这个概念,这里我们不会使用这个算法,因为对于初学者来说理解起来会变得非常复杂。

因此,为了理解进化的概念,我们将采用一个非常大的仅包含零的二进制数,然后我们将使用随机库将所有零随机转换为 1。您会惊讶地发现,一段时间后所有的零都将转换为一。
将每个零转换为一所需的时间将基于

  • 字符串的长度
  • 我们将零转换为一的概率

下面是实现。假设进化过程需要 500 次。

import random
  
  
def evolve(x):
      
    # index of the bit in x(list) 
    # in which change will happen
    i = random.randint(0, len(x)-1)
      
    # p is one then only change 
    # will happen
    p = random.randint(1, 5)
    if(p == 1):
          
        if(x[i] == 0):
            x[i] = 1
              
        else:
            x[i] = 1
              
# Driver code
x =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  
# the process of evolution
# will take place 500 times
for j in range(0, 500):
    evolve(x)
      
print(x)

输出:

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]