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