teor a de la complejidad computacional tema i:introducci...

54
Teor´ ıa de la Complejidad Computacional Tema I: Introducci´ on Mario de J. P´ erez Jim´ enez Grupo de Investigaci´on en Computaci´on Natural Dpto. Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla [email protected] http://www.cs.us.es/~marper/ aster Universitario en Matem´ aticas Curso 2016-2017

Upload: others

Post on 03-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Teorıa de la Complejidad ComputacionalTema I: Introduccion

Mario de J. Perez Jimenez

Grupo de Investigacion en Computacion NaturalDpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

[email protected]

http://www.cs.us.es/~marper/

Master Universitario en MatematicasCurso 2016-2017

Page 2: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Indice del tema I

• Problemas abstractos versus problemas concretos.

• Tipos de problemas abstractos.

• Modelos de computacion.

• Recursos computacionales.

• Problemas tratables, intratables y presuntamente intratables.

2 / 54

Page 3: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas, problemas, problemas ...

Una eterna aspiracion del hombre ...

? Mejorar la calidad de Vida.

Para ello ...

? Necesita resolver problemas.

• A ser posible usando procedimientos mecanicos ...

3 / 54

Page 4: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas abstractos vs problemas concretos

(1) Determinar si el numero 4730099 es primo.

(2) Calcular el producto de dos numeros naturales.

(3) Hallar el maximo comun divisor de 314 y 4524.

(4) Determinar si la suma de los angulos de un triangulo es 127o.

(5) Para cada numero natural n hallar un numero primo y mayor que n.

(6) Hallar la suma de los numeros 1234567 y 9876543.

(7) Determinar si un numero natural n es primo.

(8) Hace un par de horas, una empresa de reparto ha recibido 75 paquetes deun conocido hipermercado para su entrega a unos clientes, esta mismatarde. Sabiendo que los paquetes tienen cabida en un camion, ¿que rutadebe seleccionar el conductor para minimizar los costes?

4 / 54

Page 5: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problema concreto (I)

• Dadas 42 ciudades, tiempos tij entre dos ciudades, hallar un circuito querecorra las 42 ciudades en el menor tiempo posible.

5 / 54

Page 6: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problema concreto (II)

• Dadas 3150 ciudades, tiempos t′ij entre dos ciudades, hallar un circuitoque recorra las 3150 ciudades en el menor tiempo posible.

6 / 54

Page 7: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problema abstracto (III)

Dadas n ciudades y unos valores tij que representan los tiempos para ir de laciudad i a la ciudad j. Determinar un circuito que permita recorrer todas lasciudades en el menor tiempo posible.

Problema del viajante de comercio (TSP).

7 / 54

Page 8: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas concretos vs Problemas abstractos

Problema abstracto: conjunto de problemas concretos.

• Tamano de un problema concreto.

Como resolver un problema de la vida real.

? Se trata de un problema concreto.

? Se modeliza a traves de un problema abstracto.

? Se disena una solucion mecanica del problema abstracto.

? Se implementa dicha solucion mediante un programa.

? Se ejecuta el programa sobre una maquina electronica para los datosespecıficos del problema concreto.

8 / 54

Page 9: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas abstractos

I Problemas de busqueda.

? Dado un grafo no dirigido y un numero natural k, hallar un subgrafo completo de tamano k (si no

existe, devolver NO).

? Dado un sistema lineal de p ecuaciones con n incognitas, hallar una solucion del sistema (si no

existe, devolver NO).

I Problemas de optimizacion.

? Dado un grafo no dirigido, hallar un subgrafo completo que tenga tamano maximo.

? Dado un grafo no dirigido y dos nodos distinguidos, hallar un camino entre ambos nodos que tenga

longitud mınima (si no existe ningun camino, devolver NO).

I Problemas de decision.

? Dado un grafo no dirigido y un numero natural k, determinar si existe un subgrafo completo de

tamano k.

? Dado un grafo no dirigido y dos nodos distinguidos, determinar si existe un camino entre ambos

nodos.

9 / 54

Page 10: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Lenguajes formales

Primeros conceptos basicos:

? Alfabeto: conjunto no vacıo (sımbolos).

? Cadena o palabra sobre un alfabeto Γ: sucesion finita de sımbolos de Γ.

? Longitud de una cadena u: numero de sımbolos que contiene (|u|).

? Concatenacion de cadenas sobre un alfabeto Γ (composicion de cadenas).

? La cadena vacıa consta de 0 sımbolos y se suele notar por λ.

? Γ∗ : conjunto de todas las cadenas/palabras sobre Γ.

? Γ+ : Γ∗ − {λ}.

? Γn= conjunto de palabras sobre Γ de longitud n.

? Lenguaje formal sobre un alfabeto Γ: un subconjunto de Γ∗.

10 / 54

Page 11: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas de busqueda

Un problema de busqueda, X , es un par ordenado (IX , sX ) donde:

I IX es un lenguaje sobre un alfabeto.

I sX es una funcion cuyo domino es IX y para cada a ∈ IX , sX (a) es unconjunto (elementos: soluciones del problema).

Elementos de IX : instancias del problema.

I Usando codificaciones binarias, un problema de busqueda es un par

(IX , sX ) donde:

? IX es un lenguaje sobre el alfabeto binario {0, 1}.

? sX es una funcion total de IX en P({0, 1}∗).

I Para cada instancia a ∈ IX de un problema de busqueda, pueden existirmuchas soluciones, solo una o ninguna.

11 / 54

Page 12: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas de optimizacion

Un problema de optimizacion, X , es una tupla (IX , sX , fX ) donde:

I IX es un lenguaje sobre un alfabeto.

I sX es una funcion cuyo domino es IX y para cada a ∈ IX , sX (a) es unconjunto (elementos: soluciones candidatas del problema).

I fX es una funcion (objetivo) que asigna a cada a ∈ IX y cada ca ∈ sX (a),un numero racional positivo fX (a, ca).

Elementos de IX : instancias del problema.

fX proporciona el criterio para determinar una mejor solucion.

I Una solucion optima para a ∈ IX es un candidato c ∈ sX (a) tal que:

? O bien, ∀c ′ ∈ sX (a) se tiene fX (a, c) ≤ fX (a, c ′) (c es una solucion

minimal para a).

? O bien ∀c ′ ∈ sX (a) se tiene fX (a, c) ≥ fX (a, c ′) (c es una solucion

maximal para a).

12 / 54

Page 13: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas de decision

Problemas que solo admiten como respuesta/salida Sı o No.

I Un problema de decision X , es un par (IX , θX ) tal que IX es un lenguajesobre un alfabeto ΣX y θX es un predicado sobre IX .

Un problema de decision X = (IX , θX ) es un problema de optimizacion(IX , sX , fX ) tal que ∀a ∈ IX : sX (a) = {θX (a)} y fX (a, θX (a)) = 1.

I Cada lenguaje, L, sobre un alfabeto Σ tiene asociado un problema de decision, XL:

• IXL= Σ∗.

• θXL= {(x, 1) : x ∈ L} ∪ {(x, 0) : x /∈ L}.

I Cada problema de decision X = (IX , θX ) tiene asociado un lenguaje, LX , sobre ΣX :

• LX = {a ∈ IX : θX (a) = 1}.

13 / 54

Page 14: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas de decision versus problemas de optimizacion

Todo problema de optimizacion se puede transformar en un problema dedecision “equivalente”.

¿Que peaje se ha de pagar para transformar un problema de optimizacion en unproblema de decision “equivalente”?

Ejemplo:

I El problema Minimum Vertex Cover.

? Version de optimizacion: Dado un grafo no dirigido G , hallar el tamano

mınimo de un r.v. de G .

? Version de decision: Dado un grafo no dirigido G y un numero natural k,

determinar si G posee un r.v. de tamano menor o igual que k.

14 / 54

Page 15: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Computabilidad

Algoritmo (Procedimiento mecanico): metodo especial de resolucion deproblemas.

? Primer algoritmo no trivial: maximo comun divisor de dos numerosenteros (Euclides entre 400 y 300 a. C.).

Abu Jafar Mohammed ibn al–Khowarizmi: procedimientos mecanicos para elAlgebra (ano 825 d.C.).

Existencia de problemas resolubles mecanicamente.

15 / 54

Page 16: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

ComputabilidadD. Hilbert (en 1928) formula tres cuestiones acerca de las Matematicas:

? ¿Son completas?

? ¿Son consistentes?

? ¿Son decidibles? (Entscheidungsproblem).

Respuestas a las dos primeras cuestiones: teoremas de incompletitud de K.Godel (1931).

• No es posible encontrar una axiomatizacion completa de las Matematicas.

K. Godel dejo sin responder la tercera cuestion.

Hacia finales del siglo XIX:

∗ Problemas interesantes de los que no se conocen soluciones mecanicas.

Cuestion 1: Dado un problema, determinar si existe un procedimientomecanico que lo resuelve.

? Respuestas positivas versus respuestas negativas.

16 / 54

Page 17: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Modelos de computacion

Formalizacion del concepto de procedimiento mecanico.

• Funciones recursivas (K. Godel, 1931–1933).

• λ–calculo (A. Church y S. Kleene, 1931).

• Maquinas de Turing (A. Turing, 1936).

Modelo de computacion: sintaxis y semantica.

? Procedimiento mecanico, funciones computables, maquinas.

Modelos de computacion:

• Orientados a programas (Modelo GOTO, modelo WHILE, etc.)

• Orientados a funciones (Funciones recursivas, λ-calculables, etc.)

• Orientados a maquinas (Maquinas de Turing, de Post, URM, etc.)

17 / 54

Page 18: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Limitaciones

Limitaciones de los modelos de computacion.

• Existencia de problemas indecidibles.

? Logica de primer orden (Church y Turing, 1936).

? Problema de la parada (Turing, 1936).

La tesis de Church–Turing.

Equivalencia modelos de computacion (Turing, 1936).

Modelos universales.

18 / 54

Page 19: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Diseno, analisis y verificacion formal de algoritmos

Teorıa de la Computabilidad: clasificar los problemas abstractos segun sean ono resolubles mecanicamente (problemas decidibles e indecidibles).

• Diseno de un algoritmo.

• Analisis de los recursos necesarios para obtener la solucion de unainstancia concreta (en funcion de su tamano).

• Verificacion formal: el algoritmo resuelve cada instancia del problema.

19 / 54

Page 20: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Necesidad de verificar programas

El apagon de New York (1965).

20 / 54

Page 21: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Verificacion formal de los algoritmos

Sea A un algoritmo disenado para resolver un problema determinado por unacierta funcion f : D → R.

Para verificar formalmente dicho algoritmo distinguiremos dos casos:

? D es un conjunto finito: basta comprobar si para cada x ∈ D el valorfA(x) coincide con f (x).

? D es un conjunto infinito: se realizan dos pasos.

- Correccion parcial: Si x ∈ D y el algoritmo A para sobre x , entonces fA(x) = f (x).

- Parada: El programa para sobre todo dato de entrada x ∈ D.

21 / 54

Page 22: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Multiplicacion magica

12 × 9

6 18

3 36

1 72

12 9

6 18

? 3 36 36

? 1 72 72

12× 9 = 108

22 / 54

Page 23: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Un esquema algorıtmico

Algoritmo A de la multiplicacion rusa

Funcion multrusa(x, y)Vector A, B

si x = 0 entonces devolver 0

si x = 1 entonces devolver y

si x < y entonces

x ←− y ; y ←− x

A[1]←− x ; B[1]←− y

i ←− 1

mientras A[i ] > 1 hacer

A[i + 1]←− A[i ] div 2

B[i + 1]←− B[i ] + B[i ]

i ←− i + 1

prod ←− 0

i ←− i − 1

mientras i > 0 hacer

si A[i ] 6= A[i ] div 2 + A[i ] div 2 entonces prod ←− prod + B[i ]

i ←− i − 1

devolver prod

23 / 54

Page 24: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Una traza del esquema algorıtmico de A

Una traza del algoritmo A para el dato de entrada x = 52 e y = 27.

La idea del algoritmo consiste en construir dos columnas (A y B) de la siguiente manera:

? En primer lugar se ponen x e y respectivamente, con x ≥ y ,

? Seguidamente se escriben la parte entera de la mitad del numero anterior en la primera columna y el dobledel anterior en la segunda

? A continuacion, se marcan en la primera columna los numeros impares, y se suman los correspondientes dela segunda.

? Esa suma es el valor que devuelve el algoritmo

52 2726 54

→ 13 108

6 216

→ 3 432

→ 1 864

52 · 27 = 108 + 432 + 864 = 1404

24 / 54

Page 25: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Verificacion formal del algoritmo ATeorema 1: (Correccion parcial). Si el algoritmo A para sobre (x, y) ∈ IN× IN, entonces devuelve x · y .Demostracion: Si x = 0, entonces el resultado es trivial. Supongamos que x > 0. Expresemos el numero x enpotencias de 2 (en base 2): existe unicos a0, a1, . . . , ak ∈ {0, 1} tales que ak 6= 0 y

x = ak 2k + ak−12k−1 + · · · + a222 + a12 + a0 ai ∈ {1, 0} ak = 1

Observese que 2k ≤ x < 2k+1. Por tanto k = blog2xc. Vamos a construir las columnas A y B.

A[1] = 2k + ak−12k−1 + · · · + a222 + a12 + a0 B[1] = y

A[2] = 2k−1 + ak−12k−2 + · · · + a22 + a1 B[2] = 2 · y

A[3] = 2k−2 + ak−12k−3 + · · · + a2 B[3] = 2 · B[2] = 22 · y. . . . . .

A[k] = 2 + ak−1 B[k] = 2k−1y

A[k + 1] = 1 B[k + 1] = 2k y

Para cada j = 1, . . . , k + 1 se verifica: A[j] es impar⇐⇒ aj−1 6= 0⇐⇒ aj−1 = 1. Por tanto,

fA(x, y) =∑

A[j] impar1 ≤ j ≤ k + 1

B[j] =∑

aj−1 = 11 ≤ j ≤ k + 1

2j−1 · y =

=∑

1 ≤ j ≤ k + 1

aj−1 · 2j−1y = y ·∑

1 ≤ j ≤ k + 1

aj−1 · 2j−1 = y · x

Teorema 2:(Prueba de parada). El algoritmo A para sobre todo dato de entrada (x, y) ∈ IN× IN.

Demostracion Basta tener presente que los bucles considerados constan, a lo sumo, de k + 1 = 1 + blog2xc pasos.

25 / 54

Page 26: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Maquinas de proposito general

El sueno de la maquina analıtica de Charles Babbage (1847-1849),

26 / 54

Page 27: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Complejidad Computacional

Aparicion de los primeros ordenadores de proposito general.

I Implementacion practica de la arquitectura de J. von Neumann (CharlesBabbage: maquina analıtica, 1847-1849).

? Maquina convencional: soporte electronico.

? Maquina no convencional: otro soporte distinto.

¿Que problemas resuelven las maquinas reales?

Resolubilidad mecanica practica de problemas.

I Cantidad de recursos computacionales necesarios (tiempo y espacio).

I Analisis comparativo de distintas soluciones.

27 / 54

Page 28: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Complejidad Computacional

Cuestion 2: Dado un problema hallar el mejor algoritmo que lo resuelva.

Busqueda de algoritmos optimos.

• Hallar una cota inferior de los recursos necesarios para ejecutar cualquier

algoritmo que resuelva el problema.

• Hallar un algoritmo que resuelva el problema y que use una cantidad de

recursos del orden de la cota.

Complejidad computacional inherente a un problema.

• A veces, es imposible encontrar algoritmos optimos (teorema deaceleracion de Blum).

28 / 54

Page 29: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Tratabilidad de problemas abstractos

Resolubilidad a traves de ordenadores reales.

I Tratabilidad e intratabilidad de problemas.

Algoritmo eficiente: la cantidad de recursos necesarios para su ejecucion estaacotada por un polinomio.

I ¿Por que los polinomios para establecer la frontera?

? Es una clase de funciones estables por suma y producto.

? Tienen un crecimiento moderado.

La clase P de los problemas tratables.

Teorıa de la Complejidad Computacional: clasificar los problemas abstractossegun sean o no resolubles eficientemente (problemas tratables e intratables).

29 / 54

Page 30: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas ...

I Problema tratable

? Existe UN programa que resuelve el problema y proporciona (entiempo razonable) soluciones para entradas de tamano grande.

I Problemas intratables

? NINGUN programa que resuelve el problema proporciona (entiempo razonable) soluciones para entradas de tamano grande.

I Problema presuntamente intratable

? NINGUN programa CONOCIDO que resuelve el problemaproporciona (en tiempo razonable) soluciones para entradas detamano grande.

30 / 54

Page 31: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Problemas tratables

Son los mas simples, desde el punto de vista de la complejidad computacional.

I Resolubilidad algorıtmica en terminos practicos: tratabilidad.

Polinomial = Razonable Exponencial = No razonable10 50 100 300 1000

5n 50 250 500 1.500 5.000

n2 100 2.500 10.000 90.000 106

n3 1.000 125.000 106 27 · 106 109

2n 1.024 16 dıgitos 31 dıgitos 91 dıgitos 302 dıgitos

n! 7 dıgitos 65 dıgitos 161 dıgitos 623 dıgitos inimaginable

nn 10 dıgitos 85 dıgitos 201 dıgitos 744 dıgitos inimaginable

Nota 1: El numero de microsegundos desde el BIG BANG tiene 24 dıgitos.

Nota 2: El numero de protones en el universo consta de 71 dıgitos.

31 / 54

Page 32: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Un problema tratable: el de la moneda falsa

Se tienen n monedas y se sabe que exactamente una de ellas tiene unpeso distinto de las otras. Si se dispone de una balanza tradicional¿cuantas pesadas habrıa que realizar para detectar la moneda distinta?

I Bastarıa realizar, a lo sumo, 1 + log2(n) pesadas.

I ¿Se podrıa resolver el problema con menos pesadas?

I Como log2(n) ≤ n, la solucion dada es de tipo polinomial.

? Probar que log2(n) ≤ n.

I El problema de la moneda falsa es tratable.

32 / 54

Page 33: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Un problema intratable: las Torres de Hanoi

La leyenda ... (Edouard Lucas d’Amiens, 1883)

Un movimiento: trasladar un disco de una varilla a otra.

Movimiento valido: un disco no puede situarse encima de otro de menor radio.

I Problema concreto: 64 discos.

I Problema abstracto: n discos.

33 / 54

Page 34: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 2 discos

1

2

A B C

34 / 54

Page 35: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 2 discos

1

A B C

2

35 / 54

Page 36: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 2 discos

A B C

2 1

36 / 54

Page 37: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 2 discos

A B C

1

2

37 / 54

Page 38: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 3 discos

1

2

3

A B C

38 / 54

Page 39: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 3 discos

1

A B C

2

3

39 / 54

Page 40: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 3 discos

A B C

2

3

1

40 / 54

Page 41: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 3 discos

A B C

1

2

3

41 / 54

Page 42: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 4 discos

1

2

3

4

A B C

42 / 54

Page 43: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 4 discos

1

A B C

2

4

3

43 / 54

Page 44: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 4 discos

A B C

2

4

3

1

44 / 54

Page 45: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 4 discos

A B C

1

2

3

4

45 / 54

Page 46: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 5 discos

1

2

3

4

5

A B C

46 / 54

Page 47: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 5 discos

1

A B C

2

4

5

3

47 / 54

Page 48: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 5 discos

A B C

2

4

5

3

1

48 / 54

Page 49: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi: 5 discos

A B C

1

2

3

4

5

49 / 54

Page 50: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi

• Diseno (recursivo)

procedimiento Hanoi (n,1,3) , con n > 0

si n > 0 entonces

Hanoi (n-1, 1, 2)

mover disco de 1 a 3

Hanoi (n-1, 2 , 3)

I Verificacion (induccion).

I Analisis (induccion):

f (n) = numero de movimientos para resolver el problema de Hanoi correspondiente a n discos.{f (0) = 0f (n + 1) = 2 · f (n) + 1

Se prueba que f (n) = 2n − 1.

50 / 54

Page 51: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema de las Torres de Hanoi

Para resolver el problema con n discos

I Numero de movimientos a realizar : 2n − 1.

Supongamos que tenemos 64 discos.

Supongamos que se tarda un segundo en mover un disco.

Supongamos que los monjes trabajan las 24 horas del dıa.

¿Cuanto tiempo se necesitara para resolver el problema divino?

I Aproximadamente ... ¡500 millones de anos!

51 / 54

Page 52: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Un problema presuntamente intratable

52 / 54

Page 53: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

El problema del campeonato de liga de futbol

Tras la jornada 25 del campeonato de liga de futbol deprimera division, un aficionado desea saber si su equipo tieneposibilidades matematicas de quedar campeon de liga

I Sistema antiguo de puntuacion (2, 1, 0): tratable

I Sistema nuevo de puntuacion (3, 1, 0): presuntamente intratable

53 / 54

Page 54: Teor a de la Complejidad Computacional Tema I:Introducci onmarper/docencia/TCC-2016/temas/tema-1-2016-17-trans.pdfI Problemas de decisi on.? Dado un grafo no dirigido y un numero natural

Necesidad de mejorar cuantitativamente la resolucion mecanica de problemaspresuntamente intratables.

El problema SAT (S.A. Cook, 1971).

¿Como enfrentarnos a un problema que presuntamente es computacionalmentedifıcil/duro?

I Preguntarnos en que aspecto del problema radica la razon de la dificultad.

I Intentar buscar una solucion aproximada mas simple.

I Tener presente que algunos problemas solo son difıciles en el caso peor.

I Considerar otros modelos alternativos, no convencionales.

54 / 54