Vida Artificial

Investigación

Artículos

Autor

Otros

Motor 16: MacroOrganismo

En la Simulación VII. La Memoria Cíclica quedaron varias preguntas sin resolver sobre la naturaleza de un reloj biológico. El punto crucial fue como evolucionó un organismo para que tuviese un reloj biológico para adaptarse a un ambiente cíclico.

Una solución a este problema se deriva de las simulaciones Motor 13, Motor 14 y Motor 15.

La teoría de que un ser vivo complejo es en realidad una perfecta simbiosis de organismos simples toma fuerza. Tómese un ambiente cíclico, en cada estado se genera un organismo que se adapte bien, luego para todo un ciclo se generan múltiples organismos simples. Se colaboran entre si (un proceso simbiótico). Observe el siguiente ejemplo:

Un ambiente simple que alterna regularmente entre frío y caliente. Para generar un organismo complejo que logre sobrevivir en dicho ambiente, se genera entonces dos organismos simples, uno que se adapte al frío (OrgA) y otro al calor (OrgB). Ambos organismos se relacionan y cuando el ambiente este frío, OrgA "protege" a OrgB, cuando el ambiente este caliente, OrgB "protege" a OrgA.

De esta manera se mantiene la simplicidad y escalabilidad del modelo.

Para simular un comportamiento así, se debe tener en cuenta el uso de recursos (visto en la Simulación VI.). También la generación de ambientes cíclicos y debe escribirse un algoritmo que haga la simbiosis, es decir, que busque los mejores organismos de cada estado del ambiente y los reúna. Observe la figura:

image

La línea sinusoidal representa el comportamiento de un ambiente cíclico, Org1 es un organismo bien adaptado a un estado (cresta superior) de este ambiente, Org3 y Org2 igual son organismos bien adaptados, en cambio, Org4 no se adapta y estará condenado a desaparecer.

Un macroorganismo será entonces la simbiosis entre Org1, Org2 y Org3.


La Simulación

Esta simulación es sencilla para implementar un MacroOrganismo.

Se simula el comportamiento cíclico de un ambiente. Por ejemplo:

Ambiente = sin(y) * (4+3*X-X*X)
Genero un valor Y=PI/2 y doy valores de X = 1..10 entonces:

sin(PI/2) * (4+3*X-X*X) = 1 * (4+3*X-X*X) = 6,6,4,0,-6,-14,-24,-36,-50,-66

Ahora genero un organismo que se adapte a ese ambiente (6,6,4,0,-6,-14,-24,-36,-50,-66)

Luego cambio el valor de Y=PI/3 y doy valores de X=1..10 entonces obtengo el ambiente
5.1961, 5.1961, 3.4641, 0, -5.1961, -12.1243, -20.7846, -31.1769, -43.30127, -50.1576
Ahora genero otro organismo para dicho ambiente.

Y así sucesivamente de Y=0 hasta PI.

Con eso obtengo una serie de organismos que se adaptan a todo un ciclo.

Descargue el fuente: De clic aquí
Descargue el ejecutable para Windows: De clic aquí

1