Académique Documents
Professionnel Documents
Culture Documents
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
ndice
Problemas de optimizacin Bsqueda local Bsqueda en escalada Enfriamiento simulado Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Introduccin
Algoritmos de bsqueda de soluciones ptimas
Buscar la mejor solucin dentro de un espacio de posibles
soluciones
Maximizar o minimizar
Mejoras iterativas
Empezar con un estado inicial cualquiera Mejorar su calidad paso a paso
Algoritmos:
Escalada Escalada con reinicio aleatorio Enfriamiento simulado Algoritmos genticos Reparacin heurstica (tema 5)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
ellas recorriendo la menor distancia posible (suponiendo que existe conexin directa entre todas ellas)
CO
JA
SE HU GR AL MA
CA
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Alternativa:
Estados: permutacin de las ciudades Operadores: obtener una nueva permutacin, usando
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
generando cada vez un nico nodo nodo vecino Estados nales y soluciones:
Todos los estados son posibles soluciones, pero se trata de
encontrar una solucin buena (cuanticada por una funcin objetivo) Si es posible, la mejor Se busca el estado con un ptimo valor (mximo o mnimo) de funcin objetivo No buscamos la secuencia de operadores (los estados contienen toda la informacin)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
(estructura de datos)
Funcin F-OBJETIVO(ESTADO)
Funcin cuyo valor se trata de optimizar Minimizar o maximizar
Funcin GENERA-ESTADO-INICIAL() Si en el problema el estado inicial no est claramente denido, el estado inicial puede generarse de manera aleatoria, o usando alguna tcnica heurstica Funcin GENERA-SUCESOR(ESTADO)
Genera un estado sucesor a uno dado Dene la nocin de vecindad para el problema concreto Usualmente, existe cierta componente aleatoria y
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
lista con todas las ciudades, sin repetir, en un orden determinado Ejemplo: (malaga cadiz cordoba almeria huelva
granada jaen sevilla)
del circuito
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
entre ellas
a b h b a h
d e
d e
Heurstica + aleatoriedad
Heurstica: trata de reducir los cruces Aleatoriedad: al elegir el par de ciudades
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Bsqueda en escalada
Idea de la bsqueda en escalada:
Aplicar una simple mejora iterativa Guiado por la heurstica y aleatoriedad de la funcin que
genera sucesores
No se permite recuperarse de un camino errneo (no se
Estados
F(e)
e=generasucesor(e) e
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Bsqueda en escalada
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Ejemplos
> (load "viajante") ... > (escalada-aleatoria) ((CADIZ HUELVA CORDOBA JAEN ALMERIA SEVILLA GRANADA MALAGA) 1366.7968) > (escalada-aleatoria) ((SEVILLA JAEN HUELVA CORDOBA MALAGA ALMERIA GRANADA CADIZ) 1488.9255) > (escalada-aleatoria) ((SEVILLA GRANADA ALMERIA CORDOBA JAEN CADIZ MALAGA HUELVA) 1431.388)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Bsqueda en escalada
Evidentemente, no se garantiza encontrar el ptimo Problemas:
Su ecacia depende en gran medida de la funcin
GENERA-SUCESOR
ptimos locales, mesetas
locales:
Buscar aleatoriamente el inicio de la pendiente Hacer escalada (o descenso) a partir de ah Iterar el proceso Devolver el mejor estado conseguido en alguna de las iteraciones
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
FUNCION ESCALADA-CON-REINICIO-ALEATORIO(ITERACIONES) 1. Hacer MEJOR-ESTADO igual GENERA-ESTADO-INICIAL() y MEJOR-VALOR igual a F-OBJETIVO(MEJOR-ESTADO) 2. Hacer un nmero de veces igual a ITERACIONES: 2.1 Realizar una escalada aleatoria. 2.2 Si el estado obtenido tiene un valor mejor que MEJOR-VALOR, actualizar MEJOR-ESTADO y MEJOR-VALOR con el nuevo estado y valor obtenido. 3. Devolver MEJOR-ESTADO y MEJOR-VALOR
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
coordenadas
4n puntos situados uniformemente a lo largo de los lados
de un cuadrado de lado n
Parametrizado y con solucin conocida (escalable,
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
. 0) . 3)) . 3) . 0))
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Enfriamiento simulado
Idea principal:
Aceptar probabilsticamente estados peores La probabilidad de que un estado peor sea aceptado vara
enfriamiento de metales
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
candidatas (intensicacin)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Enfriamiento simulado
Generacin del estado inicial y estados vecinos
Aleatoria, heurstica
Aceptacin probabilstica
Probabilidad de aceptacin de un estado que incrementa
F T
Criterio de parada
Valor sucientemente bueno de la funcin objetivo Nmero mximo de iteraciones sin mejora En nuestro caso, nmero jo de iteraciones totales
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
FUNCION ENFRIAMIENTO-SIMULADO(T-INICIAL,FACTOR-DESCENSO, N-ENFRIAMIENTOS,N-ITERACIONES) 1. Crear las siguientes variables locales: 1.1 TEMPERATURA (para almacenar la temperatura actual), inicialmente con valor T-INICIAL. 1.2 ACTUAL (para almacenar el estado actual), cuyo valor inicial es GENERA-ESTADO-INICIAL(). 1.3 VALOR-ACTUAL igual a F-OBJETIVO(ACTUAL) 1.4 MEJOR (para almacenar el valor del mejor estado encontrado hasta el momento), inicialmente ACTUAL. 1.5 VALOR-MEJOR (para almacenar el valor de MEJOR), inicialmente igual a VALOR-ACTUAL
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
100))
100)) 100))
100)) 500))
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
naturaleza:
La evolucin ocurre en los cromosomas de los individuos Las buenas estructuras sobreviven con ms probabilidad
ptimas
No existe un nico algoritmo gentico Es una denominacin para este tipo de algoritmos
evolutivos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
de tamao manejable)
La poblacin evoluciona en las distintas generaciones Genotipo y fenotipo
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
[0, 210 ) N Variables *GENES* y *LONGITUD-INDIVIDUOS* Ejemplo en la funcin cuadrado: (0 1) y 10, resp. Funcin DECODIFICA(X), obtiene el fenotipo
En la funcin cuadrado: un cromosoma puede verse como
un nmero binario de 10 dgitos (en orden inverso). El fenotipo de un cromosoma es dicho nmero (en notacin decimal) Ejemplo: (0 1 1 0 0 1 0 0 0 0) es un cromosoma que representa al 38 Funcin F-OBJETIVO(X), valor de de la funcin a optimizar
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
favorezca a los individuos con mejor valoracin, pero que no impida la diversidad En general, siempre existe una componente aleatoria
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
0 0 0 1 1 0 0 0
1 0
0 0 0 0 0 1 1
0 1 1
0 1 1
Mutaciones:
0 0 0 1 1
1 0 1
0 1 1
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
t := 0 Inicia-Poblacin P(t) Evala-Poblacin P(t) Mientras no Fin hacer P := Selecciona-Padres P(t) P := Cruza P P := Muta P Evalua-Poblacin P P(t+1) := Selecciona-Mejores P,P(t) t:= t+1 Fin-Mientras Devolver el mejor de P(t)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
siguiente:
Nmero de generaciones Nmero total de individuos en la poblacin (en cada
generacin)
Nmero de individuos que intervienen en la reproduccin
muy baja)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
poblacin (lite)
El resto se escoge aleatoriamente de entre los restantes
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
> (load "funcion-cuadrado") ... > (algoritmo-genetico-con-salida 20 10 0.75 0.6 0.1) Generacion: 1. Media: 361954.9, Mejor: (0 1 1 0 0 1 0 0 0 0), Valor: 1444 Generacion: 2. Media: 79730.6, Mejor: (0 1 1 0 0 1 0 0 0 0), Valor: 1444 Generacion: 3. Media: 22278.6, Mejor: (0 1 1 0 0 1 0 0 0 0), Valor: 1444 Generacion: 4. Media: 3537.7, Mejor: (1 1 1 1 0 0 0 0 0 0), Valor: 225 Generacion: 5. Media: 1597.3, Mejor: (0 0 1 1 0 0 0 0 0 0), Valor: 144 Generacion: 6. Media: 912.8, Mejor: (0 1 0 0 0 0 0 0 0 0), Valor: 4 Generacion: 7. Media: 345.3, Mejor: (0 1 0 0 0 0 0 0 0 0), Valor: 4 Generacion: 8. Media: 60.7, Mejor: (0 1 0 0 0 0 0 0 0 0), Valor: 4 Generacion: 9. Media: 14.0, Mejor: (0 1 0 0 0 0 0 0 0 0), Valor: 4 Generacion: 10. Media: 4.5, Mejor: (0 1 0 0 0 0 0 0 0 0), Valor: 4 Generacion: 11. Media: 3.7, Mejor: (1 0 0 0 0 0 0 0 0 0), Valor: 1 Generacion: 12. Media: 3.4, Mejor: (1 0 0 0 0 0 0 0 0 0), Valor: 1 Generacion: 13. Media: 2.4, Mejor: (0 0 0 0 0 0 0 0 0 0), Valor: 0 0
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
viajante
*GENES* = (almeria cadiz cordoba granada huelva jaen malaga sevilla) *LONGITUD-INDIVIDUOS* = 8
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Funcin objetivo:
Penalizacin por camino incompleto
PENALIZACION-POR-INCOMPLETO(CAMINO)= 100 * |*GENES* - CAMINO|
experimentalmente
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Una ejecucin:
> (algoritmo-genetico 100 50 0.75 0.6 0.05) Mejor individuo: (HUELVA SEVILLA CORDOBA GRANADA ALMERIA JAEN MALAGA CADIZ) Valor: 2015.8258
Es usual realizar varios ejecuciones del algoritmo En este caso, en el experimento 84 se obtiene la solucin ptima:
Mejor individuo: (MALAGA GRANADA ALMERIA JAEN CORDOBA SEVILLA HUELVA CADIZ), Valor: 1859.8511
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
a n2 , de tal manera que las las, las columnas y las diagonales principales sumen los mismo
Una solucin para n = 3:
4 9 2
3 5 7
8 1 6
y n2
Admitimos repeticiones La funcin objetivo penaliza las repeticiones
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Caso n = 4
;;; Soluciones N=4 ;;; Encontrado con ;;; (algoritmo-genetico 1000 500 0.75 0.6 0.1) ;;; en la generacin 125: ;;; ((7 14 9 4) (16 2 5 11) (1 15 12 6) (10 3 8 13))
7 16 1 10
14 2 15 3
9 5 12 8
4 11 6 13
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Seleccin probabilstica
En el algoritmo anterior, la seleccin de individuos est
frecuencia
Con este mtodo es posible seleccionar varias veces al
mismo individuo
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
objetivo Algoritmo para seleccionar por ruleta: Calcular la suma total acumulada de los valores de la funcin objetivo de todos los miembros de la poblacin Generar un nmero aleatorio x entre 1 y la suma total anterior Recorrer la poblacin, nuevamente acumulando los valores de la funcin objetivo y seleccionando el primer cromosoma cuya suma acumulada sea mayor o igual que x
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Vamos a denir un algoritmo gentico diferente del anterior Usando seleccin por ruleta
Tanto de los individuos que pasan directamente a la
siguiente generacin, como de aquellos que se usarn para cruces Entrada al algoritmo:
Nmero total p de individuos de la poblacin Un nmero r , 0 <= r <= 1, fraccin de la poblacin que
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
t := 0 Inicia-Poblacin P(t) Evala-Poblacin P(t) Mientras no Fin hacer P1 := Seleccin por ruleta de (1-r)p individuos de P(t) P2 := Seleccin por ruleta de (rp) individuos de P(t) P3 := Cruza P2 P4 := Union de P1 y P3 P(t+1) := Muta P4 Evalua-Poblacin P(t+1) t:= t+1 Fin-Mientras Devolver el mejor de P(t)
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Conclusin
Algoritmos genticos como proceso de bsqueda local
Mejora iterativa Los cruces, las mutaciones y la diversidad tratan de evitar
genticos
Pero todas se basan en las mismas ideas de reproduccin,
mutacin, seleccin de los mejores y mantenimiento de la diversidad Fcil de aplicar a muchos tipos de problemas:
optimizacin, aprendizaje automtico, planicacin,. . .
cada problema
Problemas de optimizacin
Bsqueda local
Bsqueda en escalada
Enfriamiento simulado
Algoritmos genticos
Bibliografa
Russell, S. y Norvig, P. Articial Intelligence (A Modern