libros de computación evolutiva


La asignatura de computación evolutiva del máster tiene un libro principal en el que se basa todo el temario: Introduction to Evolutionary Computing de A.E. Eiben y J.E. Smith.

Es un libro muy interesante ya que el temario sigue bastante fielmente los capítulos del libro. Además tengo algunos de los capítulos resumidos en transparencias por uno de los autores (Eiben) lo que me puede servir para tener una primera idea e incluso hacer un trabajillo a partir de las mismas (por ejemplo poniendo una presentación con mi voz del contenido del capítulo, en inglés o español y colgarla en slideshare, con permiso del autor, claro) En los apéndices del libro hay contenido muy interesante. En el primero se explica la codificación de gray que se usa en algoritmos genéticos debido a sus propiedades particulares en la distribución de 1s y 0s. En el segundo se tienen una serie de funciones de test y auxiliares. Aquí pongo la relación con algunos enlaces que he encontrado buscando esas funciones por Internet:

B Test Functions

B.1 Uni-Modal Functions

B.1.1 OneMax
B.1.2 The Sphere Model
B.1.3 Royal Road function (búsqueda general)

B.2 Multi-Modal Functions

B.2.1 Ackley function (búsqueda general)
B.2.2 Schwefel’s function (búsqueda general)
B.2.3 Generalized Rastrigin’s function (búsqueda general)
B.2.4 Deb’s Deceptive 4-bit function (búsqueda general)

B.3 Randomised Test Function Generators (búsqueda general)

B.3.1 Kauffman’s NK landscapes (búsqueda general)
B.3.2 NKC landscapes (búsqueda general)
B.3.3 Random L-SAT (búsqueda general)

que van a servir de funciones de test de problemas que se puedan plantear como ejercicios durante el curso, para comprobar algoritmos evolutivos.

El segundo libro más importante de la asignatura es: Genetic Algorithms + Data Strcutures = Evolution Programs, de Zbibniew Michalewicz(School of Computer Science, University of Adelaide) El contenido del libro está centrado en los algoritmos genéticos con un enfoque didáctico y práctico (resolución de problemas concretos de optimización con restricciones, …), pero también toca otros algoritmos evolutivos.

Como en el caso anterior, los apéndices contienen información muy interesante. En el Apéndice A se puede encontrar una implementación en C de un algoritmo genético con codificación real (no binaria) En el Apéndice B se encuentran 18 funciones de test para poder utilizarlas en pruebas de algoritmos evolutivos:

De Jong functions (F1 .. F5) (búsqueda general)
– Schaffer function F6 (búsqueda general)
– Goldstein-Price Function (búsqueda general)
– Branin RCOS function (búsqueda general)
– The Shekel SQRN5, SQRN7, SQRN10 family of 4-D functions (búsqueda general)
– The six-hump camel back function (búsqueda general)

[…]

Bohachevsky functions (#1 .. #3) (búsqueda general)
The Colville function (búsqueda general)

donde se indican las restricciones en sus variables y los mínimos o máximos que hay que encontrar. En el Apéndice C se incluyen funciones especificas de optimización con restricciones (constrained optimization Problems, CSP) sacados de la bibliografía (otros libros y papers)

3 comentarios en “libros de computación evolutiva

  1. He encontrado tres enlaces muy importantes buscando información sobre las funciones de test del apéndice B del libro principal de la asignatura, que pueden ser puntos de consulta fundamentales para avanzar en el estudio de la asignatura:

    THE Problem Site (The TRACER Project, TIC2002-04498-C05-02, Universidad de Málaga)

    Proceedings of the Second Nordic Workshop on Genetic Algorithms and their Applications (2NWGA), 21. – 23. August 1996, Vaasa, Finland. Editor: Jarmo T. Alander. Department of Information Technology and Production Economics. University of Vaasa.

    GA PlayGround (Ariel’S Dolan Playground. Artificial Life and Other Experiments)

    Y otros cuantos con las funciones de test del segundo libro:

    Global Optimization Test Problems (Dr. Abdel-Rahman Hedar, System Optimization Lab (Prof. Masao Fukushima Lab), Department of Applied Mathematics & Physics, Graduate School of Informatics, Kyoto University)

    Test problems described, Kaj Madsen (Head of Department), Technical University of Denmark, Informatics and Mathematical Modelling.

    GEA ToolboxExamples of Objective Functions

  2. Hoy en la biblioteca de la universidad me he reencontrado con otro libro (ya lo había localizado el mes pasado), esta vez es un libro muy práctico orientado a la programación de solucionadores de problemas con técnicas de computación evolutiva en el lenguaje Java. Se trata de:

    Applied Evolutionary Algorithms in Java. Robert Ghanea-Hercock. Springer 2003.

    Tiene una buena introducción a la computación evolutiva (capítulo 1) y los principios de la evolución natural sobre los que se sustenta (capítulo 2) La exposición teórica se concentra en dos técnicas específicas: los algoritmos genéticos (capítulo 3) y la programación genética (capítulo 4) Estas técnicas son utilizadas por el autor, gracias a una implementación en java, en la empresa BTexact, que es donde trabaja.

    En el capítulo 5 se concentran las aplicaciones que muestran de forma práctica cómo aplicar laos algoritmos evolutivos al procesado de imágenes y al control de un robot móvil (para esto además se utiliza lógica difusa, explicada de forma sucinta y precisa en el Apéndice C del libro)

    Finalmente en los capítulos 6 y 7 se muestra las futuras líneas de investigación en el campo y el futuro mismo de la computación evolutiva (en el momento de escribir el libro)

    Las aplicaciones que se muestran en el libro se extienden en los apéndices B y D donde se explican entornos de desarrollo en java y aplicaciones como la localización de estaciones base de una red de telecomunicaciones móviles y la optimización de una red de telecomunicaciones, aplicaciones todas ellas desarrolladas en BTexact con la plataforma EOS, desarrollada por Erwin Bonsma y otros, en el apéndice C y el entorno de desarrollo y simulación de robot Rossum’s Playhouse (RP1) en el Apéndice D.

    Aquí está el artículo en el BT Technical Journal sobre la herramienta EOS:

    Eos — An Evolutionary and Ecosystem Research Platform

    E Bonsma, M Shackleton and R Shipman

    BT Technology Journal. Volume 18, Number 4 / octubre de 2000. Páginas 24-31.

    Abstract The Eos platform supports research and rapid implementation of evolutionary algorithms, ecosystem simulations and hybrid models. It also supports fast prototyping of industrial applications using these technologies. A large and rapidly growing library of evolutionary algorithm types and options is provided which together with a flexible configuration system allows a ‘plug-and-play’ construction of novel algorithms. Support for ecosystem models includes classes for multiple types of physical space (n-dimensional discrete or continuous Cartesian space, graph space), complex interactions between entities, and movement of individuals between populations.

    The flexibility of the Eos platform is expected to provide a powerful environment for developing new algorithms and architectures. Eos is implemented in Javatrade for portability and to allow easy extension of the core functionality. It supports transparent distribution of evolutionary and ecosystem implementations across multi-processor computer clusters. This paper describes the architecture and functionality of the Eos platform and illustrates its use by way of a number of example applications.

    Esta plataforma, a diferencia de otros toolkits adopta una implementación híbrida que intenta combinar un enfoque de agentes cooperativos y algoritmos evolutivos (en el Apéndice B se menciona otra herramienta llamada SWARM que tiene un enfoque de agentes)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s