algoritmo 13 11-12

27
ALGORITMO GENÉTICO Gaspar Hernández Gian Carlos Pizzo Diego Hernández Nicole Pérez Julio Borges

Upload: felo1019

Post on 13-May-2015

478 views

Category:

Education


0 download

DESCRIPTION

Un poco sobre algoritmo genetico

TRANSCRIPT

Page 1: Algoritmo 13 11-12

ALGORITMO GENÉTICO Gaspar Hernández

Gian Carlos Pizzo

Diego Hernández

Nicole Pérez

Julio Borges

Page 2: Algoritmo 13 11-12

Concepto De algoritmo genético El Algoritmo Genético (AG) es un modelo de aprendizaje que

debe su comportamiento a una metáfora de algunos de los mecanismos de la evolución que se observan en la naturaleza (como la reproducción sexual y el principio de la supervivencia del más apto), son métodos adaptativos, generalmente usados en problemas de búsqueda y optimización de parámetros.

A grandes rasgos, un algoritmo genético consiste en una población de soluciones codificadas de forma similar a cromosomas. Cada uno de estos cromosomas tendrá asociado un ajuste o valor de bondad que cuantifica su validez como solución del problema. En función de este valor se le darán más o menos oportunidades de reproducción. Además, con cierta probabilidad se realizarán mutaciones de estos cromosomas.

Page 3: Algoritmo 13 11-12

Clases algoritmo genéticos

Algoritmos Genéticos Generacionales

Se asemejan a la forma de reproducción de los insectos, donde una generación pone huevos, se aleja geográficamente o muere y es substituida por una nueva. En este momento se realizan cruces en una piscina de individuos, los descendientes son puestos en otra, al final de la fase reproductiva se elimina la generación anterior y se pasa a utilizar la nueva. Este modelo también es conocido como Algoritmo Genético Canónico. Algoritmos Genéticos de estado Fijo.

Utilizan el esquema generacional de los mamíferos y otros animales de vida larga, donde coexisten padres y sus descendientes, permitiendo que los hijos sean educados por sus progenitores, pero también que a la larga se genere competencia entre ellos. En este modelo, no solo se deben seleccionar los dos individuos a ser padres, si no también cuales de la población anterior serán eliminados, para dar espacio a los descendientes. La diferencia esencial entre el reemplazo generacional y el modelo de estado fijo es que las estadísticas de la población son recalculadas luego de cada cruce y los nuevos descendientes están disponibles inmediatamente para la reproducción.

Page 4: Algoritmo 13 11-12

Clases algoritmo genéticos

Algoritmos Genéticos Paralelos.

Parte de la metáfora biológica que motivo a utilizar la búsqueda genética consiste en que es inherentemente paralela, donde al evolucionar se recorren simultáneamente muchas soluciones, cada una representada por un individuo de la población. Sin embargo, es muy común en la naturaleza que no solo sea una población evolucionando, si no varias poblaciones, normalmente aisladas geográficamente, que originan respuestas diferentes a la presión evolutiva. Esto origina dos modelos que toman es cuenta esta variación, y utilizan no una población como los anteriores si4 no múltiples concurrentemente. Modelos de Islas.

Si se tiene una población de individuos, esta se divide en subpoblaciones que evolucionan independientemente como un Algoritmo Genético normal. Ocasionalmente, se producen migraciones entre ellas, permitiéndoles intercambiar material genético. Con la utilización de la migración, este modelo puede explotar las diferencias en las subpoblaciones; esta variación representa una fuente de diversidad genética. Sin embargo, si un número de individuos emigran en cada generación, ocurre una mezcla global y se eliminan las diferencias locales, y si la migración es infrecuente, es probable que se produzca convergencia prematura en las subpoblaciones.

Page 5: Algoritmo 13 11-12

Clases algoritmo genéticos

Modelo Celular

Coloca cada individuo en una matriz, donde cada uno sólo podrá buscar reproducirse con los individuos que tenga a su alrededor (mas cerca de casa) escogiendo al azar o al mejor adaptado. El descendiente pasara a ocupar una posición cercana. No hay islas en este modelo, pero hay efectos potenciales similares. Asumiendo que el cruce esta restringido a individuos adyacentes, dos individuos separados por 20 espacios están tan aislados como si estuvieran en dos islas, este tipo de separación es conocido como aislamiento por distancia.

Luego de la primera evaluación, los individuos están todavia distribuidos al azar sobre la matriz. Posteriormente, empiezan a emerger zonas como cromosomas y adaptaciones semejantes. La reproducción y selección local crea tendencias evolutivas aisladas, luego de varias generaciones, la competencia local resultara en grupos mas grandes de individuos semejantes.

Page 6: Algoritmo 13 11-12

ELEMENTOS DE UN ALGORITMO GENETICO

Individuo

Un individuo es un ser que caracteriza su propia especie. El individuo es un cromosoma y es el código de información sobre el cual opera el algoritmo. Cada solución parcial del problema a optimizar está codificada en forma de cadena o String en un alfabeto determinado, que puede ser binario. Una cadena representa a un cromosoma, por lo tanto también a un individuo y cada posición de la cadena representa a un gen. Esto significa que el algoritmo trabaja con una codificación de los parámetros y no con los parámetros en si mismos.

Población

A un conjunto de individuos (Cromosomas) se le denomina población. El método de A.G´s consiste en ir obteniendo de forma sucesiva distintas poblaciones. Por otra parte un Algoritmo Genético trabaja con un conjunto de puntos representativos de diferentes zonas del espacio de búsqueda y no con un solo punto

Page 7: Algoritmo 13 11-12

ELEMENTOS DE UN ALGORITMO GENETICO

Operadores Genéticos :

Operador de Selección. El paso siguiente a la evaluación es escoger los miembros de la población que serán utilizados para la reproducción. Su meta es dar mas oportunidades de selección a los miembros más aptos de la población. Así funciona: se calcula el cociente entre el valor fitness de un individuo y la suma total de los valores fitness de todos los individuos de la población. Este resultado mide la probabilidad de selección Ps (i) de cada individuo.

Page 8: Algoritmo 13 11-12

ELEMENTOS DE UN ALGORITMO GENETICO Operador de Cruce Consiste en unir en alguna forma los cromosomas de los padres que han sido previamente seleccionados de la generación anterior para formar dos descendientes. Existen diversas variaciones, dependiendo del número de puntos de división a emplear y la forma de ver el cromosoma. El operador cruce se aplica en dos pasos: en el primero los individuos se aparean (se seleccionan de dos a dos) aleatoriamente con una determinada probabilidad, llamada probabilidad de cruce Pc; en el segundo paso a cada par de individuos seleccionados anteriormente se le aplica un intercambio en su contenido desde una posición aleatoria K hasta el final, con K Î [1, m-1], donde m es la longitud de individuo. K es el denominado punto de cruce y determina la subdivisión de cada padre en dos partes que se intercambian para formar dos nuevos hijos, según podemos ver en la figura 2 Esto se conoce como cruce ordinario o cruce de un punto. El objetivo del operador de cruce es recombinar sub-cadenas de forma eficiente; esta gestión recibe el nombre de construcción de bloques.

Page 9: Algoritmo 13 11-12

ELEMENTOS DE UN ALGORITMO GENETICO Operadores GeneticosMutación.

El operador de mutación consiste en la alteración aleatoria de cada uno de los genes del individuo con una probabilidad de mutación PM.El objetivo de la mutación es producir diversidad en la población. Si al generar aleatoriamente la población inicial o después de varias generaciones, en la misma posición de todos los cromosomas sólo aparece un único elemento del alfabeto utilizado, esto supondrá que con los operadores de reproducción y cruce, nunca cambiara dicho elemento, por lo que puede ocurrir que jamas se alcance la solución más optima a nuestro problema. La probabilidad de aparición del operador de mutación no debe ser grande para no perjudicar la correcta construcción de bloques. El operador de mutación origina variaciones elementales en la población y garantiza que cualquier punto del espacio de búsqueda pueda ser alcanzado.

Page 10: Algoritmo 13 11-12

1. Generación de una población inicial de manera aleatoria.

2. Evaluar el desempeño de todos los individuos de la población, tomando en cuenta alguna función objetivo.

3. Crear una nueva población mediante la ejecución de operaciones como el crossover y mutación sobre individuos cuyo desempeño haya sido evaluado.

4. Descartar la población vieja e iterar usando la nueva, hasta que el número de generaciones alcanza al criterio de terminación.

Cuando el AG es implementado, se hace de forma que involucre el siguiente ciclo:

ESTRUCTURA DE UN ALGORITMO GENÉTICO SIMPLE

Page 11: Algoritmo 13 11-12

Generacion=0

Población Inicial Aleatoria

Criterio de terminación??

Resultado Propuesto

FinEvaluación de cada individuo en la población

Individuos=M?Generacion++

Selección de la operación Genética

SI

NO

SI

NO

2 Individuos seleccionados en base a su desempeño

Ejecución Crossover

Inserción de 2 individuos en la nueva población

Individuos=Individuos+2

Cruce

Individuos=Individuos+1

Mutación

Individuo seleccionado en base a su desempeño

Ejecución Mutación

Inserción del mutante en la nueva población

ESTRUCTURA DE UN ALGORITMO GENÉTICO SIMPLE

Page 12: Algoritmo 13 11-12

Ventajas de los algoritmos genéticos en la solución de problemas computacionales

• Descendencia múltiple : pueden explorar el espacio de soluciones en múltiples direcciones a la vez.

• Paralelismo : les permite evaluar implícitamente muchos esquemas a la vez, los AG funcionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente grande, demasiado vasto para hacer una búsqueda exhaustiva en un tiempo razonable

• Multiparamétrico : manipula muchos parámetros simultáneamente. Muchos problemas de la vida real no pueden definirse en términos de un único valor que hay que minimizar o maximizar, sino que deben expresarse en términos de múltiples objetivos

Page 13: Algoritmo 13 11-12

Aéreas de aplicación de los algoritmos genéticos

Existen numerosas aéreas en las cuales se pueden aplicar los algoritmos genéticos, entre ellas se encuentran :

• Programación automática: Los AG se han empleado para desarrollar programas para tareas específicas , y para diseñar otras estructuras computacionales tales como el autómata celular, y las redes de clasificación.

• Economía: En este caso, se ha hecho uso de estos Algoritmos para modelar procesos de innovación, el desarrollo de estrategias de puja, y la aparición de mercados económicos.

• Aprendizaje máquina: Han servido asimismo para desarrollar determinados aspectos de sistemas particulares de aprendizaje, como pueda ser el de los pesos en una red neuronal, las reglas para sistemas de clasificación de aprendizaje o sistemas de producción simbólica, y los sensores para robots.

• Optimización: Los AG se han utilizado en numerosas tareas de optimización, incluyendo la optimización numérica, y los problemas de optimización combinatoria.

Page 14: Algoritmo 13 11-12

Estrategias de Seleccion

El análisis de estrategias y selección de alternativas sirve para identificar la alternativa más viable para organizar la intervención. Las estrategias son los medios que resultan más adecuados para alcanzar los objetivos

Page 15: Algoritmo 13 11-12

Selección Directa

Se encarga tomar elementos de acuerdo a un criterio objetivo, como son los x mejores, los x peores.

Page 16: Algoritmo 13 11-12

Selección Aleatoria

Puede ser realizada por selección equiprobable o selección estocástica.

Page 17: Algoritmo 13 11-12

Selección Equiprobable

Es cuando todos tienen la misma probabilidad de ser escogidos. Por ejemplo, en nuestro algoritmo la madre en el cruce es escogida con probabilidad equiprobable.

Page 18: Algoritmo 13 11-12

Selección Estocastica

Es cuando probabilidad de que un individuo sea escogido depende de una heurística. Los distintos procedimientos estocásticos son: Selección por sorteos Por ruleta Por torneo o elitesco

Page 19: Algoritmo 13 11-12

Selección por Sorteos

Cada individuo de la población tiene asignado un rango proporcional o inversamente proporcional a su adaptación. Se escoge un número aleatorio dentro del rango global, y el escogido es aquel que tenga dicho número dentro de su rango. La probabilidad de ser escogido es proporcional/inversamente proporcional al grado de adaptación del individuo.

Page 20: Algoritmo 13 11-12

Por Ruleta

. El comportamiento es similar al de una ruleta, donde se define un avance cada tirada a partir de la posición actual. Tiene la ventaja de que no es posible escoger dos veces consecutivas el mismo elemento, y que puede ser forzado a que sea alta la probabilidad de que no sean elementos próximos en la población esto último no es una ventaja de por sí; salvo que algunos de los otros operadores genéticos emplee un método de selección directa basado en la posición relativa de los individuos de la población.

Page 21: Algoritmo 13 11-12

Por Torneo o Elitesco

Escoge un subconjunto de individuos de acuerdo con una de las técnicas anteriores -habitualmente, aleatoria o estocástica- y de entre ellos selecciona el más adecuado por otra técnica habitualmente, determinística de tipo el mejor o el peor. Esta técnica tiene la ventaja de que permite un cierto grado de elitismo -el mejor nunca va a morir, y los mejores tienen más probabilidad de reproducirse y de emigrar que los peores- pero sin producir una convergencia genética prematura, si la población es, al menos, un orden de magnitud superior al del número de elementos involucrados en el torneo. En caso de que la diferencia sea menor no hemos observado mucha diferencia entre emplear el torneo o no.

Page 22: Algoritmo 13 11-12

Técnicas de Cruces Cruce básico: se selecciona un punto al azar de la cadena. La parte anterior del

punto es copiada del genoma del padre y la posterior del de la madre. Cruce multipunto: igual que el básico, solo que estableciendo más de un punto de

cruce. Cruce uniforme: para cada gen de la cadena del descendiente existe una

probabilidad de que el gen pertenezca al padre, y otra de que pertenezca al padre.

Page 23: Algoritmo 13 11-12

MUTACIONES

Page 24: Algoritmo 13 11-12

¿QUE SON LAS MUTACIONES?

Se define mutación como una variación de las informaciones contenidas en el código genético - habitualmente, un cambio de un gen a otro producido por algún factor exterior al algoritmo genético

El objetivo del operador de mutación es producir nuevas soluciones a partir de la modificación de un cierto número de genes de una solución existente, con la intención de fomentar la variabilidad dentro de la población. Existen muy diversas formas de realizar la mutación, desde la más sencilla (Puntual ), donde cada gen muta aleatoriamente con independencia del resto de genes, hasta configuraciones más complejas donde se tienen en cuanta la estructura del problema y la relación entre los distintos genes.

RAZONES PARA APLICAR LAS MUTACIONES

TECNICAS DE

MUTACION

Page 25: Algoritmo 13 11-12

TECNICAS DE MUTACION• Mutación de bit: existe una única probabilidad de

que se produzca una mutación de algún bit. De producirse, el algoritmo toma aleatoriamente un bit, y lo invierte.

• Mutación multibit: cada bit tiene una probabilidad de mutarse o no, que es calculada en cada pasada del operador de mutación multibit.

• Mutación de gen: igual que la mutación de bit, solamente que, en vez de cambiar un bit, cambia un gen completo. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo.

• Mutación multigen: igual que la mutación de multibit, solamente que, en vez de cambiar un conjunto de bits, cambia un conjunto de genes. Puede sumar un valor aleatorio, un valor constante, o introducir un gen aleatorio nuevo.

• Mutación de intercambio: existe una probabilidad de que se produzca una mutación. De producirse, toma dos bits/genes aleatoriamente y los intercambia.

• Mutación de barajado: existe una probabilidad de que se produzca una mutación. De producirse, toma dos bits o dos genes aleatoriamente y baraja de forma aleatoria los bits -o genes, según hubiéramos escogido- comprendidos entre los dos.

TECNICAS DE

MUTACION

BIT

MULTIBIT

GEN

MULTIGEN

INTERCAMBIO

BARAJADA

Page 26: Algoritmo 13 11-12

DATOS CURIOSOS

Page 27: Algoritmo 13 11-12

DATOS CURIOSOS• Scha er y col. encuentran que el efecto del cruce ff

en la búsqueda es inferior al que previamente se esperaba. Utilizan la denominada evolución primitiva, en la cual, el proceso evolutivo consta tan sólo de selección y mutación.

• Se considera como un operador secundario en los algoritmos genéticos canonicos.

• Se suelen recomendar porcentajes de mutacion entre 0.001 y 0.01 para la representacion binaria.

• Algunos investigadores han sugerido que el usar porcentajes altos de mutacion al inicio de la busqueda, y luego de crementarlos exponencialmente, favorece el desempeño de un AG (Fogarty, 1989).

• Algunos autores sugieren que pm =1/L (donde L es la longitud de la cadena cromosomica) es un limite inferior para el porcentaje optimo de mutacion (Black, 1993).

• El papel que juega la mutacion en el proceso evolutivo, asi como su comparacion con la cruza, sigue siendo tema frecuente de investigacion y debate en la comunidad de computacion evolutiva.