TÉCNICAS BÁSICAS DE COMPUTABILIDAD - ocw.ehu.eus .COMPUTABILIDAD: Una función ψ: ∑*k ⎯ →

download TÉCNICAS BÁSICAS DE COMPUTABILIDAD - ocw.ehu.eus .COMPUTABILIDAD: Una función ψ: ∑*k ⎯ →

of 113

  • date post

    13-Oct-2018
  • Category

    Documents

  • view

    215
  • download

    0

Embed Size (px)

Transcript of TÉCNICAS BÁSICAS DE COMPUTABILIDAD - ocw.ehu.eus .COMPUTABILIDAD: Una función ψ: ∑*k ⎯ →

  • TCNICAS BSICAS DE COMPUTABILIDAD

    Arantza Irastorza, Ana Snchez, Jess Ibez

    UPV/EHU/LSI/TR 3-2003

  • Indice

    Indice ...................................................................................................................1

    1. Introduccin..................................................................................................5

    2. Nociones bsicas y notacin......................................................................7

    3. Computabilidad versus incomputabilidad ..........................................13

    3.1 Computabilidad y computabilidad no efectiva..............................................15

    3.2 La Tesis de Church-Turing .................................................................................19

    4. La Funcin Universal ................................................................................23

    4.1 Operaciones sintcticas sobre los programas-while......................................24

    4.2 El Teorema de Enumeracin...............................................................................26

    4.3 Ejecucin suspendida ..........................................................................................32

    4.4 Intercalado de procesos .......................................................................................34

    4.4.1 Intercalado de un nmero acotado de procesos ...................................37

    4.4.2 Intercalado de un nmero no acotado de procesos .............................39

    4.4.3 Uso de las funciones de codificacin......................................................41

    4.4.4 Inversin de funciones..............................................................................44

    5. Diagonalizacin .........................................................................................47

    5.1 El argumento de cardinalidad............................................................................47

  • 5.2 El problema de parada ........................................................................................ 50

    5.3 Paradojas y diagonales........................................................................................ 52

    5.4 La tcnica de diagonalizacin............................................................................ 57

    5.5 Variantes de la tcnica de diagonalizacin ..................................................... 63

    5.5.1 Desplazamiento de la Diagonal.............................................................. 63

    5.5.2 Deformacin de la diagonal .................................................................... 66

    5.5.3 Diagonalizacin asimtrica ..................................................................... 68

    6. Decidibilidad y semidecidibilidad ........................................................75

    6.1 Problemas de decisin y conjuntos .................................................................. 76

    6.2 Conjuntos decidibles y sus propiedades......................................................... 78

    6.2.1 Propiedades de cierre de los conjuntos decidibles .............................. 79

    6.3 Conjuntos semidecidibles y sus propiedades ................................................ 81

    6.3.1 Relacin entre semidecidibilidad y decidibilidad ............................... 83

    6.3.2 Propiedades de cierre de los conjuntos

    semidecidibles ........................................................................................... 85

    6.3.3 Caracterizacin de los conjuntos semidecidibles................................. 87

    6.3.4 Diagonalizacin y no semidecidibilidad............................................... 91

    7. Conclusiones...............................................................................................97

    Apndice A: El lenguaje de los programas-while.....................................99

    Apndice B: Macros ......................................................................................101

  • Apndice C: Lista de funciones computables y

    predicados decidibles .............................................................................103

    a) Operaciones ms usuales con palabras ..........................................................103

    b) Funciones de cdigo...........................................................................................104

    c) Funciones asociadas a otros tipos de datos....................................................105

    d) Otras formas de utilizar operaciones en los

    macroprogramas..................................................................................................107

    e) Funciones asociadas a los programas-while..................................................108

    Referencias......................................................................................................111

  • Introduccin 5

    1. Introduccin

    La Teora de la Computabilidad es una disciplina encuadrada en la Informtica Terica que tiene como objetivo establecer los lmites lgicos que presentan los sistemas informticos a la hora de resolver problemas mediante el diseo de algoritmos. Frente a las disciplinas y tcnicas que da a da amplan el campo de aplicabilidad prctica de los computadores, esta teora establece una serie de barreras insalvables por ninguna tecnologa digital de procesamiento de la informacin, a modo de Leyes fundamentales que gobiernan las propias condiciones de existencia de la Informtica.

    Los mtodos propios de la Teora de la Computabilidad pueden ser extraordinariamente complejos, y sobre todo resultar relativamente extraos para una formacin eminentemente orientada a la vertiente tecnolgica. Sus resultados ms avanzados son de difcil comprensin incluso para informticos experimentados con una buena formacin terica. Sin embargo, existe un ncleo de resultados fundamentales que son abordables mediante tcnicas ms asequibles, y que tienen la virtud de reflejar razonablemente el concepto central de indecidibilidad computacional, y son deducibles con poco esfuerzo gracias a algunas tcnicas que, si bien no son privativas de la Teora de la Computabilidad, han resultado enormemente fructferas en esta rea.

    Este informe incluye una descripcin de los conceptos y tcnicas que configuran ese ncleo bsico de la Teora. Su propsito es dar cuenta de la primera batera de resultados relacionados con la incomputabilidad de algunos problemas conocidos y relevantes en Informtica. Los resultados se presentarn utilizando como estndar de programacin los programas-while tal como los describimos en otro informe previo [IIS 96], incluyndose una explicacin detallada y sistemtica de la tcnica de Diagonalizacin.

    Aunque ha sido escrito como material de apoyo docente para las y los estudiantes de la asignatura Modelos Abstractos de Cmputo II del Plan de Estudios de Ingeniera en Informtica de la Facultad de Informtica de la UPV/EHU, la pretensin de las autoras es proporcionar una descripcin comprensible de los resultados y tcnicas arriba apuntados. Aunque este informe es la continuacin del citado en el prrafo anterior, quien quiera prescindir de la lectura de este ltimo encontrar las definiciones y conceptos fundamentales en el captulo segundo, as como una descripcin ms detallada del lenguaje de los programas-while junto con otras informaciones contextualizadoras en los apndices.

  • 6 Introduccin

    Sin embargo, quien haya desembocado en el presente trabajo a partir del informe [IIS 96] encontrar muchas definiciones conocidas en el captulo 2, aunque figuran algunas que no se incluyeron en l, y es probable que juzgue superfluo el contenido de los apndices. Aqu asumiremos los resultados ya expuestos en aquel documento y mantendremos todas las convenciones all establecidas excepto en lo que concierne al encabezamiento de los macroprogramas. Si en la seccin 3.5 del citado informe introducamos la nocin de importacin de funciones previamente implementadas (mediante la notacin package COMPUTABLES) como medio para imbuir del necesario sentido jerrquico al proceso incremental de demostraciones de computabilidad, hemos llegado a un punto en el que ya no resulta necesario y s engorroso realizar esta precisin de manera sistemtica.

    En el captulo 3 abordamos el tema central del presente trabajo desde una perspectiva an informal. Es importante que el concepto de incomputabilidad se desligue de interpretaciones contingentes basadas en el estado de conocimiento sobre los sistemas informticos. Una forma adecuada de hacerlo es distinguir entre funciones no computables y computables de manera no efectiva. Al mismo tiempo ello nos conduce al establecimiento de la premisa fundamental sobre la que se basa todo el anlisis de la Teora de la Computabilidad: que las propiedades de incomputabilidad son independientes del sistema de programacin elegido.

    El captulo 5, en el que se expone con cierto detalle la tcnica de diagonalizacin, fundamental para demostrar la incomputabilidad de funciones e indecidibilidad de predicados, viene precedido por otro que recoge una serie de resultados y tcnicas extraordinariamente tiles para nuestros propsitos. Estos resultados acreditan hechos tan relevantes como la necesaria existencia de ordenadores de propsito general o la equivalencia entre los modelos de procesado en paralelo y los secuenciales, pero sobre todo proporcionan importantes herramientas que luego se utilizarn para demostrar tanto la computabilidad como la incomputabilidad de muchas funciones relevantes.

    Una vez estudiada la diagonalizacin y sus aplicaciones se ha incluido un ltimo captulo centrado en problemas de decisin y que aporta un concepto, la semidecidibilidad, que resulta esclarecedo