Top Banner
1 NP-completos Elvira Mayordomo Universidad de Zaragoza 9-1-13
30

130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Apr 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

1

NP-completos

Elvira MayordomoUniversidad de Zaragoza9-1-13

Page 2: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

2

*aLenguajes regulares

Lengs. indeps. del contextonnba Rww

nnn cba ww

**ba

Lenguajes semidecidibles

Lenguajes decidiblesH

H

Page 3: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

3

Lenguajes decidiblesUn lenguaje L es decidible si es el aceptado

por un programa que para siempre

En otras palabras:Un lenguaje L es decidible si existe un

algoritmo que resuelve completamente el problema de pertenencia

Page 4: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

4

De la última clase: P y EXP•P y EXP son clases de lenguajes.

•P es el conjunto de lenguajes (problemas) resolubles en tiempo polinómico.

•EXP es el conjunto de lenguajes (problemas) resolubles en tiempo exponencial.

• P EXP

Page 5: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

5

Lenguajes regulares

L. indeps. del contexto

Lenguajes semidecidibles

Lenguajes decidibles

EXP

P

nnba

nnn cba

Rww

**ba

ww

H

H

Page 6: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

6

Hoy veremos•NP

•NP-completos

Muy poco formalizado …

Page 7: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

7

NP

•NP es el conjunto de lenguajes resolubles en tiempo polinómico no determinista.

•¿ Y qué es tiempo polinómico no determinista?•Usando máquinas de Turing no deterministas•Usando programas no deterministas

Page 8: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

8

Máquina de Turing no determinista

1q 2qDbDad ,,,

3qIdNad ,,,

Page 9: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

9

Programa no determinista•Incluye instrucciones “nodeterministas” como:

Para algún x{0,1}n hacer<secuencia de acciones>

fpalgun

Page 10: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

10

Lenguajes regulares

L. indeps. del contexto

Lenguajes semidecidibles

Lenguajes decidiblesEXP

P

nnba

nnn cba

Rww

**ba

ww

H

H

NP

Page 11: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

11

NP-completos

•Son los más difíciles de NP

•No veremos la definición formal, sólo ejemplos y qué significa que un problema sea NP-completo.

Page 12: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

12

Lenguajes regulares

L. indeps. del contexto

Lenguajes semidecidibles

Lenguajes decidiblesEXP

P

nnba

nnn cba

Rww

**ba

ww

H

H

NP

Page 13: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

13

NP

NP-completos

Page 14: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

14

NP-completos

Page 15: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

15

Una aplicación práctica

• Supón que tu jefe te pide que escribas un algoritmo eficiente para un problema extremadamente importante para tu empresa.

• Después de horas de romperte la cabeza sólo se te ocurre un algoritmo de “fuerza bruta”, que analizándolo ves que cuesta tiempo exponencial.

Page 16: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

16

Una aplicación práctica

Te encuentras en una situación muy embarazosa:“No puedo encontrar un algoritmo eficiente, me

temo que no estoy a la altura”

Page 17: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

17

Te gustaría poder decir …

“No puedo encontrar un algoritmo eficiente porque no existe”

Page 18: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

18

“No puedo encontrar un algoritmo eficiente porque no existe”

Eso es decir que el problema es intratable

• En realidad es muy poco frecuente poder decir algo tan tajante, para la mayoría de los problemas, es muy difícil demostrar que son intratables

• Pero la teoría de los NP-completos te puede ayudar a no perder tu trabajo diciendo …

Page 19: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

19

Usando la teoría de los NP-completos …

“No puedo encontrar un algoritmo eficiente pero tampoco pueden ninguno de estos informáticos

famosos”

Page 20: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

20

O todavía mejor

“Si pudiera diseñar un algoritmo eficiente para este problema, ¡no estaría trabajando para usted!

Me habría ganado el premio de un millón de dólares que da el Instituto Clay.”

Page 21: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

21

NP-completos

• Los NP-completos parecen intratables• Nadie ha sabido demostrar que los NP-completos son intratables

• Son todos equivalentes, es decir:o Si se encuentra un algoritmo eficiente para

un NP-completo entonces tenemos un algoritmo eficiente para cualquiera de ellos

o Si probamos que un NP-completo no tiene algoritmos eficientes entonces ninguno los tiene.

Page 22: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Ejemplos de NP completos

22

• El problema del viajante de comercio

• El problema de hacer cierto un circuito booleano (Circuit-SAT)

• Asignación de procesadores (multiprocessor scheduling)

Page 23: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

El problema del viajante

23

Dados:n el número de ciudades, la matriz de distancias d(i,j) para 1<=i,j<=n, una longitud máxima k

¿existe un camino de que pasa por todas las ciudades con longitud como máximo k?

Page 24: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Circuit-SAT

NOT

AND

OR 1

1

100

0

11

11

1

0

0

Dado: un circuito booleano con una única puertade salida

¿Existe una asignación de valores a las entradaspara la que la salida es “1”?

Page 25: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Multiprocessor scheduling(asignación de procesadores)

25

Dadas: n el número de tareas,m número de procesadoresdur(i) la duración de la tarea I (i<=n)T tiempo máximo (deadline)

¿Existe una asignación de las tareas a los procesadores sin solapes y cumpliendo el deadline?

Page 26: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Hay muchos más

26

Prácticamente de cualquier tema (redes, bases de datos, geometría, juegos)

Los problemas interesantes suelen ser NP-completos.

Page 27: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Una aplicación práctica

27

Después de la segunda respuesta (No puedo encontrar un algoritmo eficiente pero tampoco pueden ninguno de estos informáticos famosos), tu jefe abandonará la búsqueda.Pero la necesidad de una solución no desaparecerá.Seguramente al demostrar que es NP-completo has aprendido mucho sobre el problema y ahora puedes:

Olvidar lo de intentar encontrar un algoritmo en tiempo polinómico para el problema.Buscar un algoritmo eficiente para un problema diferente relacionado con el original.O bien intentar usar el algoritmo exponencial a ver qué tal funciona con las entradas que te interesan.

Page 28: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

28

Referencias

•Lista de NP-completos:GAREY, M. y JOHNSON. D.: Computers and

Intractability: A Guide to the Theory of NP-Completeness. Freeman. 1978.

•Premio del instituto Clay:www.claymath.org/prizeproblems/pvsnp.htmwww.claymath.org/prizeproblems/milliondollarminesweeper.htm

Page 29: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Un momento de publicidad

29

Si os gusta pensar en algoritmos/programasdivertidos/ocurrentes/diferentes

Si queréis saber más sobre NP-completos

Si tenéis curiosidad sobre alguna de las partes de esta asignatura …

Page 30: 130109NPcompletos.ppt [Modo de compatibilidad]webdiis.unizar.es/asignaturas/TC/wp/wp-content/uploads/2012/09/13… · “No puedo encontrar un algoritmo eficiente porque no existe”

Un momento de publicidad

30

Echadle un vistazo a las asignaturas de la especialidad de Computación:

• Algoritmia básica• Algoritmia para problemas difíciles• Bioinformática• Procesadores de Lenguajes• Robótica• Videojuegos• …