1 / 64

¿ Que es la Teoría de la Computación?

¿ Que es la Teoría de la Computación?. Sergio Rajsbaum Instituto de Matemáticas, UNAM. ¿ Cómo explicar que es la Teoría de la Computación?. Definiciones Breve introducción histórica Ejemplos de problemas Lista y clasificación de temas.

jacie
Download Presentation

¿ Que es la Teoría de la Computación?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ¿Que es la Teoría de la Computación? Sergio Rajsbaum Instituto de Matemáticas, UNAM

  2. ¿Cómo explicar que es la Teoría de la Computación? • Definiciones • Breve introducción histórica • Ejemplos de problemas • Lista y clasificación de temas

  3. En pocas palabras¿Que es la Teoría de la Computación? Los cimientos del edificio

  4. El Edificio Ciencia e Ingeniería de la Computación: • conglomerado de disciplinas científicas y de ingeniería relacionadas -- estudio y aplicación del cómputo. • Desde • mas puras y básicas disciplinas científicas dedicadas a los fundamentos de la computación • hasta las de ingenierías dedicadas a aplicaciones especificas.

  5. La Teoría de la Computación Pretende Entender Estudiando modelos matemáticos relacionados al cómputo

  6. ¿Qué es el cómputo? • El interéspor diseñar métodos y dispositivos para cálculos aritméticos y lógicos es antiguo, pero • sin entendimiento de la naturaleza del cómputo en general ¿ método, dispositivo?

  7. 10o Problema de Hilbert(Paris, 1900) un método mediante el cual se puede determinar en un número finito de operaciones” “diseñar si un polinomio tiene una raíz entera

  8. Yuri Matijasevic En 1970 el matemático de Leningrado de 22 años resolvió el problema al probar que no existe tal método (basado en trabajo de Davis, Putnam y Robinson) → Lo cual hubiera sido difícil de lograr para los matemáticos de 1900 con su noción intuitiva de algoritmo …

  9. Alan Turing En 1936 con la Máquina de Turing formalizó la noción de algoritmo (no tan chico − a la edad de 24 años) Simultáneamente Alonzo Church con la noción equivalente de lambda-cálculo y otros…

  10. entrada Máquina de Turing … 2 0 1 0 2 q0 = q • Inicialmente: • en el estado q0 • con entrada w control finito función de transición δ • Operación, según δ(q,x)=(q’,x’,d): • si esta en estado qsobre el simbolo x • cambia a q’, sobre-escribe x’ y se mueve una posición (der. o izq.)

  11. Máquina de Turing Formalmente, no es mas que un conjunto de quintupletas que describen la función de transición δ

  12. ¡La mayoría de las funciones no son computables! El conjunto de Máquinas de Turing es numerable; el de todas las funciones no lo es

  13. Tesis de Church-Turing Noción intuitiva de algoritmo = Máquina de Turing

  14. 2 0 1 0 2 q0 Máquina de Turing Universal Descripción de M Simula a una Máquina de Turing M

  15. Máquina de Turing Universal Feynman’s Lectures on Computation

  16. El Problema de la Detención no es computable Dada una M y una entrada w, M se detiene con entrada w? • La idea: • ¿ Qué pasa si a una M le damos como entrada • a ella misma ?! • No es mas que una diagonalización a la Cantor

  17. Reducciones P1 ≤ P2 • Problema P2 es al menos tan difícil como P1 • si P1 se puede resolver con P2 como oráculo

  18. Jerarquía infinita de problemas no computables ≤ induce clases de equivalencia Problema de la detención Problemas equivalentes a este

  19. … 1936 … 1965 Máquina de Turing noción formal de cómputo ? complejidad El mundo de los problemas computables

  20. Medir tiempo y espacio como una función del tamaño de la entrada ‘65 Richard Stearns, U. Albany Juris Hartmanis, Cornell Dado mas tiempo o espacio se pueden computar mas cosas

  21. Jerarquía infinita de problemas computables Clases de ComplejidadTiempo o Espacio • Utilizando reducciones

  22. Eficiente = Polinomial Para que una solución sea útil • Su costo en tiempo/espacio debe crecer polinomialmente con respecto al tamaño de la entrada

  23. Razón de crecimiento de funciones típicas todas las entradas en segundos [GJ] excepto m=min, d=dias, a=años, s=siglos (Función en micro-segundos)

  24. Jerarquía infinita de problemas no computables El Mundo de la Computación Jerarquía infinita de problemas computables polinomiales clase P

  25. La Clase NP • Para el final de los 60’s, se sabía de una variedad de problemas prácticos para los cuales no había solución polinomial • Todos tienen un espacio exponencial de soluciones posibles • Todos se pueden verificar en tiempo polinomial • Ejem: Encontrar un ciclo que pase por todos los vértices de una gráfica

  26. EXP NP P ¿ P = NP ? Una de las 7 preguntas del Premio del Milenio del Clay Mathematics Institute con $1,000,000

  27. EXP NP P Resulta que los problemas prácticos mencionados, son los mas difíciles dentro de NP NP-completos

  28. SAT:Si un predicado booleano se puede satisfacer Leonid Levin, BU Probado en 1973 El 1er problema NP-completo Stephen Cook, Toronto Probado en 1971

  29. En ‘73 ocho problemas centrales en combinatoria probados NP-completos • Reducciones: • Si P es NP-completo, • P’ es NP y P ≤ P’ ent. • P’ tambien Richard Karp

  30. EXP NP P P ≠ NP => num. ∞ de clases, inclusive algunas no comparables entre si Y Karp mencionó tres en NP sin lograr probarlos NP-completos • Isomorfismo de gráficas • Primalidad • Programación lineal NP-completos ?

  31. Nitin Saxena Neeraj Kayal Maninda Agarwal (der a izq) Narendra Karmarkar Y Karp mencionó tres en NP sin lograr probarlos NP-completos • Isomorfismo de gráficas • Primalidad • Programación lineal • Siguieron abiertos hasta ’79 cuando aparece el libro de Garey-Johnson • PL en P ’84, por Karmarkar • Prim en P ’02, por Agarwal y estudiantes Saxena, Kayal

  32. Isomorfismo de Gráficas Sigue Abierto • Probablemente no en P • Probablemente no sea NP-completo • es sensitivo localmente: si existe un isomorfismo, y se cambia un poquito la gráfica, deja de haberlo • si lo fuera se colapsa la jerarquía polinomial

  33. Ejemplos clásicosPNP-completo

  34. ¿Que es la Teoría de la Computación? Pero volvamos a nuestra pregunta original

  35. Se Divide en Dos I. Teoría de la Programación • Estudiar los lenguajes para implementar los cómputos II. Teoría del Cómputo • Entender la naturaleza del cómputo, sus posibilidades y limitaciones • Y el objeto del cómputo, la información Teoría de la Computación

  36. I. Teoría de la Programación • Modelos de cómputo • Lenguajes de programación • Semántica de lenguajes • Estilos de programación- Lógica, funcional… • Concurrencia • Especificación y verificación • Lógica y computación • Representación del conocimiento, bases de datos

  37. II. Teoría del Cómputo El estudio de la propiedades generales del cómputo, ya sea natural, artificial, o imaginario

  38. ¿Qué esun dispositivo de cómputo? • Secuencial, paralelo, distribuido, biológico, quántico • ¿Cuál es el costo de un cómputo? • Tiempo, espacio, comunicación, tamaño del programa • ¿ Qué se puede computar eficientemente y que no? • Ciclo mas corto vs. ciclo mas largo • ¿ Como clasificar a todos los problemas de acuerdo a su dificultad? • Una jerarquía infinitay densa de clases de complejidad • ¿ Qué no se puede computar? • Si un programa es correcto o no • ¿ Qué es la información? • Como se mide, como se comprime y que tanto, • cual es la información de 01010101010101010 vs. 00101111000101100

  39. Entender mejor el mundo, desde nuestra perspectiva de computólogos

  40. El Dilema del Esquiador No sabe cuantos días va a querer esquiar. ¿Comprar o Rentar? • Renta de esquís cuesta $1 por día. Comprarlos $10. • Lo óptimo es rentar hasta el día 10, y luego comprar Análisis de Algoritmos En-Linea ¿donde estuvo la computadora? Pero hay aplicaciones- memoria cache

  41. Mas Ejemplos: • Aparentemente hay funciones fáciles de calcular pero difíciles de invertir (cripto) • e.g. multiplicar vs. factorizar • Aparentemente hay problemas mucho mas fáciles de verificar que de resolver (P vs NP) • e.g. partir un conjunto de pesas en dos subconjuntos que pesen lo mismo • La aleatoriedad puede ser expandida arbitrariamente • usar una semilla chica para generar números pseudoaleatorios • Una prueba de un enunciado puede no enseñarte nada mas que la validez del enunciado • e.g este mapa se puede colorear con k colores

  42. Jorge Urrutia Y mas Ejemplos: • Pruebas holográficas • Forma en la cual cualquier prueba puede ponerse, tal que cualquier error se puede detectar (probabilisticamente) viendo solo una fracción pequeña de ella • Pruebas tradicionales tiempo cuadrático (en su tamaño); estas toman tiempo polilogarítmico • El log2 del numero de átomos en el universo es < 300 ! • Robótica • Un agente sin memoria puede moverse sobre una gráfica y detectar su conexidad

  43. Computación molecular: • Solución de problemas NP completos • usando paralelismo masivo con DNA • Diseño de drogas inteligentes • midiendo y corrigiendo la expresión genética Ricardo Strausz

  44. Computación Distribuida Ejecuciones Entradas Las ejecuciones de un algoritmo distribuido preservan La topología de las entradas posibles, dependiendo del nivel de tolerancia a fallas del sistema

  45. Ejemplos muy prácticos • El dilema de la memoria cache • Se tiene una cache (rápida pero cara) para k páginas • Se va llenando con páginas del disco (lento pero barato) • Una vez llena, cuando se pide una página que no esta en el cache ¿cual sacar? • La que haya estado en la memoria mas tiempo

  46. Cache en el Web • Poner copias de páginas usadas en lugares estratégicos de la Red • caches en diversas partes de Internet • Akamai, compañía fundada por un profesor de teoría de MIT T. Leighton y su alumno

  47. Google • Búsqueda basada en la importancia de una página: una liga de A a B se interpreta como un voto de A a B. Se obtiene la importancia de la página resolviendo una ecuación de + 500 millones de variables y 200 millones de términos • Más de 60 doctores, además de asesores como R. Motwani, J. Ullman, profesores de teoría de Stanford • “Google bombing” • NYT January 22, 2004

  48. Referencias • En el Web: “Theoretical Computer Science On The Web” • Handbook of Theoretical Computer Science • Vol. A: Algorithms and Complexity • Vol. B: Formal Models and Semantics • Revistas: Journal of the ACM • Congresos:ACM STOC, IEEE FOCS, ICALP • Artículos: • Goldreich, A Brief Introduction to the Theory of Computation

  49. Libros • Sipser, Intro. Theory of Computation • Garey-Johnson, Computers and Intractability • Schoning, Pruim, Gems of Theoretical CS • Hromkovic, Theoretical CS • Kozen, Theory of Computation • Goldreich, Computational Complexity: a Conceptual Perspective

  50. Conclusiones • De una Máquina de Turing a muchas • ¿Para que la Teoría de la Computación ?

More Related