Tiempo Polinómico vs Tiempo Exponencial

Anuncio
Tiempo Polinómico
vs
Tiempo Exponencial
Elvira Mayordomo, Gregorio de Miguel
Universidad de Zaragoza
1
Lenguajes semidecidibles
Lenguajes decidibles
H
H
n n n
abc
Lengs. indeps. del contexto
n n
R
a b
ww
ww
Lenguajes regulares
a*
a *b *
2
Lenguajes semidecidibles
Lenguajes decidibles
EXP
P
L. indeps. del contexto
Lenguajes regulares
3
P y EXP
•P y EXP son clases de lenguajes.
•Un lenguaje es lo mismo que un problema con dos
respuestas posibles.
•EXP contiene casi todos los problemas que nos
interesa resolver con un algoritmo.
•P es una parte de EXP: los problemas que se
pueden resolver eficientemente o resolubles en la
práctica.
4
Tiempo de un Programa. Notación
t q (w )  tiempo que tarda el programa q
con entrada w .
T q (n )  peor tiempo para las entradas de
longitud n, es decir, T q (n )  max|w|n t q (w ).
5
Definiciones (i)
• Dadas dos funciones
si
tal que
• Dada
es un lenguaje
y existe un algoritmo que lo
acepta y cumple
‫ݍ‬
6
Definiciones (ii)
•P es el conjunto de problemas resolubles en
tiempo polinómico:
•EXP es el conjunto de problemas resolubles en
tiempo exponencial:
7
Atención

 
 
nk
•Los tiempos DTIME n , DTIME 2
cotas superiores
k
son
• P  EXP
•Se sabe que P  EXP (luego P  EXP ).
8
Problemas resolubles en la práctica
•P es el conjunto de problemas resolubles en la
práctica.
•Si Π no está en P, se considera no resoluble de
forma eficiente.
•La mayoría de los algoritmos q que se implementan
cumplen T (n )  O (n k ) para algún k.
q
•¿Y qué pasa con un tiempo n100? Es polinómico,
pero no parece muy eficiente…
9
Razones para considerar P
“lo resoluble eficientemente” (i)
1. Los problemas naturales que se sabe que están
en P tienen algoritmos “rápidos”. Cumplen
T q (n )  c  n para k  3 y c pequeña.
k
1. Los problemas naturales para los que no se
conocen algoritmos polinómicos, tampoco tienen
algoritmos conocidos con tiempo por debajo de
una exponencial 2cn.
10
Razones para considerar P
“lo resoluble eficientemente” (ii)
•Pero… hay unos pocos problemas con algoritmos
exponenciales en caso peor que funcionan rápido en
la práctica: Mochila.
T q (n)  max t q (w )
|w |n
•Esto es así porque las entradas que interesan no
son el peor caso.
11
Funciones de Tiempo en un Computador
•Considerando la velocidad de un Intel Core i7
Extreme Edition 3960X (Hex Core) a 3.33 GHz,
cada instrucción tarda alrededor de 3.3759·10-11
segundos en cada núcleo.
•Veamos en la siguiente tabla cuánto valen las
funciones de tiempo n, n2,n3, n5, 2n y 3n para
distintos valores de n.
12
Tiempos (i7 EE 3960X - 6 núcleos)
n=
10
20
30
40
50
60
n
5,63E-11
seg.
1,13E-10
seg.
1,69E-10
seg.
2,25E-10
seg.
2,81E-10
seg.
3,38E-10
seg.
n2
5,63E-10 2,25E-09 5,06E-09 9,00E-09
seg.
seg.
seg.
seg.
1,41E-08
seg.
2,03E-08
seg.
n3
5,63E-09 4,50E-08 1,52E-07 3,60E-07 7,03E-07 1,22E-06
seg.
seg.
seg.
seg.
seg.
seg.
n5
5,63E-07 1,80E-05
seg.
seg.
2n
5,76E-09 5,90E-06 6,04E-03
seg.
seg.
seg.
3n
3,32E-07 1,96E-02 19 minutos 2 años y
seg.
seg.
y 19 seg.
61 días
1,37E-04 5,76E-04 1,76E-03 4,38E-03
seg.
seg.
seg.
seg.
6,19 seg.
1 hora y 75 días y
46 minutos 2 horas
1,28E+3
siglos
7,56E+7
siglos
13
Efecto de la Mejora Tecnológica
•A continuación, vemos el mayor tamaño de entrada
resoluble en una hora:
tiempo
Computador actual
100·X
1000·X
n
N1 = 6,40E+14
100·N1
1000·N1
n2
N2 = 2,53E+7
10·N2
31,6228·N2
n3
N3 = 86169,7
4,64159·N3
10·N3
n5
N4 = 914,561
2,5118·N4
3,9810·N4
2n
N5 = 49,1847
N5 + 6,6438
N5 + 9,9657
3n
N6 = 31,0321
N6 + 4.1918
N6 + 6,2877
•Esta tabla presenta el efecto de la mejora
tecnológica en varios algoritmos de tiempo
polinómico y exponencial.
14
Tesis Extendida de Turing-Church (i)
•Hemos visto que los lenguajes decidibles y
semidecidibles se pueden definir igual con
programas o con máquinas de Turing ...
•¿Qué pasa con las definiciones de P y EXP?
15
Tesis Extendida de Turing-Church (ii)
Máquinas de Turing
•Cada máquina M acepta un lenguaje a base de
transiciones elementales (moverse una casilla,
cambiar de estado, escribir un símbolo).
t M (x )  número de pasos de M con
entrada x desde que empieza hasta que se para.
T M (n )  max|w|n t M (w ).

 
DTIME 1 f (m)  L : L es un lenguaje y
existe una máquina M que lo acepta y
 
cumple T M (n )  O f (n ) .
16
Tesis Extendida de Turing-Church (iii)
Máquinas de Turing
•Lema
Para cada f :
 
 
DTIME f (m)   DTIME f (m) 
DTIME 1 f (m)  DTIME f 3 (m)
3
•Corolario
1
17
Tesis Extendida de Turing-Church (iv)
•Para cada uno de los modelos conocidos con una
definición natural de paso, P y EXP corresponden a
tiempo polinómico y exponencial respectivamente.
•Tesis extendida de Turing-Church: Cualquier
modelo razonable y secuencial de cálculo da la
misma definición de P y EXP.
18
Tesis Extendida de Turing-Church (v)
PERO…
•La conjetura anterior está siendo replanteada a la
luz de los recientes estudios sobre el computador
cuántico.
•Este modelo, formulado en 1982 por Deutsch y
Lloyd es de naturaleza muy distinta a los otros
secuenciales.
•En 1994, Nishino resolvió con este modelo en
tiempo polinómico problemas para los que no se
conocen algoritmos polinómicos.
19
Tesis Extendida de Turing-Church (vi)
PERO…
•Hasta la fecha no se ha construido un computador
cuántico…
20
Referencias
• GAREY, M. y JOHNSON. D.: Computers and
Intractability: A Guide to the Theory of NPCompleteness. Freeman. 1978.
• Sipser, sección 7.2
• Kelley, sección 7.2
21
Descargar