Разностные вычислительные машины, которые начали появляться в конце XVIII века, являются предками современных компьютеров, но столь отдаленными и несовершенными, как обезьяны по отношению к современному человеку. Вероятно, лишь очень немногие из сотен миллионов пользователей, решающих сегодня с помощью ЭВМ свои задачи или просто играющих в компьютерные игры, представляет себе ту пропасть, которая отделяет их "пентиумы" от разностных вычислительных машин.
 |
Разностная вычислительная машина, созданная в 1991 году по чертежам Ч. Бэббиджа |
Привыкнув к окружающим нас на работе и дома электронным чудо-помощникам, трудно представить, что и 200, и 100 лет назад "умные" машины могли быть только механическими. Для хранения чисел и выполнения арифметических операций использовались зубчатые колеса, рейки, храповики и другие детали, имеющие странные названия, например, "собачки".
В настоящее время для большинства из нас очевидно: 1) вычисления, да и любая обработка данных в компьютере, производятся по программам, описывающим последовательность действий; 2) эти программы хранятся в памяти компьютера. На самом деле, поиск, "осознание" и реализация этих двух решений означает примерно то же самое, что и переход от обезьяны к питекантропу, а затем от питекантропа к homo sapiens. Поиск первого из этих решений начинается от проекта аналитической машины великого английского математика Чарльза Бэббиджа и программ, написанных для нее леди Адой Августой Лавлейс. Второе революционное решение связывают с принципом хранения программ, реализованным в архитектуре ЭВМ, которая была предложена американским математиком Джоном фон Нейманом.
Предпосылки
 |
| Записные книжки Ч. Бэббиджа |
В чем же значение разностных вычислительных машин? С XVII века в Европе широкое распространение получили арифметические, тригонометрические и логарифмические таблицы. Банки и ссудные конторы применяли таблицы процентов, а страховые компании - таблицы смертности. Но совершенно исключительное значение для Англии - "великой морской державы" - имели астрономические и навигационные таблицы. Несмотря на всю тщательность, с которой они готовились, в них содержалось множество ошибок - результат недостаточно точных исходных данных, просчетов в вычислениях (которые, естественно, производились вручную) и описок. Издатели таблиц вынуждены были держать специальный штат корректоров, что, впрочем, все равно не спасало от ошибок. Единственный выход из сложившейся ситуации - это предоставить рутинную вычислительную работу машине, механизму, который практически не ошибается.
Предшественники Бэббиджа
Идее создания разностных вычислительных машин больше 200 лет. Впервые она была высказана немецким военным инженером Иоганном Г. Мюллером (1746-1830). Считается, что Иоганн Мюллер был первым, кто предложил использовать метод разностей при вычислениях и сделать вычислительную машину. Механизм универсального калькулятора И. Мюллера был основан на знаменитых ступенчатых валиках Готфрида В. Лейбница. Эта машина могла бы выполнять все четыре действия арифметики над 14-разрядными числами. Мюллер придумал свою разностную машину за 36 лет до великого английского математика Ч. Бэббиджа. Ее описание было опубликовано в 1786 г. в книге, основные разделы которой были переведены для Ч. Бэббиджа его другом, математиком Джоном Гершелем. Дата этого перевода неизвестна, и вопрос, насколько самостоятельно Бэббидж пришел к идеям разностных вычислительных машин, остается открытым.
Еще одним человеком, идеи которого, вероятно, положены в основу самого принципа действия разностных вычислительных машин, был Гаспар Прони. Во время Великой французской революции перестраивалось все государство (законодательство, армия, государственные учреждения и даже личная жизнь граждан). Также "в согласии с разумом, наукой и природой" французское правительство вводило метрическую систему в измерение длин, весов и т. д. Для такой перестройки требовалось пересчитать громадное число таблиц. Правительство Франции поставило перед математиками задачу подготовить необходимые таблицы на высоком научном уровне и в достаточно короткие сроки. Руководить сложными и трудоемкими расчетами было поручено талантливому французскому ученому барону Гаспару Прони. Однако он с самого начала понял, что для составления новых таблиц прежними методами (с помощью нескольких сотрудников) ему не хватит жизни. В то время Прони читал в Политехнической школе лекции по анализу, в частности, разделы, связанные с интерполяцией. Он начал поиск методики, как применить в расчетах разделение труда и как при этом использовать интерполяционные методы.
В то время в Париже были две вычислительные мастерские, в которых производили одни и те же расчеты для взаимной проверки.
Г. Прони реорганизовал все расчетное дело, создал своеобразный вычислительный конвейер. Все вычислители (сотрудники) из двух мастерских, к которым он прибавил еще ряд новых работников, были разделены на три группы. В первую входило пять-шесть крупных математиков, которые исследовали различные математические выражения, чтобы подобрать функцию, удобную для числовых расчетов. Естественно, она должна была наилучшим образом соответствовать той функции, таблицы которой составлялись. Эта группа не была связана непосредственно с вычислительной работой, ее задача состояла в получении необходимых формул. После этого данные, рассчитанные первой группой, направлялись во вторую группу. В нее входило девять-десять человек, достаточно хорошо владевших математикой. Они преобразовывали формулы, переданные первой группой, к виду, удобному для работы с числами. После этого формулы отправляли третьей, наиболее многочисленной группе, состоящей примерно из ста человек. Сотрудники третьей группы получали вместе с формулами и исходные числа. Используя только сложение и вычитание в последовательности, указанной в формулах, передаваемых из второй группы, третья группа получала окончательные числовые результаты.
Таков был путь расчета таблиц. Члены второй группы имели возможность проверить расчеты третьей группы, применяя непреобразованные формулы, т.е. не делая лишней работы. Следует отметить, что
90 % сотрудников третьей группы не знали математики далее двух первых действий арифметики, но ошибались значительно реже, чем те, кто лучше знал математику и больше понимал существо задачи. Вычислители третьей группы не знали общей задачи, да это им было и не нужно. Умея довольно хорошо складывать и вычитать, они работали совершенно механически. После опубликования таблиц в Париже была выпущена небольшая брошюра с описанием процесса их вычисления. После ознакомления с нею Ч. Бэббидж решил применить метод Гаспара Прони при создании своей вычислительной машины.
Путь сквозь тернии
 |
Выкройки из картона деталей разностной машины Ч. Бэббиджа, 1831 г. |
Машина Бэббиджа должна была заменить третью группу вычислителей, на которую в основном и приходилась вся счетная работа. Машину, работающую на основе этого принципа, он назвал разностной. Выражаясь современным языком, разностные машины явились первыми специализированными цифровыми вычислительными машинами. Алгоритм вычислений был неизменным и определял конструкцию машины. Таким образом, управление ходом вычислений осуществлялось не программно, а "конструктивно".
Поставив перед собой цель механизировать вычисление таблиц, Бэббидж, начиная с 1812 г., конструирует и пытается изготовить машину. Свои мысли об этом он изложил в записке на заседании Астрономического общества 14 июня 1822 г., которая была опубликована под названием "Замечания о применении машины для расчета математических таблиц". Разработка и постройка механической вычислительной машины представляла в то время сложную проблему. Постоянно изучая новое в промышленности, Бэббидж посещал все заводы и фабрики, какие только мог найти в Британии и на континенте. В результате сам Бэббидж стал неплохим механиком и предложил ряд усовершенствований инструментов, станков и методов обработки материалов.
Многого из того, что было необходимо Бэббиджу, просто не существовало в те годы. Он должен был изобретать не только узлы и механизмы, но и в отдельных случаях средства для их изготовления. Инженерную помощь получить было трудно и дорого, квалифицированных рабочих также было нелегко найти. Проблемой являлось и достижение требуемой точности обработки металла.
Получив моральную поддержку Королевского общества, Астрономического общества и некоторую финансовую помощь правительства, Бэббидж с июня 1823 г. начинает строить разностную машину, которая могла бы табулировать функции с постоянными шестыми разностями с точностью до 20 знаков. По замыслу Бэббиджа огромная машина должна была состоять примерно из 25000 деталей, иметь следующие размеры: 8 футов в высоту, 7 футов в длину и 3 фута в ширину (2,4х2,1х0,9 м). Ее вес составил бы несколько тонн. Для реализации своего проекта Бэббидж нанял Джозефа Клемента, очень квалифицированного слесаря-инструментальщика и чертежника, что было редкостью в то время.
При разработке проектов своих машин Бэббидж использовал картонные выкройки различных деталей. Таких выкроек сохранилось больше 130 штук. На многих из них рукой Ч. Бэббиджа сделаны пометки, позволяющие оценить вклад, внесенный Джозефом Клементом.
Годы проектирования, разработки и создания машины были самыми изнурительными и полными разочарований в жизни Чарльза Бэббиджа. Работа над машиной была приостановлена в 1833 г. после конфликта с Д. Клементом в связи с переносом мастерской в помещение внутри дома Бэббиджа. К этому времени Джозеф Клемент собрал часть машины, которая должна была состоять из 7 частей, причем каждая из них состояла из 2000 отдельных деталей и имела размеры: 72х59х61 см. Завершенная часть разностной машины явилась замечательным примером сложного инженерного дела, потребовавшего высокой точности. Она использовалась Бэббиджем для табулирования некоторых функций.
И все же идеи реализованы
Разностная вычислительная машина Ч. Бэббиджа является одним из самых замечательных примеров в предыстории вычислительной техники. А мысль великого изобретателя, несмотря на все трудности, не хотела останавливаться на достигнутом, с 1834 года он увлекается созданием новой, более совершенной аналитической машины. В свою очередь историков техники продолжала волновать мысль о неудаче, постигшей Ч. Бэббиджа с полной реализацией постройки разностной машины. Причин неудач было много: трудный характер самого Бэббиджа, наличие недоброжелателей, разлад с Джозефом Клементом, проблемы с финансированием проекта, общий низкий уровень развития техники того времени, отсутствие поддержки предпринимателей, перемены состава правительства, конфликт между чистой и прикладной наукой, разделение мнений экспертов по поводу реальной потребности в таком устройстве, отсутствие государственного видения и отказ в поддержке со стороны правительства Англии. Но самой главной причиной, как считают историки, явилось недостаточное развитие токарного и слесарного дела в ту эпоху.
Полностью разностная машина Ч. Бэббиджа была достроена только в наше время в 1991 г. двумя инженерами Р. Криком и Б. Холловеем в Лондонском научном музее к 200-летию со дня рождения ее автора. Она состоит из 4000 деталей, исключая печатающий механизм; весит около 3 тонн; имеет размеры: 2,1х3,4х0,5 м и выполнена из бронзы и стали. Она может вычислять разности 7 порядка и работает при помощи поворота рукоятки. Машина является действующим экспонатом Лондонского научного музея. Великие идеи великого изобретателя были все же реализованы и проверены на практике. Эта воссозданная машина является научно-исследовательским объектом, инженерной скульптурой и последним своеобразным памятником, поставленным великому изобретателю. У Ч. Бэббиджа оказалось много последователей в разных странах, создававших разностные вычислительные машины вплоть до начала XX века.
В следующем номере читайте статью "Последователи Чарльза Бэббиджа" Вы узнаете об успешном воплощении в жизнь его идей, и о том, так ли необходима при этом высочайшая точность. А также о самых первых таблицах, отпечатанных вычислительной машиной.
Виталий Чередниченко,
г. Санкт Петербург