P. 1
Algoritmos genéticos1 ppt

Algoritmos genéticos1 ppt

|Views: 9|Likes:
Publicado porMidwar Valencia

More info:

Published by: Midwar Valencia on Aug 15, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/24/2014

pdf

text

original

15.

053
z

Jueves, 14 de mayo

El algoritmo genético básico
z

Algoritmos genéticos

Desarrollado por John Holland en 1975 Simula el proceso de la evolución Principio básico: la evolución se puede entender como un proceso de optimización

z

Entregas: material de clase
z

Pregunta: ¿cuándo damos la sesión de repaso extra?

1

2

Más sobre analogías físicas
z

El algoritmo genético básico
z

Las analogías físicas como principio rector de los problemas de optimización
– Algoritmos genéticos • John Holland 1975 – Recocido simulado • Kirkpatrick – Sistemas de colonia de hormigas

Basado en términos generales en la selección natural con un toque añadido de biología molecular.

z Los individuos con mejor calidad se reproducen [operador de selección] z

Los cromosomas de cada hijo se forman como una mezcla de los cromosomas de los padres [operador de cruce]. La mutación añade diversidad a las especies y un mayor campo para la mejora [operador de mutación]. En los cromosomas está codificada la info. pertinente
4

z

3

z

Términos AG
cromosoma (solución)

Operador de selección: Seleccione dos padres de la población para reproducirse. La selección tiende a los individuos de mayor calidad. gen 1 ó (variable) selección cruce mutación
0

alelos (valores)

Operador de cruce: Cada hijo se obtiene como una mezcla aleatoria de sus padres utilizando una operación de cruce. Operador de mutación: En algunos momentos un individuo de la población sufre una mutación aleatoria.

población

Objetivo: maximizar la función de calidad (función objetivo)
5

6

hijo 1 hijo 2 01111 10001 11101 01101 00110 10011 Calidad total 10 Ejemplo sólo con selección y cruce original tras 5 generaciones 11011 10111 11011 11011 11011 11011 3. 3. o más. digamos alrededor de 50 a 100. 00100 11011 2. Veremos más sobre ello más adelante. Cruce de 1 punto: se divide cada padre en dos partes en la misma ubicación k (aleatoriamente) padre 1 Operador de selección z z Piense en el cruce como en la reproducción La selección influye en la reproducción de modo que los padres de más calidad tienen más posibilidades 01101 padre 2 10011 Ejemplo: 1. 4. z z z z padre 1 01101 padre 2 10011 z Las poblaciones suelen ser mucho mayores. sea la probabilidad de seleccionar al miembro j calidad(j)/calidad total 4 3 2 3 12 Prob(1) = 4/12 = 1/3 Prob(3) = 2/12 = 1/6 El hijo 1 consiste en los genes 1 a k-1 del padre 1 y en los genes k a n del padre 2..Un ejemplo sencillo: maximizar el número de unos z Población inicial 11101 01101 00110 10011 Calidad media Calidad 4 3 2 3 3 7 Operación de cruce: toma dos soluciones y crea un hijo (o más) cuyos genes son una mezcla de los genes de los padres. 9 Por ejemplo. Idea: introducir variabilidad genética en la población a través de la mutación.8000 Dificultad previa: la población ha perdido gran cantidad de variabilidad genética. 8 Operación de cruce: toma dos soluciones y crea un hijo (o más) cuyos genes son una mezcla de los genes de los padres.7000 tras 10 generaciones 11011 10011 11011 11011 11011 11011 3.. Éste es el paso de selección. 12 z z . El hijo 2 es el “reverso”. 2. Seleccione dos padres de la población. Operación de mutación sencilla: reemplazar aleatoriamente q% de los bits en la población.9000 11 Mutación z 10011 01000 00001 11111 .

10001 00100 11011 2.Ejemplo anterior con un 1% de tasa de mutación original 10011 01000 00001 11111 .8000 tras 5 generaciones 11011 11111 11111 11111 01111 11111 11111 4.8000 tras 10 generaciones 11111 11111 11111 11111 11111 11111 11111 4. cree dos hijos de cada padre..9000 13 Representaciones de operadores ilustrado con una representación basada en bits f4 f5 f6 f3 f2 1111111111 0000000000 1111000000 0000111111 Cruce 1001110100 f1 1000110100 Selección Mutación 14 El algoritmo genetico básico z definir la representación iniciar población seleccionar 2 padres crear 1 o 2 hijos mutar población modificar población ¿paramos o continuamos? finalizar 15 AG basados en generación 2 4 8 6 9 11 1 3 5 7 10 12 14 15 Tome toda la población de n y cree n/2 conjuntos de padres utilizando la selección. 16 – cómo se representa la solución z definir la función de “calidad” En los AG basados en generación creamos hijos de generación en generación.. mutación 13 16 17 18 19 20 AG basados en generación 2 4 8 6 9 11 1 3 5 7 10 12 14 15 2 5 3 2 1 3 14 8 15 2 9 1 8 12 6 4 7 2 6 5 17 AG basados en generación 2 1 3 5 6 9 11 7 10 12 14 15 2 5 3 2 1 3 14 8 15 2 9 1 8 12 6 4 7 2 6 5 A C E G I K M O Q S B D F H J L N P R T 18 A continuación. – objective function z definir los operadores – inicialización. cruce. 4 8 13 13 Luego reemplace la población original por el hijo 16 17 18 19 20 16 17 18 19 20 .

Algoritmo genético de estado estacionario Principio obtener población inicial Repetir seleccionar dos individuos I 1 y I2.AG basados en generación A B C 1D 2 3 E F 5 4 G H 7 6 I J 8 9 10 K L 11 12 M N 13 14 15 O P 16 17 Q R 18 19 S 20 T AG basados en estado estacionario 2 1 3 5 6 9 11 7 10 12 14 15 En AG de estado estacionario creamos los hijos de uno en uno y luego reemplazamos un miembro de la pob. Luego cree un hijo. reemplace un miembro de la población con I3 o deseche I3. con el nuevo hijo. 2 A 13 13 16 17 18 19 20 21 16 17 18 A 19 20 22 AG basados en estado estacionario 2 4 8 6 9 11 1 3 5 7 10 12 14 15 Repita este proceso. 6 2 A 8 AG basados en estado estacionario 2 4 6 9 11 1 3 5 7 10 12 14 15 6 Luego reemplace un miembro de la población con el nuevo hijo. aplique el operador de cruce sobre I 1 y I2 para producir un hijo I 3. (a menudo se reemplaza un padre) ocasionalmente realice una mutación o una inmigración. 13 16 17 18 A 19 20 23 . y ocasionalmente forme una mutación. Luego haga las iteraciones 4 8 13 16 17 18 19 19 20 20 AG basados en estado estacionario 2 4 8 6 9 11 1 3 5 7 10 12 14 15 Seleccione dos padres. Así se crea la próxima generación. ha 24 Fin. sta que la población converja.

y luego visite las ciudades restantes para que aparezcan en la segunda ruta. En la comunidad del AG se ha confiado a menudo en métodos específicos que no han dado buenos resultados.Codificación (puede ser peliagudo para problemas combinatorios) z z ¿Cómo se hace un cruce? z ¿Cómo se codifica una ruta de n ciudades? Representación 1: las ciudades en orden Es muy difícil en este caso. No está claro cómo mezclar dos tours. – Ejemplo: visite primero las ciudades k para que aparezcan en la primera ruta. 8 6 8 5 4 5 1 7 1 4 9 4 7 8 7 6 1 9 3 3 3 1 8 9 5 2 5 2 2 6 27 Un cromosoma consiste en n enteros de 0 a K – en nuestro ejemplo. 28 Un cruce utilizando claves aleatorias padre 1 1 43 padre 2 1 21 2 32 2 49 3 17 3 87 4 9 4 39 5 88 5 77 6 23 6 17 7 6 7 9 8 55 8 69 9 72 9 92 padre 1 1 43 7 padre 2 1 21 7 hijo 1 43 29 2 32 4 2 49 6 2 32 4 3 17 3 3 87 1 3 87 6 4 9 6 4 39 4 4 9 2 5 88 2 5 77 2 5 77 1 6 23 1 6 17 8 6 17 8 7 6 8 7 9 5 7 9 5 8 55 9 8 69 3 8 55 3 9 72 5 9 92 9 9 92 9 30 Seleccione una clave de uno de los dos padres (al azar) 1 43 2 32 3 87 4 9 5 77 6 17 7 9 8 55 9 92 7 . 8 6 5 4 1 7 4 9 7 8 6 1 3 3 9 5 2 2 z 8 5 1 4 7 6 3 9 2 z Representación 2: la lista de “ciudades próximas” 1 4 2 8 3 9 4 7 5 1 6 3 7 6 8 5 9 2 25 No se puede tomar mitad de una ruta y mitad de otra 26 ¿Cómo se hace un cruce? z Representación de claves aleatorias z z Regla estándar: halle algo que funcione. se puede obtener un orden 1 43 2 3 4 5 6 7 8 9 32 17 9 88 23 6 55 72 Éstas son las “claves aleatorias” para las ciudades 1 a 9 7 4 3 6 2 1 8 9 5 Éste es el orden obtenido tomando las ciudades por el orden de sus claves aleatorias. K = 100 Clasificando los n enteros.

59 19 13 El algoritmo de inserción aleatorio Escoja tres ciudades al azar y halle una ruta T sobre las ciudades Para k = 4 a n. pequeñas y cree una ruta sobre ellas.Un cruce alternativo que se basa en un algoritmo aleatorizado z Elija las 3 ciudades con las claves más. 67 53 89 38 31 26 83 32 z Representación: use claves aleatorias. seleccione ciudades para insertar en el orden en que aparecen en claves aleatorias 31 Halle la ciudad con la siguiente clave más pequeña e insértela 59 19 13 Halle la ciudad con la siguiente clave más pequeña e insértela 59 19 13 67 53 89 38 31 26 83 33 67 53 89 38 31 26 83 34 Halle la ciudad con la siguiente clave más pequeña e insértela 59 19 13 Halle la ciudad con la siguiente clave más pequeña e insértela 59 19 13 67 53 89 38 31 26 83 35 67 53 89 38 31 26 83 36 . escoja una ciudad que no esté en T e insértela de modo óptimo en T.

. – Muchas técnicas de representación. z Los AG han evolucionado mucho desde entonces z z Operador de selección (tiende a individuos de más calidad) z z Uso importante de la aleatorización 41 42 . intercambio de bits para mutar y un plan generacional. . para mutación. – Ya no es fácil distinguir qué es un algoritmo genético y qué no lo es. para combinar heurísticas múltiples.Halle la ciudad con la siguiente clave más pequeña e insértela 59 19 13 Inserte la 8ª ciudad 19 59 13 67 53 89 38 31 26 83 37 67 53 89 38 31 26 83 38 Inserte la última ciudad 59 19 13 La ruta asociada con las claves aleatorias utilizando la inserción 59 19 67 13 67 53 89 31 38 31 26 53 89 38 26 83 39 83 40 AG z z z Búsqueda Nbhd z z z z AG desde 1975 z Población Función de calidad Operador de mutación (opera en soluciones únicas) Operador de cruce (crea un hijo aleatorio de dos padres) Una solución cada vez Función objetivo Operador de vecindario Búsqueda local: intentar siempre la mejora No suele confiar en la aleatorización Los AG se iniciaron con el cruce de 1 punto. para cruce..

La implementación de los AG es todavía un arte. Requiere muchos ajustes. Fácil realizar un paralelo Fácil al principio y para obtener una técnica que funcione 43 z z z z A menudo requiere mucho esfuerzo para que funcione bien . sin embargo. a veces se puede afinar mucho y llegar de todos modos al mismo resultado.Características de los algoritmos genéricos z Los AG parecen funcionar mejor en problemas en los que la función es muy compleja y la factibilidad es fácil de conseguir.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->