Вы находитесь на странице: 1из 13

Universidad Nacional del Altiplano

PRESENTACIN Este documento contiene un extracto del trabajo de graduacin titulado Elaboracin de pronsticos con algoritmos genticos realizado por Samuel David Orozco Orozco, estudiante de la carrera de Ingeniera en Ciencias y Sistemas de la Universidad de San Carlos de Guatemala. Se ha creado este documento con el propsito de servir de apoyo a los estudiantes del curso de Inteligencia Artificial en el estudio de los algoritmos

genticos. Este documento incluye teora general sobre algoritmos genticos y un ejemplo sencillo de su aplicacin. Al final del documento se incluye una lista de las fuentes de informacin que fueron consultadas para su elaboracin, que pueden revisarse si se desea profundizar ms en el tema. Tambin en el presente trabajo se pone en conocimiento todo acerca de lo que es: Historia de los Algoritmos Genticos. Conceptos de los Algoritmos Genticos. Caractersticas de los Algoritmos Genticos. Ventajas y Desventajas de los Algoritmos Genticos. Y una Aplicacin de un Algoritmos Genticos.

BIOINFORMTICA

Universidad Nacional del Altiplano

DEDICATORIA

El

presente trabajo es

dedicado a DIOS por su infinita Misericordia y Amor hacia la humanidad entera.

A cada uno de los que hacen posible nuestra formacin

profesional y acadmica: docentes, administrativos e ingenieros de la especialidad por su sabia

enseanza, su compresin y su apoyo mutuo

Muy especialmente con profundo cario a nuestros padres quienes son

directos participes y colaboradores de ese apoyo incondicional que nos brindan da a da para nuestra formacin profesional.

Alumnos del V-S BIOINFORMTICA 2

Universidad Nacional del Altiplano

AGRADECIMIENTO

En investigacin

el

presente

trabajo

de

de los estudiantes; se

agradece por la acertada direccin de la UNIVERSIDAD ALTIPLANO brindado sus NACIONAL PUNO, puertas por y su DEL habernos escuela

profesional.

As mismo agradezco a nuestros docentes y a nuestros compaeros y compaeras por habernos brindado su apoyo moral en todo momento.

Los Estudiantes

BIOINFORMTICA

Universidad Nacional del Altiplano


RESUMEN

En este trabajo se presenta un algoritmo gentico para la resolucin de problemas de Programacin por Metas Entera. Este tipo de problemas presentan en general un gran nmero de dificultades para su resolucin utilizando algoritmos tradicionales de Programacin Entera, siendo en la mayora de los casos de problemas reales demasiado costosa computacionalmente para afrontarla con garantas. Sin embargo, se mostrar cmo este nuevo tipo de algoritmos, los algoritmos genticos, permiten resolver eficientemente problemas de este tipo con un coste computacional reducido. Como ejemplo, se resuelve en este trabajo un problema del comportamiento gentico, con un modelo de Programacin por Metas Entera aplicando un algoritmo gentico y un algoritmo tradicional. Para estas resoluciones se analiza el coste computacional de ambos tipos de resolucin para poner de manifiesto las ventajas que puede suponer un algoritmo gentico para la resolucin de problemas reales complejos.

BIOINFORMTICA

Universidad Nacional del Altiplano


INDICE GENERAL

CAPITULO I: Introduccin de los Algoritmos Genticos. 1.1.-Historia de los Algoritmos Genticos. El desarrollo de los Algoritmos Genticos se debe a gran medida a John Holland, investigador de la Universidad de Michigan. A finales de la dcada de los 60 desarroll una tcnica que imitaba en su funcionamiento a la seleccin natural. Aunque originalmente esta tcnica que imitaba en su funcionamiento a la seleccin natural. Finales de los 59 y principios de los 60.- Algoritmos Genticos programados en computadoras por bilogos evolutivos que buscaban explcitamente realizar modelos de aspectos de la evolucin natural. En 1962, investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoe y H.J. Bremermann haban desarrollado independientemente algoritmos inspirados en la evolucin para optimizacin de funciones y aprendizaje automtico, pero sus trabajos generaron poca reaccin. En 1965 surgi un desarrollo ms exitoso, cuando Ingo Rechenberg, entonces de la Universidad Tcnica de Berln, introdujo una tcnica que llam estrategia evolutiva. En 1975 apareci el trabajo fundamental en el campo de los algoritmos genticos con la publicacin del libro Adaptacin en Sistemas Naturales y Artificiales de John Holland'. A finales de 1980s la General Electric comenz a vender el primer producto de Algoritmo Gentico para solucionar problemas de procesos industriales. En 1989 se cre el producto Evolver que fue el primer producto de Algoritmo Gentico para Computadoras personales.

BIOINFORMTICA

Universidad Nacional del Altiplano


CAPITULO II: Que son los Algoritmos Genticos. Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden usarse para resolver problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la seleccin natural y la supervivencia de los ms fuertes, postulados por Darwin. Por imitacin de este proceso, los Algoritmos Genticos son capaces de ir creando soluciones para problemas del mundo real. La evolucin de dichas soluciones hacia valores ptimos del problema depende en buena medida de una adecuada codificacin de las mismas. Un algoritmo gentico consiste en una funcin matemtica o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generacin. Versiones ms complejas de algoritmos genticos generan un ciclo iterativo que directamente toma a la especie (el total de los ejemplares) y crea una nueva generacin que reemplaza a la antigua una cantidad de veces determinada por su propio diseo. Una de sus caractersticas principales es la de ir perfeccionando su propia heurstica en el proceso de ejecucin, por lo que no requiere largos perodos de entrenamiento especializado por parte del ser humano, principal defecto de otros mtodos para solucionar problemas, como los Sistemas Expertos En el caso de que existan tcnicas especializadas para resolver un determinado problema, lo ms probable es que superen al AG, tanto en rapidez como en ecacia. El gran campo de aplicacin de los AG se relaciona con aquellos problemas para los cuales no existen tcnicas especializadas. Incluso en el caso en que dichas tcnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridndolas con los AG. Cuando el AG es implementado, se hace de forma que involucre el siguiente ciclo: 1. Generacin de una poblacin inicial de manera aleatoria. 2. Evaluar el desempeo de todos los individuos de la poblacin, tomando en cuenta alguna funcin objetivo. 3. Crear una nueva poblacin mediante la ejecucin de operaciones como el crossover y mutacin sobre individuos cuyo desempeo haya sido evaluado. 4. Descartar la poblacin vieja e iterar usando la nueva, hasta que el nmero de generaciones alcanza al criterio de terminacin.

BIOINFORMTICA

Universidad Nacional del Altiplano

Generacion=0

Poblacin Inicial Aleatoria SI

Criterio de terminaci NO Evaluacin de cada individuo en la poblacin SI Generacion++ Individuos= M? NO

Resultado Propuesto

Fin

Mutacin
Seleccin de la operacin Cruce 2 Individuos seleccionados en base a su desempeo Ejecucin Crossover Individuo seleccionado en base a su desempeo Ejecucin Mutacin

Insercin de 2 individuos en la nueva poblacin


Individuos=Individuos+2

Insercin del mutante en la nueva poblacin


Individuos=Individuos+1

BIOINFORMTICA

Universidad Nacional del Altiplano


Una iteracin de este ciclo constituye una generacin. Este comportamiento puntual no se observa como un todo dentro de las poblaciones en la naturaleza pero si representa un modelo de implementacin conveniente. La primera generacin (generacin 0) de este proceso opera sobre una poblacin de individuos generados aleatoriamente. Desde entonces las operaciones genticas en conjunto con la medida del desempeo trabajan para mejorar la poblacin. Estructura Tipos de Representacin Durante los primeros aos el tipo de representacin utilizado era siempre binario, debido a que se adapta perfectamente al tipo de operaciones y el tipo de operadores que se utilizan en un AG. Sin embargo, las representaciones binarias no son siempre efectivas por lo que se empezaron a utilizar otro tipo de representaciones. En general, una representacin debe identicar las caractersticas constituyentes del conjunto a estudiar, de forma que distintas representaciones dan lugar a distintas perspectivas y por tanto distintas soluciones. Tipos bsicos de representaciones: Representacin binaria: Cada gen es un valor 1 0. Representacin entera: Cada gen es un valor entero. Representacin real: Cada gen es un valor real. Tamao de la poblacin Una cuestin que se puede plantear es la relacionada con el tamao idneo de la poblacin. Parece intuitivo que las poblaciones pequeas corren el riesgo de no cubrir adecuadamente el espacio de bsqueda, mientras que el trabajar con poblaciones de gran tamao puede acarrear problemas relacionados con el excesivo costo computacional. Poblacin Inicial Habitualmente la poblacin inicial se escoge al azar. Si los individuos de la poblacin inicial se obtuviesen como resultado de alguna tcnica heurstica o de optimizacin local puede suceder que se acelere la convergencia del AG. Sin embargo en algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto la convergencia hacia ptimos locales. Funcin Objetivo El resultado al cual se desea llegar. BIOINFORMTICA 8

Universidad Nacional del Altiplano


Operador de Seleccin El operador de Seleccin es el encargado de transmitir y conservar aquellas caractersticas de las soluciones que se consideran valiosas a lo largo de las generaciones. El principal medio para que la informacin til se transmita es que aquellos individuos mejor adaptados tengan ms probabilidades de reproducirse. Sin embargo, es necesario tambin incluir un factor aleatorio que permita reproducirse a individuos que aunque no estn muy bien adaptados, puedan contener alguna informacin til para posteriores generaciones, con el objeto de mantener as tambin cierta diversidad en cada poblacin. Operador de Cruce El operador de Cruce permite realizar una exploracin de toda la informacin almacenada hasta el momento en la poblacin y combinarla para crear mejores individuos. Operador de Mutacin La mutacin se considera un operador bsico, que proporciona un pequeo elemento de aleatoriedad en el entorno de los individuos de la poblacin. Si bien el operador de cruce es el responsable de efectuar la bsqueda a lo largo del espacio de posibles soluciones, el operador de mutacin va ganando en importancia a medida que la poblacin de individuos va convergiendo. El objetivo del operador de mutacin es producir nuevas soluciones a partir de la modicacin de cierto nmero de genes de una solucin existente, con la intencin de fomentar la variabilidad dentro de la poblacin. Existen muy diversas formas de realizar la mutacin, desde la ms sencilla (puntual), donde cada gen muta aleatoriamente con independencia del resto de genes, hasta conguraciones ms complejas donde se tienen en cuanta la estructura del problema y la relacin entre los distintos genes.

BIOINFORMTICA

Universidad Nacional del Altiplano


CAPITULO III. Caractersticas de los algoritmos genticos. OROZCO (2007)1Algunas de las caractersticas de los algoritmos genticos son: Son algoritmos estocsticos. Dos ejecuciones distintas pueden dar soluciones distintas. Son algoritmos de bsqueda mltiple, por lo tanto dan varias soluciones. Aunque habitualmente las energas de los individuos de la poblacin final son similares, los individuos suelen ser distintos entre s. Son los algoritmos que hacen una barrida amplia al subespacio de posibles soluciones vlidas, y con diferencia. De hecho, se considera que, de todos los algoritmos de optimizacin estocsticos, los algoritmos genticos son de los ms exploratorios disponibles. La convergencia del algoritmo es poco sensible a la poblacin inicial si esta se escoge de forma aleatoria y es lo suficientemente grande. Por su grado de penetracin casi nulo, la curva de convergencia asociada al algoritmo presenta una convergencia excepcionalmente rpida al principio, que casi enseguida se bloquea. Esto se debe a que el algoritmo gentico es excelente descartando subespacios realmente malos. Cada cierto tiempo, la poblacin vuelve dar el salto evolutivo, y se produce un incremento en la velocidad de convergencia excepcional. La razn de esto es que algunas veces aparece una mutacin altamente beneficiosa, o un individuo excepcional, que propaga algn conjunto de cromosomas excepcional al resto de la poblacin. La optimizacin es funcin de la representacin de los datos. Una buena codificacin puede hacer la programacin y resolucin muy sencillas, mientras que una codificacin errada obligar a estudiar que los individuos cumplan las restricciones del problema. Adems, la velocidad de convergencia va a estar fuertemente influenciada por la representacin. dos

Dr. Samuel Orozco-Universidad de San Carlos de Guatemala-Facultad de Ingeniera -Escuela de Ingeniera en Ciencias y Sistemas; Guatemala, Febrero del 2007.

BIOINFORMTICA

10

Universidad Nacional del Altiplano


Es una bsqueda para mtricamente robusta. Eso quiere decir que los parmetros del algoritmo escogidos deben ser realmente malos para que no converja. Los algoritmos genticos son intrnsecamente paralelos. Esto significa que, independientemente de que se hayan implementado de forma paralela o no, buscan en distintos puntos del espacio de soluciones de forma paralela. CAPITULO III: Objetivos de los algoritmos genticos. 3.1.- Aplicaciones de los algoritmos genticos. Son las siguientes aplicaciones: 2.2.- Limitaciones de los algoritmos genticos. El poder de los Algoritmos Genticos proviene del hecho de que se trata de una tcnica robusta, y pueden tratar con xito una gran variedad de problemas provenientes de diferentes reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Gentico encuentre la solucin ptima, del problema, existe evidencia emprica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimizacin combinatoria. En el caso de que existan tcnicas especializadas para resolver un determinado problema, lo ms probable es que superen al Algoritmo Gentico, tanto en rapidez como en eficacia. El gran campo de aplicacin de los Algoritmos Genticos se relaciona con aquellos problemas para los cuales no existen tcnicas especializadas. Incluso en el caso en que dichas tcnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridndolas con los Algoritmos Genticos. CAPITULO IV: PROYECTOS Y LOGROS DE LA BIOINFORMTICA.

5.1.-Proyectos: Microsatellites in Phytophtora ESTs: Survey, transferabilliity and

associiatiion wiith pathogenesiis rellated genes. 5.2.-Logros: Prediccin de Genes. Prediccin de promotores y elementos reguladores. Prediccin de Genes.

BIOINFORMTICA

11

Universidad Nacional del Altiplano


CAPITULO VI: CONCLUSIONES.

Con este trabajo se pretende poner de manifiesto la eficiencia y las ventajas que un algoritmo gentico puede presentar a la hora de resolver un problema complejo de Programacin Multiobjetivo. As, se ha resuelto un problema real complejo de Programacin por Metas Entera con un mtodo exacto tradicional (el mtodo de Ramificacin y Acotacin), utilizando unas de las libreras ms eficientes en este campo, las libreras de Windows.h. Posteriormente se ha diseado e implementado un sencillo algoritmo gentico para resolver este problema, obteniendo la misma solucin que la resolucin exacta, pero con un ahorro de tiempo de computacin de ms del 90%. Este es un ejemplo, por tanto, en el que se pone de manifiesto que, a la hora de resolver un problema de Programacin Multiobjetivo complejo y costoso computacionalmente, la utilizacin de un algoritmo gentico puede ser una opcin eficiente en cuanto a tiempo de computacin y en cuanto a calidad de las soluciones como alternativa a los mtodos tradicionales.

CAPITULO VII: RECOMENDACIONES.

Del presente trabajo se recomienda lo siguiente: Se recomienda tener un amplio conocimiento de conceptos bsicos de la Biologa y Gentica. Conocimientos en desarrollo de Programas. Amplio desarrollo de software. Trabajar en equipo de diferentes especialidades. Mantener una documentacin diaria.

BIOINFORMTICA

12

Universidad Nacional del Altiplano


BIBLIOGRAFIA

BIBLIOGRAFIA WEB http://www.uv.es/~marti/genet.html. http://www.fciencias.unam.mx/revista/soluciones/N17/Coello2.html. http://www.geocities.com/SiliconValley/Vista/7491/index.html.

ANEXOS GLOSARIO BASICO

BIOINFORMTICA

13

Вам также может понравиться