Motor diferencial

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
El motor de diferencia del Museo de las Ciencias de Londres, el primero construido en realidad del diseño de Babbage. El diseño tiene la misma precisión en todas las columnas, pero al calcular polinomios, la precisión en las columnas de orden superior podría ser menor.

Un motor de diferencias es una calculadora mecánica automática diseñada para tabular funciones polinómicas. Fue diseñado en la década de 1820 y fue creado por primera vez por Charles Babbage. El nombre, el motor de diferencias, se deriva del método de diferencias divididas, una forma de interpolar o tabular funciones mediante el uso de un pequeño conjunto de coeficientes polinómicos. Algunas de las funciones matemáticas más comunes usadas en ingeniería, ciencia y navegación fueron, y aún son, computables con el uso de la capacidad del motor de diferencias para calcular funciones logarítmicas y trigonométricas, que pueden aproximarse mediante polinomios, por lo que una diferencia El motor puede calcular muchas tablas útiles de números.

Historia

Cierre del motor diferencial del Museo de las Ciencias de Londres mostrando algunas de las ruedas número y los engranajes sectoriales entre las columnas. Los engranajes del sector a la izquierda muestran claramente los dientes de doble altura. Los engranajes del sector de la derecha media están frente al lado trasero del motor, pero los dientes de un solo alto son claramente visibles. Observe cómo se reflejan las ruedas, contando de izquierda a derecha, o contando de izquierda a derecha. También note la pestaña de metal entre "6" y "7". Esa pestaña recorre la palanca de carga en la espalda cuando "9" pasa a "0" en la parte delantera durante los pasos de adición (Paso 1 y Paso 3).

La noción de una calculadora mecánica para funciones matemáticas se remonta al mecanismo de Anticitera del siglo II a. C., mientras que los primeros ejemplos modernos se atribuyen a Pascal y Leibniz en el siglo XVII. En 1784, J. H. Müller, un ingeniero del ejército de Hesse, ideó y construyó una máquina de sumar y describió los principios básicos de una máquina de diferencias en un libro publicado en 1786 (la primera referencia escrita a una máquina de diferencias data de 1784), pero él no pudo obtener financiación para avanzar con la idea.

Las máquinas diferenciales de Charles Babbage

Charles Babbage comenzó a construir un motor de pequeña diferencia en c. 1819 y lo había completado en 1822 (Máquina Diferencial 0). Anunció su invento el 14 de junio de 1822, en un artículo para la Royal Astronomical Society, titulado 'Nota sobre la aplicación de maquinaria para el cálculo de tablas astronómicas y matemáticas'. Esta máquina usaba el sistema numérico decimal y funcionaba girando una manivela. El gobierno británico estaba interesado, ya que producir tablas requería mucho tiempo y era costoso, y esperaban que el motor diferencial hiciera que la tarea fuera más económica.

En 1823, el gobierno británico le dio a Babbage £1700 para comenzar a trabajar en el proyecto. Aunque el diseño de Babbage era factible, las técnicas metalúrgicas de la época no podían fabricar económicamente piezas con la precisión y la cantidad requeridas. Por lo tanto, la implementación resultó ser mucho más costosa y de dudoso éxito que la estimación inicial del gobierno. Según el diseño de 1830 tendría unas 25.000 piezas y habría pesado unas 4 toneladas. En 1832, Babbage y Joseph Clement produjeron un pequeño modelo de trabajo (una séptima parte de la sección de cálculo de Difference Engine No. 1, que estaba destinado a operar con números de 20 dígitos y diferencias de sexto orden) que operaba con números de 6 dígitos. y diferencias de segundo orden. Lady Byron describió haber visto el prototipo en funcionamiento en 1833: “Ambos fuimos a ver la máquina pensante (o eso parece) el lunes pasado. Elevó varios números a las potencias 2 y 3, y extrajo la raíz de una ecuación cuadrática." El trabajo en el motor más grande se suspendió en 1833.

Cuando el gobierno abandonó el proyecto en 1842, Babbage había recibido y gastado más de 17 000 libras esterlinas en el desarrollo, que aún no alcanzaba para lograr un motor que funcionara. El gobierno valoraba solo la producción de la máquina (mesas producidas económicamente), no el desarrollo (a un costo impredecible) de la máquina en sí. Babbage no reconoció, o no quiso reconocer, esa situación. Mientras tanto, la atención de Babbage se centró en el desarrollo de un motor analítico, lo que socavó aún más la confianza del gobierno en el eventual éxito del motor diferencial. Al mejorar el concepto como motor analítico, Babbage había dejado obsoleto el concepto de motor diferencial, y el proyecto para implementarlo era un completo fracaso a los ojos del gobierno.

La máquina diferencial n.° 1 incompleta se exhibió al público en la Exposición Internacional de 1862 en South Kensington, Londres.

Babbage pasó a diseñar su motor analítico mucho más general, pero luego produjo un "Motor diferencial n.º 2" mejorado. diseño (números de 31 dígitos y diferencias de séptimo orden), entre 1846 y 1849. Babbage pudo aprovechar las ideas desarrolladas para el motor analítico para hacer que el nuevo motor de diferencia calculara más rápidamente utilizando menos piezas.

Motor de cálculo de Scheutzian

El tercer motor de diferencia de Per Georg Scheutz

Inspirándose en el motor diferencial de Babbage en 1834, Per Georg Scheutz construyó varios modelos experimentales. En 1837 su hijo Edward propuso construir un modelo de trabajo en metal, y en 1840 terminó la parte de cálculo, capaz de calcular series con números de 5 dígitos y diferencias de primer orden, que luego se amplió a tercer orden (1842). En 1843, tras añadir la parte de impresión, se completó el modelo.

En 1851, financiada por el gobierno, comenzó la construcción de la máquina más grande y mejorada (números de 15 dígitos y diferencias de cuarto orden), que finalizó en 1853. La máquina se demostró en la Exposición Universal de París., 1855 y luego vendido en 1856 al Observatorio Dudley en Albany, Nueva York. Entregada en 1857, fue la primera calculadora de impresión vendida. En 1857, el gobierno británico ordenó la siguiente máquina diferencial de Scheutz, que se construyó en 1859. Tenía la misma construcción básica que la anterior, con un peso aproximado de 10 cwt (1100 lb; 510 kg).

Otros

Martin Wiberg mejoró la construcción de Scheutz (c. 1859, su máquina tiene la misma capacidad que la de Scheutz: 15 dígitos y cuarto orden) pero usó su dispositivo solo para producir y publicar tablas impresas (tablas de interés en 1860 y tablas logarítmicas en 1875).

Alfred Deacon de Londres en c. 1862 produjo un motor de pequeñas diferencias (números de 20 dígitos y diferencias de tercer orden).

El estadounidense George B. Grant comenzó a trabajar en su máquina calculadora en 1869, sin conocer los trabajos de Babbage y Scheutz (Schentz). Un año después (1870) aprendió sobre los motores diferenciales y procedió a diseñar uno él mismo, describiendo su construcción en 1871. En 1874 el Boston Thursday Club levantó una suscripción para la construcción de un modelo a gran escala, que fue construido en 1876. se podía expandir para mejorar la precisión y pesaba alrededor de 2000 libras (910 kg).

Christel Hamann construyó una máquina (números de 16 dígitos y diferencias de segundo orden) en 1909 para las "Tablas de Bauschinger y Peters" ("Tablas logarítmicas-trigonométricas con ocho decimales"), que se publicó por primera vez en Leipzig en 1910. Pesaba alrededor de 40 kilogramos (88 lb).

Burroughs Corporation alrededor de 1912 construyó una máquina para la Oficina de Almanaque Náutico que se utilizó como un motor diferencial de segundo orden. Más tarde fue reemplazado en 1929 por un Burroughs Clase 11 (números de 13 dígitos y diferencias de segundo orden, o números de 11 dígitos y [al menos hasta] diferencias de quinto orden).

Alexander John Thompson alrededor de 1927 construyó una máquina de integración y diferenciación (números de 13 dígitos y diferencias de quinto orden) para su tabla de logaritmos "Logarithmetica britannica". Esta máquina estaba compuesta por cuatro calculadoras Triumphator modificadas.

Leslie Comrie en 1928 describió cómo usar la máquina calculadora Brunsviga-Dupla como un motor diferencial de segundo orden (números de 15 dígitos). También señaló en 1931 que National Accounting Machine Class 3000 podría usarse como un motor diferencial de sexto orden.

Construcción de dos motores diferenciales n.° 2 en funcionamiento

Durante la década de 1980, Allan G. Bromley, profesor asociado de la Universidad de Sídney, Australia, estudió los dibujos originales de Babbage para los motores diferenciales y analíticos en la biblioteca del Museo de Ciencias de Londres. Este trabajo llevó al Museo de Ciencias a construir una sección de cálculo de trabajo del motor diferencial No. 2 de 1985 a 1991, bajo la dirección de Doron Swade, el entonces Curador de Informática. Esto fue para celebrar el 200 aniversario del nacimiento de Babbage en 1991. En 2002, también se completó la impresora que Babbage diseñó originalmente para el motor diferencial. La conversión de los dibujos de diseño originales en dibujos adecuados para los fabricantes de ingeniería. El uso reveló algunos errores menores en el diseño de Babbage (posiblemente introducido como una protección en caso de que los planos fueran robados), que tuvieron que ser corregidos. Una vez completado, tanto el motor como la impresora funcionaron a la perfección y aún lo hacen. El motor diferencial y la impresora se construyeron con las tolerancias alcanzables con la tecnología del siglo XIX, lo que resolvió un debate de larga data sobre si el diseño de Babbage habría funcionado (una de las razones anteriormente expuestas para no completar el diseño de Babbage).;s motores habían sido que los métodos de ingeniería no estaban suficientemente desarrollados a finales de la era georgiana). Consta de 8.000 piezas y pesa unas 5 toneladas.

El propósito principal de la imprenta es producir planchas estereotipadas para su uso en prensas de impresión, lo que hace presionando el tipo en yeso blando para crear un flong. Babbage tenía la intención de que los resultados del motor se transmitieran directamente a la impresión masiva, habiendo reconocido que muchos errores en las tablas anteriores no eran el resultado de errores de cálculo humanos sino de errores en el proceso de composición manual. La salida de papel de la impresora es principalmente un medio para comprobar el rendimiento del motor.

Además de financiar la construcción del mecanismo de salida para el motor diferencial del Museo de Ciencias, Nathan Myhrvold encargó la construcción de un segundo motor diferencial n.º 2 completo, que estaba en exhibición en el Museo de Historia de la Computación en Mountain View, California desde el 10 de mayo de 2008 hasta el 31 de enero de 2016. Desde entonces, se transfirió a Intellectual Ventures en Seattle, donde se exhibe justo afuera del vestíbulo principal.

Operación

La máquina Mountain View en acción

El motor de diferencias consta de varias columnas, numeradas del 1 al N. La máquina puede almacenar un número decimal en cada columna. La máquina solo puede agregar el valor de una columna n + 1 a la columna n para producir el nuevo valor de n. La columna N solo puede almacenar una constante, la columna 1 muestra (y posiblemente imprime) el valor del cálculo en la iteración actual.

El motor está programado estableciendo valores iniciales a las columnas. La columna 1 se fija en el valor del polinomio al comienzo de la computación. La columna 2 se establece en un valor derivado de los derivados primero y superior del polinomio al mismo valor de X. Cada una de las columnas de 3 a 3 N se establece en un valor derivado del derivados primero y superior del polinomio.

Tiempo

En el diseño Babbage, una iteración (es decir, un conjunto completo de adición y operaciones de transporte) ocurre para cada rotación del eje principal. Odd e incluso columnas realizan alternativamente una adición en un ciclo. La secuencia de operaciones para columna es así:

  1. Cuenta arriba, recibiendo el valor de la columna (Aplicación)
  2. Realizar la propagación en el valor contado
  3. Cuenta hasta cero, agregando a la columna
  4. Reiniciar el valor contado a su valor original

Los pasos 1,2,3,4 ocurren para cada columna impar, mientras que los pasos 3,4,1,2 ocurren para cada columna par.

Si bien el diseño original de Babbage colocó la manivela directamente sobre el eje principal, más tarde se descubrió que la fuerza requerida para hacer girar la máquina habría sido demasiado grande para que una persona la manejara cómodamente. Por lo tanto, los dos modelos que se construyeron incorporan un engranaje de reducción de 4:1 en el cigüeñal y se requieren cuatro revoluciones del cigüeñal para realizar un ciclo completo.

Pasos

Cada iteración crea un nuevo resultado y se logra en cuatro pasos que corresponden a cuatro giros completos del controlador que se muestra en el extremo derecho de la siguiente imagen. Los cuatro pasos son:

  • Paso 1. Todas las columnas numeradas (2,4,6,8) se añaden a todas las columnas numeradas impares (1,3,5,7) simultáneamente. Un brazo de barrido interior gira cada columna para causar cualquier número en cada rueda para contar hasta cero. A medida que una rueda gira a cero, transfiere su valor a un equipo sectorial situado entre las columnas extrañas/incluso. Estos valores se transfieren a la columna extraña que los hace contar. Cualquier valor de columna extraño que pase de "9" a "0" activa una palanca de carga.
  • Paso 2. La propagación de carga es realizada por un conjunto de brazos espirales en la parte posterior que encuestan las palancas de carga de una manera helicoidal para que una carga a cualquier nivel pueda aumentar la rueda por encima de uno. Eso puede crear una carga, por lo que los brazos se mueven en una espiral. Al mismo tiempo, los engranajes del sector se devuelven a su posición original, lo que hace que aumenten las ruedas de columna incluso de vuelta a sus valores originales. Los engranajes del sector son de doble altura en un lado para que puedan ser elevados a la separación de las extrañas ruedas de columna mientras todavía permanecen en contacto con las ruedas de la columna.
  • Paso 3. Esto es como Paso 1, excepto que son columnas extrañas (3,5,7) añadidas incluso columnas (2,4,6), y la columna uno tiene sus valores transferidos por un equipo sector al mecanismo de impresión en el extremo izquierdo del motor. Cualquier valor de columna que pase de "9" a "0" activa una palanca de carga. El valor de la columna 1, el resultado del polinomio, se envía al mecanismo de impresora adjunto.
  • Paso 4. Esto es como Paso 2, pero para hacer lleva incluso columnas, y devolviendo columnas extrañas a sus valores originales.

Sustracción

El motor representa números negativos como complementos de diez. La resta equivale a la suma de un número negativo. Esto funciona de la misma manera que las computadoras modernas realizan la resta, conocida como complemento a dos.

Método de las diferencias

Motor de diferencia totalmente operativo en el Museo de Historia Informática en Mountain View, California

El principio de un motor diferencial es el método de Newton de diferencias divididas. Si el valor inicial de un polinomio (y de sus diferencias finitas) se calcula de algún modo para algún valor de X, el motor de diferencias puede calcular cualquier número de valores cercanos, utilizando el método generalmente conocido como método de las diferencias finitas. Por ejemplo, considere el polinomio cuadrático

con el objetivo de tabular los valores p(0), p(1), p(2), p (3), p(4), etc. La siguiente tabla está construida de la siguiente manera: la segunda columna contiene los valores del polinomio, la tercera columna contiene las diferencias de los dos vecinos de la izquierda en la segunda columna y la cuarta columna contiene las diferencias de los dos vecinos de la tercera columna:

xp()x) = 2x2 3 - 3x + 2diff1(x) =p()x+ 1) − p(x)diff2(x.x+ 1) − diff1(x)
02−14
1134
2474
31111
422

Los números en la tercera columna de valores son constantes. De hecho, partiendo de cualquier polinomio de grado n, el número de columna n + 1 siempre será constante. Este es el hecho crucial detrás del éxito del método.

Esta tabla se construyó de izquierda a derecha, pero es posible continuar construyéndola de derecha a izquierda en diagonal para calcular más valores. Para calcular p(5) use los valores de la diagonal más baja. Comience con el valor constante de la cuarta columna de 4 y cópielo hacia abajo en la columna. Luego continúe con la tercera columna sumando 4 a 11 para obtener 15. Luego continúe con la segunda columna tomando su valor anterior, 22 y sumando los 15 de la tercera columna. Por lo tanto, p(5) es 22 + 15 = 37. Para calcular p(6), iteramos el mismo algoritmo en p (5) valores: tome 4 de la cuarta columna, agregue eso al valor 15 de la tercera columna para obtener 19, luego agregue eso al valor 37 de la segunda columna para obtener 56, que es p(6). Este proceso puede continuar ad infinitum. Los valores del polinomio se producen sin tener que multiplicar. Un motor diferencial solo necesita poder sumar. De un ciclo al siguiente, necesita almacenar 2 números, en este ejemplo (los últimos elementos en la primera y segunda columna). Para tabular polinomios de grado n, se necesita suficiente almacenamiento para contener números n.

El motor diferencial n.° 2 de Babbage, construido finalmente en 1991, puede contener 8 números de 31 dígitos decimales cada uno y, por lo tanto, puede tabular polinomios de séptimo grado con esa precisión. Las mejores máquinas de Scheutz podían almacenar 4 números con 15 dígitos cada uno.

Valores iniciales

Los valores iniciales de las columnas se pueden calcular calculando primero manualmente N valores consecutivos de la función y retrocediendo, es decir, calculando las diferencias requeridas.

Col obtiene el valor de la función al comienzo de la computación . Col es la diferencia entre y ...

Si la función a calcular es una función polinomial, expresada como

los valores iniciales se pueden calcular directamente a partir de los coeficientes constantes a0, a1,a2,..., an sin calcular ningún punto de datos. Los valores iniciales son así:

  • Col = a0
  • Col = a1 + a2 + a3 + a4 +... + an
  • Col = 2a2 + 6a3 + 14a4 + 30a5 +...
  • Col = 6a3 + 36a4 + 150a5 +...
  • Col = 24a4 + 240a5 +...
  • Col = 120a5 +...

Uso de derivados

Muchas funciones de uso común son funciones analíticas, que se pueden expresar como series de potencias, por ejemplo, como una serie de Taylor. Los valores iniciales se pueden calcular con cualquier grado de precisión; si se hace correctamente, el motor dará resultados exactos para los primeros N pasos. Después de eso, el motor solo dará una aproximación de la función.

La serie Taylor expresa la función como una suma obtenida de sus derivados en un punto. Para muchas funciones los derivados superiores son triviales para obtener; por ejemplo, la función sine en 0 tiene valores de 0 o para todos los derivados. Ajuste 0 como el comienzo de la computación obtenemos la serie de Maclaurin simplificada

Se puede usar el mismo método para calcular los valores iniciales de los coeficientes que para las funciones polinómicas. Los coeficientes de la constante polinomial ahora tendrán el valor

Ajuste de curvas

El problema con los métodos descritos anteriormente es que los errores se acumularán y la serie tenderá a divergir de la verdadera función. Una solución que garantiza un error máximo constante es utilizar el ajuste de curvas. Se calcula un mínimo de N valores espaciados uniformemente a lo largo del rango de los cálculos deseados. Usando una técnica de ajuste de curvas como la reducción gaussiana, se encuentra una interpolación polinomial de grado N−1 de la función. Con el polinomio optimizado, los valores iniciales se pueden calcular como se indicó anteriormente.

Contenido relacionado

Steyr-Puch Haflinger

Teorema de Casorati-Weierstrass

Athlon

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save