Ada Lovelace & Charles Babbage

Difunde cultura

Un hombre provisto de papel, lápiz y goma de borrar, y sujeto a disciplina estricta, es en efecto una máquina universal.

Alan Turing

A veces surgen dúos increíbles que marcan una época, una obra literaria, una pareja cinematográfica… Don Quijote y Sancho Panza, R2D2 y C3PO, El gordo y el flaco, Hansel y Gretel, la Bella y la Bestia… la lista es larga y extensa, y lo mismo sucede en el campo de la ciencia. Hoy vamos a narrar una de esas circunstancias donde ingenio e imaginación se unieron para dar origen a conceptos y herramientas revolucionarias que marcarían el camino de la ciencia computacional hasta nuestros días, un hito tan increíble como trascendental en el progreso tecnológico de la humanidad, ellos son Ada Lovelace (1815 – 1852) y Charles Babbage (1791 – 1871).

Es la base de la ciencia, el ensayo y el error, la casualidad, el fracaso, la ciencia no es una musa divina, etérea y mística que aparece e ilumina al científico para dotarlo de la genialidad que se le supone, más bien, si acaso, es un trabajo diario, frustrante, con poco o ningún reconocimiento salvo que se alcance el éxito, como bien lo narra y describe Isaiah Berlin en su excelente libro recomendado por mi estimado colega Pedro Bello “El erizo y el zorro“.

Hoy hablaré de los dos padres de la computación moderna, el primero de ellos es Charles Babbage, ilustre matemático, informático teórico, inventor, economista, filósofo, profesor universitario, ingeniero, astrónomo y escritor… un currículum apabullante fruto de una mente brillante. Por no entrar de lleno en la autobiografía de Babbage, que es extensa y diversa debido a que exploró múltiples campos, hoy revisaremos dos de sus inventos fundamentales objeto del presente artículo, la Máquina Analítica y la Máquina Diferencial.

El segundo padre de la computación moderna es Augusta Ada King, condesa de Lovelace, nombrada de nacimiento como Augusta Ada Byron y conocida habitualmente como Ada Lovelace, hija del aristócrata y gran poeta inglés Lord Byron, educada desde muy joven por deseo de su padre en las más elevadas artes y ciencias como el piano y las matemáticas, para las cuales enseguida destacó por su comprensión y dominio de las mismas, una de sus tutoras y mentoras de su infancia fue Mary Somerville, científica, escritora y erudita escocesa, autodidacta en su formación y una de las primeras mujeres miembros honorarias de la Royal Astronomical Society, considerada la “reina de la ciencia” del siglo XIX por su dominio de las matemáticas, y que sin duda se convertiría en un importante estímulo y una gran influencia en la vida de Ada. Mientras tanto la joven Ada desarrollaba su curiosidad e imaginación, tanto fue así que en la etapa de adolescencia publicó un libro llamado “Flyology” (1828) donde recogía sus ideas sobre el diseño y construcción de una máquina capaz de volar basándose en la aerodinámica de las aves así como la recopilación de todos los pormenores relacionados con el vuelo tales como los materiales necesarios para su construcción, el concepto de transporte de personas, aparatos de guiado, etc…

Máquina diferencial de Charles Babbage

Tan pronto como exista una Máquina Analítica, será necesario redirigir el futuro curso de la ciencia.

De la autobiografía de Babbage.

Sin embargo fue llegando a la edad adulta cuando Ada Lovelace conoce a la persona con la que entablará una amistad que duraría toda su vida estableciendo una colaboración profesional brillante, el matemático Charles Babbage, juntos sentarían la base tecnológica para el nacimiento de una nueva disciplina moderna global, las ciencias de la computación. Nótese que la propia palabra tecnología lleva implícita en su composición la base del fundamento computacional, es decir, existe una parte de tecnos, esto es técnica, arte, oficio (según su etimología), lo que sería el hardware, y otra parte de lógica, esto es, la razón, encontrar la verdad en el razonamiento, es decir, el software, el conjunto de instrucciones destinado a decirle a la parte de tecnos que es lo que deseamos encontrar, calcular, descifrar…

Hay que decir que las máquinas de Babbage no se llegarían a construir nunca, incluso con el gran presupuesto que el gobierno inglés destinó para ello el matemático no logró llevarlas a cabo debido a su complejidad de diseño y la constante implementación de mejoras en las mismas que obligaban a realizar continuas modificaciones a los herreros que construían las piezas manualmente.

Pero, ¿qué función y cálculos realizaban estos aparatos mecánicos tan importantes como para dedicarles una vida entera a su construcción?. Comenzaré con el primer gran proyecto de Charles Babbage, el dispositivo mecánico denominado “Máquina Diferencial“, este fue diseñado específicamente para operar con tablas de logaritmos y funciones trigonométricas evaluando polinomios por aproximación. ¿Y para qué serviría realizar tales cálculos de manera automática? La respuesta es un poco más compleja, puesto que tenemos que remontarnos al origen de las matemáticas, esto es, en la antigüedad las áreas se calculaban con un método muy primitivo denominado el método del agotamiento, fundamentalmente aplicado al cálculo de áreas, utilizando para ello geometría y álgebra, esto es, conociendo la fórmula del cuadrado y del triángulo se iban calculando las áreas sucesivas que formaban la figura a calcular, y posteriormente realizando el sumatorio de las áreas parciales se obtenía una cifra aproximada de su área total. Esto fue así hasta el descubrimiento de la integral y la derivada, operaciones fundamentales para dar un salto cualitativo en el cálculo de magnitudes cambiantes en el tiempo. ¿Y cuál sería la aplicación práctica de conocer los resultados de estas operaciones matemáticas? Dada la estrecha relación de las tablas de logaritmos y funciones trigonométricas con el cálculo infinitesimal, ya que ambas surgen como herramientas esenciales para abordar problemas que implican límites, derivadas e integrales permiten modelar y resolver problemas complejos en los que las cantidades cambian de manera continua. En física y astronomía, son imprescindibles para resolver problemas de movimiento y órbitas de planetas, en el campo de la ingeniería para trabajar con problemas de estructuras (tensiones, esfuerzos), análisis de señales radioeléctricas o diferencias de magnitudes / concentraciones en un periodo de tiempo (cambio de propiedades como presión, volumen y temperatura), algo absolutamente fundamental y necesario para el desarrollo de la tecnología hasta el día de hoy. El cálculo infinitesimal es una herramienta fundamental que subyace en prácticamente todas las áreas científicas y tecnológicas. Esto dió lugar a nuevos conceptos como el de área bajo la curva (AUC).

La Máquina Analítica no tiene pretensiones de crear nada. Puede hacer cualquier cosa que sepamos ordenarle que realice.​

Ada Lovelace.

El segundo intento de Charles Babbage por construir una máquina automática de cálculo de propósito general fue la denominada “Máquina Analítica“, la que podría considerarse como la primera computadora moderna de la historia. Esta máquina no utilizaba, al igual que su antecesora, energía eléctrica, sino que también sería impulsada teóricamente por vapor. Decir como curiosidad que esta máquina inspiró a los escritores William Gibson y Bruce Sterling la novela “La máquina diferencial” (1990) nominada al Premio Nébula a la mejor novela de ciencia ficción en 1991 y al premio John W. Campbell en 1992.​ Una obra de steampunk, género que no había existido jamás hasta antes de este libro creando así un nuevo subgénero dentro del cyberpunk.

La Máquina Analítica tenía como propósito ser capaz de realizar cualquier tipo de operación numérica propuesta, siendo el primer dispositivo que agruparía todos los elementos de los que están compuestos los actuales ordenadores modernos, esto es, unidad de entrada, en este caso se utilizaban tarjetas perforadas, como las que se empleaban en la máquina de telar de Jacquard inventada en 1801, la cual era capaz de ejecutar patrones textiles a partir de la información contenida en una tarjeta perforada, también poseía una unidad de memoria capaz de almacenar 1000 números de 50 dígitos cada uno (aproximadamente 16,2 kB) y una unidad central de procesamiento (CPU) digámoslo así, “analógica” diseñada y construida con tambores giratorios llamados “barriles”, Babbage no utilizó relés electromecánicos (que fueron inventados en 1835) y se centró por completo en el uso de la fuerza mecánica como energía activadora de su dispositivo. Finalmente la máquina poseía un dispositivo de impresión (si, una proto-impresora) que imprimía los resultados en unas tablas diseñadas para tal propósito (vídeo a pie de artículo), estas posteriormente podían llevarse a una imprenta para su impresión a gran escala. Como podemos apreciar, Charles Babbage concibió los elementos principales de un computador hasta el punto de tener la capacidad de procesar la lógica de tres elementos esenciales en los lenguajes de programación actuales, datos secuenciales, bucles y condicionales, lo cual hacía que la máquina de Charles Babbage fuera un dispositivo Turing completo (concepto acuñado más tarde, en 1936, por Alan Turing), es decir, un sistema capaz de realizar cualquier cálculo computacional que pudiera ser descrito mediante un algoritmo. Babbage siguió trabajando en sucesivos diseños de la Máquina Analítica hasta su muerte, sin llegar a construir nunca un prototipo funcional.

Máquina analítica de Charles Babbage

Llegado este punto es donde Ada Lovelace entra en escena marcando el punto diferencial en todo el trabajo previo realizado por su amigo Charles Babbage, Ada fue la persona que tuvo la visión conceptual de una máquina que no sólamente procesara números, sino símbolos y problemas lógicos, su estimado amigo Charles estaba tan inmerso en el proceso creativo del diseño de la máquina que perdió el punto de vista conceptual, sin embargo Ada si lo supo ver inmediatamente, ella imaginó una máquina capaz de procesar cualquier conjunto de instrucciones indicadas a la máquina, los números eran un simple ejemplo que podrían transformarse en símbolos o letras, definiendo así una capa de abstracción adicional en el diseño del concepto de computador transformando una calculadora de números en una máquina lógica programable, y para ello llevó a cabo el que es considerado el primer algoritmo computacional conocido que fue recogido en la “Nota G” de su anexo al artículo que el matemático italiano Luigi Menabrea publicó tras el viaje de Babbage a la Universidad de Turín donde acudió a explicar el funcionamiento de la “Máquina Analítica“. Ada traduciría el artículo al inglés añadiéndole un anexo llamado “Notas” (con el doble de extensión que el propio artículo), en la “Nota G” podemos ver el algoritmo de Ada Lovelace diseñado para realizar el cálculo de los números de Bernoulli. Las notas de Ada se publicaron en la revista Scientific Memoir en septiembre de 1843, con el título de «Sketch of the analytical engine invented by Charles Babbage»,​ que firmó con sus iniciales A. A. L. Esto convirtió a Ada Lovelace consciente o inconscientemente, pero de facto, en la primera mujer programadora de la historia.

Definición de algoritmo: un algoritmo es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.

Fuente: Wikipedia

Aquí comenzó la historia moderna del software y el hardware, Charles Babbage con su mente lógica, precisa, y matemática fue el genio que concibió la máquina con la diferenciación de elementos necesarios que conforman los ordenadores modernos, y Ada Lovelace, formada en matemáticas, música, poesía, dotada de una imaginación e inteligencia a la altura de su colega, capaz de analizar la estructura lógica y funcional de la Máquina Analítica diseñó la primera aplicación de software de la historia con una visión inspiradora al imaginar un mundo futuro donde máquinas como la de su colega ejecutarían las órdenes dadas de manera automática, una revolución a nivel global, la transformación del mundo hacia la digitalización de la información y los procesos. Ada Lovelace y Charles Babbage, padres creadores de la computación moderna. Ada, la programadora que supo ver el potencial de las máquinas de computación no limitando su uso al procesamiento de cálculos, sino a cualquier proceso lógico que se le proporcionara al dispositivo y Charles, el inventor, matemático también como ella, un proto hacker capaz de romper sistemas criptográficos de la época como hizo rompiendo la cifra auto llave de Vigenère, un método criptográfico basado en la sustitución polialfabética, sin duda dos fabulosas mentes.

Nota G. Algoritmo de A. Lovelace calculo de Números de Bernoulli – Máquina Analítica de C. Babbage

Finalizar diciendo que hay cierta controversia sobre la autoría de las notas de programación atribuidas a Ada Lovelace, ya que algunos autores afirman que Charles Babbage había preparado con anterioridad dichos algoritmos, no debatiremos aquí esta cuestión ya que se han escrito libros acerca de ello, sin embargo lo innegable es que Ada concibió que los números podrían representar otros conceptos, tales como letras, símbolos, notas musicales, etc… entonces la máquina podría manipularlos según determinadas reglas (software), y ésta es la transición fundamental de una máquina que dió el salto cualitativo de ser un procesador de números a convertirse en una máquina para manipular símbolos y números de acuerdo con unas instrucciones. Esta es la transformación fundamental del cálculo hacia el cómputo de propósito general y que Ada Lovelace si vió y supo poner en valor mientras que Babbage se ofuscaba en el diseño y construcción del hardware, sin duda, una tarea de enorme ingenio y esfuerzo dados los recursos y los conocimientos de la época.

Y hasta aquí la historia de estas dos personas visionarias de la ciencia y las matemáticas, mentes brillantes haciendo historia a través de su conocimiento y perseverancia, tomando como base la observación de la naturaleza y la poética, que es la autentica expresión del alma a través de versos en mayor o menor medida abstractos, simbólicos, surrealistas a veces como los de García Lorca en “Poeta en Nueva York” o trascendentes con el ser humano como los de Walt Whitman.

La programación es abstracción, un lenguaje propio de las ciencias de la computación, existen muchos lenguajes, entre ellos el matemático, el filosófico, el no verbal, el escrito, el metalenguaje… todos ellos conforman la expresión manifiesta del pensamiento y alma humanas a través de creaciones artísticas y científicas increíbles, magníficas, obras de titanes realizadas por personas casi comunes. Una vez más, desde nuestro minúsculo rincón rendimos tributo a los más grandes entre los grandes, y es que esencialmente Cum Lingus Communicamus (Con el lenguaje comunicamos). Como diría Noam Chomsky, todo está en el lenguaje.

Cuanto más estudio más insaciable siento que es mi genio para ello

Ada Lovelace

Demostración de uso de la Máquina diferencial de Charles Babbage.
Constructing Charles Babbage’s Analytical Engine https://blog.plan28.org


0,0
0,0 de 5 estrellas (basado en 0 reseñas)
Excelente0%
Muy buena0%
Media0%
Mala0%
Muy mala0%

No hay reseñas todavía. Sé el primero en escribir una.

Este sitio web utiliza cookies y solicita sus datos personales para mejorar su experiencia de navegación. We are committed to protecting your privacy and ensuring your data is handled in compliance with the General Data Protection Regulation (GDPR).