La Teora de la computabilidad es la parte de la computacin que estudia los
problemas de decisin que pueden ser resueltos con un algoritmo o equivalentemente con una mquina de Turing. La teora de la computabilidad se interesa a cuatro preguntas:
Qu problemas puede resolver una mquina de Turing? Qu otros formalismos equivalen a las mquinas de Turing? Qu problemas requieren mquinas ms poderosas? Qu problemas requieren mquinas menos poderosas?
La teora de la complejidad computacional clasifica las funciones computables segn el uso que hacen de diversos recursos en diversos tipos de mquina. ndice
Antecedentes
El origen de los modelos abstractos de computacin se encuadra en los aos '30 (antes de que existieran los ordenadores modernos), para el trabajo de los lgicos Alonzo Church, Kurt Gdel, Stephen Kleene, Emil Leon Post, y Alan Turing. Estos trabajos iniciales han tenido una profunda influencia, tanto en el desarrollo terico como en abundantes aspectos de la prctica de la computacin; previendo incluso la existencia de ordenadores de propsito general, la posibilidad de interpretar programas, la dualidad entre software y hardware, y la representacin de lenguajes por estructuras formales basados en reglas de produccin.
El punto inicial de estos primeros trabajos fueron las cuestiones fundamentales que David Hilbert formul en 1900, durante el transcurso de un congreso internacional.
Lo que Hilbert pretenda era crear un sistema matemtico formal completo y consistente en el cual, todas las aseveraciones fueran planteadas con precisin. Su intencin era encontrar un algoritmo que determinara la verdad o falsedad de cualquier proposicin en el sistema formal. Al problema en cuestin se le denomin Entscheidungsproblem. En caso de que Hilbert hubiese cumplido su objetivo, cualquier problema bien definido se resolvera simplemente al ejecutar dicho algoritmo.
Pero no fueron otros los que mediante una serie de investigaciones mostraron que esto no era posible. En contra de esta idea K. Gdel sac a la luz su conocido Primer Teorema de Incompletitud. Este viene a expresar que todo sistema de primer orden consistente que contenga los teoremas de la aritmtica y cuyo conjunto de axiomas sea recursivo no es completo. Gdel construy una frmula que es satisfactoria pero que no puede ser probada en el sistema. Como consecuencia, no es posible encontrar el sistema formal deseado por Hilbert en el marco de la lgica de primer orden, a no ser que se tome un conjunto no recursivo de axiomas.
Una posterior versin, que resulta ms general, del teorema de incompletitud de Gdel, indica que ningn sistema deductivo que contenga los teoremas de la aritmtica, y con los axiomas recursivamente enumerables puede ser consistente y completo a la vez. Esto hace pensar, a nivel intuitivo, que no va a ser posible definir un sistema formal.
Qu problemas puede resolver una mquina de Turing?
No todos los problemas pueden ser resueltos. Un problema indecidible es uno que no puede ser resuelto con un algoritmo an si se dispone de espacio y tiempo ilimitado. Actualmente se conocen muchos problemas indecidibles, como por ejemplo:
El Entscheidungsproblem (problema de decisin en alemn) que se define como: Dada una frase del clculo de predicados de primer orden, decidir si ella es un teorema. Church y Turing demostraron independientemente que este problema es indecidible (ver Tesis de Church-Turing). El Problema de la parada, que se define as: Dado un programa y su entrada, decidir si ese programa terminar para esa entrada o si correr indefinidamente. Turing demostr que se trata de un problema indecidible. Un nmero computable es un nmero real que puede ser aproximado por un algoritmo con un nivel de exactitud arbitrario. Turing demostr que casi todos los nmeros no son computables. Por ejemplo, la Constante de Chaitin no es computable aunque s que est bien definido.
Qu otros formalismos equivalen a las mquinas de Turing?
Los lenguajes formales que son aceptados por una mquina de Turing son exactamente aquellos que pueden ser generados por una gramtica formal. El clculo Lambda es una forma de definir funciones. Las funciones que pueden ser computadas con el clculo Lambda son exactamente aquellas que pueden ser computadas con una mquina de Turing. Estos tres formalismos, las mquinas de Turing, los lenguajes formales y el clculo Lambda son formalismos muy dismiles y fueron desarrollados por diferentes personas. Sin embargo, todos ellos son equivalentes y tienen el mismo poder de expresin. Generalmente se toma esta notable coincidencia como evidencia de que la tesis de Church-Turing es cierta, que la afirmacin de que la nocin intuitiva de algoritmo o procedimiento efectivo de cmputo corresponde a la nocin de cmputo en una mquina de Turing.
Los computadores electrnicos, basados en la arquitectura de von Neumann as como las mquinas cunticas tendran exactamente el mismo poder de expresin que el de una mquina de Turing si dispusieran de recursos ilimitados de tiempo y espacio. Como consecuencia, los lenguajes de programacin tienen a lo sumo el mismo poder de expresin que el de los programas para una mquina de Turing y en la prctica no todos lo alcanzan. Los lenguajes con poder de expresin equivalente al de una mquina de Turing se denominan Turing completos.
Entre los formalismos equivalentes a una mquina de Turing estn:
Mquinas de Turing con varias cintas Mquinas de Turing con cintas bidimensionales, Turmite (o una infinidad de cintas lineales) Mquinas de Turing con nmero limitado de estados y smbolos para la cinta Mquinas de Turing con solo dos estados Autmatas finitos con dos pilas Autmatas finitos con dos contadores Gramticas formales Mquina de Post Clculo Lambda Funciones recursivas parciales Casi todos los lenguajes de programacin modernos si dispusieran de memoria ilimitada Autmatas celulares El Juego de la vida de John Conway Mquinas de Turing no determinsticas Mquinas de Turing probabilsticas Computador cuntico
Los ltimos tres ejemplos utilizan una definicin ligeramente diferente de aceptacin de un lenguaje. Ellas aceptan una palabra si cualquiera, cmputo acepta (en el caso de no determinismo), o la mayora de los cmputos aceptan (para las versiones probabilstica y cuntica). Con estas definiciones, estas mquinas tienen el mismo poder de expresin que una mquina de Turing. Qu problemas requieren mquinas ms poderosas?
Se considera que algunas mquinas tienen mayor poder que las mquinas de Turing. Por ejemplo, una mquina orculo que utiliza una caja negra que puede calcular una funcin particular que no es calculable con una mquina de Turing. La fuerza de cmputo de una mquina orculo viene descrita por su grado de Turing. La teora de cmputos reales estudia mquinas con precisin absoluta en los nmeros reales. Dentro de esta teora, es posible demostrar afirmaciones interesantes, tales como el complemento de un conjunto de Mandelbrot es solo parcialmente decidible.
ESTADOS DEL ARTE El estado del arte es una modalidad de la investigacin documental que permite el estudio del conocimiento acumulado (escrito en textos) dentro de un rea especfica. Sus orgenes se remontan a los aos ochenta, poca en la que se utilizaba como herramienta para compilar y sistematizar informacin especialmente el rea de ciencias sociales, sin embargo, en la medida en que estos estudios se realizaron con el fin de hacer balances sobre las tendencias de investigacin y como punto de partida para la toma de decisiones, el estado del arte se posicion como una modalidad de investigacin de la investigacin. Hoy en da se considera que en general, el estado del arte puede abordarse desde tres perspectivas fundamentales. Sea cual fuere el abordaje del estado del arte, se considera que su realizacin implica el desarrollo de una metodologa resumida en tres grandes pasos: contextualizacin, clasificacin y categorizacin; los cuales son complementados por una fase adicional que permita asociar al estado del arte de manera estructural, es decir, hacer el anlisis (sinnimo de investigacin). De esta manera se observa que la realizacin de estados del arte permite la circulacin de la informacin, genera una demanda de conocimiento y establece comparaciones con otros conocimientos paralelos a este, ofreciendo diferentes posibilidades de comprensin del problema tratado; pues brinda ms de una alternativa de estudio