Complejidad Computacional
- ¿Qué es un problema?
- Análisis de Algoritmos
- Problemas indecidibles y no computables
- Problemas de Decisión
- TBD
- De Optimización a Decisión
- Verificación de TSP
¿Qué es un problema?
Un problema es una cuestión que se plantea para encontrar un dato desconocido (salida) a partir de datos conocidos (entrada).
Definición de un problema en formato estándar
Se traducirá la palabra “instance” como ejemplar.
Ejemplar genérico: Conjunto de parámetros del problema y sus restricciones.
Enunciado objetivo: Descripción, en términos de los parámetros, de las características que ebe satisfacer la salida para ser considerada respuesta del problema.
Ejemplo:
-
Dada una secuencia de números, determinar el máximo de . Ambigüedad
-
Listar todos los primos positivos. No es razonable
-
Encontrar el elemento mínimo de una secuencia finita y no vacia de números reales.
Ejemplar genérico: Una secuencia de números reales tal que
Enunciado objetivo: Determinar el mínimo de , es decir, encontrar tal que , para toda .
-
Dada una secuencia finita y no vacia de números naturales, encontrar el conjunto de los primeros 100 primos de en el conjunto.
Ejemplar genérico: Una secuencia de números naturales tales que .
TBD
Problemas de Optimización
- Tienen asociado un conjunto llamado conjunto de soluciones factibles
- Tienen asociada una función llamada función de peso o función de costo.
- El objetivo es encontar un elemento de que minimice o máximice .
Ejemplo TSP
- Ejemplar Genérico: Un conjunto de ciudades y una función distancia entre todo par de ciudades.
- Enunciado de Optimización: Determinar tal que
Problemas de Decisión
- Únicamente tienen dos posiibles salidas: SI ó NO.
Ejemplo SAT
- Ejemplar Genérico: Un conjunto de variables booleanas y un conjunto de cláusulas sobre .
- Pregunta de Decisión: ¿Existe una asignación de verdad tal que , para toda .
Análisis de Algoritmos
-
Tiempo de Ejecución donde es un ejemplar del problema.
Trabajamos con familias de ejemplares que tuvieran el mismo tamaño.
-
Tamaño de entrada (o tamaño de un ejemplar)
El número de elementos significativos del ejemplar que serán procesados
-
Función de Complejidad Temporal donde es el tiempo de ejecución del algoritmo sobre el conjunto de ejemplares de tamaño .
-
Algoritmos Polinomiales
- Son algortmos que viven en , con
Algoritmo Eficiente
Definición: Un algoritmo es eficiente si y sólo si es en tiempo
Problemas indecidibles y no computables
¿Esperamos poder resolver
TBD
¿Quién es ?
Para todo , no es
Si y se ejeciutan con
- Si se detiene, no se detiene
- Si no se detiene, no se detiene.
no se puede reconocer por una máquina de Turing
Verificar donde va esto
si empieza con una cienta en blanco:
- Escribir
- Simular con
Demostrar que no es decidible:
Pregunta:
¿Qué significa que una máquina de Turing sea total? Son aquellas que dada cualquier entrada, siempre terminan
Suponer que existe total que
TBD
Podemos querer funciones más complejas, podemos usar una Máquina de Turing para esto al leer de su cinta al terminar su ejecución.
Definición:
es computable si y solo si exíste una máquina de Turing total , tal que con la entrada deja a escrita en su cinta al terminar la ejecución.
Hay más funciones que lenguajes. Sí hay lenguajes no computables, debe haber funciones no computables.
Busy Beaver
es la máxima cantidad de pasos que puede ejecutar una máquina de Turing tak que tiene estados, se detiene cuando empieza con una cinta en blanco y
¿Es computable?
Demostrar que no es computable
Suponer que es computable. Entonces existe total que computa con la entrada n.
con entrada
- Construye la cadena n donde n es la cantidad de estados de
TBD
Problemas de Decisión
Sea un problema de optimización. El problema de decisión asociado a es:
- Ejemplar Genérico: Mismo conjunto de parámetros que y un real con restricciones según la función de costo de .
- Pregunta de Decisión: ¿Existe tal que
- Si es de minimización
- Si es de maximización
Ejemplo 1. Problema de la Ruta más corta
Dada una gráfica simple y no dirigida de orden y pesos en sus aristas, y dos vértices distinguidos y , determinar la ruta más corta entre y .
- Forma Estándar:
- Ejemplar Genérico: Una gráfica simple y no dirigida de orden , con función de peso en sus aristas , y dos vértices distinguidos y .
- Enunciado Objetivo: Determinar que minimice ó que sea mínimo, donde
- Problema de Decisión.
- Ejemplar Genérico: Una gráfica simple y no dirigida de orden , con función de peso en sus aristas , dos vértices distinguidos y , y un real .
- Pregunta de Decisión: ¿Existe tal que ?
Ejemplo 2. Problema del Empaquetamiento
Dados objetos , de tamaños ; un entero positivo C tal que ; y un conjunto de n contenedores de capacidad c. Determinar el menor número de contenedores para colocar o almacenar todos los objetos.
- Forma Estándar:
- Ejemplar Genérico: Un conjunto , de objetos, con una función de tamaño ; un entero positivo C tal que ; y un conjunto de n contenedores de capacidad c. Determinar el menor número de contenedores para colocar o almacenar todos los objetos.
TBD
- Enunciado Objetivo: Determinar que minimice ó que sea mínimo, donde
- Problema de Decisión.
- Ejemplar Genérico: Una gráfica simple y no dirigida de orden , con función de peso en sus aristas , dos vértices distinguidos y , y un real .
- Pregunta de Decisión: ¿Existe tal que ?
TBD
Un óraculo hace predicciones
De Optimización a Decisión
- Idea Intuitiva
- Ejemplar Genérico: Conjunto de parámetros de la versión de optimización y un real K acotado según la función de costo asociada.
- Pregunta de Decisión: ¿Existe tal que
- ? Minimización
- ? Maximización
- Convención
- Ejemplar Genérico: Conjunto de parámetros de la versión de optimización y un real K acotado según la función de costo asociada.
- Pregunta de Decisión: ¿Existe tal que
- ? Minimización
- ? Maximización
Verificación de TSP
Cuando no podemos solucionar directamente un álgoritmo de forma determinista podemos usar un enfoque distinto basado en proponer soluciones y verificar sí cumplen nuestro críterio.
Algoritmo CheckTSP
- Entrada: Un conjunto de ciudades, una función de distancia, y un real positivo .
- Salida: YES, sí existe un tour tal que . NO, en otro caso.