Que es la teor a de la computaci n
This presentation is the property of its rightful owner.
Sponsored Links
1 / 64

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


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

¿ 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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

¿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


En pocas palabras que es la teor a de la computaci n

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

Los cimientos del edificio


El edificio

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.


La teor a de la computaci n pretende

La Teoría de la Computación Pretende

Entender

Estudiando modelos matemáticos relacionados

al cómputo


Qu es el c mputo

¿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?


10 o problema de hilbert paris 1900

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


Que es la teor a de la computaci n

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 …


Alan turing

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…


M quina de turing

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.)


M quina de turing1

Máquina de Turing

Formalmente, no es mas que un conjunto

de quintupletas que describen la función

de transición δ


La mayor a de las funciones no son computables

¡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


Tesis de church turing

Tesis de Church-Turing

Noción intuitiva

de algoritmo

=

Máquina de Turing


M quina de turing universal

2

0

1

0

2

q0

Máquina de Turing Universal

Descripción de M

Simula a una Máquina de Turing M


M quina de turing universal1

Máquina de Turing Universal

Feynman’s

Lectures on Computation


El problema de la detenci n no es computable

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


Reducciones

Reducciones

P1 ≤ P2

  • Problema P2 es al menos tan difícil como P1

  • si P1 se puede resolver con P2 como oráculo


Induce clases de equivalencia

Jerarquía

infinita de

problemas

no computables

≤ induce clases de equivalencia

Problema de la

detención

Problemas

equivalentes

a este


El mundo de los problemas computables

  • … 1936 … 1965

Máquina de

Turing

noción formal

de cómputo

?

complejidad

El mundo de los problemas computables


Medir tiempo y espacio como una funci n del tama o de la entrada 65

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


Clases de complejidad tiempo o espacio

Jerarquía

infinita de

problemas

computables

Clases de ComplejidadTiempo o Espacio

  • Utilizando reducciones


Eficiente polinomial

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


Raz n de crecimiento de funciones t picas

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)


El mundo de la computaci n

Jerarquía

infinita de

problemas

no computables

El Mundo de la Computación

Jerarquía

infinita de

problemas

computables

polinomiales

clase P


La clase np

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


Que es la teor a de la computaci n

EXP

NP

P

¿ P = NP ?

Una de las 7 preguntas

del Premio del Milenio del Clay Mathematics Institute

con $1,000,000


Que es la teor a de la computaci n

EXP

NP

P

Resulta que los problemas prácticos mencionados,

son los mas difíciles dentro de NP

NP-completos


El 1 er problema np completo

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


En 73 ocho problemas centrales en combinatoria probados np completos

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


Y karp mencion tres en np sin lograr probarlos np completos

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

?


Y karp mencion tres en np sin lograr probarlos np completos1

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


Isomorfismo de gr ficas sigue abierto

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


Ejemplos cl sicos p np completo

Ejemplos clásicosPNP-completo


Que es la teor a de la computaci n1

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

Pero volvamos a nuestra pregunta original


Se divide en dos

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


I teor a de la programaci n

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


Ii teor a del c mputo

II. Teoría del Cómputo

El estudio de la propiedades generales del cómputo, ya sea natural, artificial, o imaginario


Que es la teor a de la computaci n

  • ¿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


Entender mejor el mundo desde nuestra perspectiva de comput logos

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


El dilema del esquiador

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


Que es la teor a de la computaci n

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


Y mas ejemplos

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


Computaci n molecular

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


Que es la teor a de la computaci n

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


Ejemplos muy pr cticos

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


Cache en el web

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


Google

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


Referencias

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


Libros

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


Conclusiones

Conclusiones

  • De una Máquina de Turing a muchas

  • ¿Para que la Teoría de la Computación ?


Ramon llull mallorca 1232 1316

Ramon LlullMallorca, 1232-1316

  • Ars Magna, para automatizar todo el razonamiento

    If understanding followed no rule at all, there would be no good in the understanding nor in the matter understood, and to remain in ignorance would be the greatest good

    The Hundred Names of God


Ramon llull mallorca 1232 13161

Ramon LlullMallorca, 1232-1316

  • En realidad, con el Ars Magna, pretendía apoyar la comunicación intercultural entre cristianos, judíos y musulmanes

  • Una herramienta para discusión mediante comunicación, en lugar de mediante la fuerza

  • La verdad no puede ser hallada mediante cómputo, sino mediante comunicación


Gottfried leibniz leipzig 1646 1716

Gottfried LeibnizLeipzig, 1646-1716

  • Descubrió el sistema binario

  • Buscaba un alfabeto para todo el pensamiento humano y un cálculo para manipular estos símbolos

    Compartió el sueño de Llull la coexistencia pacifica entre personas de diferentes culturas, religiones y nacionalidades


Lo ambicioso del plan de la formalizaci n de todo el razonamiento humano

Lo ambicioso del plan de la formalización de todo el razonamiento humano

  • Si resultara que la lógica básica de una máquina

  • diseñada para la solución numérica de ecuaciones

  • diferenciales coincidiera con la lógica de una máquina

  • para sacar cuentas de una tienda comercial, me

  • parecería esto la coincidencia más sorprendente que

  • jamás me haya encontrado

    • Howard Aiken, 1956


El entusiasmo del sue o de la comunicaci n

El Entusiasmo del sueño de la comunicación

  • Por 1era vez, las redes telegráficas de Europa y Norteamérica se conectaron, mediante un cable submarino agosto 5, 1858

“A Thread Across

the Ocean” Steele


El entusiasmo del sue o de la comunicaci n1

El Entusiasmo del sueño de la comunicación

  • Celebraciones al borde de la histeria

    It is impossible that old prejudices and hostilities should longer exist, while such an instrument has been created for the exchange of thought between all the nations of the world

    Briggs, Maverick 1858


Y el entusiasmo continua

Y el Entusiasmo Continua

  • Michael Dertouzos cuando fuera jefe del LCS de MIT en 1997

    A common bond reached through electronic proximity may help stave off future flareups of ethnic hatred and national breakups

    Libro “What Will Be”


Para qu estudiar teor a de la computaci n

¿ Para qué estudiarTeoría de la Computación?


Para qu estudiar teor a de la computaci n1

¿ Para qué estudiarTeoría de la Computación?

  • Una formación más sólida, un computólogo más profesional

  • Problemas matemáticos interesantes

  • Mejorar aplicaciones


Que es la teor a de la computaci n

When you want to build a ship,

then do not drum the men together

in order to procure wood,

to give instructions or to distribute the work

but teach them longing for the wide endless sea.

A. de Saint-Exupéry


Para qu estudiar teor a de la computaci n2

Para qué estudiarTeoría de la Computación?

  • Una formación más sólida, un computólogo más profesional

  • Desarrollo y uso de herramientas complejas

  • Seguir adelante a un doctorado

  • Dedicarse a la teoría de la computación en investigación y docencia

  • Evitar vergüenzas …


Autoexamen de conciencia lenguajes

Autoexamen de Conciencia (lenguajes)

¿Hay cosas programables en unos lenguajes pero no en otros?


Autoexamen de conciencia computadoras

Autoexamen de Conciencia (computadoras)

¿Hay cosas que unas computadoras pueden hacer pero no otras?


F i n

F I N

Gracias por su atención


  • Login