История зарождения и создания разностных вычислительных машин

Марина Смолевицкая

Разностные вычислительные машины, которые начали появляться с конца XVIII века, являются предками современных компьютеров, но столь отдаленными и несовершенными, какими являются обезьяны по отношению к современному человеку. Вероятно, лишь меньшинство из сотен миллионов пользователей, решающих сегодня с помощью ЭВМ свои задачи или просто играющих в разнообразные компьютерные игры, представляет себе ту пропасть, которая отделяет их "пентиумы" (да и любые другие машины, на которых они работают) от разностных вычислительных машин.

Привыкнув к окружающим нас на работе и дома электронным чудо-помощникам, "работающим с умом", трудно представить, что и 200, и 100 лет назад умные помощники могли быть только механическими. Для хранения чисел и выполнения арифметических операций использовались зубчатые колеса, рейки, храповики и другие детали, имеющие странные названия, например собачки. В настоящее время для большинства из нас очевидно:

1) вычисления, да и любая обработка данных в компьютере, производятся по программам, описывающим последовательность действий;

2) эти программы хранятся в памяти компьютера.

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

Поиск первого из этих решений начинается от проекта Аналитической машины великого английского математика Чарльза Бэббеджа и программ, написанных для нее леди Адой Августой Лавлейс. Второе революционное решение связывают с принципом хранения программы, реализованным в архитектуре ЭВМ, которая была предложена американским математиком Джоном фон Нейманом.

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

С XVII века в Европе широкое распространение получили арифметические, тригонометрические и логарифмические таблицы; банки и ссудные конторы применяли таблицы процентов, а страховые компании - таблицы смертности; но совершенно исключительное значение для Англии - "великой морской державы" - имели астрономические и навигационные таблицы. Несмотря на всю тщательность, с которой готовились эти таблицы, в них содержалось множество ошибок - результат недостаточно точных исходных данных, просчетов в вычислениях (которые, естественно, производились вручную) и описок. Сотни и даже тысячи ошибок содержали самые распространенные таблицы - логарифмические. Издатели таблиц вынуждены были держать специальный штат корректоров, что, впрочем, все равно не спасало от ошибок. Единственный выход из сложившейся ситуации - это предоставить рутинную вычислительную работу машине, механизму, который практически не ошибается.

Идее создания разностных машин больше 200 лет. Впервые она была высказана немецким военным инженером Иоганном Г. Мюллером (1746-1830). Считается, что Иоганн Мюллер был первым, кто предложил использовать метод разностей при вычислениях и сделать вычислительную машину, печатающую результаты.

Механизм универсального калькулятора И. Мюллера был основан на знаменитых ступенчатых валиках Готфрида В. Лейбница. Эта машина могла выполнять все четыре действия арифметики над 14-разрядными числами. Если пользователь машины делал какие-то некорректные установки на машине, то звонок предупреждал его об этом. Машина Мюллера была небольшой: всего 13 см в высоту и 30 см в диаметре. В настоящее время универсальный калькулятор Иоганна Мюллера хранится в Германии, в Hessisches Landesmuseum в Дармштадте. В 1784 г. в своем письме Мюллер говорит, что его машина будет вычислять и печатать арифметическую прогрессию. Это письмо содержит описание самого первого печатающего калькулятора. В другом письме, написанном в тот же год, Мюллер высказывает мысль о создании машины для вычисления площадей и объемов при помощи разностей. Мюллер придумал свою разностную машину за 36 лет до великого английского математика Ч. Бэббиджа. Ее описание было опубликовано в 1786 г. в книге, основные разделы которой были переведены для Ч. Бэббиджа его другом, математиком Джоном Гершелем. Дата этого перевода неизвестна и вопрос, насколько самостоятельно Бэббидж пришел к идеям разностных вычислительных машин, остается открытым.


Универсальный калькулятор Иоганна Мюллера, 1784 г.

Считается, что непосредственным толчком, заставившим Ч. Бэббиджа создавать свои разностные машины явилось введение метрической системы мер во Франции, которое потребовало пересчета огромного числа различных таблиц.

Во время великой Французской революции во Франции перестраивалось все государство (законодательство, армия, государственные учреждения и даже личная жизнь граждан). Также "в согласии с разумом, наукой и природой" французское правительство вводило метрическую систему в измерение длин, весов и т. д., стремилось внедрить принцип десятичности в самые различные области. Для такой перестройки требовалось пересчитать громадное число таблиц, в основном тригонометрических и связанных с ними логарифмических, а также нужно было составить много вспомогательных таблиц. Правительство Франции поставило перед математиками задачу подготовить необходимые таблицы на высоком научном уровне и в достаточно короткие сроки. Руководить сложными и трудоемкими расчетами было поручено талантливому французскому ученому барону Гаспару Прони. В 1795 году он был назначен одним из двенадцати комиссаров, на которых возлагалась вся работа по подготовке и введению метрической системы. В число комиссаров входили такие известные ученые, как Лагранж, Лаплас, Монж и др. Прони с самого начала понял, что для составления новых таблиц прежними методами (с помощью нескольких сотрудников) ему не хватит жизни. В это время он читал в Политехнической школе лекции по анализу, в частности разделы, связанные с интерполяцией*. Он хотел уяснить, как применить в расчетах разделение труда и как при этом использовать интерполяционные методы.

В то время в Париже были две вычислительные мастерские, в которых производили одни и те же расчеты для взаимной проверки. Г. Прони реорганизовал все расчетное дело, создал своеобразный вычислительный конвейер. Все вычислители (сотрудники) из двух мастерских, к которым он прибавил еще ряд нанятых им работников, были разделены на три группы. В первую группу входило пять-шесть крупных математиков, которые исследовали различные математические выражения, чтобы подобрать функцию, удобную для числовых расчетов. Естественно, она должна была наилучшим образом соответствовать той функции, таблицы которой составлялись. Эта группа фактически не была связана с непосредственной вычислительной работой, ее задача состояла в получении необходимых формул. После этого данные, рассчитанные первой группой, направляли во вторую группу. В нее входило девять-десять лиц, достаточно хорошо владевших математикой. Их задача состояла в преобразовании формул, переданных первой группой, к виду, удобному для работы с числами. Кроме того, вторая группа вычисляла значения функций для аргументов, отстоящих друг от друга на пять или десять интервалов. Подсчитанные ими значения входили в окончательную таблицу в качестве основных. Работа второй группы требовала хороших математических знаний. После этого формулы отправляли третьей, наиболее многочисленной группе, состоящей примерно из ста человек. Сотрудники третьей группы получали от второй вместе с формулами и исходные числа. Используя только сложение и вычитание в той последовательности, в которой это было указано в формулах, передаваемых из второй группы, третья группа получала окончательные числовые результаты. Таков был путь расчета таблиц. Члены второй группы имели возможность проверить расчеты третьей группы, применяя непреобразованные формулы, т. е. не повторяя работы третьей группы. Следует отметить, что 90% сотрудников третьей группы не знали математики далее двух первых действий арифметики, но ошибались значительно реже, чем те, кто лучше знал математику и больше понимал существо задачи. Вычислители третьей группы не знали общей задачи, да это им было и не нужно. Умея довольно хорошо складывать и вычитать, они работали совершенно механически.

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

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

После ознакомления с этой брошюрой Ч. Бэббидж решил применить метод Гаспара Прони при создании своей вычислительной машины. Точнее говоря, машина должна была заменить третью группу вычислителей, на которую в основном и приходилась вся счетная работа. В основу работы машины Бэббидж решил положить известное свойство многочленов, состоящее в том, что их конечные разности соответствующих порядков (зависящие от степени многочлена) равны нулю. Машину, работающую на основе этого принципа, он назвал разностной.

Работа любой разностной машины основана на известных положениях исчисления конечных разностей: имея значение функции y0 и ее разностей Dy0, D2y0, ... , Dny0 можно последовательным значением вычислить k ее следующих значений. Действительно,

y1 = y0 + Dy0	

y2 = y1 + Dy1	Dy1= Dy0+ D2y0

y3 = y2 + Dy2	D2y1= Dy1+ D2y0	Dy2= Dy1+ D2y1

   ...	           ...	           ...

Так как многочлен n-й степени имеет (при табулировании с постоянным шагом) постоянные n-е разности, то задания y0, Dy0, D2y0, .... , Dny0 достаточно для продолжения таблицы значений многочлена с тем же шагом сколь угодно далеко. У функций более сложной природы разности любого порядка переменны. Однако при табулировании с определенным числом знаков на отдельных участках разности некоторого порядка можно считать практически постоянными, что позволяет табулировать такую функцию теми же приемами. При выходе за пределы этого участка нужно лишь сменить значения разностей, после чего можно продолжать вычисления по той же схеме для соответствующего нового участка, пока последняя разность остается практически постоянной.

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

Широко известна работа великого английского математика Чарлза Бэббиджа над разностными машинами. Поставив перед собой цель механизировать вычисление логарифмических и тригонометрических таблиц, Бэббидж, начиная с 1812 г., конструирует и пытается изготовить разностную вычислительную машину. Свои мысли о разностной машине Ч. Бэббидж изложил в записке на заседании Астрономического общества 14 июня 1822 г., которая была опубликована под названием "Замечания о применении машины для расчета математических таблиц". Разработка и постройка механической вычислительной машины представляла в то время сложную проблему. В 1832 г. ученый посетил ряд промышленных центров в Англии и Шотландии. Постоянно изучая новое в промышленности, он посещал все, какие только мог, заводы и фабрики в Британии и на континенте. В результате сам Бэббидж стал неплохим механиком и предложил ряд усовершенствований по инструментам, станкам и методам обработки.

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

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


Записные книжки Ч. Бэббиджа

Рукописи, так называемые "Записные книжки", Ч. Бэббиджа содержат его проекты, исследования, чертежи и другие размышления. Всего в них около 7000 страниц. В настоящее время "Записные книжки" Ч. Бэббиджа хранятся в библиотеке Научного музея в Лондоне.

Получив моральную поддержку Королевского общества, Астрономического общества и некоторую финансовую помощь правительства, Бэббидж с июня 1823 г. начинает строить разностную машину, которая могла бы табулировать функции с постоянными шестыми разностями с точностью до 20 знаков. По замыслу Бэббиджа огромная машина должна была состоять примерно из 25000 деталей, иметь следующие размеры: 8 футов в высоту, 7 футов в длину и 3 фута в ширину (2,4х2,1х0,9 м3). Ее вес составлял несколько тонн. Для реализации своего проекта Бэббидж нанял Джозефа Клемента, очень квалифицированного слесаря-инструментальщика и чертежника, что было редкостью в то время.


Станок для выполнения различных видов обработки, принадлежавший Ч. Бэббиджу

При разработке своих проектов машин Бэббидж использовал картонные выкройки различных деталей.


Выкройки из картона деталей первой
разностной машины Ч. Бэббиджа, 1831 г.

На рисунке показаны два примера кулис для фиксации зубчатых колес. Кулисы являются шестеренками переменного диаметра, которые имеют сцепление с ведущими шестеренками. Эти устройства были предназначены для уменьшения начального вращающего момента и начального ускорения. Сохранилось свыше 132 отдельных выкроек различных деталей. На многих из них рукой Ч. Бэббиджа сделаны пометки, позволяющие оценить вклад, внесенный Джозефом Клементом.

Годы проектирования, разработки и создания машины были самыми изнурительными и полными разочарований в жизни Чарлза Бэббиджа. Работа над машиной была приостановлена в 1833 г. после конфликта с Д. Клементом в связи с переносом мастерской в помещение внутри дома Бэббиджа.

К этому времени Джозеф Клемент собрал часть предполагаемой машины, которая должна была состоять из 7 подобных частей, причем каждая из них была собрана из 2000 отдельных деталей, и иметь размеры: 72х59х61 см3. Завершенная часть разностной машины явилась замечательным примером сложного инженерного дела, потребовавшего высокой точности. Она использовалась Бэббиджем для табулирования некоторых функций. Во время субботних званых вечеров в доме Бэббиджа собиралось от 200 до 300 гостей, среди которых были такие знаменитые люди того времени: ученые Жан Фуко, Пьер Симон Лаплас, Александр Гумбольдт, Чарлз Дарвин; писатели Чарлз Диккенс, Уильям Теккерей и Генри Лонгфелло. Созданная машина становилась предметом постоянных дискуссий, в то числе обсуждалось ее использование для развития одной из теорий Ч. Бэббиджа - "теории чудес". Математические работы Ч. Бэббиджа, как правило, были связаны с прикладными задачами. Некоторые его труды посвящены теории вероятностей. Особенно интересно "Замечание об аргументе Юма относительно чудес" (1837), где вероятность экстраординарных событий подсчитывается на основе свидетельских показаний с учетом числа очевидцев и степени доверия к ним.

Разностная вычислительная машина Ч. Бэббиджа является одним из самых замечательных примеров в предыстории вычислительной техники.

А мысль великого изобретателя, несмотря на все трудности, не хотела останавливаться на достигнутом, с 1834 года он увлекается созданием новой более совершенной Аналитической машины.

В свою очередь историков техники продолжала волновать мысль о неудаче, постигшей Ч. Бэббиджа с полной реализацией постройки разностной машины. Причем неудач было много: трудный характер самого Бэббиджа, наличие недоброжелателей, разлад с Джозефом Клементом, проблемы с финансированием проекта, общий низкий уровень развития техники того времени, отсутствие поддержки предпринимателей, несколько перемен состава правительства, конфликт между чистой и прикладной наукой, разделение мнений экспертов по поводу реальной потребности в таком устройстве, отсутствие государственного видения и отказ в поддержке со стороны правительства Англии. Но самой главной причиной, как считают историки, явилось недостаточное развитие токарного и слесарного дела в ту эпоху. Полностью разностная машина Ч. Бэббиджа была достроена только в наше время в 1991 г. двумя инженерами Р. Криком и Б. Холловеем в Лондонском научном музее к 200-летию со дня рождения ее автора.


Разностная вычислительная машина Ч. Бэббиджа, 1991 г.

Она состоит из 4000 деталей, исключая печатающий механизм, который не был достроен; весит около 3 тонн; имеет размеры: 2,1х3,4х0,5 м3 и выполнена из бронзы, стали и железа. Она может вычислять разности 7 порядка. Машина работает при помощи поворота рукоятки, является действующим экспонатом Лондонского научного музея. Великие идеи великого изобретателя были все же реализованы и проверены на практике. Эта воссозданная машина является научно-исследовательским объектом, инженерной скульптурой и последним своеобразным памятником, поставленным великому изобретателю. У Ч. Бэббиджа оказалось много последователей в разных странах, создававших разностные вычислительные машины вплоть до начала XX века.


(Продолжение истории создания разностных машин можно прочитать в следующем номере журнала.)
Hosted by uCoz