Ir a Inicio

Vida Artificial: Independencia 03: Instrucciones y variables libres

Similar a la anterior simulación, en esta se optimizó un poco el código y en vez de ser fijo 40 instrucciones, se dio libertad de que el organismo tuviera de 1 a N instrucciones. Se hicieron dos pruebas de 1 a 40 instrucciones y de 1 a 95 instrucciones.

A continuación muestro los resultados en texto y gráfico:

Número de pruebas Fijo 4 Variables Fijo 40 Instrucciones Libre 1 a 40 Instrucciones Libre 1 a 95 Instrucciones
100,000.00 7.125 5.5 4.65 5.225
200,000.00 8.85 6.5 5.025 4.3
300,000.00 9.725 6.775 5.55 6.325
400,000.00 12 7.1 5.45 6.4
500,000.00 11.975 7.175 5.65 7
600,000.00 11.175 7.15 6 6.875
700,000.00 10.85 7.45 6 7.15
800,000.00 10.45 8.15 6.375 7.375
900,000.00 10.65 7.875 6.35 7.55
1,000,000.00 11.4 7.975 6.65 7.825
Promedio: 10.42 7.165 5.77 6.6025

pantalla del software

Cómo puede observarse, el aumento de sensores y acciones hizo que la generación puramente aleatoria tuviera menos éxito que cuando solo usaba 4 variables; es mas darle libertad de generar de 1 a N instrucciones lo hizo menos efectivo que en la anterior simulación que eran fijas 40 instrucciones. ¿Por que? Entre mas libertad, mucho mayor son las opciones que puede tomar, luego es menos probable que de con una respuesta correcta.

Algo llamativo que observé en la simulación de 1 a N instrucciones es que los mejores algoritmos tendían a acercarse a las N instrucciones (84%). Observe:

# Pruebas Promedio Instrucciones Libre 1 a 40 Promedio Instrucciones Libre 1 a 95
100,000.00 34.225 78.275
200,000.00 33.625 79.025
300,000.00 34.75 82.175
400,000.00 34.125 80.825
500,000.00 34.675 80.925
600,000.00 33.775 77.525
700,000.00 33.425 80.8
800,000.00 31.9 83.575
900,000.00 33.575 81.825
1,000,000.00 32.225 75.95
Promedio: 33.63 80.09
% Uso 33.63/40 = 84.075% 80.09/95 = 84.3%

Como aumentó la complejidad del ambiente (con todos esos sensores y acciones) necesariamente tiende a crecer el número de instrucciones para adaptarse a este, pero al crecer el número de instrucciones hay tantas opciones que su efectividad no es muy buena.

La próxima simulación ya no será generando solo algoritmos al azar, también habrá mutación de los mejores.

Descargue código fuente