Tema 2: Algoritmos Genéticos

Documentos relacionados
Tema 2. Algoritmos Genéticos

1. Introducción 2. Esquema básico 3. Codificación 4. Evaluación 5. Selección 6. Operadores 7. Ejemplo. Algoritmos genéticos

ALGORITMOS GENÉTICOS

Algoritmos Genéticos. Introducción a la Robótica Inteligente. Álvaro Gutiérrez 20 de abril de

ALGORITMOS GENÉTICOS: ALGUNOS RESULTADOS DE CONVERGENCIA

Tema 15: Combinación de clasificadores

Tema 11: Inducción de Reglas p. 1/1

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales

Algoritmos genéticos: Aplicación al problema de la mochila.

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada.

[ Guía para recién llegados a los ALGORITMOS GENÉTICOS]

OPERADORES GENETICOS SOBRE PERMUTACIONES APLICADOS A LA RESOLUCIÓN DEL SUDOKU

BÚSQUEDA DE RUTAS DE METRO

Algoritmos basados en hormigas

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

Algoritmos genéticos. Un ejemplo con hoja de cálculo

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid

Algoritmos genéticos. Inteligencia Computacional TC3023

ALGORITMOS GENÉTICOS

ALGORÍTMICA

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

Capítulo IV ALGORITMOS GENÉTICOS

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/ / 33

Introducción a los Algoritmos Genéticos

Programación Genética

ALGORITMOS GENETICOS ÍNDICE

Programacion Genetica

Selección usando Algoritmos

OPTIMIZACIÓN VECTORIAL

cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar

BÚSQUEDA INTELIGENTE BASADA EN METAHEURÍSTICAS

Computación Evolutiva: Técnicas de Selección

Algoritmos Genéticos.

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

Introducción a la Computación Evolutiva

Generación de variables aleatorias continuas Método de la transformada inversa

La herencia de caracteres adquiridos, propuesta por Lamarck, podría ocurrir si

ALGORITMOS EVOLUTIVOS

UN ALGORITMO GENÉTICO CON CODIFICACIÓN REAL PARA LA EVOLUCIÓN DE TRANSFORMACIONES LINEALES

Generación de Variables Aleatorias. UCR ECCI CI-1453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides

ALGORITMOS GENÉTICOS

Unidad II: Análisis semántico

Algoritmos Evolutivos

Estadística para la toma de decisiones

4. NÚMEROS PSEUDOALEATORIOS.

Introducción a los algoritmos genéticos y sus aplicaciones

Matemáticas Evolutivas: Algoritmos Genéticos

Apuntes de Inteligencia Artificial

CRITERIOS DE SELECCIÓN DE MODELOS

Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

Tareas 20% Primer Examen Parcial 20% Segundo Examen Parcial 20% Proyecto Final 25% Examen Final 15%

Retículos y Álgebras de Boole

MATERIA: MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II INSTRUCCIONES Y CRITERIOS GENERALES DE CALIFICACIÓN

ALGORITMO DE OPTIMIZACIÓN BASADO EN EL APAREAMIENTO DE LAS ABEJAS(HBMO). UN NUEVO ENFOQUE HEURÍSTICO DE OPTIMIZACIÓN.

Práctica 4: Variables Aleatorias y Simulación

Algoritmos Genéticos Y

ALGORITMOS GENETICOS. NATYHELEM GIL LONDOÑO 27 de Noviembre de 2006

Análisis de imágenes digitales

Metodología para la generación y evaluación de políticas de operación en sistemas de recursos hídricos. Aplicación a un sistema de México

PROYECTO FIN DE CARRERA

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos

Expresiones Regulares y Derivadas Formales

ESCUELA POLITÉCNICA NACIONAL

Tema 5. Muestreo y distribuciones muestrales

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ingeniería Aplicada TEÓRICA SERIACIÓN 100% DE OPTATIVAS DISCIPLINARIAS

6.4. APLICACIÓN DE REDES NEURONALES EN EL CÁLCULO DE LA TASA DE CONTORNEAMIENTOS Velocidad de retorno del rayo con distribución uniforme

Computación Evolutiva Algoritmos Genéticos

Modelos de probabilidad. Modelos de probabilidad. Modelos de probabilidad. Proceso de Bernoulli. Objetivos del tema:

PROPIEDADES GENERALES DE LA SELECCIÓN NATURAL Y LA ADAPTACIÓN

Examen de Matemáticas Aplicadas a las CC. Sociales II (Septiembre 2009) Selectividad-Opción A Tiempo: 90 minutos

Las Etapas de la Compilación

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

Introducción a los Algoritmos Genéticos y la Programación Genética

Algoritmos Genéticos Y

Clasificación de sistemas

Introducción a los Algoritmos Genéticos

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

JUEGO DE BASKETBALL. Repaso de Distribuciones de Probabilidad Discretas y Continuas

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Generación de variables aleatorias continuas Método de rechazo

Simulación I. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Transcripción:

Tema 2: Algoritmos Genéticos p. 1/3 Tema 2: Algoritmos Genéticos Abdelmalik Moujahid, Iñaki Inza y Pedro Larrañaga Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad del País Vasco http://www.sc.ehu.es/isg/

Tema 2: Algoritmos Genéticos p. 2/3 Índice Introducción El algoritmo genético simple Extensiones y modificaciones del algoritmo genético simple Algoritmos genéticos paralelos

Tema 2: Algoritmos Genéticos p. 3/3 Introducción Algunos paradigmas de la Inteligencia Artificial inspirados en la Naturaleza: Redes Neuronales (McCulloch y Pitts 1943) Simulated Annealing (Kirkpatrick y col. 1983) Búsqueda Tabú (Glover 1986) Computación Evolutiva

Tema 2: Algoritmos Genéticos p. 4/3 Introducción Dentro de la computación evolutiva tenemos: Algoritmos genéticos (Holland 1975) Estrategias evolutivas (Rechenberg 1973) Programación evolutiva (Fogel 1962) Programación genética (Koza 1992) Sistemas clasificatorios (Holland 1962)

Tema 2: Algoritmos Genéticos p. 5/3 Introducción Algoritmos genéticos métodos adaptativos Basados en la evolución natural (Darwin 1859, On the Origin of the Species by Means of Natural Selection) Poblaciones evolucionan en la Naturaleza de acuerdo con los principios de selección natural y supervivencia de los más fuertes Problemas de optimización combinatoria Técnica robusta. Hibridación

Tema 2: Algoritmos Genéticos p. 6/3 El algoritmo genético simple BEGIN /* Algoritmo Genético Simple */ Generar una población inicial y computar la función de evaluación de cada individuo WHILE NOT Terminado DO BEGIN /* Producir nueva generación */ FOR Tamaño poblacion/2 DO BEGIN /*Ciclo Reproductivo */ Seleccionar dos individuos de la anterior generación, para el cruce (probabilidad de de selección proporcional a la función de evaluación del individuo) Cruzar con cierta probabilidad los dos individuos obteniendo dos descendientes Mutar los dos descendientes con cierta probabilidad Computar la función de evaluación de los dos descendientes mutados Insertar los dos descendientes mutados en la nueva generación END IF la población ha convergido THEN Terminado := TRUE END END

Tema 2: Algoritmos Genéticos p. 7/3 El algoritmo genético simple Individuos de la población -cromosomasrepresentados por un conjunto de parámetros -genes- utilizando un cierto alfabeto -{0, 1}-. Individuo = genotipo, representación = fenotipo. Se infiere la adaptación al problema de un individuo, a partir de la evaluación de su fenotipo Función de adaptación para cada cromosoma devuelve un número real, que se supone es propocional a la adaptación del individuo al problema

Tema 2: Algoritmos Genéticos p. 8/3 El algoritmo genético simple Fase reproductiva se efectúa la selección de padres - favoreciendo a los mejor adaptados -, para a continuación cruzarlos, y mutar los hijos Convergencia práctica (De Jong) (α, β) gen convergido, población convergido

Tema 2: Algoritmos Genéticos p. 9/3 El algoritmo genético simple Punto de cruce Punto de cruce Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 Descendientes 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 Operador de cruce basado en un punto

Tema 2: Algoritmos Genéticos p. 10/3 El algoritmo genético simple gen mutado Descendiente 1 0 1 0 0 1 0 0 1 0 Descendiente mutado 1 0 1 0 Operador de mutación 1 1 0 0 1 0

Tema 2: Algoritmos Genéticos p. 11/3 El algoritmo genético simple Adaptación Mejor Media 0 20 40 60 80 Generaciones Adaptación media y mejor adaptación en un algoritmo genético simple 100

Tema 2: Algoritmos Genéticos p. 12/3 El algoritmo genético simple Ejemplo: Máximo de f(x) = x 2 sobre los enteros {1,2,..., 32} Población x f(x) valor f(x)/ f(x) Probabilidad inicial valor (función (probabilidad de selección (fenotipos) genotipo adaptación) selección) acumulada 1 01101 13 169 0.14 0.14 2 11000 24 576 0.49 0.63 3 01000 8 64 0.06 0.69 4 10011 19 361 0.31 1.00 Suma 1170 Media 293 Mejor 576

Tema 2: Algoritmos Genéticos p. 13/3 El algoritmo genético simple Emparejamiento Punto Descen- Nueva población x f(x) de los individuos de dientes descendientes valor función seleccionados cruce mutados genotipo adaptación 11000 2 11011 11011 27 729 10011 2 10000 10000 16 256 01101 3 01100 11100 28 784 11000 3 11001 11101 29 841 Suma 2610 Media 652.5 Mejor 841

Tema 2: Algoritmos Genéticos p. 14/3 Extensiones del algoritmo genético simple BEGIN AGA Obtener la población inicial WHILE NOT stop DO BEGIN Seleccionar padres de la población Producir hijos a partir de los padres seleccionados Mutar los individuos hijos Extender la población añadiendo los hijos Reducir la población extendida END END AGA

Tema 2: Algoritmos Genéticos p. 15/3 Extensiones del algoritmo genético simple Población Tamaño poblaciones pequeñas riesgo de no cubrir adecuadamente el espacio de búsqueda poblaciones grandes excesivo costo computacional Alander estudios empíricos, tamaño comprendido entre l y 2l Población inicial Al azar Resultado de búsqueda por medio de un optimizador local Ventaja: aceleración del algoritmo Desventaja: prematura convergencia hacia óptimos locales

Tema 2: Algoritmos Genéticos p. 16/3 Extensiones del algoritmo genético simple Función objetivo (i) Funciones regulares: para dos individuos cercanos en el espacio de búsqueda, sus respectivos valores en las funciones objetivo similares Individuos sometidos a restricciones: absolutista penalización de la función objetivo número de restricciones violadas coste esperado de reconstrucción Transformación de la función objetivo convergencia prematura: comprensión finalización lenta: expansión

Tema 2: Algoritmos Genéticos p. 17/3 Extensiones del algoritmo genético simple Función objetivo (ii) Modificación de la función objetivo por devaluación de cromosomas muy cercanos d(i j t, I i t) distancia de Hamming entre los individuos I j t e I i t, K R + a un parámetro h(d(i j t, I i t)) = K d(i j t, I i t) si d(i j t, I i t) < K, 0 si d(i j t, I i t) K. Para cada individuo I j t, definimos σ t j = i =j h(d(ij t, I i t)), valor que utilizaremos para devaluar la función objetivo del individuo en cuestión. g (I j t ) = g(i j t )/σ t j

Tema 2: Algoritmos Genéticos p. 18/3 Extensiones del algoritmo genético simple Selección (i) Selección proporcional a la función objetivo la probabilidad de que el individuo I j t como padre, se tiene que: Denotando por p prop j,t sea seleccionado p prop j,t = g(i j t ) λ j=1 g(ij t ). Invariante ante un cambio de escala, pero no ante una traslación Selección proporcional al rango del individuo Produce una repartición más uniforme de la probabilidad de selección. p rango j,t = rango(g(ij t )) λ(λ + 1)/2. Invariante frente a la translación y al cambio de escala

Tema 2: Algoritmos Genéticos p. 19/3 Extensiones del algoritmo genético simple Selección (ii) prop rango P ( I j,t) P ( I j,t) I j,t I Esquemas de selección de padres proporcional a la función objetivo (izquierda) y proporcional al rango de la función objetivo (derecha)

Tema 2: Algoritmos Genéticos p. 20/3 Extensiones del algoritmo genético simple Selección (iii) modelo de selección del valor esperado para cada individuo I j t, un contador inicializado en g(ij t )/ḡ t Si el individuo I j t es seleccionado para el cruce, dicho contador decrece en una cantidad c (c (0, 5; 1)). El individuo dejará de poder ser seleccionado, cuando contador negativo

Tema 2: Algoritmos Genéticos p. 21/3 Extensiones del algoritmo genético simple Selección (iv) muestreo universal estocástico t I 4 t I 1 t I 3 t I 2 El individuo I t 1 se escoge 2 veces, mientras que It 3 e It 4 son elegidos una única vez

Tema 2: Algoritmos Genéticos p. 22/3 Extensiones del algoritmo genético simple Selección (v) modelo de selección elitista el mejor individuo de la población en el tiempo t, seleccionado como padre selección por torneo tamaño del torneo, (con o sin reemplazamiento), seleccionar el mejor individuo de este grupo, y repetir el proceso hasta que el número de individuos seleccionados coincida con el tamaño de la población

Tema 2: Algoritmos Genéticos p. 23/3 Extensiones del algoritmo genético simple Selección (vi) Clasificaciones de métodos de selección: Probabilidad de selección: dinámicos: variable (ej. proporcional función objetivo) estáticos: fija (ej. rango función objetivo) Tasa de reemplazamiento generacional: t rg = 1 (Goldberg) t rg = λ 1 (Holland, Whitley) MOD GA (Michalewicz) r 1 para reproducción, r 2 para morir, λ (r 1 + r 2 ) pasan a la siguiente generación

Tema 2: Algoritmos Genéticos p. 24/3 Extensiones del algoritmo genético simple Cruce (i) Cruce basado en un punto Cruce basado en dos puntos Final Comienzo Segundo punto de corte Primer punto de corte Individuo visto como un circuito Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 Descendientes 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 Operador de cruce basado en dos puntos

Tema 2: Algoritmos Genéticos p. 25/3 Extensiones del algoritmo genético simple Cruce (ii) Cruce uniforme máscara de cruce generada aleatoriamente. distribución de probabilidad de Bernouilli de parámetro 1/2 Máscara de cruce 1 0 0 1 0 0 1 Padre 1 1 1 0 1 1 0 1 Descendiente 1 0 0 1 1 1 1 Padre 2 0 0 0 1 1 1 0 Operador de cruce uniforme

Tema 2: Algoritmos Genéticos p. 26/3 Extensiones del algoritmo genético simple Cruce (iii) Cruce uniforme Máscara de cruce 1 1 1 0 0 0 0 1 1 0 0 0 1 Padre 1 1 0 1 1 0 0 1 1 0 1 1 0 0 Descendiente 1 0 1 0 1 1 1 1 0 0 0 1 0 Padre 2 1 0 0 0 1 1 1 1 0 0 0 1 1 Máscaras de cruce para los operadores de cruce basados en 1 punto y en 2 puntos

Tema 2: Algoritmos Genéticos p. 27/3 Extensiones del algoritmo genético simple Cruce (iv) Cruce uniforme basado en la función objetivo máscara de cruce generada aleatoriamente distribución de probabilidad de Bernouilli de parámetro p = g(i j t )/(g(i j t ) + g(it i )) donde I j t y It i denotan los padres seleccionados para ser cruzados. Cruces dependientes del tipo de problema: TSP

Tema 2: Algoritmos Genéticos p. 28/3 Algoritmos genéticos paralelos. Modelo de islas Esclava Esclava Maestra Esclava Esclava Comunicación en estrella

Tema 2: Algoritmos Genéticos p. 29/3 Algoritmos genéticos paralelos. Modelo de islas Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Comunicación en red

Tema 2: Algoritmos Genéticos p. 30/3 Algoritmos genéticos paralelos. Modelo de islas Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Comunicación en anillo