17.1 De Babbage a Turing: máquinas y lógica
Antecedentes históricos y contexto
A principios del siglo XIX, la Revolución Industrial estaba transformando Europa en términos económicos, sociales y tecnológicos. En ese escenario, la idea de automatizar procesos de cálculo numérico cobró gran importancia. Hasta entonces, las operaciones aritméticas complejas se realizaban manualmente, a menudo por “calculadores humanos” que sufrían lentitud y errores frecuentes. La necesidad de tablas matemáticas precisas para navegación, astronomía, ingeniería o finanzas impulsó la búsqueda de mecanismos que redujeran el trabajo repetitivo y sistemático.
Pionero en este campo fue Charles Babbage (1791–1871), matemático y polímata británico, que propuso máquinas mecánicas capaces de realizar sumas, restas, multiplicaciones y divisiones de forma automática. Babbage no solo buscó aligerar el trabajo aritmético, sino que sentó las bases de la computación moderna al plantear por primera vez la distinción entre unidad de cálculo (mlla) y unidad de control de programa (tarjeta perforada).
Charles Babbage y la Máquina Diferencial
Origen y propósito (1822)
- En 1822, Babbage ganó una beca de la Royal Astronomical Society para construir un prototipo de “Máquina Diferencial” destinada a calcular tablas de funciones polinómicas mediante el método de diferencias finitas.
- Su diseño buscaba eliminar el error humano y permitir la generación casi automática de tablas de logaritmos y senos con hasta 20 cifras decimales de precisión.
- La Máquina Diferencial consistía en ruedas dentadas, piñones y ejes, todo accionado por una manivela. Cada “círculo” representaba un dígito decimal y el mecanismo avanzaba paso a paso.
Características técnicas
Nombre | Máquina Diferencial Nº1 |
Año | 1822–1832 |
Capacidad | 6 cifras decimales |
Estado | Prototipo incompleto |
Aunque el prototipo inicial no llegó a completarse debido a dificultades de precisión mecánica y a la falta de financiación, la idea de Babbage ya era revolucionaria: un cálculo sistemático realizado por una máquina. Décadas después, en 1991, el Science Museum de Londres construyó una réplica funcional de la Máquina Diferencial Nº2 basándose en los planos originales, y demostró que podía generar tablas con 31 dígitos sin error.
La Máquina Analítica: primer concepto de ordenador
Diseño y componentes (1834–1842)
- En 1834, Babbage planteó un proyecto más ambicioso: la Máquina Analítica, capaz de ejecutar instrucciones de forma secuencial y condicional.
- Incorporaba tolva de entradas para datos y rutinas (mediante tarjetas perforadas al estilo de los telares de Joseph-Marie Jacquard), un “molino” para procesar operaciones aritméticas y un “almacén” para guardar resultados intermedios.
- Previó instrucciones de salto condicional y bucles, lo que implicaba un control de programa de carácter turing-completo, aunque este término se formularía casi un siglo después.
Nombre | Máquina Analítica |
Años de diseño | 1834–1871 |
Elementos clave | Tolva, molino, almacén, tarjetas perforadas |
Instalación | Proyecto no construido |
La Máquina Analítica debía contar con un lenguaje de programación primitivo, escrita en tarjetas perforadas: una idea inédita hasta entonces. Sin embargo, los costos astronómicos y la reticencia de los mecenas de la época impidieron su construcción. Los hermanos Herschel, entre otros, consideraron el proyecto de una complejidad excesiva para la ingeniería de aquel momento.
Ada Lovelace y la programación
En 1843, Ada Lovelace (1815–1852), hija de Lord Byron y matemática colaboradora de Babbage, tradujo un artículo del ingeniero italiano Luigi Federico Menabrea sobre la Máquina Analítica. En sus notas añadidas, describió por primera vez un algoritmo destinado a ser procesado por la máquina, considerado el primer programa de ordenador.
- Definió el concepto de subrutina y la capacidad de la Máquina Analítica para “crear arte” a través de la manipulación de símbolos.
- Previó la separación entre hardware (el mecanismo físico) y software (las instrucciones), un paradigma vigente en la actualidad.
- Consideró la posibilidad de que estas máquinas pudieran ir más allá de los números: analizar música o texto si se codificaban en forma de símbolos numéricos.
A pesar de su prematura muerte en 1852, Ada Lovelace ha pasado a la historia como la primera programadora. En 1980, el Departamento de Defensa de EE. UU. dio su nombre a uno de sus lenguajes, Ada, en reconocimiento a su contribución.
La lógica booleana y la base teórica de la computación
Paralelamente a los desarrollos mecánicos, la lógica matemática avanzaba en el terreno abstracto. En 1854, George Boole publicó An Investigation of the Laws of Thought, estableciendo un sistema algebraico para la lógica proposicional. Sus operaciones AND, OR, NOT resultaron esenciales décadas más tarde para implementar circuitos eléctricos y mecánicos.
El álgebra booleana permitía traducir en símbolos lógicos enunciados de verdadero o falso, allanando el camino para diseñar circuitos lógicos que pudieran ejecutar decisiones y comparaciones. En un siglo de desarrollo, esta matemática encontró aplicación directa en relés y válvulas de vacío, y luego en transistores.
Alan Turing y la máquina universal (1936)
Contexto y objetivo
En 1936, el matemático británico Alan M. Turing (1912–1954) publicó el artículo “On Computable Numbers, with an Application to the Entscheidungsproblem”. Allí presentó la idea de una “máquina de Turing” abstracta, compuesta por una cinta infinita (memoria), un cabezal de lectura/escritura y una tabla de estados (programa).
- La cinta se divide en celdas, cada una con un símbolo (por ejemplo, 0 o 1).
- El cabezal lee la celda actual, puede escribir un nuevo símbolo, moverse a la izquierda o a la derecha, y cambiar de estado según la tabla de instrucciones.
- Con este modelo, Turing demostró que existen problemas no computables: la famosa prueba de la parada (halting problem), demostrando límites intrínsecos a la computación.
Máquina de Turing Universal
Turing definió también la máquina de Turing universal: un único dispositivo capaz de simular cualquier otra máquina de Turing, simplemente leyendo la descripción de dicha máquina y su entrada. Este resultado formaliza el concepto de programa almacenado (stored-program concept), núcleo de los ordenadores modernos.
Con este modelo, se establecen los cimientos de la teoría de la complejidad, la decibilidad y los límites de lo que una máquina puede resolver, marcando el paso definitivo de las propuestas mecánicas de Babbage a la abstracción de Turing.
Transición al ordenador electrónico
Tras la Segunda Guerra Mundial, los esfuerzos para diseñar máquinas prácticas de cómputo se aceleraron. Inspirados por las ideas de Babbage y Turing, ingenieros en EE. UU. y Reino Unido construyeron:
- ENIAC (1945): primer ordenador electrónico de propósito general con válvulas de vacío.
- EDSAC (1949): basado en el concepto de programa almacenado, fue el primero en funcionar plenamente en Cambridge.
- Manchester Mark I (1949): con memoria de núcleo magnético, previó muchas ideas de los ordenadores modernos.
Todas estas máquinas implementaron, de un modo práctico, el modelo lógico y la separación hardware/software esbozada un siglo antes.
Impacto e implicaciones filosóficas
El tránsito de la mecánica de Babbage a la abstracción de Turing no solo supuso avances tecnológicos, sino también debates filosóficos:
- Pensamiento vs. cálculo: ¿Puede la mente humana reducirse a procesos algorítmicos? Turing incluso propuso en 1950 lo que hoy llamamos Test de Turing para medir la inteligencia artificial.
- Automatización del conocimiento: La posibilidad de programar máquinas para tareas intelectuales cambió la forma de concebir la ciencia, la ingeniería y la investigación.
- Límites de la computación: Pese al enorme poder de las máquinas, existen problemas no computables ni en teoría (por la paradoja de la parada), lo que abre reflexiones sobre la naturaleza de la verdad y el conocimiento.
Legado y evolución posterior
El linaje que va de Babbage a Turing se expande hoy en la informática contemporánea:
- Arquitectura de von Neumann (1945): hereda la separación de componentes de la Máquina Analítica y el concepto de programa almacenado de Turing.
- Lenguajes de programación de alto nivel: evolucionan desde las tarjetas perforadas hasta compiladores y entornos integrados.
- Teoría de la computación y algoritmos: establecen bases para criptografía, inteligencia artificial, teoría de la complejidad y ciencias de la información.
Sin el impulso de Babbage para mecanizar el cálculo ni la visión teórica de Turing acerca de la máquina universal y los límites de la computación, nuestra sociedad digital actual —desde los microprocesadores hasta la nube y la IA— no existiría tal como la conocemos.
Profundizando sobre el punto 17.1 De Babbage a Turing: máquinas y lógica
Libros recomendados para ampliar conocimiento sobre este tema:
Libros recomendados sobre “De Babbage a Turing: máquinas y lógica”
Título | Autor | Año | Enlace |
The Difference Engine: Charles Babbage and the Quest to Build the First Computer | Doron Swade | 2000 | https://en.wikipedia.org/wiki/The_Difference_Engine |
Alan Turing: The Enigma | Andrew Hodges | 1983 | https://en.wikipedia.org/wiki/Alan_Turing:_The_Enigma |
The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life | B. Jack Copeland (ed.) | 2004 | https://mitpress.mit.edu/books/essential-turing |
Turing’s Cathedral: The Origins of the Digital Universe | George Dyson | 2012 | https://en.wikipedia.org/wiki/Turing’s_Cathedral |
A History of Modern Computing | Paul E. Ceruzzi | 2003 | https://en.wikipedia.org/wiki/A_History_of_Modern_Computing |
From Pascal to von Neumann: A History of Computer Science | Ulf Hashagen, Reinhard Keil-Slawik amp Arthur L. Norberg (eds.) | 1992 | https://en.wikipedia.org/wiki/From_Pascal_to_von_Neumann:_A_History_of_Computer_Complexity |
Deja una respuesta