Diagrama de temas
General
Curso de Algoritmos Genéticos
Tema 1
Principios de los Algoritmos Genéticos
- Los Algoritmos Genéticos (AG) puede verse como una familia de procedimientos de búsqueda adaptativos.
- Los Algoritmos Genéticos son un método de optimización mediante procesos de búsqueda.
- El Algoritmo Genético es un proceso de cómputo que emula la forma de actuar de la evolución biológica.
Tema 2
Temas relacionados con Algoritmos GenéticosTema 3
SOFTWARE DE AG
Existen varios paquetes y bibliotecas de algoritmos genéticos en el mercado, algunos de ellos se muestran en el siguiente enlace.
Tema 4
JAVA y Algorítmos Genéticos
JGAP es uno de los componentes más estables en JAVA, proporciona los mecanismos básicos de genética que puede ser fácilmente utilizados para aplicar los principios evolutivos a la solución de problemas.
Más información en: http://jgap.sourceforge.net/
Como se dijo anteriormente JGAP es un framework libre (ver anexo licencia para mas información) basado en la tecnología JAVA. El mismo provee mecanismos para aplicar principios evolutivos en la resolución de problemas.
En el siguiente documento se explica como utilizar JGAP con Eclipse, como instalarlo y como utilizarlo con algunos ejemplos muy didácticos.
Se estudia:
- Instalación y configuración del entorno
+ Descarga e instalación de la maquina virtual de java
+ Descarga e instalación del Eclipse para desarrollo en java
+ Descarga e instalación de JGAP
+ Agregar las librerías a una aplicación
- Métodos de Selección
+ Rueda de ruleta
+ Selección por torneo
+ Basado en el rango
+ Método Estocástico
- Métodos de Reproducción
+ Cruza Simple
+ Cruza de dos puntos
+ Cruza Multipunto
+ Cruza binomial
- Mutación
- Ejemplo de aplicación
Tema 5
Bibliografía y enlaces relacionados
Proyecto sobre Vida Artificial y Evolución
Podemos encontrar uno de los proyectos más minteresantes sobre la vida artificial y los algoritmos genéticos en el siguiente enlace. En esta aplicación, veremos seres artificiales que evolucionan y viven en un mundo 3D. El software de esta interesante simulación se puede descargar y disfrutar en nuestra propia computadora.
Tema 6
.NET y Algorítmos Genéticos
- GPE - Marco para los experimentos que conducen en la programación genética (.NET)
- lalena.com - un programa genético para simular comportamientos de la colección del alimento de la hormiga. Libere la transferencia directa (.NET)
- Applet de la versión parcial de programa de un algoritmo genético que soluciona los problemas de TSPs y de VRPTW (.NET y Java)
MATLAB y Algorítmos Genéticos
- GPLAB - Una caja de herramientas de programación genética para MATLAB (MATLAB)
- GPTIPS - Herramienta de programación genética para MATLAB (MATLAB)
C++ y Algorítmos Genéticos
- PMDGP - marco orientado al objeto para solucionar problemas de programación genéticos
- GAlib - marco orientado al objeto con 4 diversas puestas en práctica y 4 tipos de la representación (derivaciones arbitrarias de GA posibles) (C++)
- LAGEP. Programación genética de la población sola/múltiple del soporte para generar funciones matemáticas. Abra la fuente, OpenMP usado. (C/C++)
- GPLib, una biblioteca del GP de la universidad de Birmingham, Reino Unido (C++)
- Beagle - BEAGLE abierto, un marco versátil de la EC (C++ con STL)
- Marco evolutivo del cómputo del EO (C++ con polimorfismo estático)
- GPC++ - Biblioteca de programación genética de la clase de C++ (C++)
Python y Algorítmos Genéticos
- PyRobot - módulos evolutivos de los algoritmos (GA + GP), fuente abierta (Python)
- DRP - Programación de rubíes dirigida, programación genética y biblioteca gramatical de la evolución (Rubí)
- Versión parcial de programa en línea del moonlander (Javascript)
- Marco evolutivo del cómputo del EO (C++ con polimorfismo estático)
JOpt.NET: Biblioteca de programas de asignación de rutas vehiculares (JOpt.NET - Vehicle Routing Software Library) 1.0.9
-
JOpt.NET TourPlanner es un programa automatizado para la elaboración de rutas y despacho de vehículos tipocomponente .NET para aplicaciones de logística que pueden solucionar problemas a los comerciantes viajeros (TSP) y problemas con márgenes de tiempo de rutas con vehículos capacitados (CVRP,VRPTW). JOpt.NET ofrece la optimización de rutas y transporte con respecto a varias limitaciones tales como márgenes de tiempo, capacidades de carga y descarga y órdenes de entrega. Descarga: http://www.dna-evolutions.com
JOpt.SDK - biblioteca de optimización de ruta (JOpt.SDK - route optimization library) 1.0.3
- JOpt.SDK es una biblioteca en Java de optimización y plantación de ruta para la organización automática de recursos y la plantación de transporte. Utiliza algoritmos genéticos especializados para calcular la ubicación optimizada de pedidos y paradas para recursos móviles. JOpt.SDK puede solucionar problemas como TSP (por sus siglas en inglés: Problema de Vendedor de Viaje) o VRPTW (por sus siglas en inglés: Problema de Ruta del Vehículo). Descarga: http://www.dna-evolutions.com
Estudio de Soluciones mediante Inteligencia Artificial (A.I. Solver Studio) 0.9
- A.I. Solver Studio es un programa único para el reconocimiento de patrones, que se ocupa de encontrar soluciones óptimas para resolver problemas de clasificación, utilizando varias técnicas poderosas y probadas de inteligencia artificial incluyendo redes neuronales, programación genética y algoritmos genéticos. No se requieren conocimientos especiales de los usuarios, ya que A.I. Solver Studio controla internamente todas las complejidades de la resolución de problemas. Descarga: http://www.aisolver.com/
Tema 7
Enlaces
- Genetic Programming FAQ
- The Hitch-Hiker's Guide to Evolutionary Computation
- John Koza's Genetic Programming Site
- Juergen Schmidhuber's GP Site, with pre-Koza GP papers (1987)
- Bill Langdon's GP bibliography
- Meta-Genetic Programming Site
Implementaciones:
- ECJ - Evolutionary Computation/Genetic Programming research system (Java)
- JAGA - Extensible and pluggable open source API for implementing genetic algorithms and genetic programming applications (Java)
- GPE - Framework for conducting experiments in Genetic Programming (.NET)
- PyGP - Python Genetic Programming Project (Python)
- DGPF - simple Genetic Programming research system (Java)
- PMDGP - object oriented framework for solving genetic programming problems (C++)
- JGAP - Java Genetic Algorithms and Genetic Programming, an open-source framework (Java)
Posiblemente los más utilizados:
- Beagle - Open BEAGLE, a versatile EC framework (C++ with STL)
- EO Evolutionary Computation Framework (C++ with static polymorphism)
- Genetic programming. (2006, June 1). In Wikipedia, The Free Encyclopedia. Retrieved 01:35, June 13, 2006, from http://en.wikipedia.org/w/index.php?title=Genetic_programming&oldid=56260550.
Tema 8
Tema 9
Tema 10