2009-02-03 15 views
39

Ú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.Recurso de algoritmo genético

+0

¿Busca específicamente algoritmos genéticos o programación genética? –

+0

Algoritmos genéticos primarios – Siblja

+5

GP! = GA! = Hill Climbing with mutation – bias

Respuesta

27

mejores referencias para mí hasta ahora:

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.

+0

Debo decir, una Introducción a los Algoritmos Genéticos por Melanie Mitchell es una buena apuesta. Leí "Complejidad: un recorrido guiado" de Melane Mitchell para la teoría de sistemas complejos, y no puedo imaginarme un trabajo mejor hecho al escribir material técnico. – Cody

+0

@Cody sí, la complejidad es muy buena, me gusta mucho también :) – JohnIdol

3

Aquí es 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 enlace activo con la imagen Ver: http://rogeralsing.files.wordpress.com/2008/12/evolutionofmonalisa1.gif

he aplicado mi propia versión de este algoritmo:

http://23.media.tumblr.com/NngfN9gsDhlsyws3NvFcuHfgo1_400.png http://23.media.tumblr.com/NngfN9gsDhlsyws3NvFcuHfgo1_400.png

Ver http://plindenbaum.blogspot.com/2008/12/random-notes-2008-12.html

+0

Esa es una secuencia de imagen genial, dudo que el dueño de ese blog quisiera que lo relacionen. –

+0

@Jamie. Tienes razón. Eliminé el enlace. – Pierre

+6

El original ni siquiera está cerca de un algoritmo genético (aunque no han mirado el tuyo). Su recocido simulado con un criterio de aceptación codicioso. – Steve

0

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).

3

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 de 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.

1

Una breve introducción que escribí hace mucho tiempo está disponible here, pero una mejor breve introducción es here.

Para obtener una lista de recursos más grande y exhaustiva, aunque un tanto obsoleta, visite el comp.ai.genetic FAQ.

5

Sé que esto es una vieja pregunta, pero no hubo respuesta ha sido aceptado todavía, así que pensé que me gustaría añadir 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.

0

he implementado un algoritmo genético con los genéricos de Java. 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 granos de 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(); 
    } 
} 

enter image description here Este es el diseño, Grandt interior hay una implementación de una solución de problema específico, como un ejemplo.

Cuestiones relacionadas