Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• OBJETIVOS
1. Introducir las técnicas de computación evolutiva
2. Presentar los Algoritmos Evolutivos
3. Explorar el formalismo de los Algoritmos Genéticos como herramienta para
la resolución de problemas de optimización, búsqueda y aprendizaje
• METODOLOGÍA
1. Modalidad semi-presencial
2. Exposiciones teóricas, estudio guiado, reuniones virtuales
3. Resolución de ejercicios prácticos por los estudiantes
4. Realización de un mini proyecto durante el curso
• Grupos de 2 estudiantes
• HORARIO
• Martes 17:00 hs. Salón A12 (Aulario Massera)
• Jueves 17:00 hs. Salón A12 (Aulario Massera)
• OTROS DETALLES
• 9 créditos
• Sin cupo
• Conocimientos previos exigidos y recomendados:
• Fundamentos de Probabilidad y Estadística
• Fundamentos de Investigación Operativa
• Fundamentos de Programación
EXPONENCIAL
HARD
CÚBICO
CUADRÁTICO
} POLINÓMICO
O(np)
INSTRUCCIONES
INSTRUCTIONS
EASY
LINEAR
LOGARITHMIC
TAMAÑO de ENTRADA
• Clase P
• Un problema pertenece a la clase P si puede ser resuelto en tiempo
polinomial en una computadora determinística
• Ejemplos: Ordenamiento, búsqueda binaria, multiplicación matricial
• Clase NP
• Un problema pertenece a la clase NP si puede ser resuelto en tiempo
polinomial, pero usando una computadora no determinística
• Fácil de verificar una solución, pero difícil hallarla
Hallar métodos
inteligentes para
su resolución
INTRODUCCIÓN ALGORITMOS EVOLUTIVOS 2017
1 - Introducción
PROYECTOS
SOBRE
CONTACTOS
EL CURSO
(años anteriores)
Problemas NP
• Optimización numérica
Min / Max f ( x )
sujeto a
g i ( x ) 0 i 1,..., p
h j ( x ) 0 j 1,... , r
x son las variables de decisión del problema, x ( x1 ,..., xk )
gi (x ) y h j (x ) son las restricciones (de desigualdad y de igualdad,
respectivamente)
f (x ) es la función a optimizar
• Optimización combinatoria
• Variables de decisión discretas (dominio discreto)
• Soluciones se representan como permutaciones o combinaciones
• Ejemplo: TSP
• Problemas de búsqueda
• Encontrar un elemento que cumple un conjunto de propiedades, entre un
conjunto finito de elementos
• Pueden formularse como problemas de optimización (minimizar la distancia
al elemento buscado)
• Técnicas analíticas
• Aplicables a un número muy reducido de problemas
• Métodos exactos
• Utilizan técnicas de enumeración total o parcial:
• Backtracking
• Programación dinámica
• Branch & Bound
• Basados en Programación Matemática:
• Método Simplex
• Método del punto interior
• Únicos errores: redondeo (y eventualmente truncamiento)
• Métodos de aproximación
• Encuentran una solución con error conocido a priori
• Error fijo o derivado de un compromiso con el esfuerzo computacional
requerido (mayor esfuerzo computacional, menor error)
• Ejemplos: métodos markovianos, inferencia probabilística
• Métodos aleatorios
• Con cierta probabilidad, encuentran una solución aproximada al problema,
con un error máximo dado
• Ejemplos: método Monte Carlo, método Las Vegas
• Heurísticas y metaheurísticas
-
7
3
5
10
3 5
2
3
7
o
Origen del ciclo
• Greedy - Paso 1:
7
3
5
10
3 5
2
3
7
o
• Greedy - Paso 2:
7
3
5
10
3 5
2
3
7
o
• Greedy - Paso 3:
7
3
5
Arista no admitida 10
×
3 5
2
3
7
o
• Greedy - Paso 3:
7
3
5
10
3 5
2
3
7
o
• Greedy - Paso 4:
7
3
5
10
3 5
2
3
7
o
• Greedy - Paso 5:
7
3
5
10
3 5
2
3
7
Solución construida:
o
costo 22
7
3
5
10
3 5
2
3
7
Solución alternativa:
o
costo 20
vecinos N ( s ) S
• En general, se define N (s ) especificando los cambios sobre s para
obtener sus vecinos (movimiento)
• Se reemplaza la solución inicial por una mejor solución de su vecindad
s
dirección
de la búsqueda
x
INTRODUCCIÓN ALGORITMOS EVOLUTIVOS 2017
3 - Heurísticas
Búsqueda Local Iterada (IILS)
s
s
dirección dirección
de la búsqueda de la búsqueda
x x
• La Búsqueda local Iterada puede quedar atrapada en óptimos locales
• Principales características:
1. Estrategias que guían la búsqueda, usualmente empleando heurísticas
subordinadas
2. Admiten una descripción abstracta de alto nivel
3. Tienen utilización genérica (no específica para una clase de problemas)
4. Deben ser instanciadas para clase concreta de problemas a resolver
moverse a s* permite
escapar del óptimo local
SA combina una heurística
con un procedimiento de
alto nivel que permite
aceptar peores soluciones
INTRODUCCIÓN ALGORITMOS EVOLUTIVOS 2017
4 - Metaheurísticas
Simulated annealing
explotación
exploración
CHARLES DARWIN
On the Origin of Species by means of Natural Selection, 1859.
Charles Darwin
INTRODUCCIÓN ALGORITMOS EVOLUTIVOS 2017
1 - Teorías evolutivas
SOBRE EL CURSO
Teoría de la evolución: los pioneros
• George Louis Leclerc (Conde de Buffon)
• Primera referencia anti-creacionista: Histoire Naturelle
(17491788, 50 volúmenes)
• A partir de las similitudes entre el hombre y los simios,
especuló sobre la existencia de un ancestro común
• No describió un mecanismo responsable de los cambios G.L. Leclerc
orgánicos; creía que el ambiente influía y los provocaba (Buffon)
• Los sistematizadores
• Charles Darwin y
Alfred Russel Wallace
Alfred Wallace
INTRODUCCIÓN ALGORITMOS EVOLUTIVOS 2017
1 - Teorías evolutivas
SOBRE EL CURSO
Teoría de la evolución
• Los continuadores
• Gregor Mendel describió las leyes que rigen la
herencia genética en 1865. Sus ideas fueron
relegadas hasta 1900
Gregor Mendel
• August Weismann desarrolló en 1892 una
teoría sobre la transmisión de información
hereditaria a través del germoplasma
August Weismann
selección elitista
mutación es
operador principal
• En 1996, Thomas Bäck derivó una regla similar para el modelo (,) – ES
(en este caso, la razón es 1/7).
• Operadores de recombinación
• No incluidos en las primeras versiones de ES
• Las ES simulan el proceso evolutivo a nivel de los individuos, por lo cual es
posible la recombinación
• Sexuales: actúan sobre dos individuos elegidos aleatoriamente de la
población de padres
• Panmícticos: se elige un padre al azar y se mantiene fijo mientras para
cada componente se elige un segundo padre al azar de entre toda la
población
1 0 1 1 0 0 1 0 1
• Aplican un esquema orientado a maximizar una función de aptitud o
fitness
• Codificación
• AG codifica las soluciones del problema (trabaja a nivel del genotipo)
• GP y ES trabajan a nivel del fenotipo
• Selección
• En general, AG y GP utilizan selección probabilística
• ES utiliza selección determinística
• Operadores
• En AG la recombinación es el operador principal, la mutación es un
operador secundario. En general son no-adaptativos
• GP tiene recombinación limitada por la semántica
• ES se basa en la mutación, la recombinación es un operador secundario. En
general implementan autoadaptación de sus parámetros
Estrategias de Programación
Algoritmos Genéticos
evolución Genética
determinista probabilística, basada
Selección probabilista extintiva
extintiva en preservación
aritmética/gaussiana n-puntos, uniforme,
Recombinación específica, semántica
operador secundario operador principal
arbitrarias de ninguna límites en el mecanismo
Restricciones
desigualdad dadas por la semántica de codificación
teoría de esquemas,
convergencia global convergencia global para
Teoría para (+)
convergencia global
meta-PE
para AG elitistas
Pero ¿ y entonces ? …