algorithm - que - Recurso de algoritmo genético
ejemplos de aplicaciones de algoritmos geneticos (14)
Últimamente estoy interesado en el tema de los algoritmos genéticos, pero no pude encontrar ningún buen recurso. Si conoce algún buen recurso, libro o sitio, lo agradecería. Tengo un conocimiento sólido de algoritmos e Inteligencia Artificial, pero estoy buscando algo con una buena introducción en Programación Genética.
Aquí está el reciente artículo de Roger Alsing sobre la construcción de "la imagen de Mona Lisa" con un algoritmo genético: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Editado para eliminar el enlace activo a la imagen. Ver: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif
Implementé mi propia versión de este algoritmo:
Ver http://plindenbaum.blogspot.com/2008/12/random-notes-2008-12.html
El libro Programming Collective Intelligence de OReilly tenía un capítulo sobre algoritmos genéticos. Puede ser un poco básico, pero fue un ejemplo muy ilustrativo.
Encontré el libro de Melanie Mitchell, Una Introducción a los Algoritmos Genéticos , para ser muy bueno. Para una cobertura más amplia de los temas de computación evolutiva, también vale la pena la Introducción a la computación evolutiva de Eiben y Smith.
Si recién está comenzando, recientemente escribí un artículo introductorio que puede ser de utilidad.
Hay más enlaces tanto en ese artículo como en la página de inicio de mi marco de cálculo evolutivo.
Si puedo conectar uno de mis libros favoritos, The Algorithm Design Manual de Steve Skiena tiene una gran sección sobre algoritmos genéticos (además de muchas otras heurísticas interesantes para resolver varios tipos de problemas).
Este es un buen libro gratis sobre el tema
http://www.lulu.com/items/volume_63/2167000/2167025/2/print/book.pdf
Hay una gran introducción a los algoritmos genéticos en AI-Junkie.com , así como tutoriales sobre muchas otras técnicas de IA y aprendizaje automático. El tutorial sobre algoritmos genéticos está destinado a "explicar los algoritmos genéticos de manera suficiente para que pueda usarlos en sus propios proyectos" mientras mantiene las matemáticas bajas tanto como sea posible.
Una breve introducción que escribí hace mucho tiempo está disponible aquí , pero una breve introducción mejor está aquí .
Para obtener una lista de recursos más grande y completa, aunque algo obsoleta, visite las preguntas frecuentes comp.ai.genetic .
Sé que esta es una pregunta antigua, pero aún no se ha aceptado ninguna respuesta, así que pensé en agregar mi propia contribución. Uno de los mejores recursos gratuitos en mi opinión para todo lo relacionado con la computación evolutiva (algoritmos genéticos, estrategias de evolución, programación genética, etc.) es el libro en línea de Sean Luke Essentials of Metaheuristics .
Las mejores referencias para mí hasta ahora:
- Algoritmos genéticos en Búsqueda, Optimización y Aprendizaje automático por David E. Goldberg: un clásico, aún considerado como la biblia de GA por muchos.
- Una Introducción a los Algoritmos Genéticos por Melanie Mitchell: más reciente que la referencia anterior y lleno de ejemplos probablemente más interesantes.
- Una guía de campo para la programación genética por Poli, Langdon, McPhee: esta es una guía práctica y está recibiendo muy buenas críticas.
Además, si eres un principiante absoluto, te sugiero que comiences con el Hello World of Genetics Algorithms . No hay nada como un buen ejemplo limpio para comenzar.
''Una Introducción a los Algoritmos Genéticos'' http://www.burns-stat.com/pages/Tutor/genetic.html
Para un enfoque introductorio (con una aplicación al dilema del prisionero), vea en:
Algoritmos inteligentes: Recetas de programación inspiradas en la naturaleza
por Jason Brownlee PhD.
Este libro está disponible gratis en PDF . El libro cubre una gran cantidad de algoritmos inspirados en la naturaleza, incluidos algoritmos evolutivos, de enjambre y neuronales.
Implementé un Algoritmo Genético con java genéricos. https://github.com/juanmf/ga
Aplicará los 3 operadores (mutación, cruce, selección) y evolucionará una población, dadas las implementaciones concretas de Individual, Gen, FitnessMeter y fábricas expuestas como frijoles primavera.
/*This is all you have to add to the Spring App context
* before running the application
*/
@Configuration
public class Config {
@Bean(name="individualFactory")
public IndividualFactory getIndividualFactory() {
return new Team.TeamFactory();
}
@Bean(name="populationFactory")
public PopulationFactory getPopulationFactory() {
return new Team.TeamPopulationFactory();
}
@Bean(name="fitnessMeter")
public FitnessMeter getFitnessMeter() {
System.out.println("getFitnessMeter");
return new TeamAptitudeMeter();
}
}
Este es el diseño, dentro de grandt hay una implementación de una solución de problema específico, como ejemplo.