Los algoritmos genéticos son una de las herramientas que puedes usar para aplicar el aprendizaje automático al hallazgo de soluciones buenas (a veces incluso óptimas) a problemas que tienen miles de millones de soluciones posibles. Este libro te ofrece experiencia en hacer que los algoritmos genéticos funcionen, usando proyectos de ejemplo fáciles de seguir a los que puedes recurrir cuando aprendas a usar otras herramientas y técnicas de aprendizaje automático. Cada capítulo es un tutorial paso a paso que te ayuda a desarrollar tus habilidades en el uso de los algoritmos genéticos para resolver problemas usando Python.
¡Hola Mundo! - Adivina una contraseña dado el número de letras correctas en la conjetura. Construye un motor de mutación. El Problema One-max - Produce un arreglo de bits donde todos son unos. Expande el motor para funcionar con cualquier tipo de gen. Números ordenados - Produce un arreglo de enteros ordenados. Demuestra el manejo de múltiples objetivos y restricciones de aptitud entre genes. El problema de las ocho reinas - Encuentra posiciones seguras para las reinas en un tablero de 8x8 y luego expande a NxN. Demuestra la diferencia entre fenotipo y genotipo. Ver el código de muestra. Coloración de grafos - Colorea un mapa de países donde el español es el idioma nacional usando sólo 4 colores. Introduce conjuntos de datos estándar y trabajo con archivos. También introduce el uso de reglas para trabajar con las restricciones de los genes. El problema de las cartas - Más restricciones genéticas. Introduce la mutación personalizada, los algoritmos meméticos y la técnica de la suma por diferencia. También muestra un cromosoma en el que la manera de usar un gen depende de su posición en el arreglo de genes. El problema de los caballos - Encuentra el número mínimo de caballos que hacen falta para atacar todas las posiciones en un tablero. Introduce los genes personalizados y la creación de arreglos de genes. También demuestra los mínimos y máximos locales. Cuadrados mágicos - Encuentra cuadrados en los que todas las filas, columnas y ambas diagonales de una matriz de NxN tengan la misma suma. Introduce el recocido simulado. El problema de la mochila - Optimiza el contenido de un recipiente para una o más variables. Introduce la ramificación y poda, así como los cromosomas de longitud variable. Resolver ecuaciones lineales - Encuentra las soluciones de las ecuaciones lineales con 2, 3 y 4 incógnitas. Variación de ramificación y poda. Refuerza la flexibilidad del genotipo. Generación de Sudoku - Un ejercicio guiado para generar rompecabezas sudoku. El problema del viajante - Encuentra la ruta óptima para visitar ciudades. Introduce la recombinación y una reserva de padres. Aproximarse a Pi - Encuentra los dos números de 10 bits cuyo dividendo está más cerca de Pi. Introduce el uso de un algoritmo genético para optimizar otro. Generación de ecuaciones - Encuentra la ecuación más corta que produce un resultado específico usando la suma, la resta, la multiplicación, etc. Introduce la programación genética simbólica.
I am a polyglot programmer with more than 15 years of professional programming experience. My personal projects include photography, playing board games, genealogy and genetic programming.