La teoría de la computabilidad , también conocida como teoría de la recursión , es una rama de la lógica matemática , la informática y la teoría de la computación que se originó en la década de 1930 con el estudio de las funciones computables y los grados de Turing . Desde entonces, el campo se ha ampliado para incluir el estudio de la computabilidad y definibilidad generalizadas . En estas áreas, la teoría de la computabilidad se superpone con la teoría de la prueba y la teoría descriptiva de conjuntos efectiva .
Las preguntas básicas que aborda la teoría de la computabilidad incluyen:
Aunque existe una superposición considerable en términos de conocimientos y métodos, los teóricos de la computabilidad matemática estudian la teoría de la computabilidad relativa, las nociones de reducibilidad y las estructuras de grados; aquellos en el campo de la informática se centran en la teoría de jerarquías subrecursivas , métodos formales y lenguajes formales . El estudio de qué construcciones matemáticas pueden realizarse eficazmente se denomina a veces matemáticas recursivas . [a]
La teoría de la computabilidad se originó en la década de 1930, con el trabajo de Kurt Gödel , Alonzo Church , Rózsa Péter , Alan Turing , Stephen Kleene y Emil Post . [3] [b]
Los resultados fundamentales que obtuvieron los investigadores establecieron la computabilidad de Turing como la formalización correcta de la idea informal de cálculo efectivo. En 1952, estos resultados llevaron a Kleene a acuñar los dos nombres "tesis de Church" [4] : 300 y "tesis de Turing". [4] : 376 Hoy en día estas suelen considerarse como una única hipótesis, la tesis de Church-Turing , que establece que cualquier función que sea computable mediante un algoritmo es una función computable . Aunque inicialmente escéptico, en 1946 Gödel argumentó a favor de esta tesis: [5] : 84
" Tarski ha subrayado en su conferencia (y creo que con razón) la gran importancia del concepto de recursividad general (o computabilidad de Turing). Me parece que esta importancia se debe en gran medida al hecho de que con este concepto se tiene por primera vez el tiempo logró dar una noción absoluta a una noción epistemológica interesante, es decir, que no depende del formalismo elegido". [5] : 84 [6]
Con la definición de cálculo efectivo surgieron las primeras pruebas de que en matemáticas hay problemas que no se pueden resolver de manera efectiva . En 1936, Church [7] [8] y Turing [9] se inspiraron en las técnicas utilizadas por Gödel para demostrar sus teoremas de incompletitud; en 1931, Gödel demostró de forma independiente que el Entscheidungsproblem no es efectivamente decidible. Este resultado demostró que no existe ningún procedimiento algorítmico que pueda decidir correctamente si proposiciones matemáticas arbitrarias son verdaderas o falsas.
Se ha demostrado que muchos problemas de matemáticas son indecidibles después de que se establecieron estos ejemplos iniciales. [c] En 1947, Markov y Post publicaron artículos independientes que mostraban que el problema verbal para semigrupos no se puede resolver de manera efectiva. Ampliando este resultado, Pyotr Novikov y William Boone demostraron de forma independiente en la década de 1950 que el problema verbal para grupos no tiene solución efectiva: no existe ningún procedimiento eficaz que, dada una palabra en un grupo presentado finitamente , decida si el elemento representado por la palabra es el elemento de identidad del grupo. En 1970, Yuri Matiyasevich demostró (utilizando los resultados de Julia Robinson ) el teorema de Matiyasevich , lo que implica que el décimo problema de Hilbert no tiene una solución efectiva; En este problema se preguntaba si existe un procedimiento eficaz para decidir si una ecuación diofántica sobre números enteros tiene solución en números enteros.
La principal forma de computabilidad estudiada en este campo fue introducida por Turing en 1936. [9] Se dice que un conjunto de números naturales es un conjunto computable (también llamado conjunto decidible , recursivo o computable de Turing ) si existe una máquina de Turing. que, dado un número n , se detiene con la salida 1 si n está en el conjunto y se detiene con la salida 0 si n no está en el conjunto. Una función f de números naturales a números naturales es una función computable ( de Turing) o recursiva si hay una máquina de Turing que, en la entrada n , detiene y devuelve la salida f ( n ). El uso de máquinas de Turing aquí no es necesario; existen muchos otros modelos de computación que tienen la misma potencia de cálculo que las máquinas de Turing; por ejemplo, las funciones recursivas μ obtenidas de la recursividad primitiva y el operador μ.
La terminología para funciones y conjuntos computables no está completamente estandarizada. La definición en términos de funciones μ-recursivas, así como una definición diferente de funciones rekursivas por parte de Gödel, llevaron al nombre tradicional de recursivo para conjuntos y funciones computables por una máquina de Turing. La palabra decidible proviene de la palabra alemana Entscheidungsproblem que se utilizó en los artículos originales de Turing y otros. En el uso contemporáneo, el término "función computable" tiene varias definiciones: según Nigel J. Cutland , [10] es una función recursiva parcial (que puede no estar definida para algunas entradas), mientras que según Robert I. Soare [11] es una función recursiva total (equivalentemente recursiva general). Este artículo sigue la segunda de estas convenciones. En 1996, Soare [12] hizo comentarios adicionales sobre la terminología.
No todos los conjuntos de números naturales son computables. El problema de la detención , que es el conjunto de (descripciones de) máquinas de Turing que se detienen en la entrada 0, es un ejemplo bien conocido de conjunto no computable. La existencia de muchos conjuntos no computables se deriva del hecho de que sólo hay un número contable de máquinas de Turing y, por tanto, sólo un número contable de conjuntos computables, pero según el teorema de Cantor , hay incontables conjuntos de números naturales.
Aunque el problema de detención no es computable, es posible simular la ejecución del programa y producir una lista infinita de los programas que se detiene. Por lo tanto, el problema de la detención es un ejemplo de un conjunto computable enumerable (ce) , que es un conjunto que puede ser enumerado por una máquina de Turing (otros términos para computable enumerable incluyen recursivamente enumerable y semidecidible ). De manera equivalente, un conjunto es ce si y sólo si es el rango de alguna función computable. Los conjuntos ce, aunque no son decidibles en general, se han estudiado en detalle en la teoría de la computabilidad.
Comenzando con la teoría de conjuntos y funciones computables descrita anteriormente, el campo de la teoría de la computabilidad ha crecido hasta incluir el estudio de muchos temas estrechamente relacionados. Estas no son áreas de investigación independientes: cada una de estas áreas extrae ideas y resultados de las demás, y la mayoría de los teóricos de la computabilidad están familiarizados con la mayoría de ellas.
La teoría de la computabilidad en lógica matemática se ha centrado tradicionalmente en la computabilidad relativa , una generalización de la computabilidad de Turing definida mediante máquinas oráculo de Turing , introducidas por Turing en 1939. [13] Una máquina oráculo de Turing es un dispositivo hipotético que, además de realizar las acciones de un La máquina de Turing normal es capaz de hacer preguntas a un oráculo , que es un conjunto particular de números naturales. La máquina de Oracle sólo puede hacer preguntas del tipo "¿Está n en el conjunto de Oracle?". Cada pregunta será respondida correctamente inmediatamente, incluso si el conjunto de oráculos no es computable. Por lo tanto, una máquina con un oráculo no computable podrá calcular conjuntos que una máquina de Turing sin un oráculo no puede.
Informalmente, un conjunto de números naturales A es reducible por Turing a un conjunto B si hay una máquina de Oracle que dice correctamente si los números están en A cuando se ejecuta con B como conjunto de Oracle (en este caso, también se dice que el conjunto A es ( relativamente ) computable desde B y recursivo en B ). Si un conjunto A es reducible por Turing a un conjunto B y B es reducible por Turing a A , entonces se dice que los conjuntos tienen el mismo grado de Turing (también llamado grado de insolubilidad ). El grado de Turing de un conjunto da una medida precisa de cuán incomputable es el conjunto.
Los ejemplos naturales de conjuntos que no son computables, incluidos muchos conjuntos diferentes que codifican variantes del problema de detención , tienen dos propiedades en común:
Las reducciones de muchos uno son "más fuertes" que las reducciones de Turing: si un conjunto A es reducible de muchos uno a un conjunto B , entonces A es reducible de Turing a B , pero lo contrario no siempre se cumple. Aunque los ejemplos naturales de conjuntos no computables son todos equivalentes de muchos uno, es posible construir conjuntos A y B computablemente enumerables tales que A sea reducible de Turing a B pero no reducible de muchos uno a B. Se puede demostrar que todo conjunto computable enumerable es reducible en muchos uno al problema de detención y, por tanto, el problema de detención es el conjunto computable enumerable más complicado con respecto a la reducibilidad de muchos uno y con respecto a la reducibilidad de Turing. En 1944, Post [14] preguntó si todo conjunto computable enumerable es computable o equivalente de Turing al problema de la detención, es decir, si no existe ningún conjunto computable enumerable con un grado de Turing intermedio entre esos dos.
Como resultados intermedios, Post definió tipos naturales de conjuntos enumerables computablemente como los conjuntos simples , hipersimples e hiperhipersimples. Post demostró que estos conjuntos están estrictamente entre los conjuntos computables y el problema de detención con respecto a la reducibilidad de muchos uno. Post también demostró que algunos de ellos son estrictamente intermedios bajo otras nociones de reducibilidad más fuertes que la reducibilidad de Turing. Pero Post dejó abierto el problema principal de la existencia de conjuntos computablemente enumerables de grado intermedio de Turing; este problema se conoció como el problema de Post . Después de diez años, Kleene y Post demostraron en 1954 que existen grados de Turing intermedios entre los de los conjuntos computables y el problema de la detención, pero no lograron demostrar que alguno de estos grados contenga un conjunto computable enumerable. Muy poco después de esto, Friedberg y Muchnik resolvieron de forma independiente el problema de Post estableciendo la existencia de conjuntos computablemente enumerables de grado intermedio. Este resultado innovador abrió un amplio estudio de los grados de Turing de los conjuntos computablemente enumerables que resultaron poseer una estructura muy complicada y no trivial.
Hay incontables conjuntos que no son computablemente enumerables, y la investigación de los grados de Turing de todos los conjuntos es tan central en la teoría de la computabilidad como la investigación de los grados de Turing computablemente enumerables. Se construyeron muchos grados con propiedades especiales: grados libres de hiperinmunidad donde cada función computable en relación con ese grado está mayorizada por una función computable (no relativizada); altos grados con respecto a los cuales se puede calcular una función f que domina toda función computable g en el sentido de que hay una constante c que depende de g tal que g(x) < f(x) para todo x > c ; grados aleatorios que contienen conjuntos algorítmicamente aleatorios ; grados 1-genéricos de conjuntos 1-genéricos; y los grados por debajo del problema de detención de conjuntos computables con límites .
El estudio de grados de Turing arbitrarios (no necesariamente enumerables computablemente) implica el estudio del salto de Turing. Dado un conjunto A , el salto de Turing de A es un conjunto de números naturales que codifican una solución al problema de detención para las máquinas Oracle Turing que se ejecutan con Oracle A. El salto de Turing de cualquier conjunto es siempre de mayor grado de Turing que el conjunto original, y un teorema de Friedburg muestra que cualquier conjunto que calcule el problema de detención puede obtenerse como el salto de Turing de otro conjunto. El teorema de Post establece una estrecha relación entre la operación de salto de Turing y la jerarquía aritmética , que es una clasificación de ciertos subconjuntos de los números naturales en función de su definibilidad en aritmética.
Gran parte de la investigación reciente sobre los grados de Turing se ha centrado en la estructura general del conjunto de grados de Turing y el conjunto de grados de Turing que contienen conjuntos computablemente enumerables. Un teorema profundo de Shore y Slaman [15] establece que la función que asigna un grado x al grado de su salto de Turing se puede definir en el orden parcial de los grados de Turing. Un estudio realizado por Ambos-Spies y Fejer [16] ofrece una visión general de esta investigación y su progresión histórica.
Un área de investigación en curso en la teoría de la computabilidad estudia relaciones de reducibilidad distintas de la reducibilidad de Turing. Post [14] introdujo varias reducibilidades fuertes , llamadas así porque implican reducibilidad de tabla de verdad. Una máquina de Turing que implemente una fuerte reducibilidad calculará una función total independientemente del oráculo que se le presente. Las reducibilidades débiles son aquellas en las que un proceso de reducción puede no terminar para todos los oráculos; La reducibilidad de Turing es un ejemplo.
Las fuertes reducibilidades incluyen:
En el artículo se analizan más reducibilidades (positiva, disyuntiva, conjuntiva, lineal y sus versiones débiles y acotadas) Reducción (teoría de la computabilidad) .
La principal investigación sobre reducibilidades fuertes ha sido comparar sus teorías, tanto para la clase de todos los conjuntos computablemente enumerables como para la clase de todos los subconjuntos de los números naturales. Además, se han estudiado las relaciones entre las reducibilidades. Por ejemplo, se sabe que cada grado de Turing es un grado de la tabla de verdad o es la unión de una infinidad de grados de la tabla de verdad.
También se han estudiado reducibilidades más débiles que la reducibilidad de Turing (es decir, reducibilidades implícitas en la reducibilidad de Turing). Los más conocidos son la reducibilidad aritmética y la reducibilidad hiperaritmética . Estas reducibilidades están estrechamente relacionadas con la definibilidad sobre el modelo estándar de aritmética.
Rice demostró que para cada clase no trivial C (que contiene algunos pero no todos los conjuntos ce) el conjunto índice E = { e : el conjunto e th ce W e está en C } tiene la propiedad de que el problema de detención o su complemento son muchos -uno reducible a E , es decir, se puede mapear usando una reducción de muchos uno a E (consulte el teorema de Rice para obtener más detalles). Pero muchos de estos conjuntos de índices son incluso más complicados que el problema de la detención. Este tipo de conjuntos se pueden clasificar utilizando la jerarquía aritmética . Por ejemplo, el conjunto de índices FIN de la clase de todos los conjuntos finitos está en el nivel Σ 2 , el conjunto de índices REC de la clase de todos los conjuntos recursivos está en el nivel Σ 3 , el conjunto de índices COFIN de todos los conjuntos cofinitos también está en el nivel Σ 3 y el conjunto de índices COMP de la clase de todos los conjuntos completos de Turing Σ 4 . Estos niveles de jerarquía se definen inductivamente, Σ n +1 contiene solo todos los conjuntos que son computablemente enumerables en relación con Σ n ; Σ 1 contiene los conjuntos enumerables computablemente. Los conjuntos de índices proporcionados aquí están incluso completos para sus niveles, es decir, todos los conjuntos en estos niveles se pueden reducir en muchos uno a los conjuntos de índices dados.
El programa de matemáticas inversas pregunta qué axiomas de existencia de conjuntos son necesarios para demostrar teoremas particulares de matemáticas en subsistemas de aritmética de segundo orden . Este estudio fue iniciado por Harvey Friedman y estudiado en detalle por Stephen Simpson y otros; En 1999, Simpson [17] dio una discusión detallada del programa. Los axiomas de existencia de conjuntos en cuestión corresponden informalmente a axiomas que dicen que el conjunto potencia de los números naturales es cerrado bajo varias nociones de reducibilidad. El axioma más débil estudiado en matemáticas inversas es la comprensión recursiva , que establece que el conjunto de poderes de los naturales está cerrado bajo la reducibilidad de Turing.
Una numeración es una enumeración de funciones; tiene dos parámetros, e y x y genera el valor de la e -ésima función en la numeración de la entrada x . Las numeraciones pueden ser computables parcialmente aunque algunos de sus miembros sean funciones computables totales. Las numeraciones admisibles son aquellas a las que se pueden traducir todas las demás. Una numeración de Friedberg (que lleva el nombre de su descubridor) es una numeración uno uno de todas las funciones computables parciales; no es necesariamente una numeración admisible. Investigaciones posteriores se ocuparon también de la numeración de otras clases, como clases de conjuntos computablemente enumerables. Goncharov descubrió, por ejemplo, una clase de conjuntos computablemente enumerables cuyas numeraciones se dividen exactamente en dos clases con respecto a los isomorfismos computables.
El problema de Post se resolvió con un método llamado método de prioridad ; una prueba que utiliza este método se denomina argumento de prioridad . Este método se utiliza principalmente para construir conjuntos enumerables computablemente con propiedades particulares. Para utilizar este método, las propiedades deseadas del conjunto que se va a construir se dividen en una lista infinita de objetivos, conocidos como requisitos , de modo que satisfacer todos los requisitos hará que el conjunto construido tenga las propiedades deseadas. A cada requisito se le asigna un número natural que representa la prioridad del requisito; entonces se asigna 0 a la prioridad más importante, 1 a la segunda más importante, y así sucesivamente. Luego, el conjunto se construye en etapas, cada etapa intenta satisfacer uno o más requisitos, ya sea agregando números al conjunto o prohibiendo números del conjunto para que el conjunto final satisfaga el requisito. Puede suceder que satisfacer un requisito haga que otro quede insatisfecho; el orden de prioridad se utiliza para decidir qué hacer en tal caso.
Los argumentos de prioridad se han empleado para resolver muchos problemas en la teoría de la computabilidad y se han clasificado en una jerarquía según su complejidad. [11] Debido a que los argumentos de prioridad complejos pueden ser técnicos y difíciles de seguir, tradicionalmente se ha considerado deseable probar resultados sin argumentos de prioridad, o ver si los resultados probados con argumentos de prioridad también se pueden probar sin ellos. Por ejemplo, Kummer publicó un artículo sobre una prueba de la existencia de numeraciones de Friedberg sin utilizar el método de prioridad.
Cuando Post definió la noción de conjunto simple como un conjunto ce con complemento infinito que no contiene ningún conjunto ce infinito, comenzó a estudiar la estructura de los conjuntos computablemente enumerables bajo inclusión. Esta celosía se convirtió en una estructura bien estudiada. Los conjuntos computables se pueden definir en esta estructura mediante el resultado básico de que un conjunto es computable si y sólo si el conjunto y su complemento son ambos computablemente enumerables. Los conjuntos ce infinitos siempre tienen subconjuntos computables infinitos; pero, por otro lado, existen conjuntos simples pero no siempre tienen un superconjunto computable coinfinito. La publicación [14] ya introdujo conjuntos hipersimples e hiperhipersimples; Posteriormente se construyeron conjuntos máximos que son conjuntos ce tales que cada superconjunto ce es una variante finita del conjunto máximo dado o es cofinito. La motivación original de Post en el estudio de esta red fue encontrar una noción estructural tal que todo conjunto que satisfaga esta propiedad no esté en el grado de Turing de los conjuntos computables ni en el grado de Turing del problema de detención. Post no encontró tal propiedad y la solución a su problema aplicó métodos de prioridad; En 1991, Harrington y Soare [18] encontraron finalmente dicha propiedad.
Otra cuestión importante es la existencia de automorfismos en las estructuras de la teoría de la computabilidad. Una de estas estructuras es la de conjuntos computablemente enumerables bajo inclusión módulo diferencia finita; en esta estructura, A está por debajo de B si y sólo si la diferencia establecida B - A es finita. Los conjuntos máximos (como se definen en el párrafo anterior) tienen la propiedad de que no pueden ser automórficos de conjuntos no máximos, es decir, si hay un automorfismo de los conjuntos enumerables computablemente bajo la estructura que acabamos de mencionar, entonces cada conjunto máximo se asigna a otro conjunto máximo. En 1974, Soare [19] demostró que también se cumple lo contrario, es decir, cada dos conjuntos máximos son automórficos. Entonces los conjuntos máximos forman una órbita, es decir, cada automorfismo preserva la maximalidad y dos conjuntos máximos cualesquiera se transforman entre sí mediante algún automorfismo. Harrington dio otro ejemplo de propiedad automórfica: la de los conjuntos creativos, los conjuntos que son equivalentes en muchos uno al problema de la detención.
Además de la red de conjuntos computablemente enumerables, también se estudian automorfismos para la estructura de los grados de Turing de todos los conjuntos, así como para la estructura de los grados de Turing de ce conjuntos. En ambos casos, Cooper afirma haber construido automorfismos no triviales que asignan algunos grados a otros grados; Sin embargo, esta construcción no ha sido verificada y algunos colegas creen que contiene errores y que la cuestión de si existe un automorfismo no trivial de los grados de Turing sigue siendo una de las principales cuestiones sin resolver en esta área. [20] [16]
El campo de la complejidad y la aleatoriedad algorítmica de Kolmogorov fue desarrollado durante las décadas de 1960 y 1970 por Chaitin, Kolmogorov, Levin, Martin-Löf y Solomonoff (los nombres se dan aquí en orden alfabético; gran parte de la investigación fue independiente y la unidad del concepto En ese momento no se entendía el concepto de aleatoriedad). La idea principal es considerar una máquina de Turing universal U y medir la complejidad de un número (o cadena) x como la longitud de la entrada más corta p tal que U ( p ) genere x . Este enfoque revolucionó las formas anteriores de determinar cuándo una secuencia infinita (equivalentemente, una función característica de un subconjunto de números naturales) es aleatoria o no, invocando una noción de aleatoriedad para objetos finitos. La complejidad de Kolmogorov se convirtió no sólo en un tema de estudio independiente sino que también se aplica a otros temas como herramienta para obtener pruebas. Todavía quedan muchos problemas abiertos en este ámbito. [d]
Esta rama de la teoría de la computabilidad analizó la siguiente pregunta: Para m y n fijos con 0 < m < n , para qué funciones A es posible calcular para n entradas diferentes x 1 , x 2 , ..., x n una tupla de n números y 1 , y 2 , ..., y n tales que al menos m de las ecuaciones A ( x k ) = y k sean verdaderas. Estos conjuntos se conocen como conjuntos ( m , n )-recursivos. El primer resultado importante en esta rama de la teoría de la computabilidad es el resultado de Trakhtenbrot de que un conjunto es computable si es ( m , n )-recursivo para algún m , n con 2 m > n . Por otro lado, los conjuntos semirecursivos de Jockusch (que ya se conocían informalmente antes de que Jockusch los introdujera en 1968) son ejemplos de un conjunto que es ( m , n )-recursivo si y sólo si 2 m < n + 1. Hay incontables muchos de estos conjuntos y también algunos conjuntos de este tipo computablemente enumerables pero no computables. Más tarde, Degtev estableció una jerarquía de conjuntos computablemente enumerables que son (1, n + 1) recursivos pero no (1, n ). Después de una larga fase de investigación por parte de científicos rusos, este tema se repopularizó en Occidente gracias a la tesis de Beigel sobre consultas acotadas, que vinculaba el cálculo de frecuencia con las reducibilidades acotadas antes mencionadas y otras nociones relacionadas. Uno de los principales resultados fue la teoría de la cardinalidad de Kummer, que establece que un conjunto A es computable si y sólo si existe un n tal que algún algoritmo enumera para cada tupla de n números diferentes hasta n muchas opciones posibles de cardinalidad de este conjunto de n números intersecados con A ; estas opciones deben contener la cardinalidad verdadera pero omitir al menos una falsa.
Esta es la rama teórica de la computabilidad de la teoría del aprendizaje. Se basa en el modelo de aprendizaje en el límite de E. Mark Gold de 1967 y desde entonces ha desarrollado cada vez más modelos de aprendizaje. El escenario general es el siguiente: Dada una clase S de funciones computables, ¿hay un alumno (es decir, funcional computable) que genera cualquier entrada de la forma ( f (0), f (1), ..., f ? ( n )) una hipótesis. Un alumno M aprende una función f si casi todas las hipótesis tienen el mismo índice e de f con respecto a una numeración aceptable previamente acordada de todas las funciones computables; M aprende S si M aprende cada f en S . Los resultados básicos son que todas las clases de funciones enumerables computablemente se pueden aprender, mientras que la clase REC de todas las funciones computables no se puede aprender. Se han considerado muchos modelos relacionados y también el aprendizaje de clases de conjuntos enumerables computablemente a partir de datos positivos es un tema estudiado desde el artículo pionero de Gold de 1967 en adelante.
La teoría de la computabilidad incluye el estudio de nociones generalizadas de este campo, como la reducibilidad aritmética , la reducibilidad hiperaritmética y la teoría de la recursividad α , como las describió Sacks en 1990. [21] Estas nociones generalizadas incluyen reducibilidades que no pueden ser ejecutadas por las máquinas de Turing pero que, sin embargo, son naturales. Generalizaciones de la reducibilidad de Turing. Estos estudios incluyen enfoques para investigar la jerarquía analítica que difiere de la jerarquía aritmética al permitir la cuantificación de conjuntos de números naturales además de la cuantificación de números individuales. Estas áreas están vinculadas a las teorías del bien ordenamiento y de los árboles; por ejemplo, el conjunto de todos los índices de árboles computables (no binarios) sin ramas infinitas está completo para el nivel de la jerarquía analítica. Tanto la reducibilidad de Turing como la reducibilidad hiperaritmética son importantes en el campo de la teoría descriptiva de conjuntos efectiva . La noción aún más general de grados de constructibilidad se estudia en la teoría de conjuntos .
La teoría de la computabilidad para la computación digital está bien desarrollada. La teoría de la computabilidad está menos desarrollada para la computación analógica que ocurre en computadoras analógicas , procesamiento de señales analógicas , electrónica analógica , redes neuronales artificiales y teoría de control de tiempo continuo , modelada mediante ecuaciones diferenciales y sistemas dinámicos continuos . [22] [23] Por ejemplo, modelos de computación como el modelo de máquina Blum-Shub-Smale han formalizado el cálculo en los reales.
Existen estrechas relaciones entre el grado de Turing de un conjunto de números naturales y la dificultad (en términos de jerarquía aritmética ) de definir ese conjunto mediante una fórmula de primer orden . Una de esas relaciones se precisa mediante el teorema de Post . Kurt Gödel demostró una relación más débil en las pruebas de su teorema de completitud y teoremas de incompletitud . Las pruebas de Gödel muestran que el conjunto de consecuencias lógicas de una teoría efectiva de primer orden es un conjunto computable enumerable , y que si la teoría es lo suficientemente sólida, este conjunto será incomputable. De manera similar, el teorema de indefinibilidad de Tarski puede interpretarse tanto en términos de definibilidad como de computabilidad.
La teoría de la computabilidad también está vinculada a la aritmética de segundo orden , una teoría formal de los números naturales y de los conjuntos de números naturales. El hecho de que ciertos conjuntos sean computables o relativamente computables a menudo implica que estos conjuntos pueden definirse en subsistemas débiles de aritmética de segundo orden. El programa de matemáticas inversas utiliza estos subsistemas para medir la no computabilidad inherente a teoremas matemáticos bien conocidos. En 1999, Simpson [17] analizó muchos aspectos de la aritmética de segundo orden y las matemáticas inversas.
El campo de la teoría de la prueba incluye el estudio de la aritmética de segundo orden y la aritmética de Peano , así como las teorías formales de los números naturales más débiles que la aritmética de Peano. Un método para clasificar la fortaleza de estos sistemas débiles es caracterizando qué funciones computables el sistema puede resultar total . [24] Por ejemplo, en la aritmética recursiva primitiva, cualquier función computable que sea demostrablemente total es en realidad recursiva primitiva , mientras que la aritmética de Peano demuestra que funciones como la función de Ackermann , que no son recursivas primitivas, son totales. Sin embargo, no todas las funciones computables totales son demostrablemente totales en la aritmética de Peano; un ejemplo de tal función lo proporciona el teorema de Goodstein .
El campo de la lógica matemática que se ocupa de la computabilidad y sus generalizaciones se ha denominado "teoría de la recursividad" desde sus inicios. Robert I. Soare , un destacado investigador en el campo, ha propuesto [12] que el campo debería denominarse "teoría de la computabilidad". Sostiene que la terminología de Turing que utiliza la palabra "comutable" es más natural y se comprende más ampliamente que la terminología que utiliza la palabra "recursiva" introducida por Kleene. Muchos investigadores contemporáneos han comenzado a utilizar esta terminología alternativa. [e] Estos investigadores también utilizan terminología como función computable parcial y conjunto computable enumerable ( ce ) en lugar de función recursiva parcial y conjunto recursivamente enumerable ( re ) . Sin embargo, no todos los investigadores quedaron convencidos, como explican Fortnow [25] y Simpson. [26] Algunos comentaristas sostienen que tanto los nombres teoría de la recursividad como teoría de la computabilidad no logran transmitir el hecho de que la mayoría de los objetos estudiados en la teoría de la computabilidad no son computables. [27]
En 1967, Rogers [28] sugirió que una propiedad clave de la teoría de la computabilidad es que sus resultados y estructuras deberían ser invariantes bajo biyecciones computables sobre los números naturales (esta sugerencia se basa en las ideas del programa de Erlangen en geometría). La idea es que una biyección computable simplemente cambia el nombre de los números en un conjunto, en lugar de indicar cualquier estructura en el conjunto, de la misma manera que una rotación del plano euclidiano no cambia ningún aspecto geométrico de las líneas dibujadas en él. Dado que dos conjuntos computables infinitos cualesquiera están unidos por una biyección computable, esta propuesta identifica todos los conjuntos computables infinitos (los conjuntos computables finitos se consideran triviales). Según Rogers, los conjuntos de interés en la teoría de la computabilidad son los conjuntos no computables, divididos en clases de equivalencia mediante biyecciones computables de los números naturales.
La principal organización profesional de la teoría de la computabilidad es la Asociación de Lógica Simbólica , que celebra varias conferencias de investigación cada año. La Asociación de investigación interdisciplinaria Computability in Europe ( Cie ) también organiza una serie de conferencias anuales.
Kurt Gödel (1946): Tarski ha subrayado en su conferencia (y creo que con razón) la gran importancia del concepto de recursividad general (o computabilidad de Turing). Me parece que esta importancia se debe en gran medida al hecho de que con este concepto se ha logrado por primera vez dar una noción absoluta a una noción epistemológica interesante, es decir, que no depende del formalismo elegido.
Para ser más precisos: una función de números enteros es computable en cualquier sistema formal que contenga aritmética si y sólo si es computable en aritmética, donde una función f se llama computable en S si hay en S un término computable que representa f .(NB. Este volumen también incluye el artículo de 1946 de Kurt Gödel (con comentario de Charles Parsons en págs. 144 y siguientes). Esta edición de 1990 tiene la nota al pie citada añadida por Gödel en la página 150 (que también se había añadido a la reimpresión de Gödel en Compilación de Davis de 1965).)