CURSO DE ALGORITMOS DE APROXIMACIÓN 2016

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

ALGORITMOS APROXIMADOS
PROGRAMACIÓN LINEAL La Programación Lineal (PL) es un procedimiento matemático para determinar la asignación óptima de recursos. Introducción a la Programación.
Algebra de Boole SISTEMAS DIGITALES I.  En 1854 el matemático inglés George Boole formalizó un sistema algebraico de dos valores para expresar cierto.
Mochó. CUESTIONES PARA LA AUTOEVALUACIÓN 1. ¿En qué costes incurre una empresa a corto plazo?  A corto plazo, algunos de los factores productivos de.
MEDIDAS Y ERRORES.
Teoría del consumidor Unidad: IV.
Introducción a la programación
Tema 2. Resolución de Problemas
ANÁLISIS DE EFICIENCIA - DEA
PARTE II: ALGORÍTMICA Tema 5. Programación dinámica.
INVESTIGACIÓN DE OPERACIONES
Características estáticas de los elementos del sistema de medición
Guía de Ejercicios 3: D&AA Universidad Viña del Mar 30/9/2002
Introducción al Control Industrial
Estructuras de Datos Recursividad.
MAESTRÍA EN CONTROL DE OPERACIONES Y GESTIÓN LOGÍSTICA
Introducción a los algoritmos
INGENIERIA EN MINAS GERENCIA EMPRESARIAL
Problema de transporte método de vogel
CAPÍTULO 9: DETECCIÓN DE LÍNEAS
CONTROL DE PRODUCCION I Profesora: MYRIAM LEONOR NIÑO LOPEZ
El resultado obtenido en esta etapa son las especificaciones de lo que se debe hacer para solucionar el problema.
Tema 6. Conceptos básicos de programación Clase 1
Infografía. Estructura de Datos.
MODELO DE GESTIÓN DE INVENTARIO
METODO DE TRANSPORTE APROXIMACION DE VOGEL
PROGRAMACION LINEAL UNIVERSIDAD LIBRE 2016
Objetivo Comprender cómo se determina la producción en el corto plazo a través del equilibrio simultáneo de los mercados de bienes y financieros. Entender.
INVESTIGACION OPERTATIVA
INGENIERÍA DE MÉTODOS Iván R. Coronel, PhD 2016.
Unidad 4. Capítulo IX. Búsqueda de Yp: Variación de parámetros.
Modelo de Inventarios: Cantidad de Producción
Diseñar y elaborar algoritmos
Tele clase 13 Optimización unidimensional.
Tema 10 Las curvas de costes.
La Gestión y el Control de Procesos
CONTENIDO Teoría del muestreo ¿Cómo seleccionar una muestra?
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
PROGRAMACIÓN 1 INTRODUCCIÓN
Economía de los Recursos Naturales y Mercados de Minerales
MÉTODOS DE SOLUCIÓN DE ECUACIONES NO LINEALE
Sesión 2 : Números Primos
CONTROL E INSTRUMENTACIÓN DE PROCESOS TEMA 2 Control de Procesos
Sucesiones.
Taller de Matemáticas Financieras
POSIBILIDADES DE PRODUCCIÓN
Integrales con funciones logarítmicas
Introducción a los algoritmos
Introducción a la Economía. UCM
Sea la ecuación diferencial lineal de orden “n” y de coeficientes variables
Microeconomía El problema económico.
Clase1: Análisis de Algoritmos, Optimización Clásica, Heurísticas
Fundamentos de Informática Especialidad de Electrónica –
Análisis Numéricos Unidad 2
Optimización de Procesos.
Skill Traing Componente Finanzas
PROPIEDADES DE LAS FUNCIONES CONTINUAS MATEMÁTICAS II.
MC Beatriz Beltrán Martínez Verano 2018
2/22/2019 RAICES MÉTODO DE BISECCIÓN.
2/22/2019 SISTEMAS NO LINEALES.
3.7. Colusión Tácita: juegos repetidos
MATRIZ DE CHEQUEO DE PARIDAD
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
Comunicación Banda Base
Aidan Hogan CC Bases de Datos Otoño 2019 Clase 7: Actualizaciones, Restricciones, Formas Normales Aidan.
Determinación del precio
Análisis de error en estado estacionario
Francisco García Barrios
ANALISIS DE REGRESION MULTIPLE
Transcripción de la presentación:

CURSO DE ALGORITMOS DE APROXIMACIÓN 2016 Knapsac Problem CURSO DE ALGORITMOS DE APROXIMACIÓN 2016

Agenda Introducción Algoritmo de Tiempo Pseudo-Polinomial para el Problema del Mochilero Un FPTAS para el Problema del Mochilero NP-Completitud fuerte y existencia de FPTAS Aplicaciones

Introducción Algunos problemas de optimización NP-Completos admiten aproximabilidad hasta cualquier grado requerido. II problema de optimización NP-Completo fII función objetivo

Introducción Def 1: Esquema de Aproximación Un algoritmo A es un esquema de aproximación para II si: - entrada (I, e) - I instancia de II - e > 0 parámetro de error - se obtiene una solución d tal que: - fII (I, d) < (1 + e).OPT si II es un problema de minimización - fII (I, d) < (1 + e).OPT si II es un problema de maximización

Introducción Definición 2: Esquema de Aproximación en Tiempo Polinomial – PTAS Un algoritmo A es un PTAS sí: - para cada e > 0 fijo - su tiempo de ejecución está acotado - por un polinomio en el tamaño de la instancia I

Introducción Con esta definición, el tiempo de ejecución de A depende arbitrariamente de e. Para rectificar este concepto, se modifica la definición, en forma más restrictiva. Definición 3: Esquema Completo de Aproximación en Tiempo Polinomial - FPTAS

Introducción Definición 3: Esquema Completo de Aproximación en Tiempo Polinomial – FPTAS Un algoritmo es un FPTAS sí: - el tiempo de ejecución de A se acota por un polinomio en el tamaño de la instancia I y 1/e Sí P = NP, entonces FPTAS es el mejor esquema de aproximación que se puede esperar para un problema de optimización NP-Completo

Introducción Problema 4: Knapsac Problem – Problema del Mochilero - Conjunto de objetos S = {a1,…, an} - tamaños especificados size (ai) Z+ - ganancias especificadas profit (ai) Z+ - “Capacidad de mochila” B Z+ Se define el problema como: - encontrar un subconjunto de objetos en el cual: - el tamaño total está acotado por B - la ganancia total está maximizada

Introducción Algoritmo obvio: - ordenar los objetos en orden decreciente del ratio beneficio/ tamaño - en forma golosa seleccionar los objetos en ese orden Este algoritmo no es una buena solución para el Knapsac Problem

Algoritmo de Tiempo Pseudo-Polinomial para el Knapsac Problem Concepto adicional: Para cualquier problema de optimización II una instancia I consiste en: - objetos - conjuntos - grafos - números - costos - ganancias - tamaños

Algoritmo de Tiempo Pseudo-Polinomial Hasta ahora se ha asumido que todos los números de la instancia I están escritos en binario Definición 5: Tamaño de la Instancia Binaria I – cantidad de bits necesaria para escribir I bajo esta asunción Definición 6: Tamaño de la Instancia Unaria Iu – cantidad de bits necesarios para describir la instancia I asumiendo que todos los números de la instancia están escritos en unario

Algoritmo de Tiempo Pseudo-Polinomial Definición 7: Algoritmo Eficiente Un algoritmo para el problema II se dirá que es eficiente si su tiempo de ejecución en la instancia I está acotado por un polinomio en I Definición 8: Algoritmo de Tiempo Pseudo-Polinomial (más débil) Un algoritmo es de tiempo Pseudo-Polinomial si para el problema II su tiempo de ejecución para la instancia I está acotada por un polinomio en Iu .

Algoritmo de Tiempo Pseudo-Polinomial Observación 9: El problema del mochilero es NP-Completo, por lo tanto no admite un algoritmo en tiempo polinomial. El problema del mochilero admite un algoritmo en tiempo pseudo- polinomial. Este hecho se utiliza en forma crítica para obtener un FPTAS para el problema del mochilero.

Algoritmo de Tiempo Pseudo-Polinomial Observación 10: Todos los algoritmos en tiempo pseudo-polinomial para problemas NP- Completos se basan en programación dinámica. La programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas.

Algoritmo de Tiempo Pseudo-Polinomial Sea P la ganancia del objeto de mayor ganancia P = max a S profit (a) Entonces nP: - es una cota superior trivial de la ganancia - puede ser alcanzada por cualquier solución

Algoritmo de Tiempo Pseudo-Polinomial Para cada: - i {1,…, n} - p {1,…, nP} se define Si,p subconjunto de {a1,…, an} tal que: - la ganancia es exactamente p - el tamaño total está minimizado Se le llamará A(i,p) al tamaño del conjunto Si,p

Algoritmo de Tiempo Pseudo-Polinomial Recurrencia para facilitar el conjunto de todos los valores de A(i,p) en tiempo O(n2P). A(i+1,p) = Min {A(i,p), size (ai+1) + A(i,p – profit(ai+1))} si profit (ai+1) < p de otro modo: A(i+1,p) = A(i,p)

Algoritmo de Tiempo Pseudo-Polinomial La ganancia máxima alcanzable por objetos de tamaño total acotado por B es: Max {p A(n,p) < B} Por consiguiente, se ha conseguido un algoritmo pseudo-polinomial para el problema del mochilero

Un FPTAS para el Problema del Mochilero Si las ganancias de los objetos son números pequeños, están acotados por un polinomio n. Se trataría entonces de un algoritmo en tiempo polinomial regular. Debido a que su tiempo de ejecución estaría acotado por un polinomio en I . Esta es la idea clave para obtener un FPTAS.

Un FPTAS para el Problema del Mochilero Se ignorarán cierta cantidad de bits menos significativos (LSB) de ganancias de objetos. Esto dependerá del parámetro de error e. Se hará de modo que las ganancias modificadas puedan verse acotadas por un polinomio en n y 1/e. Permitirá encontrar una solución: - cuya ganancia sea como mínimo (1-e).OPT - en tiempo acotado por un polinomio en n y 1/e

Un FPTAS para el Problema del Mochilero Algoritmo 11: FPTAS para el problema del mochilero Dado e > 0, sea K = eP/n Para cada objeto ai, definir profit (ai) = profit (ai)/K Con esas ganancia de objetos, usar el algoritmo de programación dinámica, encontrar el conjunto de mayor ganancia, S’ Output S’

Un FPTAS para el Problema del Mochilero Lema 12: A denota el conjunto obtenido por el algoritmo. Entonces, profit A > (1-e).OPT Prueba: O denota el conjunto óptimo. Para cualquier conjunto A, por el redondeo hacia abajo: - K.profit’(a) será menor que profit(a) - pero no será menor que K

Un FPTAS para el Problema del Mochilero por consiguente: profit(O) – K.profit’(O) < nK La programación dinámica entregará: - un conjunto al menos tan bueno como O - bajo las nuevas ganancias

Un FPTAS para el Problema del Mochilero por consiguiente: profit (S’) > K.profit’(O) > profit(O) – nK = OPT – eP > (1-e).OPT la última inequidad sigue de la observación de que OPT > P

Un FPTAS para el Problema del Mochilero Teorema 13: El algoritmo 11 es un esquema de aproximación totalmente polinomial para el problema del mochilero Prueba: Por el Lema 12, la solución encontrada está dentro de un factor (1- e) de OPT. Dado que el tiempo de ejecución del algoritmo es: O(n2[P/K]) = O(n2[n/e]) el cual es polinomial en n y 1/e

NP-Completitud fuerte y existencia de FPTAS Muy pocos de los problemas conocidos NP-Completos admite FPTAS. Se demostrará formalmente a continuación. Definición 14: Un problema II es fuertemente NP-Completo sí: - cada problema en NP puede ser reducido polinomialmente a II - los números de la instancia reducida siempre están en unario La restricción fuerza a utilizar únicamente números acotados polinomialmente.

NP-Completitud fuerte y existencia de FPTAS Asumiendo N = NP: - Un problema fuertemente NP-Completo no puede tener un algoritmo de tiempo pseudo-polinomial Por consiguiente, el Problema del Mochilero no es fuertemente NP-Completo

NP-Completitud fuerte y existencia de FPTAS Se demostrará a continuación que cualquier problema NP-Completo: - bajo ciertas restricciones muy débiles - si admite un FPTAS - debe admitir un algoritmo de tiempo pseudo-polinomial

NP-Completitud fuerte y existencia de FPTAS Teorema 15: sea p un polinomio y II un problema de minimización NP-Completo tal que la función objetivo fII está enteramente valuada y en cualquier instancia I, OPT(I) < p( Iu ). SI II admite un FPTAS, entonces admite un algoritmo de tiempo pseudo- polinomial Prueba: Suponga que hay un FPTAS para II cuyo tiempo de ejecución en la instancia I y parámetro de error e es q( I ,1/e)=, donde q es un polinomio.

NP-Completitud fuerte y existencia de FPTAS En la instancia I, fije el parámetro de error e = 1/p( Iu ) Corra el FPTAS. Ahora, la solución producida tendrá valor de función objetivo menor o igual a: (1+e).OPT(I) < OPT(I) + ep( Iu ) = OPT(I) + 1 De hecho, con este parámetro de error, el FPTAS será forzado a producir una solución óptima.

NP-Completitud fuerte y existencia de FPTAS El tiempo de ejecución será q( I ,p( Iu )), polinomial en Iu . Por consiguiente, se ha obtenido un algoritmo de tiempo pseudo- polinomial para II. El siguiente corolario aplica a la mayoría de los problemas NP-Completos

NP-Completitud fuerte y existencia de FPTAS Corolario 16: Sea II un problema de optimización NP-Completo que satisface las restricciones del Teorema 15. Si II es fuertemente NP-Completo, entonces II no admite un FPTAS, asumiendo P = NP. Prueba: Si II admite un FPTAS, entonces admite un algoritmo en tiempo pseudo-polinomial. Pero entonces no es fuertemente NP-Completo. Esto conduciría a una contradicción, asumiendo P = NP.

NP-Completitud fuerte y existencia de FPTAS Pregunta 17: Es FPTAS el algoritmo de aproximación más deseable? El diseño de FPTAS y PTAS busca un equilibrio entre exactitud y tiempo de ejecución. Una instancia de problema determinado se traslada a una instancia más inexacta, dependiendo del parámetro de error e. Este último problema se resuelve con una aproximación por programación dinámica.

NP-Completitud fuerte y existencia de FPTAS Ello termina siendo polinomialmente una búsqueda de diferentes posibilidades. Particularmente para Knapsac, esto involucra computar A(i,p) para todos los i y p. En la mayoría de los algoritmos, el tiempo de ejecución es prohibitivo inclusive para valores razonables de n y e. No hay una respuesta directa sobre si FPTAS/ PTAS es lo mejor que podemos esperar para un problema NP-Completo.

Aplicaciones

Aplicaciones Criptografía, Merkle y Hellman, 1976 - idearon un sistema sencillo basado en que: - dado un número k y conjunto de números C - saber cúales números de C se utilizaron para sumar k - tiene un costo computacional muy alto - la comunicación es segura. En 1982 se encontró un algoritmo que permite romper este sistema criptográfico en tiempo polinomial.

Aplicaciones Selección de oportunidades de inversión: presupuesto como limitante. Desperdiciar la menor cantidad de tela/ acero : material como limitante. Aprovechar al máximo el uso de máquinas: tiempo como limitante. Problema de la Secretaria: los elementos que se van recibiendo en forma continua se debe decidir que elementos elegir sin haber recibido todos

Referencias [1] V. Vazirani, ”Approximation Algorithms” Springer, pp. 68-72, 2003. [2] K. Lai, “The Knapsack Problem and Fully Polynomial Time Approximation Schemes (FPTAS)”, 2006.