El objetivo fundamental de la Teora de la Computabilidad es formalizar y
estudiar el concepto de computacin. Esta teora surge en los aos treinta, mucho antes de que se construyeran los primeros computadores elctricos. En esas fechas ya exista un tipo de computadores que se utilizaban en laboratorios y universidad es, pero no eran mquinas, sino personas que llenaban una sala y que se dedicaban a realizar durante das tediosas operaciones y a pasarse los resultados unos a otros hasta concluir clculos que hoy en da se realizaran en dcimas de segundo1. Para evitar equvocos y malentendidos, querernos dejar claro desde el comienzo que vamos a formalizar en concreto la computacin desde el punto de vista del clculo de funciones matemticas sobre nmeros naturales mediante ejecucin de un algoritmo secuencial. Entendemos un algoritmo (despus lo definiremos con ms precisin) como un clculo realizado sobre un conjunto de datos de entrada y que produce un dato de salida. Sin embargo, no trataremos el problema de la computacin concurrente, en la que diferentes procesos computan funciones en paralelo, se comunican datos, y los resultados finales dependen del momento en el que los procesos se comunican. La formalizacin de este tipo de computacin es materia de investigacin en la actualidad. Este texto tiene su origen en las notas y apuntes que hemos elaborado para la asignatura Modelos Abstractos de Clculo, una asignatura cuatrimestral de cuatro crditos y medio de segundo curso de las titulaciones de Informtica de la Universidad de Alicante. En los aos en que la hemos venido impartiendo hemos configurado un temario y un estilo de explicar los contenidos que consideramos plenamente adecuado para las titulaciones informticas. El texto est por ello principalmente orientado a alumnos de estas titulaciones, hacindose especial nfasis en relacionar la mayora de conceptos de la Teora de la Computabilidad con la experiencia en lenguajes de programacin que tienen estos alumnos. Sin embargo, no es necesario en absoluto dominar ninguno para 1Para dar una idea del enorme salto que se ha dado en poder de computacin present amos la siguiente ancdota. El problema de calcular los movimientos de tres planetas so metidos a atraccin gravitatioria fue resuelto en 1929, despus de que 56 cientficos calcularan las soluciones a las ecuaciones durante 15 (!) aos. Hoy en da, esos mismos clculos apenas ocuparan unas horas de procesamiento de un potente PC.Prlogo El objetivo fundamental de la Teora de la Computabilidad es formalizar y estudiar el concepto de computacin. Esta teora surge en los aos treinta, mucho antes de que se construyeran los primeros computadores elctricos. En esas fechas ya exista un tipo de computadores que se utilizaban en laboratorios y universidad es, pero no eran mquinas, sino personas que llenaban una sala y que se dedicaban a realizar durante das tediosas operaciones y a pasarse los resultados unos a otros hasta concluir clculos que hoy en da se realizaran en dcimas de segundo1. Para evitar equvocos y malentendidos, querernos dejar claro desde el comienzo que vamos a formalizar en concreto la computacin desde el punto de vista del clculo de funciones matemticas sobre nmeros naturales mediante ejecucin de un algoritmo secuencial. Entendemos un algoritmo (despus lo definiremos con ms precisin) como un clculo realizado sobre un conjunto de datos de entrada y que produce un dato de salida. Sin embargo, no trataremos el problema de la computacin concurrente, en la que diferentes procesos computan funciones en paralelo, se comunican datos, y los resultados finales dependen del momento en el que los procesos se comunican. La formalizacin de este tipo de computacin es materia de investigacin en la actualidad. Este texto tiene su origen en las notas y apuntes que hemos elaborado para la asignatura Modelos Abstractos de Clculo, una asignatura cuatrimestral de
cuatro crditos y medio de segundo curso de las titulaciones de Informtica de la
Universidad de Alicante. En los aos en que la hemos venido impartiendo hemos configurado un temario y un estilo de explicar los contenidos que consideramos plenamente adecuado para las titulaciones informticas. El texto est por ello principalmente orientado a alumnos de estas titulaciones, hacindose especial nfasis en relacionar la mayora de conceptos de la Teora de la Computabilidad con la experiencia en lenguajes de programacin que tienen estos alumnos. Sin embargo, no es necesario en absoluto dominar ninguno para 1Para dar una idea del enorme salto que se ha dado en poder de computacin present amos la siguiente ancdota. El problema de calcular los movimientos de tres planetas so metidos a atraccin gravitatioria fue resuelto en 1929, despus de que 56 cientficos calcularan las soluciones a las ecuaciones durante 15 (!) aos. Hoy en da, esos mismos clculos apenas ocuparan unas horas de procesamiento de un potente PC.Prlogo El objetivo fundamental de la Teora de la Computabilidad es formalizar y estudiar el concepto de computacin. Esta teora surge en los aos treinta, mucho antes de que se construyeran los primeros computadores elctricos. En esas fechas ya exista un tipo de computadores que se utilizaban en laboratorios y universidad es, pero no eran mquinas, sino personas que llenaban una sala y que se dedicaban a realizar durante das tediosas operaciones y a pasarse los resultados unos a otros hasta concluir clculos que hoy en da se realizaran en dcimas de segundo1. Para evitar equvocos y malentendidos, querernos dejar claro desde el comienzo que vamos a formalizar en concreto la computacin desde el punto de vista del clculo de funciones matemticas sobre nmeros naturales mediante ejecucin de un algoritmo secuencial. Entendemos un algoritmo (despus lo definiremos con ms precisin) como un clculo realizado sobre un conjunto de datos de entrada y que produce un dato de salida. Sin embargo, no trataremos el problema de la computacin concurrente, en la que diferentes procesos computan funciones en paralelo, se comunican datos, y los resultados finales dependen del momento en el que los procesos se comunican. La formalizacin de este tipo de computacin es materia de investigacin en la actualidad. Este texto tiene su origen en las notas y apuntes que hemos elaborado para la asignatura Modelos Abstractos de Clculo, una asignatura cuatrimestral de cuatro crditos y medio de segundo curso de las titulaciones de Informtica de la Universidad de Alicante. En los aos en que la hemos venido impartiendo hemos configurado un temario y un estilo de explicar los contenidos que consideramos plenamente adecuado para las titulaciones informticas. El texto est por ello principalmente orientado a alumnos de estas titulaciones, hacindose especial nfasis en relacionar la mayora de conceptos de la Teora de la Computabilidad con la experiencia en lenguajes de programacin que tienen estos alumnos. Sin embargo, no es necesario en absoluto dominar ninguno para 1Para dar una idea del enorme salto que se ha dado en poder de computacin present amos la siguiente ancdota. El problema de calcular los movimientos de tres planetas so metidos a atraccin gravitatioria fue resuelto en 1929, despus de que 56 cientficos calcularan las soluciones a las ecuaciones durante 15 (!) aos. Hoy en da, esos mismos clculos apenas ocuparan unas horas de procesamiento de un potente PC.