Entradas

Mostrando entradas de febrero, 2020

Implementación de un algoritmo genético, en Python, que genera un sudoku resuelto

Imagen
La motivación de esta entrada es la poca información en español que hay sobre el tema. Por lo que está dirigida a quienes no tienen idea de cómo implementar un algoritmo genético para generar un sudoku y, obviamente, quieran hacerlo en Python jeje. Así que iremos paso a paso desglosando el problema. Si bien un algoritmo genético no es la mejor opción para generar un sudoku, el ejemplo resulta muy práctico y explícito para entender la implementación de este tipo de algoritmos. Muy bien, asumiendo que entendemos la dinámica evolutiva de un algoritmo genético, empecemos. Un sudoku es un tablero de 9x9, es decir, contiene 81 números, la idea es que los números no se repitan en una misma columna, fila y sector, así un sudoku está resuelto. Para nuestro caso, la representación de nuestros individuos (sudokus) serán simples listas con los 81 números. Para implementar nuestro algoritmo genético haremos uso del framework DEAP , el cual ofrece clases, tipos de datos y distintos