Introducción a la Teoría de la Evolución en Python

El proceso de herencia implica la transmisión de características de una generación a otra en forma de genes. Estos genes en realidad tienen ADN, que es la información codificada sobre las características. Debido a la herencia, la evolución tiene lugar de una especie a otra. Entonces podemos concluir que la evolución es un proceso aleatorio, ya que no sucede de una sola vez, sino que requiere millones de años para que suceda. Por ejemplo, llevó millones de años evolucionar de ameba a Homosapien (seres humanos).

La aleatoriedad asociada a este proceso de evolución se puede simular. Simularemos este modelo de una manera muy diferente. En realidad, podemos simular y ver cómo sucedió la evolución. De hecho, existe un modelo del ‘ Algoritmo genético ‘ en el que se aprende cómo ha evolucionado la ameba a la de Homosapien. Entonces, para entender el concepto, aquí no usaremos este algoritmo porque será mucho más complicado de entender para los principiantes.

Entonces, para comprender el concepto de evolución, tomaremos un número binario muy grande que contiene solo ceros y luego convertiremos todos los ceros en unos al azar usando la biblioteca aleatoria. Se sorprenderá al obtener el resultado de que, después de un tiempo, todos los ceros se convertirán en unos.
El tiempo necesario para convertir cada cero a unos se basará en el

  • longitud de la string
  • La probabilidad con la que convertimos ceros en unos

A continuación se muestra la implementación. Supongamos que el proceso de evolución toma 500 veces.

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)

Producción:

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

Publicación traducida automáticamente

Artículo escrito por AnshuMishra3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *