Máquina analítica

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Un modelo parcial de la máquina analítica de Babbage ensamblado por su hijo Henry en 1910, ubicado en el Estella City.[1]

La máquina analítica es el diseño de un computador moderno de uso general realizado por el profesor británico de matemática Charles Babbage,[2] que representó un paso importante en la historia de la informática. Fue inicialmente descrita en 1816, aunque Babbage continuó refinando el diseño hasta su muerte en 1871.[3] La máquina no pudo construirse debido a razones de índole política pues hubo detractores por un posible uso de la máquina para fines bélicos. Computadores que fueran lógicamente comparables a la máquina analítica sólo pudieron construirse 100 años más tarde.[4] [5]

Algunos piensan que las limitaciones tecnológicas de la época eran un obstáculo que habría impedido su construcción; otros piensan que la tecnología de la época no alcanzaba para construir la máquina de haberse obtenido financiación y apoyo político al proyecto.

Historia[editar]

La máquina analítica de Babbage, como se puede apreciar en el Science Museum de Londres.

El primer intento de Charles Babbage para diseñar una máquina fue la máquina diferencial, que fue un computador diseñado específicamente para construir tablas de logaritmos y de funciones trigonométricas evaluando polinomios por aproximación. Si bien este proyecto no vio la luz por razones económicas y personales, Babbage comprendió que parte de su trabajo podía ser aprovechado en el diseño de un computador de propósito general, de manera que inició el diseño de la máquina analítica.[6]

La máquina analítica debía funcionar con un motor a vapor y habría tenido 30 m de largo por 10 de ancho. Para la entrada de datos y programas había pensado utilizar tarjetas perforadas, mecanismo ya utilizado en la época para dirigir diversos equipos mecánicos. La salida debía producirse por una impresora, un equipo de dibujo y una campana. La máquina debía también perforar tarjetas que podrían ser leídas posteriormente. La máquina analítica trabajaba con una aritmética de coma fija en base 10 y poseía una memoria capaz de almacenar 1.000 números de 50 dígitos cada uno. Una unidad aritmética estaría encargada de realizar las operaciones aritméticas.

El lenguaje de programación que sería utilizado era similar a los actuales lenguajes ensambladores. Era posible realizar bucles y condicionales de manera que el lenguaje propuesto habría sido Turing-completo. Se utilizaban tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, una para constantes numéricas y otra para operaciones de almacenamiento y recuperación de datos de la memoria, y la transferencia de datos entre la unidad aritmética y la memoria. Se disponía de tres lectores diferentes para los tres tipos de tarjetas.

En 1842, el matemático italiano Luigi Menabrea, quien se había encontrado con Babbage durante un viaje de éste por Italia, escribió una descripción de la máquina en francés. En 1843, esa descripción fue traducida al inglés y anotada de forma extensa por Ada King, Condesa de Lovelace, quien ya se había interesado en la máquina unos años antes. Como reconocimiento a su trabajo, ella ha sido descrita en muchas ocasiones como la primera programadora. El Lenguaje de programación Ada actualmente utilizado lleva su nombre.

Diseño[editar]

El primer intento de Babbage en un dispositivo de computación mecánica, la máquina diferencial, fue una máquina de propósito especial diseñada para resolver logaritmos y funciones trigonométricas mediante la evaluación de las diferencias finitas para crear polinomios aproximados. La construcción de esta máquina nunca se llegó a completar, Babbage tenía conflictos con el ingeniero superior, Joseph Clement, y en última instancia, el gobierno británico retiró el financiamiento para su proyecto.

Durante este proyecto, se dio cuenta que un diseño mucho más general, la máquina analítica, era posible. El trabajo en el diseño de la máquina analítica empezó en 1835.

La entrada, que consiste en programas y datos, tenía que ser proporcionada a la máquina a través de tarjetas perforadas, un método que se utilitzaba en el momento de dirigir telares mecánicos como el telar de Jacquard. Para la salida, la máquina tendría una impresora, un trazador de curva y una campana. La máquina también sería capaz de perforar los números en las tarjetas para ser leídas más tarde. Utilizó una aritmética de punto fijo en base 10.

No había una memoria capaz de almacenar 1.000 números de 40 dígitos decimales cada uno (aproximadamente 16,2 kB) Una unidad aritmética sería capaz de realizar las cuatro operaciones aritméticas, además de las comparaciones y las raíces cuadradas. Inicialmente (1838) fue concebido como la máquina diferencial curvada sobre sí misma, en una disposición generalmente circular, con la memoria larga que salía de un lado. Dibujos posteriores (1858) muestran un diseño de cuadrícula regularizado.

Igual que la unidad central de procesamiento (CPU) de un ordenador moderno, el molino se basaría en sus propios procedimientos internos para ser almacenada en forma de clavijas insertadas en tambores giratorios llamados "barriles", para llevar a cabo algunas de las instrucciones más complejas del programa de usuario.

El lenguaje de programación utilizado para los usuarios era similar a los lenguajes de ensambladores modernos. Los bucles y bifurcaciones condicionales eran posibles, y por lo tanto el lenguaje utilizado habría estado Turing completo como se define más adelante por Alan Turing.

Se utilizaron tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, una para constantes numéricas y otra para las operaciones de cárrega i almacenaje, la transferencia de los números de la memoria para la unidad aritmética o al revés. Había tres lectores separados para los tres tipos de tarjetas. Babbage desarrolló unas dos docenas de programas para la máquina analítica entre 1837 y 1840, y un programa más adelante. Estos programas tratan polinomios, fórmulas iterativas, el método de reducción de Gauss, y los nombres de Bernoulli.

En 1842, el matemático italiano Luigi Federico Menabrea publicó una descripción de la máquina basada en una conferencia de Babbage en francés. En 1843, la descripción fue traducida al inglés ampliada por Ada Lovelace, quien se había interesado en la máquina ocho años antes. En reconocimiento a sus ampliaciones en la publicación de Menabrea, que incluía una forma de calcular los nombres de Bernoulli utilizando la máquina, ha sido reconocida como la primera programadora.

Problemas en su construcción[editar]

Aunque los planos eran probablemente correctos, las disputas con el artesano que construyó las partes y el fin de los fondos por parte del gobierno, la hicieron imposible de construir. El problema era debido a que los engranajes en esa época aún no aguantaban mucho esfuerzo y con el calor se deformaban. El proveedor de Babbage no podía hacer nada para evitarlo por lo cual mantenían largas discusiones. Babbage tampoco podía buscar otro proveedor.

Construcción parcial[editar]

En 1878, un comité de la Asociación británica para el avance de la ciencia recomendó no construir la máquina analítica, por lo que Babbage no tuvo acceso a fondos del gobierno.

En 1910, el hijo de Babbage, Henry P. Babbage informó que una parte del dispositivo de cálculo y el equipo de impresión habían sido construidos y utilizados para calcular una lista de múltiplos de Pi (con errores). Esto sólo era una pequeña parte de la máquina analítica que no podía ser programada ni disponía de memoria.

En 1991 el museo de ciencias de Londres, siguiendo los planos originales de Charles Babbage, con escasas modificaciones sobre los mismos, construyó la máquina diferencial. Y en la siguiente década se construyó la impresora de la máquina diferencial.

Influencia[editar]

La máquina analítica fue prácticamente olvidada salvo por tres inventores: Percy Ludgate, Leonardo Torres y Quevedo y Vannevar Bush que independientemente propusieron, a principios del siglo XX, diseños de máquinas analíticas basados en la de Babbage.

Los trabajos de George Stibitz de Bell Laboratories en Nueva York justo antes de la Segunda Guerra Mundial y de Howard Aiken en la Universidad de Harvard, durante y justo después de la guerra están estrechamente relacionado con el trabajo de Babbage sobre la máquina analítica. Ambos construyeron computadores electromagnéticos estrechamente relacionados con la máquina analítica, si bien ninguno de estos equipos puede ser considerado como un computador programable moderno. La máquina de Aiken fue financiada por IBM y fue llamada el Harvard Mark I.

De la autobiografía de Babbage:

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

Comparación con otros ordenadores primerizos[editar]

Si la máquina analítica hubiera estado construida, hubiera sido digital, programable y Turing completo. Luigi Federico Menabrea informó en el bocceto de la máquina analítica: "El Sr. Babbage cree que puede, por su máquina, formar el producto de dos nombres, cada uno con veinte figuras, en tres minutos". En comparación, Harvard Mark I podría realizar la misma función en tan solo seis segundos. Un PC modernos puede hacer los mismo en menos de una millonésima de segundo. Cabe destacar pero, que la máquina analítica de Babbage fue descrita más de cien años antes de cualquier de los dispositivos computacionales nombrados y por lo tanto, no es de extrañar que fuera mucho más lenta.

Nombre Primera operación Sistema numérico Mecanismo de computación Programario Turing completo Memoria
Máquina diferencial No construida hasta los 1990 Decimal Mecánico No programable; las constantes numéricas inciales de diferencias polinómicas se configuran físicamente No Ruedas en los ejes
Máquina analítica No construida aún Decimal Mecánico Tarjetas perforadas Ruedas en los ejes
Bombe (Polonia, Reino Undo, EUA) 1939 (Polonia), marzo 1940 (Reino Unido), mayo 1943 (EUA) Caracter Electromecánico No programable; los parámetros de entrada de cifrado se especifican por cables de conexión No Rotores
Zuse Z3 (Alemania) Mayo de 1941 Binario

Coma flotante

Electromecánico Película de 35mm Desconocido, en principio sí Relés mecánicos
Atanasoff Berry Computer (EUA) 1942 Binario Electrónico No programable; sistema lineal de entrada de coeficientes utilizando tarjetas perforadas No Condensador de memoria regenerativa
Colossus Mark 1 (Reino Unido) Diciembre de 1943 Binario Electrónico Cables de conexión e interruptores No Válvulas termoiónicas (tubos de vacío)
Harvard Mark I – IBM ASCC (EUA) Mayo de 1944 Decimales Electromecánico Cinta de 24 canales perforados No Relés mecánicos[19]
Zuse Z4 (Alemania) Marzo 1945 (o 1948)[20] Binario

Coma flotante

Electromecánico Película de 35mm Relés mecánicos
ENIAC (EUA) Julio de 1946 Decimal Electrónico Cables de conexión e interruptores Tríodo biestable
SSEM (Manchester Baby) (Reino Unido) 1948 Binario Electrónico Teclado[21] (primera computadora electrónica digital de programa almacenado) Tubo Williams

Referencias[editar]

  1. «Babbage's Analytical Engine, 1834-1871. (Trial model)». Science Museum. 16 de enero de 2007. Consultado el 1 de agosto de 2012. 
  2. John Graham-Cumming (4 de octubre de 2010). «The 100-year leap». O'Reilly Radar. Consultado el 1 de agosto de 2012. 
  3. «The Babbage Engine: The Engines». Computer History Museum. 2016. Consultado el 7 de mayo de 2016. 
  4. «Babbage». Online stuff. Science Museum. 19 de enero de 2007. Consultado el 1 de agosto de 2012. 
  5. «Let's build Babbage's ultimate mechanical computer». opinion. New Scientist. 23 de diciembre de 2010. Consultado el 1 de agosto de 2012. 
  6. Bromley, 1982, p. 196.

Bibliografía utilizada[editar]

Enlaces externos[editar]