Чарльз Бэбидж (1791—1871) - Страница 21

Изменить размер шрифта:

Для решения некоторой задачи в аналитическую машины вводятся исходные числа, записанные на цифровые перфокарты. Каждое число занимает один регистр памяти (колонку из десятичных цифровых колес), где оно хранится и используется по требованию. По окружности дисков колес выгравированы цифры от 0 до 9; каждый из дисков, насаженных на общую ось колонки, может совершать независимое вращательное движение. Результат операции также передается в память. Управляющие карты вводят колеса колонки в зацепление с зубчатыми рейками, через которые данное число (записанное на перфокарте или представляющее на колонке промежуточный результат) вводится в память. Одного оборота главного вала достаточно, чтобы установить число на колонке памяти или передать его из памяти к другой части машины.

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

Генри Бэбидж впоследствии писал: «Следует отметить, что машина разработана для целей анализа, и применение аналитической машины для подсчета арифметических сумм равносильно использованию парового молота для битья орехов» или, говоря словами Лейбница: «Она сделана не для торговцев, а для обсерваторий и вычислителей» [85А с. 333].

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

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

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

Бэбидж говорит, что машина, занимающая неограниченное пространство, удовлетворила бы всем выдвинутым требованиям. Но такую машину создать нельзя. Однако машину можно использовать неограниченное время.

И далее Бэбидж отмечает: «Замена бесконечности пространства бесконечностью времени позволила ограничить размер машины при сохранении ее неограниченной производительности» [85, с. 60].

Рассмотрим вслед за Бэбиджем на примере арифметических действий, как он предполагал осуществить свои идеи.

Одной из характеристик вычислительной машины является длина (количество разрядов) чисел, с которыми она может производить операции. В качестве стандарта для аналитической машины было выбрано число в пятьдесят разрядов. Бэбидж оказался прав, когда считал, что пройдет достаточно много времени, прежде чем требования науки превысят этот предел. Только в середине 50-х годов XX в. при решении некоторых задач возникла необходимость оперировать числами с большим количеством знаков.

Бэбидж отмечал, что сложение и вычитание чисел в машине должно быть одинаково быстрым независимо от количества разрядов в слагаемых. Приумножении разрядность чисел влияет на время выполнения операции. Например, необходимо перемножить два числа: а1050 + b и c1050 + d, каждое из которых состоит менее чем из ста разрядов, но более чем из пятидесяти. Непосредственно перемножить их в машине, которая оперирует только с числами до пятидесяти разрядов, нельзя. Произведение этих двух чисел будет: ас10100 +(ad + bc)1050 + bd.

Это выражение содержит четыре пары сомножителей (ас, ad, be, bd), каждый из которых состоит менее чем из пятидесяти разрядов. Поэтому такое умножение может быть выполнено в машине. Однако время умножения на машине двух чисел, каждое из которых содержит от пятидесяти до ста разрядов, будет приблизительно в четыре раза больше, чем для двух чисел длиной менее пятидесяти разрядов.

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

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

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

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

Бэбидж приходит к выводу, что условия, которые требуются для выполнения расчетов, число операций в которых не ограничено, могут быть реализованы в аналитической машине. «Способы, которые я применил, — писал Бэбидж, — однородны. Я преобразовал бесконечность пространства, которая требовалась по условиям задачи, в бесконечность времени» [85, с. 63]. Разумеется, вывод Бэбиджа относительно возможностей аналитической машины имел сугубо теоретический характер («бесконечность времени» с практической точки зрения не имеет преимуществ перед «бесконечностью пространства»). Даже наиболее производительные современные ЭВМ не в состоянии решать многие задачи из-за ограничений по емкости памяти и быстродействию. Вывод Бэбиджа представляет существенный интерес в другом отношении. Бэбидж показал принципиальную возможность решения с помощью вычислительной машины любой задачи (если это решение может быть достигнуто с цомощыо арифметических операций).

Элементы конструкции машины

В детальном описании аналитической машины в статье Генри Бэбиджа [80] большое внимание уделено принципу зацепления, позволившему обеспечить сравнительно простое выполнение операций.

Он пишет, что первое преимущество аналитической машины состоит в использовании перфокарт, вторая «наиболее замечательная черта конструкции машины связана с принципом зацепления» [85, с. 334]. Сам Ч. Бэбидж считал механизм зацепления «наиболее выдающейся частью машины» [85, с. 53]. Это устройство дало возможность обходиться в различных случаях механически простой комбинацией рычагов, которая обеспечивала соединение и разъединение привода с любой желаемой колонкой в процессе выполнения команд программы.

Оригинальный текст книги читать онлайн бесплатно в онлайн-библиотеке Knigger.com