Ir a Inicio

Colaboración entre individuos

Algoritmos genéticos. Programa 2.

Es un algoritmo muy similar al anterior, la diferencia fundamental es la siguiente:

Cada individuo generado se enfrenta al conjunto de datos, luego se muta y se vuelve a enfrentar al conjunto de datos. Si esa mutación mejora la aproximación se queda, caso contrario se restauran los coeficientes anteriores. Lo primero que se observa es que al haber un nuevo proceso, este algoritmo es más lento que el anterior. Sin embargo, durante las pruebas se muestra una mejora en el ajuste.


Código fuente

Descargar el código fuente desarrollado en C#. Probado en Microsoft Visual Studio 2022 Community Edition


Resultado de una prueba de ejemplo

Se genera un dataset de 2000 registros (X,Y) y se ejecuta el algoritmo genético para hallar una sola curva que cubra todo el conjunto de datos, luego con dos individuos (primera mitad y segunda mitad), luego con tres individuos (primer tercio, segundo tercio y último tercio) y así sucesivamente:

Total individuos por población: 200

Total ciclos para mejorar cada individuo: 100

Total ciclos del algoritmo genético: 10000

Número de individuos(curvas) que cubren los datosAproximación (menor es mejor)
10,297693585144862
20,225607508909792
30,0246828134882212
40,0584607494907632
50,026635890193686
60,0440122892455421
70,0203551662834108
80,0258003490308382
90,00391399470233006
100,022795774719511