Simulación II. Adicionando
Combinando la generación totalmente aleatoria con el ligero cambio a las expresiones mas aptas (adicionando operadores, operandos), se evalúa la velocidad de adaptación.
Conclusiones:
Las mutaciones son simplemente adiciones de un operador y un operando a la expresión más apta después de un ciclo de generación aleatoria. Esto acarrea:
Las mutaciones son limitadas, si se adiciona un operador (+,-,/,*) y luego un operando (1..9, X), tendríamos un máximo de 40 mutaciones posibles. Es el procedimiento menos efectivo para acercarse a la serie.
Si la expresión que ocupa el primer lugar, matemáticamente es la que mas se acerca, ninguna mutación siguiente, de las 40 posibles, podrá ocupar el primer lugar, por lo que la evolución se paraliza. En la naturaleza existen los llamados fósiles vivientes, son aquellos seres que han mantenido su estructura igual por millones de años. ¿Le sucede a ellos lo mismo que le sucede a estas expresiones cuando su evolución se paraliza?.
En ocasiones, las siguientes mutaciones se acercan por milésimas o por menos a la serie y esto a veces da como resultado un crecimiento acelerado (casi explosivo) de la expresión la cual se va llenando de operadores y operandos. El applet se detiene cuando la expresión supera los 120 caracteres.
En los albores del periodo Cámbrico, hace 600 millones de años, se produjo un verdadero big bang zoológico que jamás se ha vuelto a repetir en la historia de la evolución animal. ¿Sucedió en esa época, lo que a veces ocurre en esta simulación?
Después de un rato, cuando se paraliza la evolución, las series que ocupan los tres primeros lugares son muy parecidas y es porque sus operandos y operadores no afectan la expresión en si (*1, /1).
La próxima simulación se hará de una forma más inteligente: habrán secciones de la expresión que serán reemplazados por mutaciones.
Puede bajar el código fuente, de clic aquí.