Механизм различий

редактировать
Механизм различий Лондонского Музея науки, первый, фактически построенный по проекту Бэббиджа. Конструкция имеет одинаковую точность для всех столбцов, но при вычислении полиномов точность для столбцов более высокого порядка может быть ниже.

A механизм различий, впервые созданный Чарльзом Бэббиджем, является автоматический механический вычислитель, предназначенный для табулирования полиномиальных функций. Его название происходит от метода разделенных разностей, способа интерполировать или табулировать функции с помощью небольшого набора полиномиальных коэффициентов. Большинство математических функций, обычно используемых инженерами, учеными и мореплавателями, включая логарифмические и тригонометрические функции, могут быть аппроксимированы полиномами, поэтому Механизм различий может вычислять множество полезных таблиц чисел.

Содержание

  • 1 История
    • 1.1 Разностные механизмы Чарльза Бэббиджа
    • 1.2 Механизм вычислений Шейца
    • 1.3 Прочие
    • 1.4 Создание двух рабочих Разностные механизмы № 2
  • 2 Операция
    • 2.1 Сроки
    • 2.2 Шаги
    • 2.3 Вычитание
  • 3 Метод разностей
  • 4 Начальные значения
    • 4.1 Использование производных
    • 4.2 Кривая примерка
  • 5 В других работах
  • 6 См. также
  • 7 Ссылки
  • 8 Дополнительная литература
  • 9 Внешние ссылки

История

Wikisource содержит оригинальный текст, относящийся к этой статье: Astronomische Nachrichten / Том 46 / О новой машине мистера Бэббиджа для расчета и печати математических и астрономических таблиц
Крупный план демонстрации разностной машины Лондонского музея науки g некоторые из числовых колес и секторных шестерен между столбцами. На секторных шестернях слева очень четко видны зубья с двойной высотой. Секторные шестерни справа посередине обращены к задней стороне двигателя, но однозубые высокие зубья хорошо видны. Обратите внимание на зеркальное отображение колес: отсчет слева направо или обратный отсчет слева направо. Также обратите внимание на металлический язычок между цифрами «6» и «7». Эта защелка приводит в действие рычаг переноса сзади, когда цифра «9» переходит в «0» спереди во время этапов добавления (этап 1 и этап 3).

Понятие механического калькулятора для математических функции можно проследить до антикиферского механизма 2-го века до нашей эры, а ранние современные примеры приписываются Паскалю и Лейбницу в 17 веке. В 1784 Дж. Х. Мюллер, инженер в гессенской армии, разработал и построил счетную машину и описал основные принципы разностной машины в книге, опубликованной в 1786 году (первая письменная ссылка на разностную машину датирована 1784 г.), но ему не удалось получить финансирование для развития этой идеи.

Разностные машины Чарльза Бэббиджа

Чарльз Бэббидж начал конструировать небольшую разностную машину в с. 1819 г. и завершил его к 1822 г. (разностная машина 0). Он объявил о своем изобретении 14 июня 1822 года в докладе для Королевского астрономического общества, озаглавленном «Заметка о применении машин для вычисления астрономических и математических таблиц». Эта машина использовала десятичную систему счисления и приводилась в действие поворотом ручки. Британское правительство было заинтересовано, поскольку производство таблиц отнимало много времени и было дорого, и они надеялись, что разностный механизм сделает задачу более экономичной.

В 1823 году британское правительство выделило Бэббиджу 1700 фунтов стерлингов. начать работу над проектом. Хотя конструкция Бэббиджа была осуществима, методы обработки металла той эпохи не могли экономично производить детали с необходимой точностью и количеством. Таким образом, реализация оказалась намного более дорогой и сомнительной в успехе, чем первоначальная оценка правительства. В 1832 году Бэббидж и Джозеф Клемент создали небольшую рабочую модель (одна седьмая вычислительной части разностной машины № 1, которая была предназначена для работы с 20-значными числами и разностями шестого порядка), которая оперировали шестизначными числами и разностями второго порядка. Леди Байрон описала, как видела рабочий прототип в 1833 году: «Мы оба ходили посмотреть мыслящую машину (или так кажется) в прошлый понедельник.... во 2-ю и 3-ю степени и извлекли корень квадратного уравнения ». Работа над более крупным двигателем была приостановлена ​​в 1833 году.

К тому времени, когда правительство отказалось от проекта в 1842 году, Бэббидж получил и потратил на разработку более 17 000 фунтов стерлингов, что по-прежнему не позволяло создать рабочий двигатель. Правительство оценивало только продукцию станка (экономически изготовленные таблицы), а не разработку (с неизвестными и непредсказуемыми затратами для завершения) самой машины. Бэббидж не осознавал или не хотел осознавать это затруднительное положение. Тем временем внимание Бэббиджа переключилось на разработку аналитической машины, что еще больше подорвало уверенность правительства в конечном успехе разностной машины. Усовершенствовав эту концепцию как аналитическую машину, Бэббидж сделал концепцию разностной машины устаревшей, а проект по ее реализации стал полным провалом с точки зрения правительства.

Была поставлена ​​неполная разностная машина № 1. показ для публики на Международной выставке 1862 года в Южном Кенсингтоне, Лондон.

Бэббидж продолжил разработку своей гораздо более общей аналитической машины, но позже создал улучшенную конструкцию «Разностной машины № 2» (31-значные числа и различия седьмого порядка) между 1846 и 1849 годами. Бэббидж смог воспользоваться идеями, разработанными для аналитической машины, чтобы создать новую разностную машину вычислять быстрее при использовании меньшего количества деталей.

вычислительная машина Шойца

Третья разностная машина Пер Георга Шойца

Вдохновленная разностной машиной Бэббиджа в 1834 году Пер Георг Шойц построил несколько экспериментальных моделей. В 1837 году его сын Эдвард предложил построить рабочую модель из металла, а в 1840 году закончил вычислительную часть, способную вычислять ряды с 5-значными числами и разностями первого порядка, которые позже были расширены до третьего порядка (1842 г.). В 1843 году после добавления полиграфической части модель была завершена.

В 1851 году на средства правительства началось строительство более крупной и улучшенной (15-значные числа и различия четвертого порядка) машины, которая закончилась в 1853 году. Машина была продемонстрирована на Всемирной выставке в Париже, 1855 г., а затем продан в 1856 г. обсерватории Дадли в Олбани, Нью-Йорк. Поставленный в 1857 году, это был первый проданный печатный калькулятор. В 1857 году британское правительство заказало следующую разностную машину Шойца, которая была построена в 1859 году. Она имела ту же базовую конструкцию, что и предыдущая, весом около 10 cwt (1,100 lb ; 510 kg ).

Другие

Мартин Виберг улучшил конструкцию Шойца (около 1859 г., его машина имеет ту же мощность, что и машина Шойца - 15-значная и четвертого порядка), но использовал свое устройство только для производства и публикация печатных таблиц (таблицы процентов в 1860 году и логарифмические таблицы в 1875 году).

Альфред Дикон из Лондона примерно в 1862 году создал небольшую разностную машину (20-значные числа и третье -

Американец Джордж Б. Грант начал работать над своей вычислительной машиной в 1869 году, не зная о работах Бэббиджа и Шойца (Шенца). Год спустя (1870) он узнал о разностных двигателях и приступил к разработке одного из них, описав его конструкцию в 1871 году. В 1874 году Бостонский четверг клуб поднял подписку на строительство а-ля Модель в масштабе rge, которая была построена в 1876 году. Она могла быть расширена для повышения точности и весила около 2000 фунтов (910 кг).

Кристель Хаманн построил одну машину (16-значные числа и различия второго порядка) в 1909 году для «Таблиц Баушингера и Петерса» («Логарифмически-тригонометрические таблицы с восемью десятичными знаками»), которые были впервые опубликованы в Лейпциге в 1910 году. Они весили около 40 килограммов (88 фунтов). 342>Burroughs Corporation примерно в 1912 году построила машину для Nautical Almanac Office, которая использовалась как разностная машина второго порядка. Позже в 1929 году он был заменен классом Берроуза 11 (13-значные числа и различия второго порядка или 11-значные числа и [по крайней мере, до] различия пятого порядка).

Александр Джон Томпсон о 1927 построил интегрирующую и разностную машину (13-значные числа и разности пятого порядка) для своей таблицы логарифмов "Logarithmetica britannica". Эта машина состояла из четырех модифицированных калькуляторов Triumphator.

Лесли Комри в 1928 году описал, как использовать вычислительную машину Brunsviga -Dupla в качестве разностной машины второго порядка (15-значные числа). Он также отметил в 1931 году, что National Accounting Machine Class 3000 может использоваться как разностная машина шестого порядка.

Конструирование двух работающих разностных машин №2

В течение 1980-х годов Аллан Дж. Бромли, доцент Сиднейского университета, Австралия, изучил оригинальные рисунки Бэббиджа для разностных и аналитических машин в Музее науки библиотека в Лондоне. Эта работа привела к тому, что Музей науки построил рабочую вычислительную секцию разностной машины № 2 с 1985 по 1991 год под руководством Дорон Суэйд, тогдашнего куратора вычислительной техники. Это было сделано в ознаменование 200-летия со дня рождения Бэббиджа в 1999 году. В 2002 году был закончен также принтер , который Бэббидж первоначально разработал для разностной машины. Преобразование оригинальных проектных чертежей в чертежи, пригодные для использования производителями машиностроения, выявило некоторые незначительные ошибки в конструкции Бэббиджа (возможно, внесенные в качестве защиты на случай кражи чертежей), которые необходимо было исправить. После завершения и двигатель, и его принтер работали безупречно и продолжают работать. Разностный двигатель и принтер были сконструированы с допусками, достижимыми с помощью технологий 19-го века, что разрешило давние споры о том, сработала бы конструкция Бэббиджа. (Одна из причин, по которой двигатель Бэббиджа ранее не была завершена, заключалась в том, что инженерные методы были недостаточно развиты в викторианскую эпоху.)

Основная цель принтера - производить стереотипные пластины. для использования в печатных машинах, что достигается путем вдавливания шрифта в мягкий гипс для создания кромки. Бэббидж предполагал, что результаты Engine будут переданы непосредственно в массовую печать, признав, что многие ошибки в предыдущих таблицах были результатом не ошибок подсчета, сделанных человеком, а ошибки в процессе ручного набора . Вывод бумаги на принтер - это в основном средство проверки работоспособности двигателя.

В дополнение к финансированию создания механизма вывода для разностной машины Музея науки Натан Мирвольд заказал строительство второй полной разностной машины № 2, которая была выставлена ​​на выставке Музей компьютерной истории в Маунтин-Вью, Калифорния с 10 мая 2008 г. по 31 января 2016 г. С тех пор он был передан Intellectual Ventures в Сиэтле где это выставлено рядом с главным вестибюлем.

Операция

Файл: Демонстрация двигателя Бэббиджа pt. 3.webm Воспроизвести медиа Машина в Маунтин-Вью в действии

Механизм различий состоит из ряда столбцов, пронумерованных от 1 до N . Машина может хранить одно десятичное число в каждом столбце. Машина может только добавить значение столбца n + 1 к столбцу n, чтобы получить новое значение n. Столбец N может хранить только константу , столбец 1 отображает (и, возможно, печатает ) значение вычисления на текущей итерации.

Механизм программируется установкой начального значения в столбцы. В столбце 1 установлено значение полинома в начале вычисления. В столбце 2 установлено значение, полученное из первой и более высоких производных полинома с тем же значением X . Каждый из столбцов с 3 по N устанавливается на значение, полученное из (n - 1) {\ displaystyle (n-1)}(n-1) первой и более высоких производных полинома.

Синхронизация

В схеме Бэббиджа одна итерация (т. Е. Один полный набор операций сложения и перенос операций) происходит для каждого вращения главного вала. Нечетные и четные столбцы поочередно выполняют сложение в одном цикле. Последовательность операций для столбца n {\ displaystyle n}n следующая:

  1. Подсчитать, получив значение из столбца n + 1 {\ displaystyle n + 1}n +1 (этап сложения)
  2. Выполните распространение переноса на подсчитанном значении
  3. Обратный отсчет до нуля, добавив к столбцу n - 1 {\ displaystyle n-1}n-1
  4. Сбросить значение обратного отсчета до исходного значения.

Шаги 1,2,3,4 выполняются для каждого нечетного столбца, а шаги 3,4,1,2 - для каждого четного столбца.

В то время как в первоначальной конструкции Бэббиджа кривошип размещался непосредственно на главном валу, позже было обнаружено, что сила, необходимая для запуска машины, была бы слишком велика для человека, чтобы с ней было удобно обращаться. Таким образом, две модели, которые были построены, включают редуктор 4: 1 на кривошипе, и для выполнения одного полного цикла требуется четыре оборота кривошипа.

Шаги

Каждая итерация создает новый результат и выполняется за четыре шага, соответствующих четырем полным оборотам ручки, показанным справа на рисунке ниже. Эти четыре шага:

  • Шаг 1. Все столбцы с четными номерами (2,4,6,8) добавляются ко всем столбцам с нечетными номерами (1,3,5,7) одновременно. Внутренний подметальный рычаг поворачивает каждый четный столбец, чтобы любое число на каждом колесе отсчитывалось до нуля. Когда колесо поворачивается в ноль, оно передает свое значение секторной шестерне, расположенной между нечетными / четными столбцами. Эти значения переносятся в нечетный столбец, заставляя их подсчитывать. Любое нечетное значение столбца, которое переходит от «9» к «0», активирует рычаг переноса.
  • Шаг 2. Распространение переноса осуществляется с помощью набора спиральных рукавов. в задней части, которые опускают рычаги переноса по спирали, так что перенос на любом уровне может увеличивать колесо вверху на единицу. Это может создать перенос, поэтому руки движутся по спирали. В то же время секторные шестерни возвращаются в исходное положение, что заставляет их увеличивать четные шестерни колонны до их исходных значений. Секторные шестерни имеют двойную высоту с одной стороны, поэтому их можно поднять для отсоединения от нечетных колес колонны, пока они все еще остаются в контакте с четными колесами колонны.
  • Шаг 3. Это похоже на шаг 1, за исключением это нечетные столбцы (3,5,7), добавленные к четным столбцам (2,4,6), а значения первого столбца передаются с помощью секторной шестерни в механизм печати на левом конце механизма. Любое четное значение столбца, которое переходит от «9» к «0», активирует рычаг переноса. Значение столбца 1, результат для полинома, отправляется на подключенный механизм принтера.
  • Шаг 4. Это похоже на шаг 2, но для обработки четных столбцов и возврата нечетных столбцов к их исходным значениям..

Вычитание

Механизм представляет отрицательные числа как десятичное дополнение. Вычитание означает сложение отрицательного числа. Это работает так же, как современные компьютеры выполняют вычитание, известное как дополнение до двух.

Метод различий

Полностью работоспособный механизм различий в Музее истории компьютеров в Mountain View, Калифорния

Принцип механизма разности - метод Ньютона разделенных разностей. Если начальное значение полинома (и его конечных разностей ) вычислено каким-либо образом для некоторого значения X, механизм разностей может вычислить любое количество ближайших значений, используя метод, широко известный как метод конечных разностей . Например, рассмотрим квадратичный многочлен

p (x) = 2 x 2-3 x + 2 {\ displaystyle p (x) = 2x ^ {2} -3x + 2 \,}p (x) = 2x ^ {2} -3x + 2 \,

с цель табулирования значений p (0), p (1), p (2), p (3), p (4) и т. д. Таблица ниже построена следующим образом: второй столбец содержит значения полинома, третий столбец содержит различия двух левых соседей во втором столбце, а четвертый столбец содержит различия двух соседей в третьем столбце:

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

Числа в третьем столбце значений постоянны. Фактически, начиная с любого полинома степени n, номер столбца n + 1 всегда будет постоянным. Это решающий факт, лежащий в основе успеха метода.

Эта таблица была построена слева направо, но можно продолжить ее построение справа налево по диагонали, чтобы вычислить больше значений. Для вычисления p (4) используйте значения от самой низкой диагонали. Начните со значения константы четвертого столбца 4 и скопируйте его вниз по столбцу. Затем продолжите третий столбец, добавив 4 к 11, чтобы получить 15. Затем продолжите второй столбец, взяв его предыдущее значение 22 и добавив 15 из третьего столбца. Таким образом, p (5) равно 22 + 15 = 37. Чтобы вычислить p (6), мы повторяем тот же алгоритм для значений p (5): берем 4 из четвертого столбца, прибавляем это к значению 15 третьего столбца до получите 19, затем добавьте это к значению 37 второго столбца, чтобы получить 56, что является p (6). Этот процесс можно продолжать до бесконечности. Значения полинома производятся без необходимости умножения. Двигатель различий должен только уметь добавлять. От одного цикла к другому ему необходимо сохранить 2 числа - в этом примере (последние элементы в первом и втором столбцах). Чтобы табулировать полиномы степени n, необходимо достаточно памяти для хранения n чисел.

Разностная машина Бэббиджа № 2, наконец построенная в 1991 году, может содержать 8 чисел из 31 десятичной цифры каждое и, таким образом, может табулировать полиномы 7-й степени с такой точностью. Лучшие машины от Scheutz могут хранить 4 числа по 15 цифр в каждом.

Начальные значения

Начальные значения столбцов можно вычислить, сначала вручную вычислив N последовательных значений функции и поиск с возвратом, т.е. вычисление необходимых разностей.

Col ​​1 0 {\ displaystyle 1_ {0}}1_ {0} получает значение функции в начале вычисления f (0) {\ displaystyle f (0)}f (0) . Столбец 2 0 {\ displaystyle 2_ {0}}2_ {0} - разница между f (1) {\ displaystyle f (1)}f (1) и f. (0) {\ displaystyle f (0)}f (0) ...

Если вычисляемая функция является полиномиальной функцией , выражается как

f ( х) = тревога + ан - 1 xn - 1 + ⋯ + a 2 x 2 + a 1 x + a 0 {\ displaystyle f (x) = a_ {n} x ^ {n} + a_ {n-1} x ^ {n-1} + \ cdots + a_ {2} x ^ {2} + a_ {1} x + a_ {0} \,}f (x) = a_ {n} x ^ {n} + a_ {n-1} x ^ {n-1} + \ cdots + a_ {2} x ^ {2} + a_ {1} x + a_ {0} \,

начальные значения могут быть вычислены непосредственно из постоянных коэффициентов a 0, a 1,a2,..., a n без вычисления каких-либо точек данных. Начальные значения таковы:

  • Col ​​1 0 {\ displaystyle 1_ {0}}1_ {0} = a 0
  • Col ​​2 0 {\ displaystyle 2_ {0}}2_ {0} = a 1 + a 2 + a 3 + a 4 +... + a n
  • Col 3 0 {\ displaystyle 3_ {0}}3_ {0} = 2a 2 + 6a 3 + 14a 4 + 30a 5 +...
  • Col ​​4 0 {\ displaystyle 4_ {0}}4_ {0} = 6a 3 + 36a 4 + 150a 5 +...
  • Col ​​5 0 {\ displaystyle 5_ {0}}5_ {0} = 24a 4 + 240a 5 +...
  • Col ​​6 0 {\ displaystyle 6_ {0}}6_ {0} = 120a 5 +...
  • ... {\ displaystyle...}...

Использование производных

Многие часто используемые функции - это аналитические функции, которые можно выразить как степенной ряд, например как a Серия Тейлора. Начальные значения могут быть рассчитаны с любой степенью точности; если все сделано правильно, движок выдаст точные результаты для первых N шагов. После этого движок выдаст только приближение функции.

Ряд Тейлора выражает функцию как сумму, полученную из его производных в одной точке. Для многих функций высшие производные получить несложно; например, функция синус в 0 имеет значения 0 или ± 1 {\ displaystyle \ pm 1}\ pm 1 для всех производных. Установив 0 в качестве начала вычислений, мы получим упрощенный ряд Маклорена

∑ n = 0 ∞ f (n) (0) n! xn {\ displaystyle \ sum _ {n = 0} ^ {\ infty} {\ frac {f ^ {(n)} (0)} {n!}} \ x ^ {n}}\ sum _ {n = 0} ^ {\ infty} {\ frac {f ^ {(n)} (0)} {n!}} \ X ^ {n}

Тот же метод вычисления начальных значений из коэффициентов можно использовать как для полиномиальных функций. Коэффициенты полиномиальных констант теперь будут иметь значение

a n ≡ f (n) (0) n! {\ displaystyle a_ {n} \ Equiv {\ frac {f ^ {(n)} (0)} {n!}}}a_ {n} \ Equiv {\ гидроразрыв {f ^ {(n)} (0)} {n!}}

Подгонка кривой

Проблема с описанными выше методами заключается в том, что ошибки будут накапливаться, и ряд будет иметь тенденцию отклоняться от истинной функции. Решение, которое гарантирует постоянную максимальную ошибку, - использовать подгонку кривой. Вычисляется минимум N значений, равномерно распределенных по диапазону желаемых вычислений. Используя метод аппроксимации кривой, такой как редукция по Гауссу, находится полиномиальная интерполяция степени N-1 функции. С помощью оптимизированного полинома начальные значения могут быть рассчитаны, как указано выше.

В других работах

The Difference Engine Уильяма Гибсона и Брюса Стерлинга - это роман по альтернативной истории, в котором рассматривается, как могло бы развиваться общество, если бы Механизм различий и его аналитический механизм работали, как и предполагал Бэббидж.

История происходит в викторианской Англии, где технический прогресс находится на подъеме из-за успеха аналитической машины Бэббиджа. Соглашение стимпанк, в котором викторианская мода сочетается с технологическими элементами промышленной революции, прослеживается на протяжении всей истории, поскольку его технологии настолько продвинуты в эпоху.

См. Также

  • значок Математический портал

Ссылки

Дополнительная литература

Внешние ссылки

На Викискладе есть материалы, относящиеся к разностным машинам.
Последняя правка сделана 2021-05-17 05:42:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте