Выбрать главу

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

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

Составление таблицы команд обычно называют «программированием». «Запрограммировать выполнение машиной операции А» – значит ввести в машину подходящую таблицу команд, следуя которым, машина может выполнить операцию А.

Интересной разновидностью цифровых вычислительных машин являются «цифровые вычислительные машины со случайным элементом». Такие машины имеют команды, содержащие бросание игральной кости или какой-нибудь эквивалентный электронный процесс. Одной из таких команд может быть, например, следующая: «бросить кость и полученное при бросании число поместить в ячейку 1000». Иногда говорят, что такие машины обладают свободой воли (хотя лично я не стал бы употреблять такое выражение). Установить наличие «случайного элемента» в машине путем наблюдений за ее действием обычно оказывается невозможным, так как если сделать, например, выбор команды зависимым от последовательности цифр в десятичном разложении числа π, то результат получится совершенно аналогичный.

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

Сама идея цифровой вычислительной машины отнюдь не является новой. Чарлз Бэббедж[5], занимавший с 1828 по 1839 г. Люкасовскую кафедру по математике в Кембридже[6], разработал проект вычислительного устройства, названного им Аналитической машиной; создание ее, однако, так и не удалось завершить. Хотя у Бэббеджа были все основные идеи, существенные для создания такого механизма, его машина не имела перспектив. Скорость вычислений, которую позволила бы достичь машина Бэббеджа, оказалась бы, разумеется, выше скорости, достигаемой человеком, однако она была бы почти в 100 раз меньше, чем у той вычислительной машины, которая в настоящее время работает в Манчестере[7] и которая является одной из самых медленных современных машин. Запоминающее устройство в машине Бэббеджа было задумано как чисто механическое, с использованием карт и зубчатых колес.

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

вернуться

5

Чарлз Бэббедж (1792–1871) – английский ученый, работавший в области математики, вычислительной техники и механики. Выступил инициатором применения механических устройств для вычисления и печатания математических таблиц. В 1812 г. у Бэббеджа возникла идея разностной вычислительной машины (Difference Engine). Строительство этой машины, которая должна была вычислять любую функцию, заданную ее первыми пятью разностями, началось в 1823 г. на средства английского правительства, однако в 1833 г. работа была прекращена главным образом в связи с финансовыми затруднениями. К этому времени у Бэббеджа возник проект другой, более совершенной машины. Эта машина, которую Бэббедж назвал «Аналитической машиной» (Analitical Engine), должна была проводить вычислительный процесс, заданный любыми математическими формулами. Бэббедж весь отдался конструированию своей новой машины, однако к моменту его смерти она так и не была закончена. Сын Бэббеджа завершил строительство некоторой части машины и провел успешные опыты по применению ее для вычислений некоторого рода. Подробнее о Ч. Бэббедже и его машинах см.: Бут Э. и Бут К. Автоматические цифровые машины / перев. с англ. М.: Физматгиз, 1959. С. 18–21; Hartree D.R. Calculating Instruments and Machines, Cambridge, 1950, chapter 9: «Charles Babbage and the Analitical Engine».

вернуться

6

Люкасовская кафедра в Тринити-колледже основана в 1663 г. на средства, пожертвованные Генри Люкасом. Первым люкасовским профессором был учитель Ньютона Барроу, вторым – сам Ньютон. Получение этой кафедры, сохранившейся до нашего времени, считалось всегда большой честью. В настоящее время ее занимает Дирак.

вернуться

7

Манчестерская машина была построена в Манчестерском университете (Англия) в конце 40-х годов. Конструирование машины происходило под руководством Вильямса (F.С. Williams) и Килберна (Т. Kilburn). В разработке и отладке машины принимал участие Тьюринг, который с этой целью в 1948 г. был приглашен в Манчестерский университет. Тьюринг занимался математическими вопросами, связанными с Манчестерской машиной, и особенно вопросами программирования (см.: Biographical Memoirs of Fellows of the Royal Society, v. 1, London, 1955, p. 254–255). Описание Манчестерской машины см. в кн.: Faster than Thought. A Symposium on Digital Computing Machines. Ed. by B.V. Bowden, London, 1953, chapter I.