Se comparan los dos algoritmos genéticos:
1. El tradicional que genera una población de individuos y empiezan a competir entre sí.
2. El mejorado que genera los individuos, ajusta uno a uno con respecto a los datos y luego de ese proceso empiezan a competir entre sí.
Se reescribieron los algoritmos para que usaran la misma cantidad de tiempo y así comparar cuál es más eficiente.
Por ahora se compara generando una sola ecuación que cubra todo el conjunto de datos.
Resultados
Se hicieron 50 pruebas. Cada prueba genera un conjunto de datos de 200 registros (nacidos de una ecuación creada en forma aleatoria). En cada prueba, cada algoritmo tuvo 10 segundos para operar.
Cada valor de la tabla es la mejor aproximación que tuvo el mejor individuo en la población al conjunto de datos. Entre más cercano a cero es mejor.
Algoritmo genético tradicional | Algoritmo genético mejorando primero los individuos |
0,112356809 | 0,113902201 |
0,004018192 | 0,003988888 |
0,171860404 | 0,224462477 |
0,749216092 | 0,755401885 |
0,224678296 | 0,168578357 |
10,44519713 | 10,4470579 |
0,071480332 | 0,071982642 |
0,003683789 | 0,00624047 |
0,092466522 | 0,07055508 |
11,80712958 | 0,005320647 |
0,00668634 | 0,006467529 |
0,628305931 | 0,62365621 |
4,907378425 | 4,9062972 |
0,089978938 | 0,091673322 |
0,006413992 | 0,007768863 |
0,017892188 | 0,006408427 |
0,004842247 | 0,0048075 |
0,030858523 | 0,035970852 |
0,011459774 | 0,01409065 |
0,070830362 | 0,070574882 |
0,037896507 | 0,046917114 |
0,07318647 | 0,073699098 |
0,08807556 | 0,07562125 |
0,611387059 | 0,625284445 |
0,727130058 | 0,736545066 |
0,070725103 | 0,092011958 |
0,079420479 | 0,082313096 |
0,076809273 | 0,112705632 |
0,097651101 | 0,098873957 |
0,068472975 | 0,071703906 |
0,00584686 | 0,008210509 |
0,008111813 | 0,012003597 |
0,08822281 | 0,086124614 |
0,754598671 | 0,785475144 |
0,073492494 | 0,079136698 |
0,070039735 | 0,06810102 |
0,276771409 | 0,202307862 |
0,068467952 | 0,068627372 |
0,072400406 | 0,072089332 |
0,003397804 | 0,004779138 |
0,96466488 | 0,965404871 |
10,17623817 | 0,005678782 |
3,233479927 | 3,23411386 |
0,072026287 | 0,011091365 |
0,078384772 | 0,071856379 |
0,079766651 | 0,04742713 |
0,846828439 | 0,849463372 |
0,071423251 | 0,0905593 |
0,072049845 | 0,073752141 |
Conclusiones
Hacer que primero los individuos mejoren frente al conjunto de datos fue consistentemente mejor que el algoritmo tradicional