Algoritmo 003: Nace el concepto de especie.
Existe un Universo rectangular, las dimensiones de este universo se determinan así:
iXmin=0; //Coordenada X inicial universo
iYmin=0; //Coordenada Y inicial universo
iXmax=300; //Coordenada X final universo
iYmax=300; //Coordenada Y final universo
Al interior de este Universo existen ambientes rectangulares, creados aleatoriamente: extensión y comportamiento; el usuario determina cuantos ambientes se crearán:
iTotalAmb=8; //Total ambientes
Hay tipos de materia (es como decir, hidrógeno, oxígeno, neón, oro, carbono, ...), el usuario determina cuantos tipos de materia existen en el universo (el comportamiento es creado aleatoriamente):
iTotalTip=10; //Total tipos de materia
Ahora vamos a decir cuantos átomos (materia) tendrá el Universo, ¿de que tipo? eso es escogido al azar:
iTotalMat=900; //Total materiales
Nace el concepto de especie. Una especie es la definición de un ser vivo, en la simulación significa que son los distintos tipos de materia que componen al ser vivo y el número de átomos (materia) por tipo de materia. Por ejemplo, la especie "Kytux" se compone de "Hidrógeno, Helio, Carbón, Calcio, Magnesio" en las siguientes cantidades "10 átomos de Hidrógeno, 30 de Helio, 7 de Carbón, 18 de Calcio y 15 de Magnesio". ¿De que estarán compuestas estas especies y que cantidad? Eso es escogido al azar. ¿Cuantas especies habrán?:
iTotalEsp=10; //Total de especies
Ahora se deciden cuantos organismos van a existir. ¿De que especie va a ser cada organismo? Eso es escogido al azar.
iTotalOrg=40; //Total organismos
Vienen opciones mas avanzadas para los usuarios, para generación de ambientes, tipos de materia, especie y organismos.
En generación de ambientes se puede parametrizar:
iLongExprAmb=10; //Longitud máxima de la expresión de comportamiento del ambiente
iProbN=25; // Probabilidad de Numero
iProbX=25; // Probabilidad de variable X
iProbY=25; // Probabilidad de variable Y
iProbP=25; // Probabilidad de parentesis
En generación de tipos de materia se puede parametrizar:
iLongExprTip=10; //Longitud Máxima de la expresión de comportamiento de tipo de material
iTipProbN=33; // Probabilidad de Numero
iTipProbX=33; // Probabilidad de variable X
iTipProbP=34; // Probabilidad de paréntesis
En generación de especies se puede parametrizar:
iTipMatEsp=5; //Número de tipos de material que tendrá cada especie
iMaxMatTip=5; //Máximos materiales por tipo de material que tendrá cada especie
Todos los seres vivos pueden vivir en ciertos valores del medio ambiente, si van mas allá de las fronteras, mueren. Aquí se parametriza el mínimo y máximo de tolerancia de los seres vivos en el Universo. Cada especie tiene sus propios valores pero entre los siguientes valores:
iTolVivoMin = -50; //Tolerancia mínima de los seres vivos (por ejemplo temperatura) en el Universo
iTolVivoMax = 180; //Tolerancia máxima de los seres vivos (por ejemplo temperatura) en el Universo
Todos estos parámetros se configuran en el archivo AlgEv003.ini que se muestra a continuación
Favor leer Algoritmo 001 y Algoritmo 002 para entender mejor los inicios de este tipo de simulaciones. Los resultados de esta simulación son enviados a consola, aquí hay un ejemplo explicado de los datos enviados:
Especie n se compone de [tipo_de_materia, cantidad_de_ese_tipo_de_materia]
Se generan los organismos, de determinada especie, la estabilidad es el punto medio entre las tolerancias mínima y máxima de la especie, luego se seleccionan los materiales que compondrán a cada organismo. Si se encuentran todos los materiales el organismo es creado y vive, de lo contrario, no existe por falta de materiales.
Hay organismos que no pueden existir por falta de materiales. Luego comienza la simulación: aquí dependiendo de los ambientes, del comportamiento de los materiales que componen al organismo con respecto al ambiente, la estabilidad del ser vivo se ve comprometida. En cada ciclo se acerca o aleja del punto medio de equilibrio, los que se pasan de las fronteras, mueren, en la simulación se observa Sobreviven: [identificador_de_organismo, estabilidad]
Sucede que algunos organismos tienen la suerte de ser siempre estables, luego la simulación nunca termina.
Descargue el código fuente, de clic aquí
Descargue el ejecutable para Windows, de clic aquí