La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda

Presentaciones similares


Presentación del tema: "Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda"— Transcripción de la presentación:

1 Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda
Diseño de Algoritmos (Heurísticas Modernas) Gabriela Ochoa

2 Introducción Existen numerosos algoritmos para buscar el óptimo en espacios de soluciones ¿Por qué hay tantos? Porque ninguno es robusto. Un método para cada problema. Pero son muy efectivos cuando se adecuan a la tarea dada Dos clases de algoritmos Sólo evalúan soluciones completas Requieren la solución de soluciones parciales o aproximadas

3 Diferencia entre las dos clases
Soluciones Completas Interrumpir el algoritmo y tener al menos una solución potencial Implican que todas las variables estan especificadas (Ej. Strings binarios de long n, SAT) Soluciones Parciales Al interrumpir, los resultados pueden no ser útiles Dos formas: (1) Solución incompleta al problema original, (2) Solución completa a un problema reducido (mas simple)

4 Soluciones Parciales (Incompletas)
Residen en un subconjunto del espacio de búsqueda oiginal. Ejemplos: SAT: todas las soluciones (cadenas), con primeras dos variables en 1. (11xxx.. xxx) TSP: Todas las permutaciones de ciudades que contiene la secuencia ( 7 – 11 – 2 – 16 ) Se espera que la carácteristica fijada de las soluciones, forme parte de la verdadera solución

5 Soluciones Incompletas (problema reducido)
Descomponer problema original en conjunto de problemas mas pequeños y simples Al resolver estos problemas pequeños y combinarlos, encontraremos una solucióna al problema original TSP: considerar k de las n ciudades, buscar el camino mínimo de i a j que pasa por todas esas k ciudades Dificultades: (1) Organizar los sub-espacios, (2) Función de evaluación que pueda ponderar calidad de soluciones oarcuakes

6 Búsqueda Exhaustiva Chequea todas y cada una de las soluciones en el espacio de búsqueda hasta encontrar óptimo global Si no se sabe el valor de evaluación del óptimo, no se sabe si se ha encontrado hasta recorrer todo Desventaja: Costo computacional prohibitivo para problemas reales Ventaja: Simple! Unico requerimiento, generar cada solución posible al problema de forma sistemática Hay maneras de reducir el cómputo, backtracking Fundamento de métodos como B&B y A*

7 Enumerando SAT Generar todos los posibles strings binarios de tamaño n, 2n. Dos posibles Maneras Usar mapping de enteros a binarios (ej. 0000→0, 0001 →1, 0010→2, 0011→3 … 1111 →15), luego generar enteros Trabajar directamente con binarios, agregar el 1 en binario 0001, para producir cada cadena en sucesuion Función de evaluación: 1 si la cadena satisface la expresión Booleana, 0 si no Parar búsqueda cuando el primer string evalue en 1

8 Organizando el Espacio de Búsqueda de SAT
Sólo explorar aquellas partes del espacio que sean realmente necesarias Arbol binario de búsqueda (dibujarlo), y usar DFS DFS: elimina partes del espacio de búsqueda, chequeando si un nodo dado (sub-espacio), puede contener o no la solución. Si puede, la búsqueda prosigue, si no, la búsqueda vuelve al nodo padre Ej. Sea la clausula … and (x1 or not x2 or x3) and , y la asignación x1=0, x2=1, x3 = 0, no importa la asignacion de las demas variables, ya sabemos que la formula completa sera FALSE

9 Enumeracion TSP y NLP Mas elaborado, puede haber configuraciones no factibles TSP: Generar todas las permutaciones de n: (1) Mapping con los enteros, (2) procedimiento recursivo NLP: estrictamente hablando no es posible enumerar exhaustivamente espacios continuos (infinitos) NLP: es posible dividir el dominio de cada variable en un numero finito de intervalos, y considerar el producto Cartesiano de ellos

10 Búsqueda Local Focalizar la atención en la vecindad de una solución dada. Cuatro pasos Seleccionar una solución del espacio y evaluar sus méritos Aplicar transformación a la solución actual, para generar una nueva, y evaluar su mérito Si la nueva solución es mejor que la actual, cambiar la actual, sino desecharla Repetir los pasos 2 y 3, hasta que ninguna transformación, mejore el desempeño actual Puntos críticos: (1) tipo de transformación, (2 ) tamaño y características de la vecindad

11 Búsqueda Local y SAT Procedimiento GSAT, búsqueda local aleatorizada
Dos parámetros, MAX-TRIES: número de intentos, MAX-FLIPS: máximo número de movimientos por intento Comienza de configuración aleatoria Cambia cada variable de 1 → 0 o 0→ 1, en sucesión y registra el íncremento en las clausulas que se hacen TRUE Luego de intentar todos los posibles flips (y no encontrar una asignación correcta), asigna como solución actual, la que tiene un mayor número de cláusulas que se statisfacen Difiere del Hill-climbing en que se puede aceptar soluciones que decrecen el número de clasusulas satisfechas

12 Búsqueda Local en el TSP y NLP
Existen numerosos algoritmos de búsqueda local para el TSP (ej. 2-opt, Lin-Kernighan), comienzan de configuracion aleatoria (y van repitiendo) Gran diversidad de métodos para NLP Heuristicas para generar sucesion de puntos a evaluar Derivada de la función de evaluación Se concentran en zona acotada, vecindad de la solucion Todos trabajan con soluciones completas Ej. Métodos Bracketing Métodos de punto fijo, Métodos basados en Gradiante Método Simplex para problemas de programación lineal: Maximizar c.l de variables, sujeta a restricciones de desigualdad e igualdad

13 Soluciones Parciales Cuando los métodos discutidos s hasta ahora, fallan, es razonable pensar en la idea de evaluar soluciones parciales (incompletas) o aproximadas Algoritmos Greedy atacan el problema construyendo solución completa en serie de pasos Idea Simple: asignar todos los valores de las variables de decisión, una por una, y en cada paso tomar la mejor decisión posible Existe una manera (heurística) de saber cual seria la mejor decisión, la que produzca mas beneficio Enfoque corto-placista, tomar la mejor decision a corto plazo, no garantiza que se producira la mejor solución global

14 Algoritmo Greedy para SAT
No es tan facil de diseñar, veamos ejemplos Para cada variable, en cualquier orden, asignar valor de verdad que satisfaga mayor número de cláusulas. Impráctica: Ej.: not x1 and (x1 or x2) and (x1 or x3), x1 = 1 Demasiado greedy, Idea: considerar el orden: Ordenar variables en base a su frec. de aparición Para cada variable, en orden, asignar valor de verdad que satisfaga mayor número de cláusulas. Un poco mejor, pero se puede encontrar fallas

15 Algoritmos Greedy para TSP y NLP
TSP: Vecino mas cercano: comenzando por una ciuad (aleatoria), continuar con la ciudad mas cercana no visitada, y continuar hasta que no haya ciudades visitadas Puede ser inapropiado, alto precio por decisiones greedy al comienzo del proceso (Figura Ejemplo) Otro intento:

16 Dividir y Conquistar (Divide and Conquer)
Idea para resolver un problema complicado Dividir en sub-partes Resolver cada una de las sub-partes Ensamblar un solución global Puede hacerse de manera recursiva (Ej. Generar permutaciones, algoritmos de sorting) Considerar: no siempre es factible. Ejemplo, dividir un TSP de 100 ciudades en 20 TSP´s de 5 ciudades. Como combinas esas 20 respuestas?

17 Programación Dinámica
Principio: encontrar solución global, operando en un punto intermedio, entre donde nos encontramos y donde queremos llegar Dinámica el enfoque es útil en problemas donde el tiempo juega un rol importante, el orden de las operaciones es crucial Procedimiento recursivo, cada nuevo punto intermedio, es función de los puntos ya visitados

18 Branch and Bound y A* B&B: busqueda exhaustiva,, elimima ramas del árbol que no son de interés. Requiere de una cota inferior (o superior) de el costo de una solucion particular A*, también organiza espacio de búsqueda en un árbol Aplica Best-First-Search , ordenamiento de los nodos según criterio de adonde queremos llegar Mantiene dos listas de nodos: abiertos y cerrados

19 Conclusión Los métodos tradicionales ocupan dos capítulos del libro. Pero dejan mucho que desear Métodos débiles, diseñados para un tipo particular de problema, y solo alli funcionan eficientemente Dos enfoque principales: (1) soluciones completas y (2) soluciones parciales La mayoria de los problams reales no pueden resolverse con los métodos tradicionales!!


Descargar ppt "Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda"

Presentaciones similares


Anuncios Google