La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

“En lugar de envidiar la naturaleza debemos emularla” Holland

Presentaciones similares


Presentación del tema: "“En lugar de envidiar la naturaleza debemos emularla” Holland"— Transcripción de la presentación:

1 “En lugar de envidiar la naturaleza debemos emularla” Holland
ALGORITMOS GENÉTICOS “En lugar de envidiar la naturaleza debemos emularla” Holland

2 Algoritmos genéticos Algoritmos basados en los principios de la evolución natural Se utilizan en problemas donde no se pueden encontrar soluciones o estas no son satisfactorias Funcionamiento básico:Se genera de forma aleatoria una población inicial de soluciones potenciales, se entra en un proceso iterativo que trasforma la población a través de: una evaluación de las soluciones que forman la población selección de las “mejores” y reproducción recombinación de estas formando una nueva población

3 Componentes de un algoritmo genético
Una representación genética de las soluciones del problema Una forma de crear una población inicial de soluciones Una función de evaluación capaz de medir la bondad de cualquier solución Un conjunto de operadores genéticos como reglas de transición probabilísticas para guiar la búsqueda El valor de unos parámetros de entrada que el algoritmo genético utilizará para guiar su evolución

4 Esquema básico Procedimiento AG Inicio t:=0; inicializar P(t);
evaluar P(t); mientras (no condición de terminación) hacer t:=t+1; reproducir P(t-1) en P(t); recombinar P(t); Fin_mientras; Fin.

5 Esquema básico

6 Representación Cadenas binarias (generalmente) de longitud determinada por el número de variables existentes en una solución y el número de bits necesarios para representarlas; cromosomas o estructuras Ejemplo: maximizar f(x)=x2 (0- 31) Representación en binario Los cromosomas están compuestos por genes; el valor de un gen se denomina alelo y a su posición locus

7 Representación Cada iteración será una generación; cit = (bi1t...bilt) representa el cromosoma ci de la generación t, b será un gen o un elemento del vocabulario elegido. Podemos representar un individuo Xit en una generación determinada t, como la terna: Xit=(cit,xit,fit) xit es la decodificación del cromosoma (fenotipo) y fit es la adecuación de la solución

8 Obtención de la población inicial
Conjunto de individuos de número m, (m parámetro) P(t)= {Xit,....Xit} Inicialización de un individuo Xi0 consiste en asignar un valor aleatorio a cada uno de los genes bij0, con la decodificación obtenemos su fenotipo xi0 y fi0 lo obtendremos a través de la función de evaluación. m = 4

9 fit=eval(cit)=f(xit)
Función de evaluación Objetivo: medir la adecuación de una solución en una generación t  La función de evaluación se corresponde con la función objetivo del problema Dado un cromosoma cit, y su fenotipo xit podemos obtener su adecuación fit como: fit=eval(cit)=f(xit)

10 Función de evaluación Decodificación Fitness 01101 13 169 11000 24 576
fit=eval(cit)=f(xit) en este caso f(x) =x2 Codificación ci Decodificación xi Fitness fi 01101 13 169 11000 24 576 01000 8 64 10011 19 361 1170

11 Operadores Genéticos Reproducción: Incluye un algoritmo de selección y un algoritmo de muestreo ·    El algoritmo de selección asigna una probabilidad de selección a cada cromosoma ·    El algoritmo de muestreo produce copias de los cromosomas de la generación t-1 a la generación t Los cromosomas con mayor probabilidad de selección se reproducirán un número de veces mayor y tendrán mayor repercusión en las siguientes generaciones.

12 Operadores Genéticos: selección y muestreo
Fitness % del total 01101 13 169 14.4 11000 24 576 49.2 01000 8 64 5.5 10011 19 361 30.9 1170 100 1 copia 0 copias 2 copias

13 Operadores Genéticos: esquemas de selección y muestreo
Basado en el rango: Se mantiene el porcentaje de la población. Los M peores se substituyen por la descendencia de los mejores. Diferentes variantes Rueda de ruleta: Los cromosomas de la generación actual en una cantidad proporcional a su “bondad” Selección de torneo: Se escoge aleatoriamente un número T de individuos, gana el que mejor se adapta, se repite hasta obtener el número de individuos deseados

14 Operadores genéticos: rueda de ruleta

15 Operadores Genéticos: cruce
Dependiendo de una probabilidad inicial, probabilidad de cruce seleccionamos de forma aleatoria los cromosomas que van a participar en el apareamiento A continuación aplicamos alguna técnica de cruce, por ejemplo el cruce simple

16 Operadores Genéticos: cruce
Cruce de n puntos: los cromosomas se cortan por n puntos aleatorios y se intercambia el material genético Cruce uniforme: cada gen se obtiene de la madre o del padre de forma aleatoria

17 Operadores Genéticos: cruce

18 Operadores Genéticos: mutación
Su objetivo es producir diversidad en la población Teniendo en cuenta una probabilidad, probabilidad de mutación, y de forma aleatoria se altera un bit o gen de un cromosoma Una vez aplicados los operadores, se evalúa de nuevo la población

19 Operadores Genéticos Parámetros: Tamaño de la población
Número de generaciones Probabilidad de cruce Probabilidad de mutación  Ejemplo: valores aceptados para funciones de optimización Tamaño de la población: Probabilidad de cruce: 0.60 Probabilidad de mutación: 0.001

20 EL problema de la mochila
N objetos para meter en una mochila Cada objeto i, tiene un pero pi, y si se mete en la mochila produce un beneficio bi Objetivo: Llenar la mochila obteniendo el máximo beneficio: Maximizar sujeto a

21 El problema de la mochila
Representación X=(x1, x2,...xn) xi pertenece a (0,1) !! Pueden haber individuos que no cumplen las restriciones!! Función de evaluación: si en otro caso

22 Problema de la mochila Con la función de evaluación eliminamos las soluciones no factibles Se generan individuos de forma aleatoria El operador de cruce, se puede usar el cruce simple Se puede seguir el esquema general

23 Fundamentos de AG Esquema: patrón de similitud que describe un subconjunto de cadenas con similitudes en ciertas posiciones Aumentamos el vocabulario con el símbolo *, en las posiciones en las que aparece este símbolo puede haber cualquier elemento del alfabeto inicial. Orden de un esquema O(E): número de posiciones fijas en él

24 Fundamentos de AG Longitud de un esquema L(E): distancia entre la primera y la última posición definida en el esquema  Cada ristra pertenece a todas las regiones (esquemas) en las cuales aparece cualquiera de sus bits El número de esquemas procesados útilmente por un algoritmo genético que maneje una población de n individuos es del orden de m3. Paralelismo implícito

25 m(E,t+1)= m(E,t) . fpro(E)/fpro
Fundamentos de AG Aplicación del operador selección: La probabilidad de seleccionar un cromosoma perteneciente a un esquema E, viene dada por el cociente entre la adecuación media de los representantes de un esquema y la adecuación media de la población en un instante t. m(E,t+1)= m(E,t) . fpro(E)/fpro m(E,t) número de representantes del esquema E en la generación t

26 Fundamentos de AG Aplicación del operador cruce:
Si A=B No se destruye ningún esquema Si el orden del esquema es cero, no será destruido nunca Si la longitud del esquema es uno la probabilidad de que sea destruido es 1/m-1 Si la longitud del esquema es dos la probabilidad es 2/m-1. En general L(E)/m-1 Teniendo en cuenta la probabilidad de aplicar el cruce Pc L(E)/m-1

27 Fundamentos de AG Aplicación del operador mutación:
Pm probabilidad de mutación, 1-Pm probabilidad de que un gen sobreviva O(E) . Pm probabilidad de que sobrevivan todos los de un cromosoma Si consideramos un esquema por encima de la media e%, el efecto del operador reproducción, en cada generación los esquemas por encima de la media reciben un incremento exponencial de sus representantes m(E,t+1) = m(E,0)(1+e)t

28 Fundamentos de AG Teorema del esquema:
Si consideramos también el efecto del operador cruce y mutación: m(E,t+1) >= m(E,t) . (fpro(E)/fpro ). [1-PcL(e)/(m-1)-O(E)Pm Teorema del esquema: Los esquemas de longitud corta, orden bajo y adecuación por encima de la media reciben un incremento exponencial en subsiguientes generaciones de un algoritmo genético

29 Fundamentos de AG

30 Tutoriales http://geneura.ugr.es/~jmerelo/ie
Se encuentran un tutoriales sobre algoritmos genéticos, y direcciones donde se pueden encontrar algoritmos simples, con los que se puede “jugar” cambiando parámetros del algoritmo


Descargar ppt "“En lugar de envidiar la naturaleza debemos emularla” Holland"

Presentaciones similares


Anuncios Google