Текст книги "Чарльз Бэбидж (1791—1871)"
Автор книги: Л. Майстров
Соавторы: Ида Эдлин,Игорь Апокин
Жанр:
Биографии и мемуары
сообщить о нарушении
Текущая страница: 6 (всего у книги 10 страниц)
28 июля Лавлейс восторженно пишетБэбиджу: «Я счастлива узнать, что мои Примечания требуют фактически мало исправлений. Сказать честно, я сама не могла бы быть не поражена ими. хотя речь идет обо мне самой. Они действительно написаны прекрасным стилем, который превосходит стиль самого очерка. Я заставила рассмеяться графа Л., когда невозмутимым тоном заметила: «Я очень довольна своим первенцем. Это необычайный ребенок и он вырастет в человека первоклассной величины и силы» [87, с. 179-180].
А. Лавлейс была права, эта ее работа действительно оказалась первоклассной. К большому сожалению, кроме нее Лавлейс не оставила больше ничего. «Первенец» оказался единственным.
А. Лавлейс работает с большим напряжением. В письмах к Бэбиджу она неоднократно жалуется на утомление, болезнь, плохое самочувствие. «Я работала непрерывно с семи часов утра до того времени пока оказалось невозможным концентрировать далее свое внимание» [87, с. 178]. «Примечание В измучило меня до смерти, хотя я сделала в нем только небольшие изменения» [87, с. 183]. «Я едва ли смогу описать Вам, как меня мучит и изводит болезнь» [87, с. 172] и т. п.
6 августа Бэбидж отсылает Лавлейс свои последние замечания и просит передать все в типографию. В конце августа того же 1843 г. перевод статьи Менабреа с примечаниями Лавлейс, которые почти в три раза превысили объем статьи Менабреа, вышел в свет [79]. Бэбидж был очень доволен и, отдавая дань обоим авторам, писал: «Эти работы (Менабреа и Лавлейс), взятые вместе, представляют для тех, кто способен понимать рассуждения, полную демонстрацию того, что все действия и операции анализа могут быть выполнены с помощью машин» [85, с. 68].
Менабреа был удивлен, обнаружив свою статью не только хорошо переведенной, но и снабженной обширными и глубокими комментариями и замечаниями. Статья была переведена неизвестным для Менабреа математиком (в этом он не сомневался), а каждое замечание было подписано инициалами A. A. L. (Ada Augusta Lovelace), которые он не мог связать ни с одним известным ему лицом. Каково же было восхищение Менабреа, когда после длительных выяснений он узнал, что за этими инициалами кроется 28-летняя леди Лавлейс.
После окончания работы над статьей Менабреа Ада Лавлейс в письме от 11 августа задает Бэбиджу вопрос, оставит ли он «интеллект и способности «леди-феи» на службе своим великим целям?» [87, с. 177]. Ответ Бэбиджа был, естественно, положительным. В этом же письме Лавлейс предлагает консультировать всех желающих по вопросам, связанным с вычислительными машинами, чтобы Бэбидж не отвлекался от основной работы.
Бэбидж продолжает работать над аналитической машиной, хотя все время испытывает большие финансовые трудности. 4 ноября 1842 г. Бэбидж получает письмо, в котором правительство окончательно отказывает ему в финансовой поддержке. 11 ноября он встречается с Робертом Пилем и пытается его убедить в необходимости финансирования дальнейших работ; однако беседа не принесла положительных результатов. Несмотря на это, Бэбидж не бросает работы над аналитической машиной. Он разрабатывает почти фантастические, нереальные способы приобретения денег.
Один из них относится к разработке системы ставок на бегах, которая бы давала верный выигрыш. В этом активное участие принимают супруги Лавлейс, большие любители лошадей. Как и следовало ожидать «система» не привела к выигрышу. Проиграв на скачках довольно большую сумму, Бэбидж и граф Лавлейс отказались от дальнейшего участия в игре. Но Ада продолжала упорно играть, часто даже скрытно и от мужа и от Бэбиджа. Она израсходовала на скачках почти все средства, которые ей принадлежали.
Лавлейс продолжала играть на скачках до своей болезни, первые признаки которой появились в начале 50-х годов. В ноябре 1850 г. она пишет Бэбиджу: «Здоровье мое. . . настолько плохо, что я хочу принять Ваше предложение и показаться по приезде в Лондон Вашим медицинским друзьям» [87, с. 209].
Несмотря на принимаемые меры, болезнь прогрессировала и сопровождалась тяжелыми мучениями. 27 ноября 1852 г. Ада Августа Лавлейс скончалась, не достигнув 37 лет. Она была погребена рядом с отцом в фамильном склепе Байронов. Бэбидж очень тяжело перенес эту утрату.
После смерти Лавлейс Бэбидж уничтожил большую часть переписки с ней.[1 По просьбе Лавлейс, высказанной в ее последнем письме Бэбиджу (от 12 августа 1852 г.), были уничтожены некоторые бумаги (она имела в виду письма, в которых упоминалось об игре на скачках).] Сохранившиеся письма не только глубже раскрывают творческий облик этих двух замечательных ученых, но и дают возможность лучше понять жизненные принципы и позиции их авторов.
Существенное внимание в примечаниях А. Лавлейс к статье Менабреа уделено особенностям структуры и возможностям аналитической машины. Но основная заслуга А. Лавлейс состоит в том, что она разработала первые программы для аналитической машины, заложив теоретические основы программирования [97].
Теоретические возможности машины
1842—1848 годы Бэбидж посвятил почти исключительно созданию аналитической машины. В это время он разработал теоретические основы машины и уяснил огромные возможности, которые могут иметь подобные устройства. Без какой бы то ни было финансовой поддержки Бэбидж продолжал работу, используя собственные средства. Он нашел чертежников и рабочих, которые работали у него дома. Как и при изготовлении разностной машины, он решил начать работу с выполнения модели. В процессе работы он постоянно вносил изменения в конструкцию машины и ставил бесконечные эксперименты.
Не окончив первую модель машины, Бэбидж принимается за следующую. Но затем он временно прекращает работу над аналитической машиной, так как в 1848 г. решает разработать полный комплект чертежей для второй разностной машины. В этих чертежах должны были быть отражены все усовершенствования, к которым Бэбидж пришел, создавая аналитическую машину. В 1849 г. он закончил эту работу.
В том же году друг Бэбиджа, известный астроном У. Росс (1800—1867), был избран президентом Лондонского королевского общества. Росс всегда интересовался работами Бэбиджа. Узнав, что Бэбидж изготовил полный комплект чертежей разностной машины, Росс предложил Бэбиджу передать чертежи правительству и, обратившись с письмом к премьер-министру, попытаться убедить его в необходимости постройки машины. На предложение Росса Бэбидж ответил, что его первым желанием было отказаться, но, если правительство согласится изготовить машину, он готов передать ее чертежи и пояснения к ним.
Однако неприятности вновь преследуют Бэбиджа. Во время подготовки письма к премьер-министру произошла смена правительства. В начале 1852 г. Бэбидж написал письмо новому премьер-министру лорду Дерби. Это письмо, в котором Бэбидж жаловался на «потери и пренебрежение» к его трудам, Росс передал лорду Дерби. Кроме того, от имени Королевского общества он поддержал проект создания разностной машины.
В июне 1852 г. премьер-министр направил письмо Бэбиджа канцлеру казначейства Б. Дизраэли для ответа. Дизраэли быстро решил, что и через годы Бэбидж не закончит постройку машины. В своем ответе он писал, что проект представляется весьма дорогостоящим, затраты на его реализацию невозможно оценить, а работы, по всей вероятности, никогда не приведут к созданию механизма, заслуживающего внимания. Поэтому вряд ли можно было бы оправдать правительство, если бы оно согласилось принять на себя какие-либо обязательства по этому проекту.
Ответ канцлера, окончательно отказавшего в финансовой поддержке, возмутил Бэбиджа и вызвал ряд его резких замечаний. Бэбидж говорил, что разностная машина «может не только сосчитать миллионы, которые растратил канцлер, но и считать очень малые числа». Бэбидж назвал канцлера «Геростратом науки, имя которого, если избежит забвения, будут вспоминать только как имя разрушителя храма Изиды» [85, с. XVI].
В 1849 г., закончив чертежи разностной машины, Бэбидж возобновил работу над аналитической. К тому времени у него сложилось отчетливое представление о машине, как об устройстве, позволяющем заменить труд многих вычислителей. Человек-вычислитель, проводя расчет без машины, использует следующие средства: ручной счетный прибор для производства арифметических действий; расчетный бланк для записи промежуточных результатов и порядка расчета, т. е. программу вычислений; справочные таблицы и собственные соображения относительно последовательности выполнения операций. Бэбидж разрабатывает машину с такой же функциональной структурой; она включает три основных блока (рис. 2).
Первое устройство, которое Бэбидж называет «store» [1 Storage (англ.) – накопитель. Этот термин в настоящее время сравнительно широко применяется для обозначения запоминающих устройств, преимущественно устройств большой емкости (накопители на магнитных дисках, магнитных лентах и т. д.).] предназначено для хранения цифровой информации на регистрах из колес; в современных машинах это – запоминающее устройство.
Во втором устройстве с числами, взятыми из памяти, проводятся цифровые операции; у Бэбиджа оно носит название «mill»[1 Mill (англ.) – фабрика, завод, мельница.], в настоящее время – арифметическое устройство.
Рис. 2. Блок-схема аналитической машины
Третье устройство управляет последовательностью операций, выборкой чисел, с которыми производятся операции, и выводом результатов. Бэбидж оставил это устройство без названия; по современной терминологии этот «мозг» машины называется устройством управления.
В конструкцию аналитической машины также входило устройство ввода-вывода.
Рассмотрим характеристики основных блоков. Эффективность машины как вычислительного устройства во многом зависит от количества информации, которое может храниться в ее памяти. Бэбидж проектировал память машины, составленную из 1000 колонок по 50 цифровых колес в каждой, т. е. из 1000 чисел длиной в 50 десятичных разрядов. Эта величина приемлема даже в настоящее время и соответствует более чем 150 000 двоичных знаков (в современных ЭВМ, в основном, применяется двоичная система счисления); машины с таким объемом памяти начали разрабатываться только с 1946 г. Кроме того, машина должна была иметь встроенные (т. е. реализованные схемным образом) логарифмические и другие таблицы. После того как одна или несколько колонок использованы для каких-либо величин (данных или переменных), может случиться, что, начиная с какого-то момента, эти величины не потребуются далее; тогда они могут быть напечатаны на бумаге, а колонки используются для других данных. Если для решения какой-нибудь задачи требуется использовать больше величин, чем их можно поместить на регистрах, то возможно записать эти величины на перфокартах, которые могут следовать друг за другом в неограниченной последовательности.
Ж. М. Жаккар
Предполагая, что скорость движущихся частей машины не превышает 40 фут/мин (12 м/мин), Бэбидж оценивал ее быстродействие следующими цифрами:
сложение (вычитание) двух 50-разрядных чисел производится со скоростью 60 сложений в минуту или 1 операция в секунду;
умножение двух 50-разрядных чисел – со скоростью 1 операция в минуту;
деление числа из 100 разрядов на число из 50 разрядов– со скоростью 1 операция в минуту.
Для устройства управления Бэбидж намеревался применить разновидность карт Жаккара.
Ж. М. Жаккар (1752—1834) – французский ткач и механик, внесший много усовершенствований в ткацкое производство. В 1799 г. он построил свой первый ткацкий станок, который в 1801 г. на выставке в Париже получил бронзовую медаль. В 1804 г. Лондонское королевское общество, а затем Французское общество поощрения ремесел объявили премию за изобретение машины для вязания рыболовных сетей. Жаккар принял участие в конкурсе и получил от Французского общества золотую медаль и премию в 3000 франков. Но основная его заслуга состоит в том, что в самом начале XIX в. он автоматизировал работу ткацкого станка при изготовлении тканей со сложным переплетением нитей. Для управления работой станка были использованы перфорированные карты. Перфокарты Жаккара представляли собой картонные прямоугольники, на которых в определенных местах пробивались отверстия.
Управляли станком следующим образом. Группа нитей основы, выбранная так, чтобы образовать нужный узор, должна быть приподнята перед каждым проходом челнока. Нити проходят через проволочные петли (ремизки), прикрепленные по несколько штук к ряду крючков, расположенных в раме. Каждую группу нитей основы можно приподнять, поднимая перед проходом челнока соответствующий крючок. Та часть крючков, которая должна быть приподнята при каждом прохождении челнока, определяется отверстиями, пробитыми в перфокартах, – одна перфокарта для каждого пробега челнока. Карты связаны между собой веревочными петлями в непрерывный ряд. Перед проходом челнока одна из карт прижимается к матрице, состоящей из горизонтальных стержней, каждый из которых связан с одним крючком. В результате этого приходят в движение только те стержни, которые соприкасаются с картами; стержни, приходящиеся напротив отверстий в картах, остаются неподвижными.
Движущиеся стержни соединены с соответствующими крючками и убирают их с пути. После прохода челнока карта возвращается в исходное положение, затем к матрице стержней подходит новая карта.
Обычно в жаккаровском станке в матрице содержится 400 и более стержней и соответствующее число крючков. Наличие большого числа перфокарт, идущих одна за другой, дает возможность изготовлять довольно сложные узоры. Так, например, знамя с двуглавым орлом изготовлялось на станке с 14 000 карт; с помощью нескольких десятков тысяч перфокарт был выткан на шелку портрет Жаккара.
Рис. 3. Ткацкий станок Жаккара (1810)
Следует отметить, что сама операция изготовления карт довольно сложная, Рисунок ткани должен быть вначале выполнен на особой клетчатой бумаге (заправочный рисунок ткани). Затем соответственно каждому пробегу челнока должна быть пробита отдельная карта. При большом количестве карт на их изготовление уходило очень много времени.
Идея управления работой ткацкого станка при помощи перфокарт высказывалась и ранее (во Франции в 1728 г. М. Фальконом и в 1745 г. Ж. Вокансоном). Но только Жаккару удалось использовать ее в ткацком станке. Его конструкция станка 1804 г. быстро получила широкое распространение во Франции; с 1824 г. она вошла в употребление в Англии. Фактически на перфокартах отражались элементы двоичной арифметики: 0 и 1. Например, отверстие означает 0, а отсутствие отверстия – 1; это можно также интерпретировать как «да» и «нет» или как-нибудь по-другому.
После изобретения Жаккара перфорационный принцип управления получил распространение в тех машинах, где требовалось согласование различных действий многих механизмов. Этот принцип применяли, например, в музыкальных аппаратах, наборных машинах и в других случаях.
Перфокарты, с помощью которых Бэбидж предполагал автоматизировать работу аналитической машины, могут быть разделены на две основные группы: операционные (или перфокарты операций) и управляющие.
С помощью операционных перфокарт осуществлялись сложение, вычитание, умножение и деление чисел, находящихся в арифметическом устройстве. Операционные перфокарты выглядели так:
C помощью управляющих перфокарт осуществлялась передача чисел как внутри машины (из памяти в арифметическое устройство и обратно), так и в системе – «человек– машина» (ввод оператором новых чисел в память машины и вывод результатов вычислений на печать).
Для обозначения управляющих перфокарт, с помощью которых осуществлялась передача чисел между памятью и арифметическим устройством, Бэбидж использовал термин «карты переменных». В письме к Лавлейс от 30 июня 1843 г. Бэбидж писал, что в аналитической машине «используются только три вида карт переменных:
1) карты, с помощью которых переменные выводятся из памяти в счетное устройство, на колонках при этом остается нуль;
2) карты, с помощью которых переменные выводятся из памяти в счетное устройство, при этом величина их в памяти сохраняется;
3) карты, с помощью которых можно вызвать любую нулевую переменную с целью получения результата из счетного устройства» [87, с. 172].
Лавлейс предложила следующие названия данных трех разновидностей карт переменных:
1) «нулевая карта» (для вызова числа из регистра памяти с одновременной установкой нуля в регистре – по современной терминологии «считывание с разрушением информации»);
2) «удерживающая карта» (для вызова числа из регистра памяти без изменения содержания регистра – по современной терминологии «неразрушающее считывание»);
3) «доставляющая карта» (для передачи числа из арифметического устройства в память).
В письме к Лавлейс от 2 июля 1843 г. Бэбидж отмечал, что с помощью карт переменных нельзя заказать более одной переменной одновременно, так как механизм не приспособлен для этого. Практически только с 60-х годов XX в. в ЭВМ стала применяться параллельная обработка данных, т. е. совмещение во времени выполнения команд.
Для обозначения управляющих перфокарт, применяемых для ввода оператором чисел в память аналитической машины Бэбидж использовал термин «цифровая карта».
С помощью цифровых карт предполагался ввод чисел для решения конкретной задачи, в том числе констант значений логарифмов и т. д.
Важно отметить, что применение перфокарт не только обеспечивало автоматическое решение задачи на аналитической машине, но и существенно облегчало подготовительную работу для решения другой однотипной или сходной задачи. «За исключением цифровых карт, – писал Бэбидж, – все карты, однажды использованные и изготовленные для одной задачи, могут быть использованы для решения тех же задач с другими данными, поэтому нет необходимости готовить их во второй раз – они могут быть тщательно сохранены для будущего использования. Каждая формула требует своего массива карт и со временем машина будет иметь собственную библиотеку» [87, с. 173]. Иными словами, Бэбидж высказал идею создания библиотеки подпрограмм, реализованную только в начале 50-х годов ХХв.
Бэбидж следующим образом описывает процесс движения перфокарт при выполнении операций: «Средства, которые я применил, ежедневно используются при ткачестве. Они включают систему карт с различными отверстиями, которые объединяются в массив до достижения любого требуемого объема. Два больших ящика, один из которых пустой, а другой – наполненный перфорированными картами, располагаются спереди и сзади многогранной призмы. Эта призма прерывисто вращается на своей оси, и каждый раз продвигается вперед на короткое расстояние, после чего немедленно возвращается.
Карта проходит над призмой только перед каждым ходом челнока. Те карты, что прошли, падают вниз, пока не достигнут пустого ящика для сбора карт, в котором они располагаются одна над другой. При заполнении одной коробки становится другая пустая коробка для приема поступающих карт, а новая полная коробка на противоположной стороне заменяет только что опустевшую. Когда число карт на входной стороне точно соответствует числу карт на выходной, они полностью уравновешивают друг друга, так что вне зависимости от рассчитываемой формулы, крайне сложной или очень простой, сила, которая должна быть приложена, всегда остается почти той же самой» [85, с. 63].
В качестве иллюстрации процесса управления аналитической машиной с помощью перфокарт рассмотрим последовательность операций (программу работы) при расчете выражения (ab + c)d (табл. 4). Как видно из таблицы, для проведения расчета используются 14 управляющих перфокарт и 3 операционные.
Таблица 4. Последовательность операций в аналитической машине для определения значения х = (a x b + с) d
Управляющие карты | Существо операций |
1 | Установить а на колонке 1 памяти |
2 | » b » 2 » |
3 | » е » 3 » |
4 | » d » 4 » |
5 | Вызвать а из памяти в арифметическое устройство |
6 | То же для b |
Операционная карта 1 (а x b = р) | |
7 | Установить р на колонке 5 памяти, где хранить для дальнейшего пользования |
8 | Вызвать р в арифметическое устройство |
9 | То же для c |
Операционная карта 2 (р + с = k) | |
10 | Установить к на колонке 6 памяти |
11 | Вызвать d в арифметическое устройство |
12 | То же для k |
Операционная кв рта 3 (d x k = p2) | |
13 | Установить р2 на колонке 7 памяти |
14 | Вывести р2 на печать или аппарат для изготовления стереотипных отпечатков |
1 | |
Примечание. Ввод исходных данных осуществляется управляющими картами 1—4. |
Для решения некоторой задачи в аналитическую машины вводятся исходные числа, записанные на цифровые перфокарты. Каждое число занимает один регистр памяти (колонку из десятичных цифровых колес), где оно хранится и используется по требованию. По окружности дисков колес выгравированы цифры от 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]. Это устройство дало возможность обходиться в различных случаях механически простой комбинацией рычагов, которая обеспечивала соединение и разъединение привода с любой желаемой колонкой в процессе выполнения команд программы.
Г. Бэбидж приводит пример реализации одной схемы, которую теперь мы назвали бы логической схемой совпадения.
Предположим, необходимо обеспечить некоторую логическую комбинацию (например, совпадение десяти различных «событий») [1 Событие (в общем случае логическое понятие) в машине Бэбиджа идентифицируется с проведением определенных операций.], которую можно осуществить механическим путем. При этом каждое событие должно быть представлено рычагом, поворачивающимся на своей оси и имеющим на конце блок, который держится свободно и может перемещаться вертикально независимо от несущего его рычага.
Теперь допустим, что каждый из этих рычагов по прошествии «события», которое он представляет, поставлен в такое положение, что все блоки находятся на одной вертикальной линии; тогда, если блок на самом низшем рычаге был поднят, то должны быть подняты все девять блоков вместе, а верхняя часть одного из них может быть, например, соединена со звонком. Однако, если хотя бы одно из десяти «событий» не произошло, его блок должен выйти из общего зацепления, и нижний блок должен сделать холостой ход; тогда звонка не будет.
Представленная схема совпадения соответствует, к примеру, возможности одновременного переноса во всех, где необходимо, разрядах числа после того, как полностью закончено (все «события» произошли) поразрядное сложение без переноса.
В аналитической машине, состоящей из многих отдельных цепочек движения, из которых только несколько в определенный момент времени находятся в действии, применение «принципа зацепления» весьма эффективно. Он помогает реализовать также другой важный принцип, а именно разбиение каждой цепочки движений, насколько это возможно, на короткие участки, последний из которых дает возможность осуществлять простое управление при очередном вводе механизма в работу с учетом наличия движущей силы. Очевидно, тяга при этом находится в несвязанном состоянии с другими деталями и затем может быть восстановлена любой из управляющих карт.