SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Tema 1
Preliminares: algoritmos, computabilidad,
       corrección y complejidad
        Ciencias de la Computación 2012-13
               Grado en Matemáticas
               Joaquín Borrego Díaz
      Joaquín Borrego Díaz
      Departamento de Ciencias de la Computación e IA
      Universidad de Sevilla
Contenido
•   Un problema
•   Modelos de Computación
•   Tesis de Church-Turing
•   ¿Cómo resolvemos el problema?
•   Guía de viaje por la T. Computabilidad
•   Verificación de programas
•   Complejidad computacional
Un problema en el
         trabajo




• Sr. Pérez, deseo que me programe un
  verificador automático de programas
Escenario 1: El sr. Pérez no
ha estudiado computabilidad




•   ...(Dos meses de sufrimiento después)
    •   Jefe, a mí no me sale
    •   Bueno, Sr. Pérez, no se preocupe
Escenario 2: El sr. Pérez ha
 estudiado computabilidad




•   (Unas horas después):
    •   Jefe, he estudiado el problema y NO se puede
        resolver con un programa de ningún tipo
    •   Excelente análisis, Sr. Pérez
Cuestiones
•    ¿Existen problemas que no se pueden
    resolver mediante programas?
•    ¿Qué tipo de análisis ha realizado el Sr.
    Pérez?
•    ¿Cómo puede afirmar que no se puede
    resolver en ningún tipo de lenguaje de
    programación, modelo de computación
    etc.?
Primera cuestión
•   Existen problemas que NO
    se pueden resolver
    algorítmicamente

•   Demostrado por A. Turing
    en 1936
    •   Matemático
    •   Rompió el código enigma
    •   Máquinas de Turing
    •   Test de Turing
La máquina enigma
Apuntes de Turing
La máquina diseñada por
 Turing (Bletchley Park)
Modelo formal de computación:
          la máquina de Turing
El Entscheidungsproblem

             Encontrar un
             algoritmo general que
             decida si una fórmula
             del cálculo de primer
             orden es un teorema


             En 1936, de manera
             independiente, A. Church y
             A. Turing demostraron
             ambos que es imposible
             escribir tal algoritmo
Test de Turing
Segunda Cuestión
• El análisis que ha realizado
  el Sr. Pérez está basado en
  el argumento diagonal
• Diseñado por Georg
  Cantor en 1834
  • para demostrar que el
    cardinal de los reales es
    mayor que el de los
    naturales
Tercera Cuestión
•   Tesis de Church-Turing      •   Otra versión:
    (versión informal):
                                    •   Todo algoritmo o
    •   Cualesquiera dos                procedimiento efectivo
        modelos de                      es Turing-computable
        computación resuelven
        los mismos problemas

•   Se puede considerar un
    “axioma” en Computación

•   Es cierto en todos los
    modelos creados
¿Cómo demostrar que un
 problema es indecidible?
• Demostramos, en primer lugar, que
  el problema no se puede resolver
  en un modelo de computación
  concreto
• Entonces, por la tesis de Church-
  Turing, no es resoluble en ningún
  modelo
Guía de viaje por la
            computabilidad
                              El lenguaje GOTO
PRELIMINARES
                                     Definiciones por recursión


                                                 Programa Universal

   Codificación de programas
                                                 El problema de la parada




               El Teorema de Rice                               Computabilidad



                          El Teorema de
                             Recursión
El lenguaje elegido:
                GOTO
Modelo de computación basado en
                        lenguaje

       Lenguaje de programación
                     muy simple
     Usa variables como registros
 Es computacionalmente completo
Sintaxis de GOTO
No es tan “simple”:
 Programa Universal en GOTO

• Entrada: datos
  +Programa
• Salida: Resultado
  de aplicar el
  programa al dato
• ¡ES UN
  ORDENADOR!
Definiciones por
                recursión
•   Necesitamos utilizar
    mecanismos de
    definición por
    recursión
•   Potente herramienta
    de programación
•   Cuestión: ¿Cuántas
    construcciones
    necesitamos para
    caracterizar las funciones
    computables?
Haskell, Lisp...
NO es un
 juguete
matemático
El problema de la parada
•   Entrada: Un programa        •   Se prueba usando el
    y un dato de entrada            método diagonal
                                    (usando el programa
•   Salida:                         universal)

    •   1 (sí) si el programa
        para sobre ese dato

    •   0 (no) si no para
Teorema de Rice
• Método para detectar la no computabilidad
  de ciertos problemas. Por ejemplo lo
  aplicaremos para demostrar la indecidibilidad
  de:
  • Equivalencia entre programas
  • Reconocer los programas que siempre
    paran
• Clases de complejidad algorítmica
Aplicaciones (I):
imposibilidad de la corrección parcial
Aplicaciones (II):
 imposibilidad de la verificación
automatizada de la equivalencia
El teorema de Recursión
 • Los procedimientos
   efectivos sobre programas   Programa (codificado)

   son computables




• Una consecuencia:                 Procedimiento que usa
                                    programas para calcular
  siempre existen
  virus autorreplicantes
Verificación de programas




Semántica
Axiomática
Complejidad




        Reducciones
Jerarquía de complejidad
Tema 1

Weitere ähnliche Inhalte

Was ist angesagt?

ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3
areliyesica
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratis
Juan Percy Rojas Cruz
 
Monografia problema de la mochila
Monografia   problema de la mochilaMonografia   problema de la mochila
Monografia problema de la mochila
vaneyui
 

Was ist angesagt? (18)

Act 3w
Act 3wAct 3w
Act 3w
 
Act 3
Act 3Act 3
Act 3
 
ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3ACTIVIDAD NUMERO 3
ACTIVIDAD NUMERO 3
 
Daniella
DaniellaDaniella
Daniella
 
Daniella
DaniellaDaniella
Daniella
 
Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2Presentacion ii algoritmos_parte2
Presentacion ii algoritmos_parte2
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tdd desde las_trincheras
Tdd desde las_trincherasTdd desde las_trincheras
Tdd desde las_trincheras
 
Evelyn
EvelynEvelyn
Evelyn
 
Python - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratisPython - Programando fácil, rápido y gratis
Python - Programando fácil, rápido y gratis
 
Tablas sqa
Tablas sqaTablas sqa
Tablas sqa
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos computacionales y programación: 1
 Algoritmos computacionales y programación: 1 Algoritmos computacionales y programación: 1
Algoritmos computacionales y programación: 1
 
Problemas NP
Problemas NPProblemas NP
Problemas NP
 
Monografia problema de la mochila
Monografia   problema de la mochilaMonografia   problema de la mochila
Monografia problema de la mochila
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 

Ähnlich wie Tema 1

Presentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidadPresentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidad
Joaquín Borrego-Díaz
 
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
erickenamorado
 
Unidad1
Unidad1Unidad1
Unidad1
Yaaree
 

Ähnlich wie Tema 1 (20)

Presentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidadPresentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidad
 
Algoritmos y Programación
Algoritmos y ProgramaciónAlgoritmos y Programación
Algoritmos y Programación
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
Algoritmos y solución de problemas.pptx Algoritmos y solución de problemas.pptx
Algoritmos y solución de problemas.pptx Algoritmos y solución de problemas.pptxAlgoritmos y solución de problemas.pptx Algoritmos y solución de problemas.pptx
Algoritmos y solución de problemas.pptx Algoritmos y solución de problemas.pptx
 
Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1Introducción a la programación y la informática. Tema 1
Introducción a la programación y la informática. Tema 1
 
programa matemática aplicada y estadística para el control
programa matemática aplicada y estadística para el controlprograma matemática aplicada y estadística para el control
programa matemática aplicada y estadística para el control
 
AlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdfAlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdf
 
Analisis de algoritmos - Introduccion
Analisis de algoritmos - IntroduccionAnalisis de algoritmos - Introduccion
Analisis de algoritmos - Introduccion
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
 
ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructuradaALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas
 
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
Pteg i-grupo7-lista 4,13,38,39,40,45-visita4-expo cap 12 -teoria de la comput...
 
Tema1 faa 16_17
Tema1 faa 16_17Tema1 faa 16_17
Tema1 faa 16_17
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdf
 
Pteg g-grupo 6-lista33-visita3-expo cap 5 tema algoritmos
Pteg g-grupo 6-lista33-visita3-expo cap 5 tema algoritmosPteg g-grupo 6-lista33-visita3-expo cap 5 tema algoritmos
Pteg g-grupo 6-lista33-visita3-expo cap 5 tema algoritmos
 
Clase 01
Clase 01Clase 01
Clase 01
 
Unidad1
Unidad1Unidad1
Unidad1
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 

Mehr von Joaquín Borrego-Díaz

Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"
Joaquín Borrego-Díaz
 

Mehr von Joaquín Borrego-Díaz (20)

Retos en los fundamentos de Data Science
Retos en los fundamentos de Data ScienceRetos en los fundamentos de Data Science
Retos en los fundamentos de Data Science
 
Comercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte IIComercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte II
 
Comercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte IComercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte I
 
Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14
 
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
 
Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)
 
Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)
 
Tema 8
Tema 8Tema 8
Tema 8
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
 
Retos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresasRetos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresas
 
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
 
Presentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia ArtificialPresentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
 
Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"
 
Presentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y ComputabilidadPresentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y Computabilidad
 
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulaciónRobocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
 
Presentacion II jornadas de Lógica, Computación e Inteligencia Artificial
Presentacion II jornadas de Lógica, Computación e Inteligencia ArtificialPresentacion II jornadas de Lógica, Computación e Inteligencia Artificial
Presentacion II jornadas de Lógica, Computación e Inteligencia Artificial
 
Presentación del curso de Agentes
Presentación del curso de AgentesPresentación del curso de Agentes
Presentación del curso de Agentes
 

Kürzlich hochgeladen

La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Kürzlich hochgeladen (20)

SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 

Tema 1

  • 1. Tema 1 Preliminares: algoritmos, computabilidad, corrección y complejidad Ciencias de la Computación 2012-13 Grado en Matemáticas Joaquín Borrego Díaz Joaquín Borrego Díaz Departamento de Ciencias de la Computación e IA Universidad de Sevilla
  • 2. Contenido • Un problema • Modelos de Computación • Tesis de Church-Turing • ¿Cómo resolvemos el problema? • Guía de viaje por la T. Computabilidad • Verificación de programas • Complejidad computacional
  • 3. Un problema en el trabajo • Sr. Pérez, deseo que me programe un verificador automático de programas
  • 4. Escenario 1: El sr. Pérez no ha estudiado computabilidad • ...(Dos meses de sufrimiento después) • Jefe, a mí no me sale • Bueno, Sr. Pérez, no se preocupe
  • 5. Escenario 2: El sr. Pérez ha estudiado computabilidad • (Unas horas después): • Jefe, he estudiado el problema y NO se puede resolver con un programa de ningún tipo • Excelente análisis, Sr. Pérez
  • 6. Cuestiones • ¿Existen problemas que no se pueden resolver mediante programas? • ¿Qué tipo de análisis ha realizado el Sr. Pérez? • ¿Cómo puede afirmar que no se puede resolver en ningún tipo de lenguaje de programación, modelo de computación etc.?
  • 7. Primera cuestión • Existen problemas que NO se pueden resolver algorítmicamente • Demostrado por A. Turing en 1936 • Matemático • Rompió el código enigma • Máquinas de Turing • Test de Turing
  • 10. La máquina diseñada por Turing (Bletchley Park)
  • 11. Modelo formal de computación: la máquina de Turing
  • 12. El Entscheidungsproblem Encontrar un algoritmo general que decida si una fórmula del cálculo de primer orden es un teorema En 1936, de manera independiente, A. Church y A. Turing demostraron ambos que es imposible escribir tal algoritmo
  • 14. Segunda Cuestión • El análisis que ha realizado el Sr. Pérez está basado en el argumento diagonal • Diseñado por Georg Cantor en 1834 • para demostrar que el cardinal de los reales es mayor que el de los naturales
  • 15. Tercera Cuestión • Tesis de Church-Turing • Otra versión: (versión informal): • Todo algoritmo o • Cualesquiera dos procedimiento efectivo modelos de es Turing-computable computación resuelven los mismos problemas • Se puede considerar un “axioma” en Computación • Es cierto en todos los modelos creados
  • 16. ¿Cómo demostrar que un problema es indecidible? • Demostramos, en primer lugar, que el problema no se puede resolver en un modelo de computación concreto • Entonces, por la tesis de Church- Turing, no es resoluble en ningún modelo
  • 17. Guía de viaje por la computabilidad El lenguaje GOTO PRELIMINARES Definiciones por recursión Programa Universal Codificación de programas El problema de la parada El Teorema de Rice Computabilidad El Teorema de Recursión
  • 18. El lenguaje elegido: GOTO Modelo de computación basado en lenguaje Lenguaje de programación muy simple Usa variables como registros Es computacionalmente completo
  • 20. No es tan “simple”: Programa Universal en GOTO • Entrada: datos +Programa • Salida: Resultado de aplicar el programa al dato • ¡ES UN ORDENADOR!
  • 21. Definiciones por recursión • Necesitamos utilizar mecanismos de definición por recursión • Potente herramienta de programación • Cuestión: ¿Cuántas construcciones necesitamos para caracterizar las funciones computables?
  • 23. NO es un juguete matemático
  • 24. El problema de la parada • Entrada: Un programa • Se prueba usando el y un dato de entrada método diagonal (usando el programa • Salida: universal) • 1 (sí) si el programa para sobre ese dato • 0 (no) si no para
  • 25. Teorema de Rice • Método para detectar la no computabilidad de ciertos problemas. Por ejemplo lo aplicaremos para demostrar la indecidibilidad de: • Equivalencia entre programas • Reconocer los programas que siempre paran • Clases de complejidad algorítmica
  • 26. Aplicaciones (I): imposibilidad de la corrección parcial
  • 27. Aplicaciones (II): imposibilidad de la verificación automatizada de la equivalencia
  • 28. El teorema de Recursión • Los procedimientos efectivos sobre programas Programa (codificado) son computables • Una consecuencia: Procedimiento que usa programas para calcular siempre existen virus autorreplicantes
  • 30. Complejidad Reducciones