Next: Referencias Bibliográficas
Up: Optimización mediante Algoritmos Genéticos
Previous: Conclusiones
  Índice General
El trabajo de proyecto de fin de carrera presentado en esta memoria ha reunido dos métodos computacionales (computación evolutiva y redes neuronales artificiales) con el objeto de automatizar el diseño de redes neuronales artificiales para clasificación y aproximación.
En la primera parte de este trabajo se presentó una nueva biblioteca de computación evolutiva paralela (OEP), que engloba todos los paradigmas de la computación evolutiva ya sean secuenciales o paralelos, abstrayendo las características comunes a todos ellos.
Posteriormente se describieron diversos problemas muy utilizados como benchmarks en la literatura de computación paralela y se presentaron diversos programas desarrollados con la biblioteca propuesta para resolverlos de forma adecuada.
Las principales aportaciones y conclusiones obtenidas quedan resumidas a continuación:
- Se ha presentado una nueva biblioteca de computación evolutiva paralela, llamada Objetos Evolutivos Paralelos (OEP) para programación en C++.
- OEP hace énfasis en la modularidad a la hora de programar una aplicación evolutiva paralela. Debido a que tanto los operadores como el resto de entidades son objetos, resulta fácil combinar diferentes operadores y objetos de distintas fuentes para construir una aplicación.
- OEP prescinde de la necesidad de representar las soluciones, haciendo evolución de objetos complejos directamente usando operadores genéticos, y estableciendo, mediante interfaces, el modo en que unos objetos acceden a otros.
- Se ha mostrado la facilidad de uso de OEP y de la robustez y capacidad de resolución que presenta, resolviendo varios problemas de diverso tipo.
- Se han desarrollado diversas estrategias de migración (broadcast, anillo, estrella) y se han utilizado en la resolución de los problemas planteados.
- Hemos visto cómo los resultados obtenidos con la versión paralela del programa, al compararlos con los obtenidos con la versión secuencial, resultan muy competitivos en todos los casos, mejorando en ocasiones.
Finalmente, podemos afirmar que los objetivos propuestos al desarrollar este proyecto de fin de carrera se han cumplido:
- Llevar a cabo un estudio sobre las bibliotecas de programación paralela más utilizadas hoy día y determinar cuál sería más adecuada para el desarrollo de una nueva biblioteca de computación evolutiva basada en alguna de ellas.
- Desarrollo de una biblioteca de computación evolutiva paralela en C++ lo más general posible.
- Implementación de diferentes estrategias de migración y su utilización en la resolución de forma satisfactoria de diversos problemas.
Durante el desarrollo del presente trabajo, y directamente relacionados con él, se han remitido, a diferentes revistas y congresos, las siguientes publicaciones:
- P.A. Castillo; M.G. Arenas; J.G. Castellano; J. Carpio; J.J. Merelo; A. Prieto; V. Rivas; G. Romero. Function Approximation with Evolved Multilayer Perceptrons. in Proc. of Int'l Workshop on Evolutionary Computation (IWEC'2000) pp. 209-224. State Key Laboratory of Software Engineering. Wuhan University. 2000
- G. Romero; M.G. Arenas; J.G. Castellano; P.A. Castillo; J.J. Merelo; J. Carpio; A. Prieto; V. Rivas. Evolutionary Computation Visualization: Application to G-Prop. In Lecture Notes in Computer Science (Proc. of Parallel Problem Solving from Nature - PPSN VI, 6th International Conference, Paris, France), Volume 1917, pp. 902-912, September 2000
- J.G. Castellano, M.G. Arenas, J. Carpio, P.A. Castillo, M. Cillero, J.J. Merelo, P.R. Parra, V. Rivas, G. Romero. Objetos evolutivos paralelos Perspectivas del paralelismo en computadores. Actas de las XI Jornadas de Paralelismo, pp. 241-246. Granada 11,12 y 13 de septiembre de 2000
- M.G. Arenas, J.G. Castellano, J. Carpio, P.A. Castillo, M. Cillero, J.J. Merelo, A. Prieto, V. Rivas, G. Romero. Speedup measurement for a distributed evolutionary algorithm that uses Jini. Perspectivas del paralelismo en computadores. Actas de las XI Jornadas de Paralelismo, pp. 247-252. Granada 11,12 y 13 de septiembre de 2000
- P.A. Castillo; M.G. Arenas; J.G. Castellano; M.Cillero; J.J. Merelo; A. Prieto; V. Rivas; G. Romero. Function Approximation with Evolved Multilayer Perceptrons. in Proc. of The Worldses Congress Evolutionary Computation 2001 (EC2001/NNA2001/FSFS2001). Tenerife (Spain). February 11-15-2001
El desarrollo del presente trabajo ha permitido identificar una serie de temas y líneas de investigación originales, que se considera de interés abordar, a corto plazo, de la siguiente manera:
- Integrar en EOP otros esquemas de paralelización como la global o de grano fino, permitiendo además, esquemas de comunicación asíncronos.
- Usar otras bibliotecas de paso de mensajes como PVM (más extendido que MPI), lo cual permitiría usar redes de ordenadores heterogéneos y algoritmos tolerantes a fallos.
- Desarrollar diversas versiones de OEP. Solamente está disponible la biblioteca de clases en C++, aunque hay otros lenguajes orientados a objetos, con los cuales se podría implementar OEP, como son Java, Objetive-C o Perl, por mencionar algunos, que son ampliamente utilizados.
- Integración con otros entornos, como son CORBA o COM, en los cuales se pueden declarar interfaces independientes del lenguaje, con lo cual los objetos de EOP podrían ser usados por cualquier aplicación o clase, construida en cualquier lenguaje de programación.
Consideramos, como principal conclusión de este trabajo, que los métodos de optimización basados en computación evolutiva paralela presentan importantes ventajas frente a otros métodos secuenciales, debido principalmente a la posibilidad de ejecución de diversos algoritmos en diferentes máquinas y a la capacidad de éstas de comunicarse para intercambiar información útil para la evolución.
[]
[]
Next: Referencias Bibliográficas
Up: Optimización mediante Algoritmos Genéticos
Previous: Conclusiones
  Índice General
Francisco Javier Garcia Castellano
2000-12-14