Ir a Inicio

Motor de Vida Artificial: Motor 17: Estudio Cíclico

En la anterior simulación, se trabajó con organismos que se adaptan a un ambiente cíclico. Con este motor, el usuario puede definir cuantos organismos cubrirán todo un ciclo. El estudio de esta simulación es ver si un organismo poco a poco modifica su estructura para acomodarse al ciclo. Entre mas organismos mas fino se vería el cambio. También como los organismos se generan aleatoriamente y son ubicados donde mejor se adapten.

En las próxima actualización se mostrará los resultados de estas adaptaciones, de allí se parte al concepto mas complejo de MacroOrganismo y la simbiosis.

Esto es lo que se debe modificar:

image

Resultados de las Pruebas

Se hicieron varias pruebas con esta simulación, y los resultados sorprendieron. A pesar de que la variación entre ambientes era realmente muy pequeña (PI/40 o PI/70), los algoritmos generados eran radicalmente distintos, obsérvese esto (cambian las instrucciones y hasta el número de ellas):

PosY: 6*PI/70, Error: [2.022986]
Organismo
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (X/(4/X));
2: Y = (Y-(3/Y));
3: if( Z = ((3-5*Y)) ) goto 1;
4: if( X < W/5/7-W ) goto 5;
5: if( Y = Z/1/5-Z ) goto 4;
6: if( Y > 5*Y-(((4*Y))) ) goto 2;
7: X = X-(((X)-2));
return Y;
}

PosY: 7*PI/70, Error: [3.843365]
Organismo
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X/9*X*8;
2: if( Z < (W-((3*6))) ) goto 4;
3: if( W < Y-(7/8) ) goto 4;
4: Z = X*(X-6);
5: W = X/7+(X-4);
6: Y = 5+((Y)-7);
7: X = (6/((Y*4)));
8: Z = Z-(6+2);
9: if( W > 3+7+6/7 ) goto 2;
10: Y = ((Y)/3);
return Y;
}

Una razón posible de ello es que el Motor 17 intencionalmente muta (fuerte o sutilmente) los algoritmos antes de probarlos en alguna otra parte del ciclo. Pero no se esperaba cambios tan radicales, se esperaba cambios sutiles y el nacimiento del concepto de especie.

Debido a esto, en el Motor 18, se harán algunos cambios que emularán mejor el comportamiento natural, se permitirá que algoritmos bien adaptados a una parte del ciclo sean probados sin mutar en otra parte del ciclo. Igualmente se optimizará la velocidad y mejoras en la adaptación. Las conclusiones nacerán según las pruebas efectuadas en el próximo Motor.

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