La implementación básica del algoritmo genético implementada está centrada en la clase población, la que, para funcionar correctamente para algún problema dado, necesita recibir implementaciones de:
- Una clase de individuos, la que soporte una función reproduce.
- Una función (sin argumentos) que genere un nuevo individuo.
- Una función que defina el fitness utililzado en el problema.
- Una función que implemente el filtro aplicado a la población entre iteraciones (top 25%, random, torneo, etc)
El código fuente está escrito en Python 3 sin librerías externas. En este repositorio están implementados dos problemas, el de adivinar bits y el de N-Reinas (El informe sólo analiza a las N-Reinas). Estos se encuentran implementados en bit_guesser.py
y nqueen_guesser.py
respectivamente. Para ejecutar el archivo [ARCHIVO]
, se debe correr en la terminal:
$ python3 [ARCHIVO]
Este pedirá un input apropiado para el problema, y luego intentará resolverlo, retornando estadísticas básicas sobre la ejecución, y el resultado obtenido.