SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Introducción a la teoría
                   de la computabilidad
                                      Lógica y Computabilidad 2009/10
                                            Joaquín Borrego Díaz



                                 Joaquín Borrego Díaz
                                 Coordinador del programa de doctorado
                                 Departamento de Ciencias de la Computación e IA
                                 Universidad de Sevilla

sábado 21 de noviembre de 2009
Contenido
                   • Un problema
                   • Modelos de Computación
                   • Tesis de Church-Turing
                   • ¿Cómo resolvemos el
                           problema?
                   • Guía de viaje por la T.
                           Computabilidad


sábado 21 de noviembre de 2009
Un problema en el
                                      trabajo




                   • Sr. Pérez, deseo que me programe un
                           verificador automático de programas


sábado 21 de noviembre de 2009
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
sábado 21 de noviembre de 2009
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
sábado 21 de noviembre de 2009
Cuestiones
                   •        ¿Existen problemas que no se pueden
                           resolver mediante programas?
                   •        ¿Qué tipo de análisis ha realizado en 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.?


sábado 21 de noviembre de 2009
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

sábado 21 de noviembre de 2009
La máquina enigma




sábado 21 de noviembre de 2009
Apuntes de Turing




sábado 21 de noviembre de 2009
La máquina diseñada por
                  Turing (Bletchley Park)




sábado 21 de noviembre de 2009
Modelo formal de computación:
                              la máquina de Turing




sábado 21 de noviembre de 2009
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
sábado 21 de noviembre de 2009
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 Informática

        •      Es cierto en todos los
               modelos creados

sábado 21 de noviembre de 2009
¿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


sábado 21 de noviembre de 2009
Guía de viaje por la
                                  computabilidad
                                               El lenguaje GOTO
             Matemáticas
                                                       Definiciones por recursión


                                                                  Programa Universal

                    Codificación de programas
                                                                  El problema de la parada




                                  El Teorema de Rice                             Computabilidad




sábado 21 de noviembre de 2009
El lenguaje elegido:
                                       GOTO
 Modelo de computación basado en
                         lenguaje

                        Lenguaje de programación
                                      muy simple
                  Usa variables como registros
     Es computacionalmente completo



sábado 21 de noviembre de 2009
Sintaxis de GOTO




sábado 21 de noviembre de 2009
Programa Universal en GOTO

              • Entrada: datos
                     +Programa
              • Salida: Resultado
                     de aplicar el
                     programa al dato
              • ¡ES UN
                     ORDENADOR!


sábado 21 de noviembre de 2009
Definiciones por
                                   recursión
       • Necesitamos utilizar
              mecanismos de
              definición por
              recursión
       • Potente
              herramienta de
              programación


sábado 21 de noviembre de 2009
El problema de la parada
                   •      Entrada: Un programa y         •   Se prueba usando el
                          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




sábado 21 de noviembre de 2009
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
sábado 21 de noviembre de 2009
Aplicaciones (I):
                 imposibilidad de la corrección parcial




sábado 21 de noviembre de 2009
Aplicaciones (II):
                                  imposibilidad de la verificación
                                 automatizada de la equivalencia




sábado 21 de noviembre de 2009

Contenu connexe

Tendances

Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeIntCristian C
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesRosviannis Barreiro
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatasequipolf
 
AUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESAUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESvmtorrealba
 
Como funciona una maquina de turing
Como funciona una maquina de turingComo funciona una maquina de turing
Como funciona una maquina de turingJonathan Bastidas
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2Germania Rodriguez
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su EntornoMeztli Valeriano Orozco
 
Iniciación a la derivada en un punto
Iniciación a la derivada en un puntoIniciación a la derivada en un punto
Iniciación a la derivada en un puntoAurora Domenech
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesMoises Benzan
 
Como recuperar y guardar mi id
Como recuperar y guardar mi idComo recuperar y guardar mi id
Como recuperar y guardar mi idAUPAIR KIDS
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 
Maquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e IrresolubilidadMaquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e Irresolubilidadlluis31
 
Máquina de Turing.pptx
Máquina de Turing.pptxMáquina de Turing.pptx
Máquina de Turing.pptxYessicaReyes30
 

Tendances (20)

Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
Lenguajes de una maquina de turing
Lenguajes de una maquina de turingLenguajes de una maquina de turing
Lenguajes de una maquina de turing
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
CICLO FOR
CICLO FORCICLO FOR
CICLO FOR
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
AUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESAUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALES
 
Como funciona una maquina de turing
Como funciona una maquina de turingComo funciona una maquina de turing
Como funciona una maquina de turing
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno
 
Iniciación a la derivada en un punto
Iniciación a la derivada en un puntoIniciación a la derivada en un punto
Iniciación a la derivada en un punto
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
 
Algoritmo en powerpoint
Algoritmo en powerpointAlgoritmo en powerpoint
Algoritmo en powerpoint
 
Como recuperar y guardar mi id
Como recuperar y guardar mi idComo recuperar y guardar mi id
Como recuperar y guardar mi id
 
Manual lpp
Manual lppManual lpp
Manual lpp
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
Maquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e IrresolubilidadMaquina de turing y resolubilidad e Irresolubilidad
Maquina de turing y resolubilidad e Irresolubilidad
 
Máquina de Turing.pptx
Máquina de Turing.pptxMáquina de Turing.pptx
Máquina de Turing.pptx
 

Similaire à Presentacion Teoria de la computabilidad

Similaire à Presentacion Teoria de la computabilidad (9)

Tema 1
Tema 1Tema 1
Tema 1
 
Presentacion tc 2010 11
Presentacion tc 2010 11Presentacion tc 2010 11
Presentacion tc 2010 11
 
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
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Pre logica
Pre logicaPre logica
Pre logica
 
Algoritmos2
Algoritmos2Algoritmos2
Algoritmos2
 
Algoritmos2
Algoritmos2Algoritmos2
Algoritmos2
 
Detección y protección automática de caras en secuencias de video
Detección y protección automática de caras en secuencias de videoDetección y protección automática de caras en secuencias de video
Detección y protección automática de caras en secuencias de video
 
Persentacion TeoríA De Redes
Persentacion TeoríA De RedesPersentacion TeoríA De Redes
Persentacion TeoríA De Redes
 

Plus de Joaquín Borrego-Díaz

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 ScienceJoaquín Borrego-Díaz
 
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 IIJoaquín Borrego-Díaz
 
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 IJoaquín Borrego-Díaz
 
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 14Joaquín Borrego-Díaz
 
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...Joaquín Borrego-Díaz
 
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 ...Joaquín Borrego-Díaz
 
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 ...Joaquín Borrego-Díaz
 
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)Joaquín Borrego-Díaz
 
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)Joaquín Borrego-Díaz
 
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...Joaquín Borrego-Díaz
 
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...Joaquín Borrego-Díaz
 
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 empresasJoaquín Borrego-Díaz
 
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...Joaquín Borrego-Díaz
 
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 ArtificialJoaquí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
 
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 ComputabilidadJoaquín Borrego-Díaz
 
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ónJoaquín Borrego-Díaz
 
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 ArtificialJoaquín Borrego-Díaz
 

Plus de 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
 

Presentacion Teoria de la computabilidad

  • 1. Introducción a la teoría de la computabilidad Lógica y Computabilidad 2009/10 Joaquín Borrego Díaz Joaquín Borrego Díaz Coordinador del programa de doctorado Departamento de Ciencias de la Computación e IA Universidad de Sevilla sábado 21 de noviembre de 2009
  • 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 sábado 21 de noviembre de 2009
  • 3. Un problema en el trabajo • Sr. Pérez, deseo que me programe un verificador automático de programas sábado 21 de noviembre de 2009
  • 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 sábado 21 de noviembre de 2009
  • 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 sábado 21 de noviembre de 2009
  • 6. Cuestiones • ¿Existen problemas que no se pueden resolver mediante programas? • ¿Qué tipo de análisis ha realizado en 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.? sábado 21 de noviembre de 2009
  • 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 sábado 21 de noviembre de 2009
  • 8. La máquina enigma sábado 21 de noviembre de 2009
  • 9. Apuntes de Turing sábado 21 de noviembre de 2009
  • 10. La máquina diseñada por Turing (Bletchley Park) sábado 21 de noviembre de 2009
  • 11. Modelo formal de computación: la máquina de Turing sábado 21 de noviembre de 2009
  • 12. 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 sábado 21 de noviembre de 2009
  • 13. 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 Informática • Es cierto en todos los modelos creados sábado 21 de noviembre de 2009
  • 14. ¿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 sábado 21 de noviembre de 2009
  • 15. Guía de viaje por la computabilidad El lenguaje GOTO Matemáticas Definiciones por recursión Programa Universal Codificación de programas El problema de la parada El Teorema de Rice Computabilidad sábado 21 de noviembre de 2009
  • 16. El lenguaje elegido: GOTO Modelo de computación basado en lenguaje Lenguaje de programación muy simple Usa variables como registros Es computacionalmente completo sábado 21 de noviembre de 2009
  • 17. Sintaxis de GOTO sábado 21 de noviembre de 2009
  • 18. Programa Universal en GOTO • Entrada: datos +Programa • Salida: Resultado de aplicar el programa al dato • ¡ES UN ORDENADOR! sábado 21 de noviembre de 2009
  • 19. Definiciones por recursión • Necesitamos utilizar mecanismos de definición por recursión • Potente herramienta de programación sábado 21 de noviembre de 2009
  • 20. El problema de la parada • Entrada: Un programa y • Se prueba usando el 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 sábado 21 de noviembre de 2009
  • 21. 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 sábado 21 de noviembre de 2009
  • 22. Aplicaciones (I): imposibilidad de la corrección parcial sábado 21 de noviembre de 2009
  • 23. Aplicaciones (II): imposibilidad de la verificación automatizada de la equivalencia sábado 21 de noviembre de 2009