Page 174 - INTRODUCCIÓN AL ANÁLISIS DE ALGORITMOS
P. 174

INTRODUCCIÓN AL ANÁLISIS  DE ALGORITMOS


                  ro que sería indispensable sería un lenguaje formal claro y preciso, por lo que mucho de su trabajo
                  posterior se dirigió hacia ese objetivo. En 1928, David Hilbert y Wilhelm Ackermann propusieron la
                  pregunta en su formulación anteriormente mencionada.

                  Una fórmula lógica de primer orden es llamada universalmente válida o lógicamente válida si se de-
                  duce de los axiomas del cálculo de primer orden. El teorema de completitud de Gödel establece que
                  una fórmula lógica es universalmente válida en este sentido si y solo si es cierta en toda interpreta-
                  ción de la fórmula en un modelo.

                  Antes de poder responder a esta pregunta, hubo que definir formalmente la noción de algoritmo.
                  Esto fue realizado por Alonzo Church en 1936 con el concepto de calculabilidad efectiva, basado
                  en su cálculo lambda, y por Alan Turing, basándose en la máquina de Turing. Los dos enfoques son
                  equivalentes, en el sentido de que con ellos se pueden resolver exactamente los mismos problemas.
                  La respuesta negativa al Entscheidungsproblem fue dada por Alonzo Church en 1936 e indepen-
                  dientemente después (ese mismo año) por Alan Turing. Church demostró que no existe algoritmo
                  (definido según las funciones recursivas) que decida para dos expresiones del cálculo lambda si son
                  equivalentes o no. Church para esto se basó en el trabajo previo de Stephen Kleene. Por otra parte,
                  Turing redujo este problema al problema de la parada para las máquinas de Turing. Generalmente se
                  considera que la prueba de Turing ha tenido más influencia que la de Church. Ambos trabajos se vie-
                  ron influidos por trabajos anteriores de Kurt Gödel sobre el teorema de incompletitud, especialmente
                  por el método de asignar números a las fórmulas lógicas para poder reducir la lógica a la aritmética.

                  El argumento de Turing es como sigue: supóngase que se tiene un algoritmo general de decisión
                  para la lógica de primer orden. Se puede traducir la pregunta sobre si una máquina de Turing termina
                  con una fórmula de primer orden, que entonces podría ser sometida al algoritmo de decisión. Pero
                  Turing ya había demostrado que no existe algoritmo general que pueda decidir si una máquina de
                  Turing se para.

                  Es importante notar que si se restringe el problema a una teoría de primer orden específico con predi-
                  cados, constantes y axiomas, es posible que exista un algoritmo de decisión para la teoría. Algunos
                  ejemplos de teorías decidibles son la aritmética de Presburger y los sistemas estáticos de tipos de
                  los lenguajes de programación.

                  Sin embargo, la teoría general de primer orden para los números naturales, conocida como la arit-
                  mética de Peano, no puede ser decidida con ese tipo de algoritmo. Esto se deduce del argumento
                  de Turing resumido más arriba.

                  Además, el teorema de Gödel mostró que no existe algoritmo cuya entrada pueda ser cualquier
                  proposición acerca de los enteros y cuya salida es o no verdadera. Siguiendo de cerca a Gödel,
                  otros matemáticos —como Alonzo Church, Sephen Kleene, Emil Post y Alan Turing— encontraron
                  más problemas que carecían de solución algorítmica. Tal vez la característica más notable de estos
                  primeros resultados sobre problemas que no se pueden resolver por medio de computadoras es que
                  se obtuvieron en la década de 1930: ¡antes de que se hubiera construido la primera computadora!



                                                              168
   169   170   171   172   173   174   175   176   177   178   179