Algoritmos pseudo-polinomiales

Documentos relacionados
NP-Completeness: Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas

Estructuras de datos Árboles B

Teoría de grafos y optimización en redes

Clases de complejidad computacional: P y NP

Programación dinámica p. 1

Teoría de la Computación puesta en Práctica

Tema 7: Problemas clásicos de Programación Lineal

Complejidad amortizada

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Coloración. Unos cuantos problemas. Asignación de frecuencias de radio. Gregorio Hernández Peñalver. Unos cuantos problemas. Unos cuantos problemas

CLASIFICACIÓN DE PROBLEMAS

TEMA IV TEORÍA DE GRAFOS

259. El número de combinaciones de m objetos entre un conjunto de n, denotado por n, para n 1 y 0 m n, se puede definir recursivamente por: m

Fundamentos de Investigación de Operaciones Modelos de Grafos

Formulación del problema de la ruta más corta en programación lineal

Introducción a la Teoría de Grafos

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Introducción a la Teoría de Grafos

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Geometría Computacional. Dr. Antonio Marín Hernández

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

1. GRAFOS : CONCEPTOS BASICOS

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Tema: Algoritmos para la ruta más corta en un Grafo.

Ejercicios sobre recursividad

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

Teorema de Hoffman-Singleton.

Programación lineal: Algoritmo del simplex

TEMA 5 El tipo grafo. Tipo grafo

Flujos de redes (Network Flows NF)

Ejercicios de Lógica Proposicional *

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Algebra Matricial y Teoría de Grafos

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad computacional (Análisis de Algoritmos)

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios

1.- Para cada uno de los siguientes problemas escribir el diagrama de flujo y el pseudocódigo de un programa que lo resuelva:

2 4. c d. Se verifica: a + 2b = 1

Universidad Autónoma del Estado de México Facultad de Medicina

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

MATHEMATICA. Geometría - Triángulos. Ricardo Villafaña Figueroa. Ricardo Villafaña Figueroa. Material realizado con Mathematica y Geometry Expressions

Lógica Proposicional IIC1253. IIC1253 Lógica Proposicional 1/64

2007 Carmen Moreno Valencia

Benemérita Universidad Autónoma de Puebla

Práctica 2: Análisis de sensibilidad e Interpretación Gráfica

PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL.

Algoritmos para determinar Caminos Mínimos en Grafos

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Análisis y Diseño de Algoritmos

El TAD Grafo. El TAD Grafo

CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA

Ecuaciones de primer grado

Introducción a la Programación Dinámica. El Problema de la Mochila

Un sistema de ecuaciones diferenciales son aquellas que tienen varias posibilidades para su solución. Estas son:

Optimización de Problemas de Producción

ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Visualización y Realismo: Problemas Capítulo 2

4.2. El número de combinaciones de m objetos entre un conjunto de n, denotado por n, para n 1 y 0 m n, se puede definir recursivamente por: m

LAS CIENCIAS DE LA PLANIFICACIÓN

Geometría combinatoria de cuadrados mágicos, latinos, sudokus y otras tablas curiosas

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos

Coloración de grafos

UCV FACULTAD DE INGENIERIA CALCULO I 16/04/2010. Solución al primer examen parcial. x - x 3 1

Árboles generadores mínimos (MST) comp-420

OLIMPÍADA JUVENIL DE MATEMÁTICA 2015 CANGURO MATEMÁTICO TERCER AÑO

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

GRAFOS GEOMÉTRICOS. Introducción. Número de corte. Aplicaciones. Incidencias de puntos y rectas. Distancias unitarias. k-sets.

Lo que se hace entonces es introducir variables artificiales ADAPTACIÓN A OTRAS FORMAS DEL MODELO.

11. MOSAICOS. El ángulo interior de un polígono regular de n lados es

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

Una actividad muy relacionada con la anterior consiste en la generación de mosaicos por medio de polígonos regulares.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Dimensionamiento y Planificación de Redes

Ecuaciones de la forma. y se sabe que pasa por el punto ( 4 ;16 ), cuál es la ecuación de la recta? con m > 0. contenga los puntos ( 2;? por qué?

Introducción a la indecidibilidad

4.1. Polinomios y teoría de ecuaciones

PROGRAMACIÓN LINEAL. Su empleo es frecuente en aplicaciones de la industria, la economía, la estrategia militar, etc.

Degeneración y ciclaje. Método de las dos fases CO-3411 (S08) 30/03/

EJERCICIO 1. Max Z = 6 x x 2 s.r. (1) 4 x x 2 12 (2) 2 x x 2 16 (3) 2 x 1 6 x 1, x 2 0

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

EJERCICIO DE MAXIMIZACION

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA

MATEMÁTICAS 1º BACHILLERATO Curso EJERCICIOS RESUELTOS DE INECUACIONES

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función.

PROGRAMACION DE REDES. MODELOS DE TRANSPORTE

Análisis y síntesis de sistemas digitales combinacionales

Cuadrados fractáureos

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

INVESTIGACIÓN OPERATIVA

Transcripción:

Análisis de Algoritmos Algoritmos pseudo-polinomiales Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos pseudo-polinomiales p. 1

HAMILTON PATH es NP-completo La reducción es de 3SAT a HAMILTON PATH: dada una expresión φ en CNF con las variables x 1,...,x n y cláusulas C 1,...,C r así que cada cláusula contiene tres literales, un grafo G(φ) está construida así que G(φ) contiene un camino de Hamilton si y sólo si φ es satisfactible. En continuación a la clase pasada empezamos con esto. Algoritmos pseudo-polinomiales p. 2

Tres tipos de gadgets 1. gadgets de elección que eligen la asignación a las variables x i, 2. gadgets de consistencia que verifican que todas las ocurrencias de x i tengan el mismo valor asignado y que todas las ocurrencias de x i tengan el valor opuesto, 3. gadgets de restricción que garantizan que cada cláusula sea satisfecha. Algoritmos pseudo-polinomiales p. 3

Las conexiones De elección: en serie. Cada cláusula tiene un gadget de restricción. Entre los de restricción y elección: un gadget de consistencia conectando los de restricción a la arista de verdad de x i si el literal es positivo y a la arista de falso de x i si el literal es negativo. Algoritmos pseudo-polinomiales p. 4

Ilustración = A la izquierda, el gadget de elección, en el centro, el gadget de consistencia y a la derecha, el gadget de restricción. Algoritmos pseudo-polinomiales p. 5

Elementos adicionales Aristas para conectar todos los triángulos, el último vértice de la cadena de los gadgets de elección y un vértice adicional v así que formen una camarilla estos 3n+2 vértices. Un vértice auxiliar w conectado con una arista a v. Algoritmos pseudo-polinomiales p. 6

Idea de la construcción Un lado de un gadget de restricción está recorrida por el camino de Hamilton si y sólo si el literal a cual corresponde es falso. = por lo menos un literal de cada cláusula es verdad porque en el otro caso todo el triángulo será recorrido. El camino empezará en el primer vértice de la cadena de los gadgets de elección y termina en w. Algoritmos pseudo-polinomiales p. 7

Programación entera La cantidad de problemas NP-completos de conjuntos es muy grande y uno de ellos sirve para dar una reducción que muestra que programación entera es NP-completo, mientras programación lineal pertenece a P. Algoritmos pseudo-polinomiales p. 8

Problema de la mochila Dada: una lista de N diferentes artículos ϕ i Φ y cada objeto tiene una utilidad ν(ϕ i ) y un peso ω(ϕ i ) Pregunta: Qué conjunto M Φ de artículo debería uno elegir para tener un valor total por lo menos k si tiene una mochila que solamente soporta peso hasta un cierto límite superior Ψ. Algoritmos pseudo-polinomiales p. 9

En ecuaciones Con la restricción Ψ ϕ Mω(ϕ) se aspira maximizar la utilidad total ν(ϕ) k. ϕ M Algoritmos pseudo-polinomiales p. 10

Complejidad El problema de la mochila es NP-completo, lo que se muestra por un problema de conjuntos (cubierto exacto, inglés: exact cover). Sin embargo, cada instancia del problema de la mochila se puede resolver en tiempo O(N Ψ)....? Algoritmos pseudo-polinomiales p. 11

El algoritmo Definimos variables auxiliares V(w,i) que es el valor total máximo posible seleccionando algunos entre los primeros i artículos así que su peso total es exactamente w. Cada uno de los V(w,i) con w = 1,...,Ψ y i = 1,...,N se puede calcular a través de la ecuación recursiva siguiente: V(w,i+1) = máx{v(w,i),v i+1 +V(w w i+1,i)} donde V(w,0) = 0 para todo w y V(w,i) = si w 0. Algoritmos pseudo-polinomiales p. 12

La salida del algoritmo Podemos calcular en tiempo constante un valor de V(w,i) conociendo algunos otros y en total son NΨ elementos. = Tiempo de ejecución O(N Ψ) La respuesta de la problema de decisión es sí únicamente en el caso que algún valor V(w,i) sea mayor o igual a k. Algoritmos pseudo-polinomiales p. 13

Entonces? Para pertenecer a P, necesitaría tener un algoritmo polinomial en el tamaño de la instancia. Eso es más como N logψ y así menor que el parámetro obtenido N Ψ (tomando en cuenta que Ψ = 2 logψ ). Algoritmos pseudo-polinomiales p. 14

Algoritmo pseudo-polinomial Tales algoritmos donde la cota de tiempo de ejecución es polinomial en los enteros de la entrada y no sus logaritmos se llama un algoritmo pseudo-polinomial. Algoritmos pseudo-polinomiales p. 15

Fuertemente NP-completo Un problema es fuertemente NP-completo si permanece NP-completo incluso en el caso que toda instancia de tamaño n está restringida a contener enteros de tamaño máximo p(n) para algún polinomial p. Un problema fuertemente NP-completo no puede tener algoritmos pseudo-polinomiales salvo que si aplica que P sea igual a NP. Los problemas SAT, MAXCUT, TSPD y HAMILTON PATH, por ejemplo, son fuertemente NP-completos, pero KNAPSACK no lo es. Algoritmos pseudo-polinomiales p. 16

Tareas para entregar el martes En las siguientes diapositivas se detalla dos reducciones. Muestra que sean correctas las dos, en las dos direcciones. 1. TSPD es NP-completo (de HAMILTON PATH) 2. 3COLORING es NP-completo (de NAESAT) Tarea extra: argumentar porqué 2COLORING P. Algoritmos pseudo-polinomiales p. 17

Primera reducción Dado un grafo G = (V,E) con n vértices, hay que construir una matriz de distancias d ij y decidir un presupuesto B así que existe un ciclo de largo menor o igual a B si y sólo si G contiene un camino de Hamilton (nota: no un ciclo, sino un camino). Algoritmos pseudo-polinomiales p. 18

Inicio para la demostración Etiquetamos los vértices V = {1,2,...,n} y asignamos simplemente d ij = { 1, si {i,j} E, 2, en otro caso. El presupuesto será B = n+1. Nota que así el grafo ponderado que es la instancia de TSPD es completo. Algoritmos pseudo-polinomiales p. 19

La segunda reducción De una conjunción de cláusulas φ = C 1... C m con variables x 1,...,x n, construyamos un grafo G(φ) tal que se puede colorear G(φ) con tres colores, denotados {0, 1, 2} si y sólo si existe una asignación de valores que satisface a φ en el sentido NAESAT. Algoritmos pseudo-polinomiales p. 20

Los gadgets para usar Para las variables: de elección en forma de triángulo así que los vértices del triángulo son v, x i y x i Para cada cláusula: ponemos un triángulo de [C i1,c i2,c i3 ] donde además cada C ij está conectado al vértice del literal número j de la cláusula C i Algoritmos pseudo-polinomiales p. 21