Ir a Inicio

Motor de Vida Artificial: Motor 18: Estudio Cíclico, optimizado y con resultados interesantes.

Nota: Se corrige un problema con el despliegue de resultados del Motor 17 y 18. Las pruebas son realizadas nuevamente.

En el Motor 17, se trabajó sobre adaptación a ambientes cíclicos y el usuario era libre de definir cuantos organismos atenderían el ciclo. Observe el gráfico de un ciclo completo (de 0 a 2*PI):

image

Cada punto azul es un organismo completamente adaptado al ciclo, la simbiosis de todos estos organismos (puntos azules) es un MacroOrganismo.

En teoría entre mas organismos atienden un ciclo (en la siguiente gráfica hay 60 organismos), la diferencia entre un organismo y otro seguido debe ser mínima, observe los dos puntos amarillos de la gráfica:

image

Pero el Motor 17 mostró que esto no se cumplía. Habían diferencias sustanciales entre organismo y organismo, así estos fueran seguidos. Observe:

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;
}

Por esta razón se creó el Motor 18 el cual toma un organismo que es apto en una parte del ciclo, y lo prueba en otra parte del ciclo. Se sigue un comportamiento natural, los seres vivos se adaptan bien a su ambiente, pero es muy común que se aventuren a viajar a otras tierras. Los seres vivos van conquistando terreno poco a poco. Y es en esta conquista que sus cuerpos y comportamiento comienzan a variar dando origen a nuevas especies.

El Motor 18 ofrece al usuario evaluar el organismo entre 0 a PI/2, 0 a PI o 0 a 2*PI. Observe la gráfica:

image
Organismos evaluados de 0 a PI

image
Organismos evaluados de 0 a PI/2 (15 organismos)

Pruebas

En las pruebas, se usaron 70 organismos entre 0 a 2*PI, 0 a PI y 0 a PI/2. Los resultados de las aproximaciones pueden verse en las siguientes gráficas. Entre menor sea el valor del eje Y, mejor aproximación. Lo ideal sería entonces que se mostrara una línea paralela horizontal encima del eje X.

Prueba 1 (0 a 2*PI)

image

Prueba 2 (0 a PI)

image

Prueba 3 (0 a PI/2)

image

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