Text
                    11 Л VIУ Л ВЕЛИЧАИШИЕ
НАУпАтеории
1ьюгим1 компьютерное исчисление
ТЬЮРИНГ
Компьютерное исчисление
Размышления
15
о думающих машинах
D4AGOSTINI

ТЬЮРИНГ Компьютерное исчисление
ТЬЮРИНГ Компьютерное исчисление Размышления о думающих машинах НАУКА. ВЕЛИЧАЙШИЕ ТЕОРИИ
Наука. Величайшие теории: выпуск 15: Размышления о ду- мающих машинах. Тьюринг. Компьютерное исчисление. / Пер. с йен. — М.: Де Агостини, 2015. — 152 с. Алану Тьюрингу через 75 лет после его смерти, в 2009 году, были принесены извинения от правительства Соединенного Королевства за то, как с ним обошлись при жизни. Ученого приговорили к принудительной химической терапии, по- влекшей за собой необратимые физические изменения, из-за чего он покончил жизнь самоубийством в возрасте 41 года. Так прервался путь исследователя, признанного ключевой фигурой в развитии компьютеров, автора первой теорети- ческой модели компьютера с центральным процессорным устройством, так называемой машины Тьюринга. Ученый принимал участие в создании первых компьютеров и исполь- зовал их для расшифровки нацистских секретных кодов, что спасло много жизней и приблизило конец войны. Такова, по сути, трагическая история гения, которого подтолкнула к смерти его собственная страна, хотя ей он посвятил всю свою жизнь. ISSN 2409-0069 © Rafael Lahoz-Beltra, 2012 (текст) © RBA Collecionablcs S.A., 2012 © ООО «Де Агостини», 2014-2015 Иллюстрации предоставлены: Age Fotostock: 25,39ai, 39b, 59ad, 91b; Archivo RBA: 65, 74d, 141; Bletchley Park Museum: 70; Corbis: 59b; CWI/Rascal/ Lego: 39ad; Getty Images: 59ai, 69a, 91a, 92, 119a; Simon Harriyott: 21ad; Rafael Lahoz-Beltra: 33,47,56,85, 111, 139, 142; National Security Agency: 69b; Princeton University: 36; Christian Richardt: 21b; RJB1: 74i; Sergei Frolov/Sovict Digital Electronic Museum: 112; Dr Tony Shaw: 119b; Sherbone School: 21 ai; U.S. Army Photo: 89; Joan Pejoan. Все права защищены. Полное или частичное воспроизведение без разрешения издателя запрещено.
Содержание ВВЕДЕНИЕ 7 ГЛАВА 1. Что такое компьютер 13 ГЛАВА2. Машины протии кода. Тьюринг как криптограф 53 ГЛАВА3. Первые компьютеры: британские или американские? 79 ГЛАВА4. Создание думающих машин 99 ГЛАВА 5. Наследие Алана Тьюринга 123 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 145 УКАЗАТЕЛЬ 147

Введение Несмотря на короткую жизнь, Алан Тьюринг — одна из самых влиятельных личностей XX века. Вот всего несколько вех его профессионального пути. Ученый разработал гипотетическую машину, получившую название машины Тьюринга, с помощью которой создал теоретические основы для реализации первых компьютеров, он стал автором одного из самых быстрых ком- пьютеров той эпохи — Pilot АСЕ. Основным успехом Тьюринга как криптографа стала расшифровка кода «Энигмы» — шифро- вальной машины, которую немцы использовали во время Вто- рой мировой войны. Кроме того, он стал первопроходцем, заложив основы исследований искусственного интеллекта и математической биологии. Задача нашей книги — объяснить, не отступая от истины и при этом в доступной форме, сущность его фундаментально- го вклада в развитие современного мира. Выполняя эту задачу, мы объединили в книге элементы развлекательной науки, а также биографические детали, по- казав, каким образом некоторые важнейшие открытия Алана Тьюринга стали частью нашей повседневной жизни. В числе вопросов, на которые наша книга дает ответ, — что такое ком- пьютер? почему компьютеры зависают? в какой стране был изобретен компьютер? все ли виды задач могут решить ком- пьютеры? что такое капча? что такое система оптического рас- 7
познавания образов (OCR)? могут ли существовать разумные машины? как работает квантовый компьютер? Разносторонний характер исследований Алана Тьюринга подчеркивает его гениальность. Способность ученого находить новые объекты для исследования, видеть связи между явлени- ями и вопросами, которые, на первый взгляд, могут показаться совершенно разными, позволяет его сравнить разве что с Джо- ном фон Нейманом. Именно с этими двумя именами связано появление в 1940-х годах понятия «междисциплинарный ис- следователь», то есть ученый, способный с использованием математики и компьютеров выделить общие элементы в био- логии, экономике, социологии, физике с целью унификации, казалось бы, различных, но сходных по сути проблем. Личность Тьюринга, его жизнь и работа никого не могут оставить безразличными. Его научная судьба представляет собой настоящую интеллектуальную авантюру со множеством приключений и открытий. Личная жизнь ученого наполнена необыкновенными эпизодами, которые говорят о нем как о че- ловеке, далеком от стереотипов. Проблемы с законом вызвали у Тьюринга глубокую депрессию, которая и привела его к само- убийству: ученый принял цианид. При этом тайна, окутываю- щая его смерть, вызвала к жизни многочисленные измышления и догадки, в числе которых есть даже версия об убийстве. Эта книга, раскрывающая Тьюринга как личность и как ученого, состоит из пяти глав. В главе 1, после описания его детства и юности до окончания учебы в Кембридже, подробно рассматривается одно из важнейших открытий — различные варианты машины Тьюринга, разработанные как самим бри- танским гением, так и другими учеными, а также описываются попытки создания с помощью программного обеспечения ма- шины Тьюринга или ее аналога. В конце главы мы остановимся на некоторых отдельных вопросах, среди которых — проблема остановки, объясняющая в том числе и почему компьютер «за- висает». Глава 2 описывает, как атаки немцев в годы Второй миро- вой войны привели британцев к созданию Блетчли-парка, в ко- тором криптографы, включая Тьюринга, смогли расшифровать 8 ВВЕДЕНИЕ
перехваченные сообщения Третьего рейха. В эти годы талант ученого полностью раскрылся, и он, как и многие его коллеги, получил достойные награды в конце войны. Именно в Блет- чли-парке появился на свет Colossus («Колосс»), который счи- тается первым в мире компьютером. Во Второй мировой войне люди гибли без счета, но также бессчетны и достижения чело- веческого разума в этот период. Напряженная работа, ставшая бесценным опытом, подготовила ученого к решающему шагу от абстрактного мира машины, носящей его имя, к созданию реального компьютера Pilot АСЕ («Туз»). В главе 3 рассматривается вопрос, споры по которому не утихают по сей день: кто изобрел компьютер — британцы или американцы? Согласно принятой версии, ученые Соеди- ненного Королевства благодаря разработке Colossus обеспечи- ли своей стране первенство в создании компьютеров. Но по- чему же США сегодня занимают лидирующие позиции в этой индустрии? После описания характеристик Pilot АСЕ и ответов на вы- шеупомянутые вопросы мы углубимся в архитектуру фон Ней- мана, то есть принцип, согласно которому компоненты компьютера работают на логическом и функциональном уровне, а закончим рассказом о том периоде, когда Алан Тью- ринг посвятил себя программированию компьютеров в Манче- стерском университете. Уже в конце жизни Тьюринг увенчал свои исследования, возможно, самым амбициозным проектом и подготовил тео- ретическую базу для того, что сегодня называется искусствен- ным интеллектом. Ученый продолжал работу в Манчестерском университете, задавшись глобальным вопросом: возможно ли существование разумной машины? Именно об этом рассказы- вается в главе 4. Тьюринг создал цепь искусственных нейронов и разработал тест, до сих применяемый для определения того, разумно ли ведет себя машина, например компьютер, когда играет в шахматы, переводит текст или выполняет другие зада- чи, для решения которых человек использовал бы свой разум. Последний этап жизни ученого был так же плодотворен с научной точки зрения, как и первый. Именно в последние ВВЕДЕНИЕ 9
годы жизни он впервые использовал компьютер для изучения и моделирования биологических проблем, разработал матема- тические модели роста и формирования живых организмов, пытаясь найти ответ на вопрос, как формируются полоски на шкуре зебры. В результате этих исследований возникла но- вая дисциплина — математическая биология. Весной 1954 года, в возрасте 41 года, Алан Тьюринг покончил с собой, съев отрав- ленное яблоко. В главе 5 детально рассматривается научное наследие Тьюринга. По очевидным причинам мы не говорим о совре- менных компьютерах или суперкомпьютерах — ни о десктопах, ноутбуках, нетбуках или планшетах, ни об аппаратах, в осно- ве которых лежит компьютер, таких как мобильный телефон, электронная записная книжка и другие. Все эти устройства являются результатом естественной эволюции теоретической машины Тьюринга и первых компьютеров — Colossus, ENIAC, Pilot АСЕ, EDSAC: все их версии можно перечислять бесконеч- но. В наследие Тьюринга можно включить не только его вклад в развитие науки, гениальные находки и работы по инфор- матике, но и все то, что было оставлено без завершения в его бумагах и вдохновило следующие поколения исследователей. Так, на стадии разработки находились квантовый компьютер, модели искусственных нейронных сетей и их использование в интеллектуальных системах в повседневной жизни, изуче- ние молекулы ДНК с помощью компьютеров (структура ДНК была открыта Уотсоном и Криком за год до смерти Тьюринга). Маршрут, по которому прошел в XX веке один из самых интересных и гениальных умов, осмысливший разумные ма- шины, захватывает, а интерес к личности этого ученого и через полвека после его смерти продолжает расти. ю ВВЕДЕНИЕ
1912 23 июня в Лондоне родился Алан Мэ- тисон Тьюринг, второй сын Юлиуса Мэтисона Тьюринга и Этель Сары Стони. 1926 После успешной сдачи вступительного экзамена его принимают в частную школу Шерборна. 1931 Поступает в Королевский колледж Кембриджа, где изучает математику. 1935 Получает двухлетнюю стипендию для работы в Королевском колледже. 1936 Поступает в аспирантуру в Прин- стонском университете в США, за- канчивает ее в 1938 году. Отвергает предложение фон Неймана о работе в Принстоне и возвращается в Ко- ролевский колледж. Вводит понятие машины Тьюринга, одного из двух ключевых концептов компьютерного моделирования. 1939 В качестве криптографа начинает сотрудничество с Блетчли-парком. Придумывает Bombe — машину, по- зволившую британцам успешно рас- шифровывать код «Энигмы*. 1945 Получает орден Британской империи за вклад в победу британцев во Вто- рой мировой войне. Переезжает в На- циональную физическую лабораторию в Лондоне, где берет на себя задачу по созданию компьютера Pilot АСЕ, схему которого он представил в лабо- ратории в 1946 году. 1948 Начинает работу в Манчестерском университете, где вместе с Максом Ньюманом организует лабораторию по разработке и конструированию компьютеров для научного использо- вания. 1950 Публикует статью «Компьютерное оборудование и интеллект*, где вводит тест Тьюринга. Речь идет о фундамен- тальном испытании для оценки по- ведения компьютера, программы или машины. Программирует компьютер MADAM Манчестерского универси- тета и для этого пишет ему любовные письма. 1952 Представляет уравнения реакции - диффузии, ставшие первой работой по математической биологии, изуче- нию морфогенеза. В этом же году его арестовывают и назначают ему прину- дительную гормональную терапию. 1954 В возрасте 41 года Тьюринг совершает самоубийство, съев яблоко, отравлен- ное цианидом. ВВЕДЕНИЕ 11

ГЛАВА 1 Что такое компьютер Уже в XVII веке Блез Паскаль и Готфрид Лейбниц придумали машины, с помощью которых стало возможным совершать элементарные арифметические операции. Однако мечтой Лейбница было создание машины, способной мыслить. Этой мечте суждено было исполниться лишь в XX веке, когда Алан Тьюринг разработал теоретические основы, позволившие создать первые компьютеры.

Алан Мэтисон Тьюринг родился 2 июня 1912 года в Лондоне. За год до этого его родители, Юлиус Мэтисон Тьюринг и Этель Сара Стони, жили в индийском городе Чхатрапуре, отец рабо- тал в Индийской гражданской службе. Однако, ожидая появле- ния на свет ребенка, Тьюринги решили, что это событие долж- но произойти в Соединенном Королевстве, поэтому переехали в Лондон, где и родился Алан, второй и последний их сын. По- сле рождения Алана его отец подумал, что Индия — не самое лучшее место для новорожденного, так что Этель Сара и дети остались в Англии, а сам Юлиус отправился на службу в Чха- трапур. Семью он навещал время от времени. Когда Алану ис- полнился один год, его мать также уехала в Индию, чтобы жить вместе с отцом. Детей она оставила на попечении знакомых в Гилдфорде, и ближайшие несколько лет сыновья Тьюрингов видели родителей лишь изредка. Тьюринги принадлежали к верхушке среднего класса, в ко- тором чтили традиции и ценности британского образования. Сам Алан был от этих ценностей весьма далек, и это трагически повлияло на его судьбу. Ни по материнской, ни по отцовской линии в числе его родственников не было великих ученых и других знаменитостей. Единственным Тьюрингом, добив- шимся некоторой славы, был Харви Дория Тьюринг, дядя ЧТО ТАКОЕ КОМПЬЮТЕР 15
Алана, — он прекрасно ловил рыбу на муху. Однако, несмотря на отсутствие в семье интеллектуальной традиции, Алан еще в раннем возрасте начал демонстрировать высокие интеллекту- альные способности. Рассказывают, что в детстве он очень ин- тересовался числами, буквами и головоломками и на прогулках часто останавливался около фонарей, чтобы рассмотреть их серийные номера. В возрасте шести лет маленький Алан решил, что для сбора меда хорошо бы нарисовать маршрут, которым летают пчелы, и таким образом узнать точку пересечения их путей — именно в этом месте нужно ставить ульи. Также из- вестна история о том, как он понял, что велосипедная цепь па- дает со звездочки через определенное количество оборотов — для этого мальчика гораздо интереснее было попробовать решить такую задачу, чем просто купить новую цепь. Детское увлечение Алана Тьюринга наукой начало разви- ваться в школьные годы. В шесть лет мать записала его в госу- дарственную школу святого Михаила, в которой особая роль придавалась изучению латыни. Вообще встреча с английской образовательной системой имела для Алана как положитель- ные, так и отрицательные последствия: с одной стороны, она стала для него источником знаний и сформировала его интел- лект, с другой — Алан не мог не войти в конфликт с привержен- ностью этой системы непоколебимым классическим ценностям и опорой на Англиканскую церковь и британское величие. В атмосфере традиционной английской школы сформирова- лась такая характерная черта личности Алана, как уважение к нормам. В этом смысле показателен следующий эпизод: од- нажды мать читала Алану «Путешествие Пилигрима» (The piligrim’s progress', 1678) — классическое сочинение английской литературы, написанное Джоном Баньяном (1628-1688),— и пропустила часть текста, так как посчитала, что религиозное содержание отрывка может быть слишком скучным для ре- бенка. Однако Алан объяснил матери, что пропущенная часть — самая главная в книге и без нее вся история теряет смысл. 16 ЧТО ТАКОЕ КОМПЬЮТЕР
После окончания школы святого Михаила Алан пошел по тому же пути, что и его старший брат Джон. Сначала он по- ступил в центр Хейзелхёрст, а затем был записан в частную школу Мальборо. Как и многие его сверстники, Алан ставил элементарные химические опыты и увлекался популярной в то время книгой «Чудеса природы, о которых должен знать каждый ребенок» {Natural Wonders every child should know) Эдви- на Тенни Брюстера (1866-1960). Благодаря этому сочинению юноша смог познакомиться с научным взглядом на природу. Кроме того, молодой Тьюринг впервые читал книгу, связанную с биологией, в которой использовалось слово «машина»: на ее страницах было сказано, что человеческое тело — «сложная ма- шина», основной целью которой является поддержание жизни. За идеей цифровых компьютеров стоит мысль о том, что эти машины предназначены для выполнения любой операции, которая по силам команде людей. Алан Тьюринг, «Вычислительные машины и разум* Алана привлекали математика, химия и, как ни странно, французский. Мать записала его в подготовительную школу Хейзелхёрст, где он делал успехи, но при этом не слишком вы- делялся — был обычным хорошим учеником. Но позже родите- лям пришлось забрать сына из Хейзелхёрста, по всей видимости из-за конфликтов с другими учениками. Тьюринг уже в те годы славился атлетическим телосложением, которое поддерживал в течение всей жизни. В Англии того периода атлетические дан- ные были не менее важны, чем академические успехи, и все это, принимая во внимание интеллектуальное развитие мальчика, делало его априори хорошим учеником. И все же мать сомнева- лась в способности Алана соответствовать суровым требова- ЧТО ТАКОЕ КОМПЬЮТЕР 17
ниям престижной частной школы, а для нее было так важно, чтобы сына туда приняли, ведь это входило в число обязатель- ных признаков социального класса, к которому принадлежала семья Тьюрингов. В 1926 году, несмотря на все страхи матери, Алан успешно сдал вступительный экзамен в частную школу (Common Entrance Examination) и был принят в школу Шер- борна. Год обучения в ней решительным образом повлиял на фор- мирование личности Тьюринга. Там проявился его интерес к разрешению задач, которые он сам перед собой ставил, и эти задачи далеко не всегда были связаны с темами, о которых рас- сказывали преподаватели. Как это часто происходит и сегодня, школьная система той эпохи не слишком поощряла одаренных учеников. Алан выигрывал школьные конкурсы по матема- тике, изучил теорию относительности Эйнштейна, благодаря известной книге Артура Эддингтона «Природа физического мира» (The nature of the physical world) познакомился с кванто- вой механикой. Тьюринг настолько выделялся среди осталь- ных, что однажды директор школы сказал о нем: «Если он намеревается остаться в частной школе, то должен стре- миться к получению образования. Если же он собирается быть исключительно научным специалистом, то частная школа для него — пустая трата времени». Среди связанных с Аланом необычных историй, доказыва- ющих его упорство и целеустремленность, часто вспоминают случай, произошедший, когда Тьюрингу было 14 лет. В 1926 году в Соединенном Королевстве была объявлена все- общая забастовка, и Алану, чтобы попасть на занятия, пришлось проехать 100 километров на велосипеде из дома в Саутгем- птоне до школы с ночевкой в пансионе. В Шерборне Тьюринг учился с 1926 по 1931 год. По всей вероятности, жесткие требования и правила школы стали при- чиной его стеснительности и замкнутости. На занятиях по гре- ха ЧТО ТАКОЕ КОМПЬЮТЕР
ческому, латыни и английскому Алан не блистал, а вот на уроках по математике его талант полностью раскрылся. Он смог полу- чить бесконечную последовательность тригонометрической функции, в частности обратной функции тангенса: X3 хь X7 ardgx = x---+-------... 3 5 7 В 1928 году, в возрасте 16 лет, Алан смог понять труды по теории относительности Эйштейна, а в 1929-м он с большим интересом читал работы Шрёдингера по квантовой механике. Именно в это время он подружился с Кристофером Моркомом, который учился классом старше. Через два года этот крайне одаренный мальчик неожиданно умер от туберкулеза, но в те- чение этого короткого срока Кристофер и Алан стали лучшими друзьями и много говорили о науке. Впервые Тьюринг встретил сверстника, разделявшего его интересы. Благодаря этой дружбе изменились и личные качества Алана, который стал гораздо об- щительнее. Друзья вместе отправились в Тринити-колледж, в Кембридж, чтобы просить о двух стипендиях, которые позво- лили бы им учиться в этом престижном заведении. И здесь мы вновь сталкиваемся с упорством Алана, которому для получе- ния стипендии Кембриджского университета пришлось сда- вать экзамены дважды: вначале, неудачно, в 1929 году и во второй раз в 1930-м. Однако со смертью Кристофера все его юношеские мечты о дружбе, все общие надежды рухнули. Это событие очень повлияло на Алана, который погрузился в глубокий душевный кризис и разочаровался в религии. Лю- бопытно, что в течение практически трех лет (это видно из писем Тьюринга к матери Моркома) он был занят вопросом, как человеческий разум, в том числе и разум его друга, помеща- ется в материи, то есть человеческом теле. Несмотря на зарож- дающийся атеизм Алан уверовал в бессмертие разума й заинтересовался, как именно происходит его отделение от тела после смерти. Прочитав труд Эддингтона, он предпо- ЧТО ТАКОЕ КОМПЬЮТЕР 19
дожил, что этот вопрос может быть связан с квантовой механи- кой. Учитывая возраст Тьюринга на тот момент, это доказывает его дарование и талант, ведь данная гипотеза, а именно роль квантовой механики в проблеме отношения разума и материи, лежала в основе исследований многих ученых сере- дины XX века. Наука — это дифференциальное уравнение. Религия — граничные условия. Алан Тьюринг в письме английскому математику Робину Гэнди В 1931 году Алан Тьюринг стал студентом математики Ко- ролевского колледжа Кембриджского университета. С этих пор он отдалился от старшего брата Джона, который занялся адво- катской практикой в Лондоне. К счастью для Алана, универси- тет был для него более подходящим местом, чем школы, в ко- торых он успел поучиться: в Кембридже он попал в интеллек- туальную среду, необходимую для развития его способностей. Свободное время Тьюринг посвящал занятиям спортом — бегу и гребле. Что касается его академических интересов, то после прочтения работы Джона фон Неймана о логических основах квантовой механики внимание Алана привлекла математиче- ская логика. Известно, что он также прочел книгу Бертрана Рассела (1872-1970) «Введение в философию математики» (Introduction to mathematical philosophy, 1919) и знаменитый трехтомник «Принципы математики» (Principia mathematical 1910-1913), написанный Расселом совместно с Альфредом Нортом Уайтхедом (1861-1947). Без сомнения, эти работы по- 20 ЧТО ТАКОЕ КОМПЬЮТЕР
ВВЕРХУ СЛЕВА. Алан Тьюринг в 1928 году в возрасте 16 лет. ВВЕРХУ СПРАВА: -Здесь родился Алан Тьюринг, 1912-1954, криптограф, пионер информатики-. Надпись на одной из пяти синих табличек, размещенных на разных зданиях Соединенного Королевства, где жил Тьюринг. ВНИЗУ: Королевский колледж Кембриджского университета. ЧТО ТАКОЕ КОМПЬЮТЕР 21
влияли на интеллектуальное созревание личности будущего ученого. Однако наибольшее влияние на Тьюринга оказал Курт Гё- дель (1906-1978), особенно его знаменитая статья, опублико- ванная в 1931 году и посвященная теоремам о неполноте. Эта работа подтолкнула молодого человека к изобретению маши- ны Тьюринга, которая могла определять, какие математические функции могут быть вычислены, а какие нет. Если функцию возможно вычислить, машина через определенный промежу- ток времени, который, по словам другого великого математика, Давида Гильберта (1863-1943), должен быть конечным, выдаст результат. Напротив, если функция невычислима, машина бу- дет производить операции без остановки. По мнению Ходжеса, Тьюринг был более философом, чем математиком, что и объяс- няет его интерес к проблемам математической логики. Ученый, возможно, сам не осознавая этого, внес большой вклад в соз- дание теоретических основ информатики, причем сделал это задолго до того момента, когда компьютер стал реальностью. В 1933 году к власти в Германии пришел Адольф Гитлер, и это событие стало предвестником новой мировой схватки. Алан Тьюринг, озабоченный политической и социальной ситуа- цией в Соединенном Королевстве и Европе, примкнул к ан- тивоенному движению, хотя, в отличие от многих других его участников, он не принадлежал ни к марксистам, ни к пацифи- стам. Несколько лет спустя ученый, как и миллионы других людей, будет вовлечен в войну и в качестве криптографа станет приближать победу над нацистской Германией. А-МАШИНА ТЬЮРИНГА В 1934 году Тьюринг закончил обучение в университете, полу- чив диплом математика. В следующем году ему предоставили двухгодичную стипендию Королевского колледжа, входящего 22 ЧТО ТАКОЕ КОМПЬЮТЕР
в Кембриджский университет. В этот период можно наблюдать первые вспышки его гениальности. В 1936 году Тьюринг полу- чил премию Смита (в Кембридже ее присуждают молодым ис- следователям по теоретической физике, математике или при- кладной математике) за работу по теории вероятностей под названием «О функции ошибок Гаусса» (On the Gaussian error function) — она не была опубликована. Любопытно, что в этом исследовании была заново открыта знаменитая центральная предельная теорема, одна из основных теорем статистики. В том же году Тьюринг написал научную статью, озаглавлен- ную *0 вычислимых числах, с приложением к проблеме разреши- мости* (On computable numbers with an application to the Entscheidungsproblem), в которой описано его важнейшее науч- ное достижение — машина Тьюринга. Эти труды обеспечили академическое будущее ученого и стали его первыми шагами к блестящей карьере. Весной 1935 года Тьюринг посещал в кампусе Кембридж- ского университета, стипендиатом которого он был, курс Мак- са Ньюмана (1897-1984), знаменитого тополога, и у них завя- залась долгая дружба. Топология — раздел математики, изуча- ющий свойства объектов, которые остаются неизменными при непрерывных трансформациях. Тьюринг общался с Ньюманом в течение всей своей жизни, и это было чрезвычайно полезным для обоих с научной точки зрения. Во время Второй мировой войны они вместе работали в Блетчли-парке над расшифров- кой перехваченных немецких сообщений, а позже в Манче- стерском университете создавали программы для Baby, одного из первых послевоенных компьютеров. В Кембридже Тьюринг смог принять участие в одном из самых интригующих этапов развития науки. Британский философ и математик Бертран Рассел утверждал, что логика является основополагающей при установлении математиче- ской истины. Эта идея была ключевой в его книге Principia ЧТО ТАКОЕ КОМПЬЮТЕР 23
mathematic а, написанной незадолго до этого совместно с фило- софом Уайтхедом. Если математика могла быть интерпретиро- вана с точки зрения логики, в таком случае ничто не препят- ствовало ее сведению к основам логики. Одновременно, в на- чале 1930-х годов, другой философ и математик, Курт Гедель, уроженец Брно (этот город сегодня входит в состав Чехии, а в то время был частью Австро-Венгерской империи), устано- вил в математике знаменитый философский принцип. Он ввел теорему о неполноте, которую можно представить как идею о том, что существуют неразрешимые математические выраже- ния, или утверждения, которые не могут быть ни доказаны, ни опровергнуты. В общем случае эти утверждения могут быть истинными или ложными. Например, если кто-нибудь скажет, что «2 + 3 = 5», мы заметим, что это утверждение истинно. На математическом языке мы бы выразили это так: А = [2+3=5] => [А истинно] С другой стороны, если кто-то предложит утверждение «2 • 3 = 8», мы скажем, что это утверждение ложно: В=[2*3 = 8]=>[В ложно] Однако существуют утверждения, при установлении ис- тинности или ложности которых мы сталкиваемся с парадок- сом'. утверждение начинает противоречить самому себе. На- пример, великий философ Сократ, говоря: «Я знаю, что ничего не знаю», противоречил сам себе, так как если Сократ знает, что «ничего не знает», значит, он «уже что-то знает». Класси- ческий пример, переводящий ситуацию из математической об- ласти в лингвистическую, называется парадоксом лжеца. Гёдель перенес этот парадокс из языка в математику, в част- ности в сферу логики, доказав в 1931 году теорему о неполноте, описывающую неполные системы, истинность или ложность утверждений которых мы не можем установить. Невероятно за- 24 ЧТО ТАКОЕ КОМПЬЮТЕР
ПАРАДОКС ЛЖЕЦА Представьте, что мы выражаем на математическом языке следующее ут- верждение G: G = [это утверждение не истинно]. Если мы установим, что утверждение G истинно, мы подтвердим, что оно ложно. И наоборот, если мы решим, что G ложно, это будет означать, что G истинно. Этот парадокс имеет место в самореферентных системах, к ко- торым принадлежит и фраза в описанном примере, и такой ее вариант, как «Я лгу». В результате мы получаем странную петлю. Не- зависимо от того, как мы бу- дем рассуждать, мы всегда приходим в ту же точку, откуда начали. Другими примерами самореферентности являются рука, рисующая руку, на зна- менитой картине Эшера, син- тез белков и ДНК клетки или «микрофон, слушающий колон- ку», представленный в книге Дугласа Хофштадтера «Я стран- ная петля» (/ am a strange loop). Рисующие руки- (1948), Мауриц Корнелис Эшер. хватывающим представляется вопрос о том, как эти философ- ские рассуждения, па первый взгляд далекие от реального мира, заставили поколебаться основы математики. В тот период не- которые ученые сформулировали следующий вопрос: может ли математическая интуиция быть кодифицирована в свод пра- вил, или (на современном языке) в компьютерную программу? Необходимо было понять, возможно ли создание механиче- ского разума, сегодня именуемого компьютером, с помощью которого мы сможем автоматически исследовать или доказать без вмешательства человека истинность или ложность какого- ЧТО ТАКОЕ КОМПЬЮТЕР 25
либо математического доказательства или утверждения. На- пример, для того, что мы сегодня называем искусственным ин- теллектом, не существует системы правил для вычисления или вывода, которая позволила бы определить с помощью про- граммы свойства натуральных чисел. Натуральные числа N - = [1, 2, 3, 4, ...], которые мы используем для счета элементов целой величины, например количества яблок, имеют опреде- ленные свойства. Пусть а, b и с будут числом яблок, равным 2,3 и 5 соответ- ственно. Свойство ассоциативности устанавливает, что (о + 6) + -» с = а + (Ь -» с), в то время как согласно свойству дистрибу- тивности а • (Ь 4- с) = а • b 4- а • с. Если мы представим эти два свойства натуральных чисел в виде утверждений, назвав ассо- циативность утверждением Я, а дистрибутивность — утверж- дением /, и заменим а, b и с их числовыми выражениями Н = [(2 4-3) 4- 5 = 2 4-(3 4- 5) ] => [Н является...], I = [2 • (3 4- 5) = 2 *3 4-2 • 5] => [I является...], станет очевидно, что не существует программы для компьюте- ра или какой-либо другой машины, которая могла бы автома- тически доказать или опровергнуть этот тип утверждений. Как это ни удивительно, но написать программу для компьютера, которая доказала бы то, что очевидно даже ребенку школьно- го возраста, а именно (2 4- 3) 4- 5 = 2 4- (3 + 5), невозможно, поэтому в математике существуют «истинные утверждения» о числах, которые не могут быть доказаны с помощью правил дедукции. Как можно себе представить, теорема Геделя заста- вила пошатнуться казавшиеся непоколебимыми идеи Бертра- на Рассела и сами столпы формальной математической науки, которыми так гордятся ученые. Один из самых влиятельных математиков XIX — на- чала XX века, немец Давид Гильберт сказал, что вся эта дискус- сия сводится к проблеме определения, то есть возможности установить последовательность или непоследовательность 26 ЧТО ТАКОЕ КОМПЬЮТЕР
формальной системы. Это означает, что до сих пор математики делали свою науку, используя правила вывода и аксиомы, то есть идеи или утверждения, считающиеся очевидными и не требующие доказательств. В этой ситуации Гильберт по- ставил перед научным сообществом задачу создать механиче- ский процесс (на современном языке — «информатизирован- ный процесс»), с помощью которого можно было бы принять решение об истинности или ложности математического ут- верждения. Необходимо было оставить теоретическую дискус- сию, начатую Геделем, и найти реальное решение проблемы, так как на кону стояла честь математики как науки. Алан Тьюринг принял этот вызов и начал работать над решением проблемы, поставленной Гильбертом и ставшей, в свою очередь, ответом на теорему Геделя. Так Тьюринг создал абстрактный исполни- тель, не имеющий реального прототипа, — а-машину (automatic machine). Это устройство, известное нам как машина Тьюринга, обязано своим происхождением дискуссии между философами и математиками на самом высоком уровне. Сегодня считается, что это теоретическая модель первого в истории науки компью- тера. Однако, несмотря на гениальность идей, возникших у Тьюринга в 1937 году, они не могли получить материального воплощения. К сожалению, потребовался глобальный военный конфликт (Вторая мировая война) для того, чтобы математики и инженеры объединили свои усилия для разработки и созда- ния удивительной машины — компьютера. Итак, что представляет собой машина Тьюринга? Из каких частей или компонентов она состоит? А-машина — это аб- страктное устройство, не имеющее реального прототипа и пред- ставляющее собой простейший компьютер. Она способна счи- тывать и записывать символы на ленте, разделенной на ячейки. Теоретически эта лента бесконечна, то есть не имеет края ни справа, ни слева. Очевидно, что она представляет собой ос- новную память; в современном компьютере эквивалентом можно считать оперативную память — RAM (ОЗУ, оператив- ное запоминающее устройство). Интересно отметить, что Тью- ЧТОТАКОЕ КОМПЬЮТЕР 27
ринг посчитал бесконечную ленту необходимой для компью- тера, предваряя этим возникновение одного из важнейших эле- ментов — памяти. По очевидным причинам память компьютера не может быть бесконечной, и этим объясняется «зависание» техники, когда ее памяти недостаточно для выполнения опре- деленной программы или операции. Но что можно записать на ленту? Представим, что мы рас- полагаем алфавитом, состоящим всего из двух символов — О и 1, а также еще одним символом, означающим пустую ячейку, — назовем его пропуск, или В. Система из этих трех символов со- ставляет алфавит, который мы обозначим как А. То есть в каж- дой ячейке бесконечной ленты будет записан символ: 0, 1 или В (см. рисунок). Представим себе машину Тьюринга в самой элементарной конфигурации. С одной стороны, ей необходима головка для считывания и записи, с помощью которой считывается содер- жимое ячейки, а затем стирается и записывается новый символ. В общей модели машины Тьюринга считалось, что после завер- шения цикла чтения ячейки, стирания содержимого и записи нового символа головка и вместе с ней вся машина сдвигается по отношению к ленте на одну позицию вправо (П) или влево (Л). То есть можно представить, что лента или машина пере- ходит к позиции П или Л. Также машине необходим небольшой объем памяти — реестр, в котором хранится информация о со- стоянии или конфигурации в определенный момент времени. Реестр похож на светофор, который может быть красным (К), желтым (Ж) или зеленым (3). В конкретный момент времени машина находится в определенном состоянии, и количество возможных состояний является конечным. Обозначим его мно- жество буквой Q (см. рисунок). Представим, что наша машина Q 0 0 О Г О I 1 ' О 1 В О 28 ЧТО ТАКОЕ КОМПЬЮТЕР
находится в одном из четырех состояний: El, Е2, ЕЗ или Е4. Также имеется начальное состояние 10, соответствующее записи в реестре при запуске машины в работу. Итак, машина располагает двумя конечными наборами символов — величинами, записываемыми в ячейки ленты (А = = (0,1, В)), и состояниями реестра машины (Q = (Io, El, Е2, ЕЗ, Е4)). Для того чтобы машина Тьюринга функционировала, она должна следовать определенному протоколу, словно офисный служащий. Всякий раз, когда служащий выполняет свою рабо- ту, он совершает определенную последовательность действий, и после завершения одного шага он должен знать, каким будет следующий. Подобным образом каждый раз, обработав символ на ленте, машина Тьюринга должна до начала обработки следу- ющего символа актуализировать свое состояние. Для того чтобы машина Тьюринга могла менять состояние, используется таблица, названная таблицей переходов, которую обозначим символом А. В соответствии с этой таблицей, ис- пользуя правила перехода, или функции, машина после завер- шения одной операции переходит к следующей. Таким образом, обратившись к таблице, машина Тьюринга после завершения операции актуализирует свое состояние. Каждый раз, когда головка для считывания/записи находит на ленте символ, она соотносит его с символом, описывающим собственное состоя- СОСТОЯНИЯ МАШИНЫ Простой пример возможных состояний машины из повседневной жизни представляют собой программы стиральной машины. После завершения операции аппарат актуализирует свое состояние, следуя заданной про- грамме, как правило это стандартный цикл, состоящий из замачивания, стирки, полоскания и отжима. То есть в данном случае состояния машины (стиральной) — этапы программы, выполняемые в определенный момент. ЧТО ТАКОЕ КОМПЬЮТЕР 29
ние машины и указывающим, что она должна сделать далее для каждой комбинации символов. То есть в таблице представлено состояние ячейки и состояние машины, А х Q. В соответствии с этой комбинацией по таблице определяются следующее со- стояние Q и новый символ А, который будет записан на ленте вместо считанного, а также то, в каком направлении должно будет перемещаться устройство по ленте: вправо (П) или влево (Л). Таким образом, в самом простом виде работа машины Тью- ринга определялась тремя элементами: состоянием машины Q, алфавитом А и таблицей А, в которой собирается информация о каждом завершенном шаге машины Тьюринга для выполне- ния следующего. Для того чтобы понять, как функционирует машина Тью- ринга, приведем простой пример с тремя состояниями Q = {Е1, Е2, ЕЗ) и лентой памяти, ячейки которой могут содержать сим- волы А = {0, 1}. Будем считать начальное состояние 10 равным Е1, головка считывания/записи находится во второй ячейке слева от рассматриваемого участка ленты, например имеющего вид 011110. Если таблица переходов сформирована тремя та- блицами ниже, по одной на каждое из состояний El, Е2 и ЕЗ, то как будет вести себя машина? Символ ленты Записанный символ Переход Следующее состояние 0 1 Л Е2 1 0 п ЕЗ Символ ленты Записанный символ Переход Следующее состояние 0 0 Л ЕЗ 1 1 п Е1 30 ЧТО ТАКОЕ КОМПЬЮТЕР
Символ ленты Записанный символ Переход Следующее состояние 0 1 Л Е1 1 0 П Е2 Читая таблицу переходов и учитывая, что каждая операция реализуется в единицу времени tv получаем, что на- чальное положение имеет следующий вид. Согласно таблице переходов и учитывая, что машина в на- чальный момент времени t{} находится в состоянии Е1, символ на ленте 1, в ячейке будет записан 0, шаг в следующую ячейку справа, состояние изменится на ЕЗ. О I О I V I 1 I 1 I ° I Действия машины для следующего момента времени tv когда она будет находиться в состоянии ЕЗ, указаны в табли- це переходов. Затем, после того как головка считает в ячейке символ 1, машина перейдет в состояние Е2, в ячейке будет за- писан 0, шаг в следующую ячейку вправо. О ° О 1 J о t2 После завершения предыдущей операции наступит момент времени tY Так как машина находится в состоянии Е2 и из ячейки считывается 1, то, следуя указаниям таблицы пере- ЧТО ТАКОЕ КОМПЬЮТЕР 31
ходов, в ячейку будет записано 1, устройство перейдет вправо, и машина изменит состояние на Е1. :о | ° | ° | ° | 1 | 1~ГБТ G Последний момент времени, t*. Машина находится в со- стоянии Е1, в считываемой ячейке стоит символ 1. Согласно таблице переходов, в ячейку будет записан 0, шаг вправо, пере- ход в состояние ЕЗ. о;о о 1 о о Z, У-МАШИНА ТЬЮРИНГА. МОЖЕТ ЛИ МАШИНА БЫТЬ УНИВЕРСАЛЬНОЙ Одним из ограничений машины Тьюринга является то, что она ведет себя как компьютер, выполняющий единственный алгоритм, то есть способный реализовывать только одну за- дачу. С исторической точки зрения одной из первых машин Тьюринга стала система AGC (Apollo Guidance Computer — бортовой управляющий компьютер миссии «Аполлон»). Эта машина была главным бортовым компьютером миссий NASA, позволивших совершить доставку человека на Луну 20 июля 1969 года. Задолго до этой эпопеи, осознавая присущее его ма- шине ограничение, Алан Тьюринг сделал расширение своей машины, назвав результат универсальной машиной Тьюринга, или у-машиной. Речь идет о машине Тьюринга, которую можно использовать в виде любой другой машины Тьюринга, то есть способной обрабатывать другие алгоритмы. Таким образом, компьютер — это пример универсальной машины Тьюринга. Еще один пример — смартфоны, или мобильные телефоны, ра- ботающие как мини-компьютер. 32 ЧТО ТАКОЕ КОМПЬЮТЕР
ЛУННАЯ МИССИЯ «АПОЛЛОН-11» Один из самых интересных приме- ров машины Тьюринга — мини- компьютер миссий «Аполлон», ор- ганизованных NASA для доставки человека на Луну. Это была маши- на Тьюринга, разработанная в Массачусетском технологиче- ском институте для навигации и прилунения. Среди множества мини-компьютеров, созданных для разных миссий, AGC (Apollo Guidance Computer — бортовой компьютер «Аполлона») был самым популярным. Программа, с помо- щью которой можно моделировать работу мини-компьютера миссий «Аполлон», а также выполнять со- CLR И<0 она Модель мини-компьютера миссий Аполлон* на эмуляторе Virtual AGC. временные программы, написан- ные для Windows, Linux, Mac Os или другой операционной системы, на- зывается Virtual AGC. Она написана на Ассемблере, низкоуровневом языке программирования, в связи с тем что память мини-процессора AGC — всего 38912 символа длиной 15 бит (последовательность 15 единиц и нулей). Программа моделирует вирту- альный компьютер в машине AGC, выполняющий программу, хранящуюся в его памяти. На лунном модуле мини-компьютер AGC использовал про- грамму Luminary, в то время как на командном модуле применялась про- грамма Colossus. Обе они доступны на симуляторе. Превращение автоматической машины Тьюринга в универ- сальную представляет собой решительный шаг вперед в исто- рии компьютеров. Л если рассмотреть еще один факт, имеющий большую важность (знаменитый тезис Чёрча — Тьюринга), то можно сделать вывод, что изобретение компьютеров было уже совсем близко. Американский математик Алонзо Чёрч — одна из ключевых фигур математической логики — совместно ЧТО ТАКОЕ КОМПЬЮТЕР 33
с Аланом Тьюрингом сформулировал тезис, названный тези- сом Чёрча — Тьюринга. Говоря современным языком, этот тезис устанавливает, что универсальная машина Тьюринга (и, таким образом, компьютер) может решать любые задачи, решение ко- торых может быть выражено в виде алгоритма. Однако нужно учесть, что в то время слово алгоритм еще не использовалось, вместо него говорили «эффективный метод вычисления». Под алгоритмом мы понимаем совокупность шагов или правил, приводящих к определенному результату или решению задачи. Следовательно, для компьютера синонимом алгоритма явля- ется решение задачи. Всякий алгоритм обладает рядом свойств. — Во-первых, количество шагов, приводящее к решению задачи, должно быть конечным, то есть последователь- ность, приводящая к решению, какой бы длинной она ни была, должна завершаться. — Во-вторых, шаги или правила должны быть определены четко и однозначно. Приведем простой школьный экс- перимент для «измерения числа л»: 1) обмотайте банку бумажной лентой, лишний материал ленты обрежьте; 2) снимите бумажную ленту и измерьте ее длину; 3) по- местите банку между двумя книгами и измерьте рассто- яние между краями книг, соприкасающимися с банкой, для получения диаметра; 4) вычислите частное длины и диаметра. Полученная величина и будет л. — В-третьих (хотя это требование является дополнитель- ным), желательно, чтобы с помощью алгоритма можно было решить не только конкретную задачу, но все за- дачи подобного класса, например расставить слова по алфавиту. — В-четвертых (это также дополнительное требование), путь к решению должен состоять из минимального ко- личества шагов. 34 ЧТО ТАКОЕ КОМПЬЮТЕР
Например, процедура стирки состоит из следующих шагов. — Шаг 1. Разобрать одежду по цветам. Белые вещи и вещи светлых тонов должны стираться отдельно от цветных и темных вещей. — Шаг 2. Прочитать этикетки на одежде, чтобы выяснить максимальную температуру и способ стирки (а также сушки, глажки и так далее). — Шаг 3. Насыпать в лоток стиральной машины порошок. — Шаг 4. Уложить одежду в стиральную машину. Выбрать соответствующую программу и температуру. — Шаг 5. Достать выстиранную одежду. — Шаг 6. Конец программы. На уроках математики в школе используется много про- стых алгоритмов. Например, решение системы уравнений ме- тодом подстановки предусматривает следующий алгоритм. — Шаг 1. В обоих выражениях выделить одну неизвест- ную. — Шаг 2. Уравнять выражения. — Шаг 3. Решить уравнение. — Шаг 4. Подставить полученную величину в одно из двух уравнений, где выделена одна неизвестная. — Шаг 5. Решить получившееся в предыдущем пункте уравнение. ЧТО ТАКОЕ КОМПЬЮТЕР 35
— Шаг 6. Конец программы. Эти заключения приводят нас к выводу о том, что компью- тер представляет собой машину Тьюринга, работающую с алго- ритмами. Когда решение задачи может быть выражено в виде АЛОНЗО ЧЁРЧ, ЛЯМБДА-ИСЧИСЛЕНИЕ И «ЛИСП» Несмотря на то что с Тьюрингом всегда ассоциировалась машина, носящая его имя, после того как с трудами этого ис- следователя познакомился другой за- мечательный математик, Алонзо Чёрч (1903-1995), последний опубликовал работу, которая отнимала у машины Тьюринга часть оригинальности. В 1930-е годы Чёрч вместе со Стиве- ном Клейни (1909-1994) ввели Х-исчисление — абстрактную матема- тическую систему для формализации и анализа вычислимости функций. Функция — математическое выраже- ние у = f(x), отражающее связь между двумя переменными, например дли- ной х и весом у синих китов, в виде вы- ражения у = 3,15х - 192. Это понятие, предложенное в XVII веке Декартом, Ньютоном и Лейбницем, в 1930-е годы было пересмотрено с целью раз- работки общей теории математических функций. Новый синтаксис Одной из заслуг Чёрча считается введение нового синтаксиса для пред- ставления данного класса математических выражений. Так, если, напри- мер, мы вычислим значение выражения (+(*23)(*56)), при этом звездоч- ка — оператор умножения, то получим 36, поскольку (2 • 3) + (5 • 6) = 6 + + 30 = 36. Математическая функция должна быть абстрактной. Также для Х-исчисления используется более сложное выражение (Хх. + xl), означа- ющее: «Функция (представленная символом X) от переменной (здесь х), 36 ЧТО ТАКОЕ КОМПЬЮТЕР
алгоритма, считается, что задача разрешима. Швейцарский ин- женер Никлаус Вирт (р. 1934), автор языков программирова- ния «Алгол», «Модула-2» и «Паскаль», участвовал в разработке определения программы в 1975 году. Согласно его определе- нию, программа — соединение алгоритма с формой организа- ции данных внутри программы; организация данных также которая имеет вид Х(х) (представлена здесь как.), добавляет (оператор +) величину переменной (то естьх) к 1». Мы можем несколько усложнить пре- дыдущее выражение, записав ((к х. + х1)3), результат которого равен 4, поскольку мы указали, что х = 3. Предсказуемо, что для преобразования всех элементов ^исчисления мы можем усложнять операции. Другой за- слугой такого типа исчисления стало его влияние на теорию, изучающую компьютерное программирование. Проблема остановки Однако если Х-исчисление и получило известность, то только благодаря тому, что Чёрч использовал эту абстракцию для изучения проблемы оста- новки, придя в результате к понятию разрешимой задачи, то есть идеи, лежащей в основе машины Тьюринга. В свою очередь, Тьюринг в 1937 году доказал, что Х-исчисление и его машина эквивалентны, то есть представ- ляют собой два пути, по которым можно прийти к одному результату. Ког- да машина Тьюринга обрабатывает одно из указанных выражений, напри- мер (+31), она останавливается после того, как получен результат, в данном случае 4, то есть эта задача является разрешимой. С практиче- ской точки зрения Х-исчисление вдохновило развитие так называемых функциональных языков программирования, одним из примеров которых является «Лисп» — важнейший язык искусственного интеллекта. Появился он в 1958 году благодаря Джону Маккарти (1927-2011), автору термина •искусственный интеллект». Среди характеристик, которые язык унаследо- вал от Х-исчисления, — использование скобок: (defstruct persona (имя 'Alan) (возраст 41)) или более просто: (format t «Привет, Тьюринг!») ЧТО ТАКОЕ КОМПЬЮТЕР 37
получила название структура данных. Отсюда происходит зна- менитое выражение Вирта: алгоритм + структура данных = = программа. ДРУГИЕ МАШИНЫ ТЬЮРИНГА В 1982 году нобелевский лауреат в области физики Ричард Фейнман (1918-1988) выдвинул захватывающую задачу, к ко- торой мы обратимся в последней главе. После обнаружения ограничений в вычислительных способностях машин Тью- ринга, помимо известной проблемы остановки (поговорим о ней в следующем параграфе), Фейнман предсказал существо- вание вопросов, которые никогда не смогут быть обработаны компьютером. Он предположил, что и машины Тьюринга, и компьютеры не могут применяться для моделирования явле- ний квантовой природы, наблюдаемых на уровне атомов и не соответствующих классической физике. Ученый хотел ска- зать, что квантовые явления относятся к неразрешимым зада- чам, следовательно, они не могут быть обработаны обычным компьютером: машина Тьюринга, помимо прочих особенно- стей, должна для этого находиться одновременно в разных со- стояниях или одновременно считывать данные из разных ячеек. Компьютер для обработки квантовых явлений должен быть способным воспринимать не только состояния 0 и 1, но и воз- можные средние значения между 0 и 1 и одновременно исполь- зовать разные регистры оперативной памяти. После этого, в 1985 году, другой английский физик израильского происхож- дения, Дэвид Дойч (р. 1953), разработал новый класс машины Тьюринга, в котором эти ограничения были преодолены, — квантовую машину Тьюринга. Квантовые компьютеры спо- собны моделировать неразрешимые задачи, такие как квантовые феномены, и, естественно, их ждет широкое применение. Кроме оригинальной машины, предложенной Тьюрингом, и ее квантового варианта, предлагались и другие разработки. Например, можно построить полицефальную машину Тью- 38 ЧТО ТАКОЕ КОМПЬЮТЕР
ВВЕРХУ СЛЕВА: Курт Гёдель (1906-1978), создатель теоремы о неполноте, пошатнувшей основы математики. ВВЕРХУ СПРАВА: Деталь машины Тьюринга, построенной из деталей конструктора LEGO. ВНИЗУ: Алан Тьюринг участвует в забеге на длинную дистанцию в Доркинге (Англия) в 1946 году. В этом забеге он занял второе место. ЧТО ТАКОЕ КОМПЬЮТЕР 39
ринга, то есть машину с двумя и более головками, которые счи- тывают и записывают информацию на одну ленту, что увеличи- вает эффективность вычислений. Также возможна машина Тьюринга, считывающая информацию из ячеек на нескольких лентах. Предлагались и другие альтернативы, например инде- терминистская машина Тьюринга, в которой таблица переходов предусматривает для определенного состояния несколько пра- вил перехода, и их выбор происходит случайно. Однако насто- ящим вызовом стал класс машин, которые Тьюринг назвал ора- кулом, или о-машиной. В этой разработке ученый попытался преодолеть ограничения традиционной машины, обеспечив ее достаточной вычислительной мощностью для решения про- блемы остановки или задач, решение которых невозможно было выразить с помощью алгоритма. О-машина — это машина Тьюринга, подключенная к черному ящику, называемому ора- кулом и позволяющему преодолевать ограничения машины. Оракул можно представить как вторую ленту. В этой машине вводится специальный знак — маркер. Между маркерами по- мещается символ, по которому машине требуется консультация оракула. Дойдя до него, машина Тьюринга переходит в специ- альное состояние, названное состоянием вызова, и направляет оракулу запрос. Если оракул признает символ принадлежащим к его системе символов, машина переходит в состояние 1, в про- тивном случае — в состояние 0. Оракул стал первой попыткой исследований Тьюринга в области, которая впоследствии полу- чит название гипервычислений, или сверхтъюринговых вычисле- ний, то есть вычислений, находящихся за пределами возмож- ностей компьютера, предложенного самим английским ученым. ПРОБЛЕМА ОСТАНОВКИ. ПОЧЕМУ КОМПЬЮТЕР «ЗАВИСАЕТ» После создания машины Тьюринга английский ученый стал изу- чать проблему разрешения (по-немецки — Entscheidungspro- 40 ЧТО ТАКОЕ КОМПЬЮТЕР
Ыет) с помощью собственной концепции, известной с тех пор как проблема остановки. Проблема состоит в том, чтобы пред- сказать, остановится машина Тьюринга, «зависнет», как это де- лают современные компьютеры, или продолжит работать после считывания очередного символа. Таким образом, вопрос, на ко- торый пытался дать ответ Тьюринг, состоял в возможности применения механического процесса (специальной про- граммы) для определения, остановится ли другая программа при получении на входе определенной величины или данных. Сегодня на любом компьютере можно легко повторить некото- рые простые опыты по этому и другим вопросам, над которыми работал Тьюринг. Учитывая сходство между машиной Тью- ринга и компьютером, на котором выполняется программа, ре- шение проблемы будет состоять в ответе на вопрос, остановится выполнение программы или она будет выполняться беско- нечно. Рассмотрим эти две ситуации со следующими програм- мами на языке BASIC-256. Так, эта программа остановится после выполнения print «Привет, Тьюринг!» а вторая будет выполняться вновь и вновь без остановки: r=true while г print «Привет, Тьюринг!» end while Однако проблема, которую изучал Тьюринг и его совре- менники, не так проста, как мы это представили, поскольку не- возможно говорить об общем процессе, который мог бы определять, остановится ли конкретная программа. Цель со- стоит в написании программы, которая примет решение подан- ному вопросу, получив в качестве входных данных не число, например ПИН-код кредитной карты, и не буквы, например ЧТО ТАКОЕ КОМПЬЮТЕР 41
имя и фамилию, а другую программу Можно сказать, что про- блема остановки неразрешима с помощью машины Тьюринга. Но разрешима ли она с помощью компьютера? Предположим, мы даем название остановка (канди- дат, вход) программе, способной выяснить, остановится ли выполнение другой программы, которую мы назвали канди- дат; произойдет ли остановка при получении определенных входных данных, которые мы назовем вход. Действительно, если мы представим программу остановка (кандидат, вход) в форме псевдокода, получим Программа остановка (кандидат, вход) if input = вход и кандидат —> остановится then остановка (кандидат, вход) = истина if input = Bxofl и кандидат -> не остановится then остановка (кандидат, вход) = ложь; Представим, что, используя программу остановка (кандидат, вход), мы пишем другую программу, которая называется парадокс (вход): программа парадокс (вход) if остановка (кандидат, вход) = ложь then return истина else return ложь Сделаем в наших рассуждениях еще один шаг и вслед за Тьюрингом обозначим через Р программу парадокс. Далее выполним программу остановка (Р, Р). Если программа, вложенная в главную, вернет ответ «Ложь», значит, про- грамма Р не останавливается, получив в качестве входных данных программу, идентичную себе самой, тогда основная программа парадокс (Р), вернув значение «Истина», должна остановиться, но это невозможно и, значит, ложно. Напротив, если программа остановка (Р, Р) вернет ответ «Истина», так как программа Р остановит свое выпол- 42 ЧТО ТАКОЕ КОМПЬЮТЕР
нение, получив в качестве входных данных величину Р, тогда программа парадокс Р не остановится, возвращая значение «Ложь». Принимая во внимание все противоречия, Тьюринг сделал вывод, что программа остановка (или halt) не позво- ляет оценить Р. Другими словами, проблема остановки нераз- решима. Хотя и не существует программы, которая служила бы универсальным инструментом для удовлетворительного ре- шения проблемы остановки, ученые решили, что можно напи- сать программу, дающую ответы на отдельные случаи, то есть, говоря современным языком, частные программы. Этот класс программ был назван программами PHS (partial halting solver), или программами, частично решающими проблему остановки. Однако со временем ситуация была сочтена такой же неразре- шимой, как и с проблемой остановки. Вновь используя язык BASIC-256, напишем программу, которая получает на вход программу Р$. Задача состоит в получении на выходе (output) сообщения о том, останавливается ли выполнение програм- мы Р$: input Р$ if Р$ = "halt" then print «программа останавливается ДА» else print «программа останавливается НЕТ» endif end Мы приходим к поистине разочаровывающему выводу: нет уверенности, что такая простая с виду программа вернет поль- зователю корректный результат. Удивительно, что еще до по- явления компьютера и программного обеспечения Тьюринг смог прийти к выводу, что не существует механической проце- дуры, то есть машины Тьюринга или современной компьютер- ной программы, которая могла бы определить, остановится ли ЧТО ТАКОЕ КОМПЬЮТЕР 43
другая программа (или машина Тьюринга), получив на вход определенные данные. Этот вывод Тьюринг получил с помо- щью собственного изобретения — машины Тьюринга. Это еще раз доказывает гениальность ученого, который за свою корот- кую жизнь смог стать величайшим человеком XX века. БЕСКОНЕЧНОСТЬ МАШИН ТЬЮРИНГА Современный компьютер можно считать машиной Тьюринга, имеющей внутри себя еще одну такую машину. Для пояснения этой идеи приведем в пример один из первых компьютеров, ENIAC (Electronic Numerical Integrator And Computer). Этот мастодонт начала компьютерной эры может быть представлен как машина Тьюринга с тремя лентами: одна лента — для считывания входных данных, другая — для записи и возвращения ре- зультата, а третья выполняла роль памяти. Современные компьютеры В современном компьютере машина Тьюринга, имевшаяся в ENIAC, долж- на быть изменена, принимая во внимание, что входящая лента раздваи- вается на вспомогательную память (например, жесткий диск, SD- или флеш-карта) и клавиатуру. В такой машине в виде ленты выхода можно представить монитор, лента памяти соответствует RAM (ОЗУ). Если мы бу- дем рассматривать операционную систему (разные версии Windows Microsoft, или Linux/Unix, или Mac OS) как машину Тьюринга, получится, что совокупность программ, позволяющих управлять ресурсами компью- тера, — это машина Тьюринга, контролирующая другую такую же машину, которой является сам компьютер. Кроме того, когда программист пишет программу — совокупность инструкций, то есть исходный код, — он, в свою очередь, должен перевести эти инструкции в машинный или двоичный вид с помощью компилятора, который также можно считать машиной Тьюрин- га. После преобразования программа может быть выполнена микропро- цессором — важнейшим устройством в компьютере. Лежащая в основе всего модель представляет и компьютер, и программу, с помощью которой мы переводим программы на язык, делающий возможным их выполнение, и операционную систему как машины Тьюринга. Другими словами, «все это программы, все это software*, к которым нужно добавить электронные схемы, hardware, как будто бы речь идет о software, — эта важная идея является следствием разработок Тьюринга. 44 ЧТО ТАКОЕ КОМПЬЮТЕР
ПОСТРОИТЬ МАШИНУ ТЬЮРИНГА Как ни парадоксально это звучит, машина Тьюринга никогда не была воплощена в жизнь самим автором, несмотря на его са- моотверженные усилия. Это устройство было и осталось теоре- тическим, но с его помощью стало возможным определить, какие вопросы могут быть решены с помощью компьютера. Од- нако исследователи и любители компьютеров по всему миру создали машины, в основе которых лежали теоретические раз- работки Тьюринга. Одна из первых моделей появилась в 1972 году в Универ- ситете Брандейса в Массачусетсе (США). Ее создатель Ира Гилберт преследовал цель обучать студентов основам инфор- матики. Чуть позже появилось несколько версий машины Тьюринга из деталей LEGO. С помощью соединяющихся друг с другом пластиковых кубиков Денис Кузено построил маши- ну Тьюринга, хотя эта модель не была полностью автомати- зирована. Для хранения в программируемом микроконтрол- лере таблицы переходов в ней применялись «умные» кубики LEGO RCX, использующиеся любителями-робототехниками. Еще одна модель машины Тьюринга была построена с помо- щью LEGO японцем Джо Нагатой. В 2010 году Майк Дейви создал винтажную модель в память о машине, описанной в ра- боте Тьюринга, которая была опубликована в 1936 году. В его устройстве были использованы микроконтроллер Parallax Propeller и SD-карта, на которой хранились данные о состоя- ниях машины. Все эти примеры показывают, что практическая реализа- ция на уровне hardware машины Тьюринга не так проста. В то же время существует немало примеров моделирования ма- шины Тьюринга с помощью software, в основном потому что такой вариант гораздо доступнее. Среди самых интересных проектов можно назвать «Turing and Post Machines: C++ Simulators» — подборку программ на языке C++ для моделиро- ЧТО ТАКОЕ КОМПЬЮТЕР 45
вания машины разных типов (детерминистской, индетерми- нистской, универсальной, с ошибками, с разными лентами и др.); симулятор Visual Turing, разработанный для операцион- ной системы Windows и позволяющий увидеть в действии раз- ные машины Тьюринга. Еще один пример простой машины Тьюринга на языке Java называется tmsim bgm. Существует оригинальная программа] kturing Джона Кеннеди из Универси- тета Санта-Моники (США), созданная для операционной си- стемы MS-DOS и обновленная для разных версий Windows, хотя этот вариант моделирования несколько более скромный, чем Visual Turing или Jflap. Очень любопытна модель Uber Turing Machine 2011 года, включающая алфавит для написания алгоритмов. Все эти программы вызывают интерес, потому что представляют собой варианты моделирования машины Тью- ринга на универсальной машине Тьюринга — компьютере. Одной из самых интересных задач является возможность создать машину Тьюринга, используя другую машину — игру «Жизнь». Этот автомат был придуман в 1970 году Джоном Хортоном Конвеем (р. 1937), профессором Кембриджского университета, где учился и Тьюринг. Речь идет о модели ком- пьютера, которая была очень популярна среди любителей науки, особенно после того, как ее описал популяризатор мате- матики Мартин Гарднер (1914-2010) в журнале Scientific American. Игра представляет собой клеточный автомат, то есть двумерную решетку, клетки которой заполнены конечными ав- томатами, также известными как машины конечных состоя- ний. Речь идет об объекте, находящемся в одном из множества состояний, при этом данное множество конечно. Например, светофор может находиться в течение некоторого времени t в состоянии «зеленый», то есть в одном из трех возможных (красный, желтый, зеленый). Другой пример — нейрон, кото- рый может находиться в состоянии покоя или возбуждения. В машине Тьюринга, использующей для моделирования кле- точный автомат, с течением времени (0 состояния каждого ко- де ЧТО ТАКОЕ КОМПЬЮТЕР
СОЗДАНИЕ МАШИНЫ ТЬЮРИНГА С ПОМОЩЬЮ ИГРЫ «ЖИЗНЬ В конце XX века несколько ученых и любителей науки задались во- просом: можно ли построить ма- шины Тьюринга с помощью игры «Жизнь»? Поль Рендель 2 апреля 2000 года создал модель машины Тьюринга с помощью клеточного автомата Джона Хортона Конвея, а 10 февраля 2010 года повторил свой замечательный опыт. В пер- вой модели использовалась ре- шетка 1714 х 1647, с помощью конечных автоматов которой была создана машина Тьюринга. Она имела три возможных состояния и могла обрабатывать на ленте памяти три разных символа. В эксперименте 2010 года была создана мо- дель универсальной машины Тьюринга. Возможность моделирования машины Тьюринга с помощью игры «Жизнь» привела к удивительному вы- воду: игра «Жизнь» имела аналогичные с компьютером возможности. Бо- лее того, любое природное явление, например формирование колец Са- турна или взаимодействие зайцев и волков, можно смоделировать с помощью компьютера. Существуют и другие успешные примеры создания машин Тьюринга с помощью игры «Жизнь», некоторые из них даже полу- чили собственные названия: MRM (Minsky Register Machine) или ее уни- версальная версия URM, а также CoreWorld, LogiCe II и другие. нечного автомата обновляются. Обновление или расчет, каким будет состояние в следующий отрезок времени (t + 1), проис- ходит в соответствии с набором правил, известных как правила перехода, меняющие состояние каждого конечного автомата с учетом его актуального состояния и состояний соседних авто- матов. ЧТО ТАКОЕ КОМПЬЮТЕР 47
В игре «Жизнь» каждый конечный автомат граничит с восьмью клетками, окружающими его в направлениях С, Ю, В и 3, а также по диагонали: С-В, Ю-В, Ю-3 и С-3. Считается, что для всех конечных автоматов возможны только два состо- яния: состояние 0 («мертвые клетки») и состояние 1 («живые клетки»); каждому из них соответствует свой цвет. Состояния конечных автоматов актуализируются с применением следую- щих правил перехода. — Правило 1: если состояние конечного автомата 0 или 1, его следующее состояние, а именно ар, будет таким же, как предыдущее, если количество соседних клеток в состоянии 1 равно 2: ар = ’если сУмма соседних клеток (ар = 2. — Правило 2: конечный автомат перейдет в состояние 1, если количество соседних клеток в состоянии 1 равно 3, изменение состояния автомата произойдет только при условии, что его состояние было 0 во время t. В против- ном случае состояние останется равным 1: а1*1 = 1 если сумма соседних клеток (ар = 3. — Правило 3: описывает изменения при разном количестве соседних автоматов, находящихся в состоянии 1. Если количество автоматов рядом в состоянии 1 меньше 2 (то есть один или ни одного) или более 3 (четыре, пять, шесть, семь или восемь), конечный автомат «умирает», принимая значение 0. В этом случае изменение состоя- ния происходит, только если во время t его состояние было 1, в противном случае состояние не будет изменено и останется равным 0: 48 ЧТО ТАКОЕ КОМПЬЮТЕР
если сумма соседних клеток (%) < 2 %+ = ° или сумма соседних клеток (ар > 3. При каждой итерации и применении правил перехода к каждому конечному автомату клеточный автомат эволюци- онирует, при этом появляются рисунки, характерные для дан- ной игры. Образующиеся формы до сих пор вызывают восхи- щение среди компьютерных любителей. Существует большой выбор программ, позволяющих попробовать игру «Жизнь» (Life32, Xlife 2.0, Life 1.05/1.06, Pro Life, Mcell, dbLife и другие), из них самой впечатляющей является Golly. АМЕРИКАНСКОЕ ПРИКЛЮЧЕНИЕ В августе 1936 года Алан Тьюринг направил для публикации в Proceedings of the London Mathematical Society статью под на- званием «О вычислимых числах, с приложением к пробле- ме разрешимости». Мы уже говорили о ней, так как именно в этой работе впервые упоминалась машина Тьюринга. Также в статье даются определения понятиям «вычислимое» и «не- вычислимое» и представлены фундаментальные идеи мате- матики и информатики. По воле случая в том же году Алонзо Чёрч опубликовал в журнале American Journal of Mathematics статью «Одна неразрешимая проблема элементарной теории чисел»; оба ученых разными путями пришли к одним результа- там. Ход рассуждений Тьюринга был довольно оригинальным: он рассматривал класс операций, которые в реальном мире мог «механически» выполнять человек (например, клерк, осу- ществляющий одну и ту же задачу вновь и вновь) или машина (суммируя два числа). Ход рассуждений Чёрча был классиче- ским для абстрактного мира, что традиционно для математики. К сожалению, Тьюринг опубликовал свою статью чуть позже, и это лишило его работу исключительности, так как ему при- ходилось ссылаться на статью американца. Однако обе статьи ЧТО ТАКОЕ КОМПЬЮТЕР 49
представляют теоретические основы создания машины, позже названной компьютером. Месяц спустя, в сентябре 1936 года, Тьюринг отправил- ся в США. Там он планировал получить докторскую степень и провести два года в Институте перспективных исследований в престижном Университете Принстона. Под руководством Алонзо Чёрча Тьюринг обратился к теме, странной даже се- годня — использованию в математике интуиции. Не теряя времени на философские объяснения, скажем, что интуиция может быть определена как продукт здравого смысла. То есть речь шла о предвосхищении или ментальном видении, кото- рое помогает нам при рассуждениях прийти к умозаключению. Учитывая, что в ходе рассуждений мы связываем факты в ло- гическую цепь, интуиция представляет собой дополнительный компонент, необходимый для разрешения задачи. Математическое рассуждение схематично можно рассматривать как упражнение в комбинировании двух факторов — интуиции и изобретательности. Алан Тьюринг, «Логические системы, основанные на ординалах» Тьюринг предполагал, что человеческая интуиция возмож- на благодаря неким процессам, которые не могут быть выраже- ны в виде алгоритма. Эти «внеалгоритмические» этапы вклю- чены в ход рассуждения, помогают обнаружить взаимосвязь фактов и прийти к умозаключению. Интуиция присутствует не только в математике — и врач, и автослесарь в момент диа- гностики пользуются ею. В этот период Тьюринг начал проявлять интерес к возмож- ности создания своей машины, но эта цель так и не была до- стигнута. Именно во время пребывания в США проявился интерес ученого к hardware и, следовательно, к возможности создания с использованием электронных схем и электромеха- нических компонентов того, что еще недавно было не более чем интеллектуальным упражнением. И вновь, как и в случае по- явления идеи о машине Тьюринга на логическом уровне, мы 50 ЧТО ТАКОЕ КОМПЬЮТЕР
сталкиваемся с тем, что ученый начал думать о реализации своей машины в эпоху, когда еще не было компьютеров. Он соз- дал машину для умножения с использованием электромагнит- ных реле, которая позволяла умножать двоичные числа (то есть числа, которые можно представить с использованием только двух знаков: 0 и 1). В 1938 году еще один гениальный исследователь той эпо- хи, американский ученый венгерского происхождения Джон фон Нейман предложил Тьюрингу временную должность в Принстонском университете. Однако тот отверг это предло- жение и летом того же года вернулся в Королевский колледж. По возвращения он занялся созданием аналогового механизма для оценки так называемой гипотезы Римана. В августе 1939 года Тьюринг получил предложение рабо- тать в Блетчли-парке над расшифровкой перехваченных со- общений нацистов. ЧТО ТАКОЕ КОМПЬЮТЕР 51

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

Битва за Атлантику, продлившаяся практически до последних дней Второй мировой войны, началась 3 сентября 1939 года. За этот период на театре военных действий были реализованы самые масштабные военные операции. На протяжении всего конфликта немецкие подлодки систематически атаковали британский торговый флот, затрудняя снабжение Британских островов. Во время Первой мировой войны также происходили неоднократные столкновения немецкого и британского флотов, но во Второй мировой войне сценарий операций кардинально изменился. Появился новый класс судов — субмарины, став- шие смертельным оружием против британцев, так что те вы- нуждены были формировать военное сопровождение для защиты торговых кораблей. Эта стратегия дала временный ре- зультат: немецкие подлодки тогда были очень медлительными, для осуществления выстрела им необходимо было подняться на поверхность, и в это время они становились легкой добычей. К концу войны Германия потеряла около 75% своих подлодок. Однако действия немецкого подводного флота вызвали се- рьезные проблемы со снабжением Соединенного Королевства. Также с 1940 по 1941 год страна подвергалась серьезным бом- МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 55
БИТВА ЗА АТЛАНТИКУ Стратегия Action in the North Atlantic, классическая игра-симулятор. Тьюринг и его современники вряд ли могли предположить, что одним из основных спосо- бов применения компьютеров станет развлекательная инду- стрия. Моделирование, симуля- ции или имитация действий реальной системы, такой как движение подлодки, сегодня стало важнейшей сферой ис- пользования компьютеров, по- зволяющей моделировать си- туации, которые иначе большинство людей никогда не могли бы пережить. Видео- игры-симуляторы позволяют изучить работу системы (например, навигацию), управлять ресурсами (персонал, топливо и так далее) или решать трудные задачи (допустим, возникающие во время сражения). Симуляторы субмарин представляют собой тип видеоигр, позволяющих управлять подводной лодкой. Как пра- вило, игра состоит в выполнении серии миссий, в которых нужно потопить один или несколько кораблей и выдержать атаку противника, используя карты, радар, перископ и торпеды. бардировкам. Хотя их основной целью был Лондон, пострадали и другие города: погибло большое количество мирного населе- ния и было разрушено более миллиона жилых домов. После окончания Первой мировой войны, 23 февраля 1918 года, немецкий инженер Артур Шербиус (1878-1929) за- патентовал «Энигму», машину для шифрования сообщений. Фирма «Шербиус & Риттер», основанная изобретателем и его партнером, сразу же начала торговать устройством, однако позже права на его использование были проданы немецкому предприятию Chiffriermaschinen Aktien-Gesellschaft. В начале 1920-х годов «Энигма» была представлена публике в двух горо- дах Европы, с тех пор начались продажи целого ряда моделей 56 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
для гражданского использования. В своем названии они имели одну из букв: А, В, С, D. Изначально машина создавалась для шифрования информации о сделках, но пик ее использования пришелся на период войны. В Испании продавалась модель D, применявшаяся во время Гражданской войны. Самым важным клиентом производителей стала Германия. Для нее была раз- работана модель G; модель Funkschlussel, или М, стала исполь- зоваться на флоте, модель «Вермахт», или I, — в армии. Последняя разработка стала самой популярной, поэтому мы остановимся на пояснении принципа ее функционирования. В 1942 году свою модель стал использовать и немецкий подвод- ный флот. Любопытно, что 40 % всех машин «Энигма» было из- готовлено в годы Второй мировой войны. Для немцев эта машина стала жизненно необходимой, и Гитлер отдал приказ о включении ее в программу вооружения Третьего рейха. ДЬЯВОЛЬСКАЯ МАШИНА. КАК РАБОТАЛА «ЭНИГМА» Хотя с виду машина очень напоминала пишущую, внутри нее скрывался беспрецедентно сложный механизм. В основе его действия лежала комбинация механических и электрических компонентов. Механическая часть включала клавиатуру и си- стему дисков, или барабанов, называемых роторами. Контакты роторов соответствовали 26 буквам алфавита, от А до Z. Когда оператор нажимал на клавишу, начиналось вращение одного из роторов, затем следующего, потом, одного за другим, со- седних — шаг за шагом справа налево. Такой ритм поворотов обепечивался за счет выемок в роторах и позволял, например, шифровать букву А даже в одном и том же тексте разными символами. Ротор был изготовлен так, что на каждой из двух сторон его диска располагались контакты, которые при сопри- косновении с соседним ротором замыкали электрическую цепь. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 57
Внутри каждого ротора находилось 26 проводов, соединявших все контакты на одной из его сторон с контактами на другой стороне. Если добавить к этому, что в каждом роторе было соб- ственное переплетение проводов, соединявших контакты, по- лучится поистине дьявольская машина. Обычно на «Энигме» было три или четыре ротора, которые при нажатии клавиши задействовали электрическую цепь, каждый раз разную. А по- скольку роторы в каждый момент использовали разные элек- трические цепи, одной и той же букве всегда соответствовал новый символ. Управление «Энигмой» требовало выполнения следующих операций. В первую очередь, перед шифрованием или дешиф- ровкой сообщения оператор должен был перевести все роторы справа налево в определенное положение. Далее роторы враща- лись до достижения начального положения, обозначенного одной из 26 букв алфавита — это была единственная буква, ви- димая через специальное отверстие. Начальный порядок и по- ложение роторов задавали код для шифрования и дешифровки сообщений. К этим двум характеристикам добавилась и тре- тья — возможность изменить сеть проводов, соединяющих кон- такты между двумя сторонами ротора. Оригинальная модель «Энигмы» была серьезно усовер- шенствована за годы войны. Например, если войсковая модель «Вермахт» и модель ВВС Германии включали пять роторов, то модель для флота была оснащена уже восемью роторами. Более того, после последнего ротора добавлялся элемент, на- званный рефлектором, для шифрования в обратном порядке. То есть результат последнего ротора вновь менялся путем воз- вращения роторов от последнего слева к первому справа. В этой машине процесс шифрования совпадал с процессом дешиф- ровки, и ни одна буква не могла быть зашифрована самой собой. 58 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ВВЕРХУ СПРАВА: Немецкие солдаты во время Второй мировой войны передают сообщения с помощью «Энигмы*. ВВЕРХУ СЛЕВА: Алан Тьюринг, фотография сделана в 1951 году. ВНИЗУ: Разные модели «Энигмы*. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 59
Очевидно, что эти особенности успешно использовали британские криптографы в Блетчли-парке, где был построен большой комплекс для дешифровки перехваченных немецких радиосообщений. Кроме рефлектора, расположенного слева от роторов, справа от них находилось колесико входа, или стар- тер, соединявший клавиатуру, с помощью которой вводилось сообщение, с лампами, подсвечивавшими соответствующие буквы в исходящем зашифрованном сообщении. На фронталь- ной части «Энигмы» имелась коммутационная панель, позво- лявшая превращать одну букву в другую, помимо шифрования с помощью роторов. Если учесть все устройства, участвовав- шие в трансформации одной буквы (коммутационная панель, роторы и рефлектор), количество возможных конфигураций определялось количеством перестановок разных устройств и достигало невероятной цифры 10114. Это впечатляет, прини- мая во внимание, что человеческий мозг содержит 1011 нейро- нов, а количество атомов во Вселенной оценивается как 1080. Обладая такой чудовищной машиной, Германия чувствовала себя уверенно, и передача радиосообщений с военными прика- зами представлялась ей полностью безопасной. Однако обсто- ятельства сложились не в пользу неприступной «Энигмы», так как на захваченных немецких субмаринах были обнаружены несколько шифровальных машин и книг с кодами. «БОМБЫ» ПРОТИВ «ЭНИГМЫ» Польша, довольно сильно пострадавшая от нацистов, получила «Энигму» невероятным способом: машина была отправлена в Варшаву по почте из Германии. Благодаря этому группа мате- матиков из кабинета криптографии бюро шифров (BS 4) Ген- штаба Польши под руководством Мариана Режевского (1905— 1980) смогла расшифровать сообщения, кодированные с помо- щью «Энигмы», а саму машину затем вернули отправителю. Поляки, а позже и представители других стран-союзниц обна- 60 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ружили одну особенность шифровок: немцы в сообщениях в за- кодированном виде передавали начальное положение роторов, то есть указывали одну из 26 букв, которую можно было уви- деть в специальном окошке. Например, если начальным поло- жением ротора была буква В, в сообщении эта информация ото- бражалась как В В. С 1932 года Режевский и его команда успешно расшифровывали перехваченные немецкие сообще- ния. Польские математики создали машину, эмулирующую ра- боту двух синхронизованных «Энигм», — циклометр. Позже они изобрели криптоаналитическую машину — «бомбу», с по- мощью которой можно было обнаружить закономерности по- вторения в сообщении букв. В «бомбе» использовалась серия роторов, и она эмулировала работу трех синхронизированных «Энигм», что соответствовало одной машине с тремя роторами. Анализ цикличности букв в сообщениях, так называемый ана- лиз следов, или матриц, позволил автоматизировать дешиф- ровку перехваченных сообщений. Но этот метод работал недолго. В 1938 году немцы доба- вили к машине еще три ротора, так что их общее количество достигло шести. Теперь полякам для успешной дешифровки со- общений требовалось около 60 «бомб». Экономических ресур- сов для дальнейшей работы не хватало, и Польша приняла ре- шение передать в 1939 году накопленные данные британской и французской разведкам. Британцы приняли вызов и создали GC&CCS (Правительственную школу кодирования и шифро- вания), расположенную в Блетчли-парке, рядом с Милтон- Кинс, городке вблизи Лондона. Группа польских криптографов отправилась во Францию, где они работали совместно с секрет- ной французской службой до конца 1942 года, занимаясь де- шифровкой немецких сообщений и переправляя данные в Блетчли-парк. После того как немцы захватили юг Франции, польские криптографы и сами через Испанию отправились в Соединенное Королевство. Польские историки считают, что британцы не оценили должным образом талант польских мате- матиков. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 61
ТЬЮРИНГ В БЛЕТЧЛИ-ПАРКЕ В конце Второй мировой войны в Блетчли-парке насчитыва- лось 10 тысяч человек личного состава. Это был гигантский шпионский комплекс, работавший против нацистской Гер- мании. Деятельность велась в разных отделах, размещенных в отдельных домиках-ангарах. В одном отделе технические специалисты и аналитики занимались перехватом сообщений немецкого правительства или армии, в другом шла дешиф- ровка радиограмм, в третьем на основании дешифрованных сообщений пытались реконструировать сценарии военных операций или намерения немцев. Принимая во внимание, что немцы использовали разные сети связи, отделы также имели соответствующие подразделения, которые работали с разными конфигурациями «Энигмы» для каждой сети. С этой целью персонал Блетчли-парка присвоил каждой сети кодовые име- на: Red (красный), Shark (акула), Chaffinch (зяблик). В домике номер 8 (Hut 8) работал Алан Тьюринг, пригла- шенный в Блетчли-парк 4 сентября 1939 года, то есть на следу- ющий день после объявления Британией войны Германии. Миссия ученого предполагала дешифровку кодов «Энигмы» немецкого подводного флота, активно участвовавшего в мор- ской блокаде Британских островов. Как рассказывает британ- ский историк Аса Бриггс (р. 1921), также работавший в Блет- чли-парке с 1942 по 1945 год в домике 6, среди сотрудников комплекса было много талантливых людей, но гением считался Алан Тьюринг. В этот период ученый ездил в США, чтобы ор- ганизовать сотрудничество двух стран-союзниц. Существует мнение, что Тьюринг разрабатывал систему шифровки теле- фонных сообщений высшего руководства США и Соединен- ного Королевства, Рузвельта и Черчилля. При выполнении этого задания он сотрудничал с Дилли Ноксом (1884-1943), криптографом, получившим образование в Королевском кол- ледже Кембриджского университета. Также они совместно за- нимались вопросом ускоренной автоматической расшифровки сообщений, кодированных с помощью «Энигмы». Предложен- 62 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ный метод оказался более эффективным, чем метод поляков, чьи знания о шифровальной машине были собраны в «Трак- тате об «Энигме» (Treatise on Enigma). В этот период Тьюринг, которого коллеги называли Проф (сокращение от английского слова professor), привлекал всеоб- щее внимание довольно эксцентричными выходками. Напри- мер, он привязывал свою чашку к батарее отопления, чтобы ее не украли. Также в некоторых биографиях отмечается, что он несколько раз отказывался от транспорта и бежал из Блетчли в Лондон (а это примерно 64 километра) для участия в рабочих совещаниях. В ходе войны в Британии была создана новая машина, в которой использовались идеи польской «бомбы», и она полу- чила название Bombe'. Эта электромеханическая система вос- производила работу группы машин «Энигма». Ее оригиналь- ная версия была разработана Аланом Тьюрингом в 1939 году в Блетчли-парке, а построена Гарольдом Кином (1894-1973) из British Tabulating Machine Company (BTM) — предприятия, связанного с другим гигантом США, со временем получившим название IBM. В тот момент обе компании по разные стороны Атлантики занимались продажами табуляторов и машин для переписи населения. С помощью устройства, придуманного Германом Холлеритом (1860-1929), стало возможным чтение перфокарт, используемых для переписи: перфорация той или иной ячейки кодировала ответы. Существует версия, выска- занная Эдвином Блэком в его книге «IBM и Холокост» (2001), что Адольф Гитлер закупил у IBM партию табуляторов, с по- мощью которых в 1933 году была сделана перепись еврейско- го населения Германии, и за это президент IBM Томас Уотсон (1874-1956) получил в 1937 году Орден Заслуг германского орла из рук самого фюрера. Впоследствии Гордон Уэлчман (1906-1985) усовершен- ствовал оригинальную модель Bombe, поэтому окончательный вариант устройства известен как Bombe Тьюринга — Уэлчмана, 1 По одной из версий, оно происходит от названия десерта из мороженого Bombe glacee в виде шара или цилиндра. — Примеч. ред. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 63
в то время как польская машина-предшественница называлась криптологической бомбой (Bomba kryptologiczna). Окончатель- ный вариант Bombe весил около тонны и включал 108 роторов, соединенных по три, что соответствовало трем роторам «Энигмы». В свою очередь, группы по три ротора соединялись в дюжины. Таким образом, машина состояла из трех отделов по 12 групп из трех роторов. Все эти роторы выполняли ту же работу, что и «Энигма», только в обратном направлении — для расшифровки сообщений. С механической точки зрения ро- ПРОЕКТ SIGSALY С конца 1942 года до весны 1943-го Тьюринг находился в США. Во время посещения лабораторий Белла он познакомился со знаменитым Клодом Шенноном (1916-2001), считающимся отцом современной теории инфор- мации. Хотя Тьюринг и мечтал поговорить с этим великим ученым о воз- можности создания искусственного интеллекта, в его задачу входил сбор идей для разработки системы шифровки голоса для защиты телефонных переговоров высших руководителей обеих стран, Рузвельта и Черчилля. Этот проект был назван SIGSALLY. Система шифровала голос с помощью так называемого случайного шума и часто использовалась союзниками во время войны. Любопытно, что SIGSALLY упоминается в научно-популяр- ном романе «Криптомикон» (1999) Нила Стивенсона (р. 1959) в вымыш- ленном разговоре двух персонажей: Лоуренса Ватерхауса и Алана Тью- ринга. По окончании войны Тьюринг оставил Блетчли-парк и начал работать в Правительственном центре коммуникаций Ее Величества, где участвовал в создании переносного устройства для шифровки голоса Delilah. Для доказательства корректного функционирования системы во время шифровки и дешифровки использовалась запись голоса Уинсто- на Черчилля. Процесс шифровки голоса Процесс шифровки голоса состоит из нескольких этапов. Во-первых, не- обходимо собрать образцы звуков. Для получения образцов голоса нужно записать небольшие фрагменты в разное время, то есть определить ча- стоту повторяемости образцов. В современных телефонных системах раз- говор передается на частотах ниже 4000 Гц, и это следует учитывать при настройке частоты образцов в телефонном разговоре. Во-вторых, полученный звук обрабатывается с помощью процесса нормализации. 64 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
торы имели ту же внутреннюю систему проводов, что и «Энигма»; рефлектор воспроизводился в довольно простом виде: контакты и провода были дублированы. Зашифрованное радиосообщение после перехвата превращалось во входные данные, Тьюринг принимал решение, каким должно быть сое- динение между группами по три ротора, по которым проходило сообщение до расшифровки, или выходных данных. В Соединенных Штатах для армии также были созданы ма- шины, выполнявшие сходные задачи, однако их конструкция Этот процесс нужен для того, чтобы удостовериться, что разница полу- ченных звуков связана с их часто- той, а не с шумами или другими артефактами, вызванными, к при- меру, самой телефонной связью. Кроме того, люди в зависимости от артикуляции по-разному произ- носят гласные, а в ходе нормализа- ции эти различия устраняются. За- тем нормализованный голос, наконец, шифруется. В процессе, разработанном Тьюрингом, фраг- менты голоса нормализовались по шкале от О до 1. После нормали- зации фрагменты трансформиро- вались с помощью арифметическо- го оператора, модуля (мод). Этот оператор дает разницу от деления на целые числа: например, 5 мод 2 равно 1. В конце концов трансфор- мированная таким Образом волна Машины системы шифрования голоса голоса реконструировалась В Об- Delilah. ратной последовательности. Не- смотря на высокий уровень разработки, эта система не нашла примене- ния. Также интересно, что участие Тьюринга в обоих проектах осталось на втором плане, невзирая на его успехи во многих других исследователь- ских начинаниях. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 65
была другой. Сами американцы считают, что их машины были более быстрыми, а crib-последовательности — более короткими по сравнению с английскими. Стандартная английская машина была эквивалентна 36 «Энигмам» и могла расшифровывать два или три сообщения одновременно. Для расшифровки она тре- бовала выбора меню, где использовалось то, что англичане на- зывали crib. Под этим понимался пример незашифрованного текста или сообщения, для которого имелось зашифрованное соответствие, например фрагмент перехваченного зашифро- ванного и расшифрованного текста. Для превращения crib в действенный инструмент нужно было хорошо знать немецкий военный жаргон, а также процедуру отправки сообщений. Очень важной стала информация о том, что «Энигма» никогда не шифровала букву, например А, самой собой. После выбора crib оператор Bombe разрабатывал меню, как показано в та- блице ниже. Представим, что crib TURINGHABLAINGLES (ТЬЮРИНГГОВОРИТПОАНГЛ ИЙСКИ), а зашифрованный текст выглядит так (строка ЗТ): AIYLLVWPANNOZPOPE. Для того чтобы пример был более репрезентативным, мы использо- вали для шифровки текста модель «Энигмы» (http://www. bletchlypark.org.uk). На основании этих двух сообщений разра- ботаем таблицу, в которой каждой букве зашифрованного тек- ста будет соответствовать буква в оригинальном сообщении, или crib. CRIB т и R 1 N G Н А В L А 1 N G L Е S ЗТ А 1 Y L L V W Р А N N 0 Z Р 0 Р Е П 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ВБ X X X X X X X X X X X X X X X X X СБ X X X X X X X X X X X X X X X X X НБ X X X X X X X X X X X X X X X X X Также запишем в таблице положение каждой буквы сооб- щения (обозначим эту строку П). Далее представлена диаграм- ма, на которой показаны связи между буквами и тем, в каком положении они находятся. 66 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
R з Y H V С помощью такой структуры оператор мог разработать меню для настройки конфигурации Bombe, а также начальные положения барабанов в верхней (ВБ), средней (СБ) и нижней части (НБ). После настройки конфигурации машина выпол- няла свою работу, останавливаясь каждый раз, когда обнаружи- валось возможное решение, то есть расшифрованное сообщение. На схеме выше видны циклы, например ILO. Интересно, что Тьюринг заметил: чем больше циклов, тем меньше количество остановок и тем меньше неправильно расшифрованных сооб- щений. Общий внешний вид Bombe был достаточно привлека- тельным, барабаны были окрашены в разные цвета, представлявшие ротор «Энигмы», эмуляцией которого они яв- лялись. Каждый барабан мог находиться в одном из 26 возмож- ных положений, таким образом общее количество конфигураций было: 26x26x26 = 17576. Каждый раз, когда Bombe находила возможное решение, она останавливалась. Как правило, происходило это несколько раз, и машина выдавала МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 67
в качестве результата неправильно расшифрованные сообще- ния до тех пор, пока не удавалось получить правильный текст. Фундаментальным шагом криптоанализа стала задача про- верки правильности решения, предложенного машиной для расшифровки. Для этого расшифрованное сообщение заново шифровалось с помощью ТуреХ, британского эмулятора «Энигмы», и полученный результат тщательно изучался. Первая модель Bombe была построена 18 марта 1940 года. В конце Второй мировой войны у британцев в Блетчли-парке было 211 Bombe, обслуживанием и эксплуатацией которых за- нималось около двух тысяч человек. Благодаря безоговороч- ному успеху, достигнутому с помощью этих машин, зажглась звезда Алана Тьюринга. Его работа как криптографа, а также весь комплекс Блетчли-парка сыграли значительную роль в военных событиях. Благодаря вкладу ученого стали известны даты авианалетов на Англию, маршруты немецких субмарин и кораблей; также Тьюринг сыграл важную роль в победе в Аф- рике над корпусом маршала Роммеля и способствовал развер- тыванию операций союзников на западе Европы. Несомненно, разработка Bombe стала одной из самых зна- чительных работ Тьюринга как криптографа в ходе войны, но не единственной. Также ему принадлежат статистические процедуры для более эффективного использования Bombe, ставшие чрезвычайно актуальными при расшифровке немец- ких сообщений, кодированных «Энигмой». Эта техника по- лучила название Banburismus. Кроме того, Тьюринг ввел но- вую процедуру, Turingery (шутливо Тьюрингизмус, или метод Тьюринга), которая облегчала расшифровку сообщений, ко- дированных другой адской машиной, Lorenz SZ 40/42. К кон- цу войны Тьюринг, уже работая в Правительственном центре коммуникаций Ее Величества, создал переносную систему для шифрования телефонных сообщений, названную Delilah. После окончания войны британский премьер-министр Уинстон Черчилль отдал приказ об уничтожении всех машин Bombe и соответствующих документов. На этом этапе жизни Тьюринг был связующим звеном между США и Соединенным Королевством. Именно тогда он начал думать о возможности 68 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ВВЕРХУ: Один из домиков Блетчли-парка, в котором персонал занимается расшифровкой кода «Энигмы». ВНИЗУ: Машина Bomba, разработанная Аланом Тьюрингом и построенная в Блетчли-парко Гарольдом Кином. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 69
ЛОРЕНЦ — ЕЩЕ ОДНА АДСКАЯ МАШИНА Машина Lorenz SZ42. В начале Второй мировой войны британцы перехвати- ли из немецкого лагеря сиг- налы, которые, к их удивле- нию, не использовали код Морзе и не были зашифро- ваны «Энигмой». Речь шла о сигналах машины Лорен- ца, соединенной с телетай- пом, которой немцы также успешно пользовались. В Блетчли-парке все немец- кие сигналы телетайпа на- зывали ключевым словом Fish («рыба»), а сигналы, ко- дированные машиной Lorenz SZ40/42, получили кодовое название Tunny («тунец»). Так же как это было в случае с «Эниг- мой», британцы смогли выяснить подробности работы машины Лоренца благодаря счастливой случайности и ошибкам немцев, хотя на этот раз сама машина в их руки не попадала. В Блетчли-парке была создана элек- тромеханическая машина, использующая аналогичный принцип и способ- ная расшифровывать сигналы машины Лоренца. Ее называли Tunny Machine («Машина-тунец»). Как же функционировал Lorenz SZ40/42? Ког- да записывался один знак, он трансформировался в другом коде — коде Бодо, придуманном в 1874 году и используемом с тех пор на телеграфе: в его основе лежит запись одного символа в виде последовательности пяти нулей и единиц, то есть пятибитный код. В ту эпоху 1 и О обозначались на ленте как «отверстие» и «интервал без отверстия». Машина Лоренца была оснащена особой механической системой, в ней несколько колеси- ков играли роль генератора случайных чисел, который используется при проведении любых розыгрышей, видеоигр, симуляций, шифровании и так далее. Метод, используемый машиной Лоренца для шифровки сообщения, состоял в генерировании случайной пятибитной последовательности с по- создания разумной машины, что позже привело его к передо- вым находкам в области искусственного интеллекта. Также в эту эпоху ученый занимался электроникой и, вероятно, 70 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
мощью серии из 12 зубчатых колесиков (по-английски pinwheels), каждое из которых имело определенное количество контактов. Эти контакты мог- ли быть в положении оп(1) или off(0). Таким образом, при вращении полу- чалась последовательность нулей и единиц, или бит. Если контакт был в активном состоянии, on, значение бита, соответствующего кодируемой букве, менялось: с О на 1, с 1 на О. Когда контакт был в неактивном со- стоянии, off, значение сохранялось. Далее применялся булев оператор XOR («исключающее или») между каждым из битов знака и измененного знака. Таблица данного оператора может быть представлена в следующем виде. А В AXORB 0 0 0 0 1 1 1 0 1 1 1 0 Эта процедура повторялась несколько раз последовательно до трансфор- мации исходного знака в другой в кодировке Бодо. Например, если мы хотим зашифровать фамилию TURING, сначала мы должны записать ее в виде кода Бодо. Получим последовательность 10000-00111-01010- -00110-01100-11010. Представим, что мы уже зашифровали последо- вательность знаков TURIN, а сейчас должны приступить к шифрованию последней буквы фамилии. Следующим шагом, если оператор машины настроил конфигурацию контактов диска, который мы назовем R1, как on-on-off-off-on, последовательность 11010, представляющая букву G, трансформируется в 00011, но такая последовательность соответствует букве А. Повторим эти шаги еще раз. Представим, что оператор машины настроил второй диск, который мы назовем R2, расположив контакты как on-off-on-off-on. В этом случае последний диск трансформирует последо- вательность 00011 и превратит ее в 10110, которая, согласно коду Бодо, соответствует Р. Таким образом, с помощью машины Лоренца мы зашиф- ровали букву G как Р. именно в Блетчли-парке осознал ее важность для будущего раз- вития компьютеров. В 1945 году, после окончания войны, Алан Тьюринг был награжден орденом Британской империи. Его ге- МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 71
ниальность признали, а также оценили его заслуги и вклад в ка- честве криптографа в победу. COLOSSUS: РОЖДЕНИЕ КОМПЬЮТЕРА Часто оказывается так, что достижения науки и техники отно- сятся к позитивным результатам военных конфликтов. Имен- но так произошло и с Colossus. В Блетчли-парке была создана первая электронная программируемая машина, которая с не- которыми ограничениями может называться компьютером. Если Bombe была ответом на «Энигму», Colossus стал ответом на Lorenz SZ 40/42. Машина Лоренца шифровала сообщения, используя последовательность случайных чисел. Эти числа по- лучались с помощью электромеханического метода, в котором использовались шестеренки (pinwheels). К счастью, получен- ные таким способом числа имели псевдослучайный характер по сравнению с числами, которые вытаскивают из лотерейного барабана, поскольку существовали правила получения их по- следовательности. Этот факт обеспечил успешную расшиф- ровку перехваченных сообщений. Начинка Colossus была позаимствована у машин Робинсо- на, которые представляли собой семейство аппаратов, разрабо- танных для расшифровки сообщений, кодированных машиной Лоренца. В машине Робинсона использовались две ленты: одна с зашифрованным сообщением, другая с последовательностью случайных чисел, полученных на дисковой системе, подобной машине Лоренца. Усовершенствование Colossus состояло в за- мене второй ленты — последовательности случайных чисел — электронными ламповыми комбинациями. Серьезным недо- статком машин Робинсона было то, что вторая лента довольно часто и неожиданно рвалась, так как для чтения случайных чисел требовалась высокая скорость. Colossus не имел такого недостатка и мог считывать до пяти тысяч знаков в секунду, что было важным достижением той эпохи. Хотя лично Алан Тью- ринг не участвовал в разработке Colossus, этой машиной зани- 72 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ПОСЛЕДОВАТЕЛЬНОСТИ СЛУЧАЙНЫХ ЧИСЕЛ Компьютер — это универсальная машина Тьюринга. При определенном его состоянии и передаче на вход определенных данных будут выполнены некоторые операции, что приведет к полностью предсказуемому резуль- тату. Например, если на листке для расчета бюджета мы запишем опреде- ленные числовые данные, input, то результат, output, будет всегда один и тот же. Одной из самых интересных задач науки со времен Джона фон Неймана, который одним из первых поднял этот вопрос, стало получение алгоритмов, генерирующих последовательность чисел случайно, как если бы мы доставали номера из лотерейного барабана. Если числа, полу- чаемые путем доставания из барабана, называются случайными, то числа, выдаваемые компьютером, называются псевдослучайными. Компьютер- ная программа, с помощью которой мы можем получить такие числа, на- зывается генератором случайных чисел. Псевдослучайные числа находят- ся в интервале [0,1]. Например, последовательность двенадцати чисел 0,092833; 0,472751; 0,542341; 0,022788; 0,069853; 0,317325; 0,808213; 0,225401; 0,633599; 0,133044; 0,530186,0,477541 получена в следующей программе на BASIC-256: п=0 do u=rand print u n=n+l until n=12 Приведем другой пример: как можно с помощью данной программы сде- лать симуляцию игрального кубика? Мы просто заменим u=rand на и= =int (rand*6) + 1. Числа, получаемые с помощью программы, имеют опре- деленные характеристики. В частности, они должны находиться в интер- вале между О и 1, должны быть независимы друг от друга, то есть если мы получаем число 0,808213, оно не должно влиять на следующее число по- следовательности, 0,225401. Также обязательным для таких чисел явля- ется условие равной возможности их получения. Любопытно, что эти чис- ла по отдельности не являются случайными, их случайный характер проявляется только в последовательности, частью которой они являются и статистические характеристики которой подобны последовательности чисел, полученных с помощью механической системы лотерей. Сегодня существует возможность получить в интернете настоящие случайные чис- ла, взятые из физических явлений, что заменяет алгоритм, подобный ко- торому использовался в функции rand BASIC-256. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 73
мались его учителя, среди которых Макс Ньюман, и коллеги из Блетчли-парка. Первый вариант этого «компьютера» был создан Томми Флауэрсом (1905-1998), инженером Исследовательской стан- ции Центрального почтамта. Он предложил новую идею, состо- ящую в использовании электронных ламп, тех же, что и в схемах первых радиоприемников. Так появился первый в истории электронный компьютер. Схема Colossus состояла из невероят- Два вида ламп: диод (слева) и триод (справа). ЭЛЕКТРОННЫЕ ЛАМПЫ И ЛОГИЧЕСКИЕ ВЕНТИЛИ Электронная лампа представляет собой вакуумную трубку, в которой имеются нить накаливания, испускающая элек- троны, — катод (отрицательный заряд), и металлическая пластинка, принимаю- щая электроны, — анод (положительный заряд). В результате мы получаем ток электронов от катода при его накалива- нии к аноду. Так как ток проходит только в одном направлении, такая лампа реа- лизует функцию важнейшего электрон- ного компонента — диода. Впоследствии в диод добавили дополнительную нить — сетку между катодом, испускающим элек- троны, и анодом, получающим их. При приложении тока к сетке можно контролировать ток электронов от катода к аноду, увеличивая напряжение. Эта дополнительная нить лежала в основе нового изобретения — триода, электронного компонента, выполнявшего функцию современного транзи- стора. С помощью этих электронных компонентов можно создавать схемы, выполняющие арифметические операции, например суммирование, или логические операции, например сравнение чисел. Нули и единицы В компьютерах, в том числе в Colossus, арифметические и логические опе- рации осуществляются на основании булевой алгебры, оперирующей би- тами, то есть числами О и 1, с применением к ним операторов, называемых на языке электроники вентилями. Предположим, ток в О В представляет число О, а ток 3 В представляет 1. Следовательно, факт, проходит или 74 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
ного количества в 1500 ламп — именно они использовались в компьютерах, созданных до 1959 года. Ламповыми были пер- вая версия Colossus, Mark 1, и следующая усовершенствованная версия, Mark 2, запущенная в 1944 году. Можно сказать, что если Алан Тьюринг занимался логическим обоснованием ком- пьютеров, то Томми Флауэрс разработал hardware и, соответ- ственно, электронные схемы, воплощающие в жизнь эти логические построения. не проходит электрический ток, определяет величина О или 1, а это один бит, то есть наименьшее количество информации, которую может обрабо- тать компьютер. Вентиль — электронная схема с диодами или транзисто- рами, в которой О или 1 на входе трансформируются на выходе также в О и 1 в результате применения одного из операторов булевой алгебры. Из всех возможных операторов самыми используемыми в цифровой электронике являются И и ИЛИ. Вентиль И, эквивалентный на логическом уровне союзу «и», на выходе дает 1, если на всех входах одновременно получено 1. С другой стороны, на выходе будет О, если на одном или двух входах получен О. Ниже приводится таблица и символ для этого вентиля. А В АИВ 0 0 0 0 1 0 1 0 0 1 1 1 Вентиль ИЛИ эквивалентен союзу «или», в этом случае на выходе будет 1, если на одном из двух либо на обоих входах было получено 1. Ниже при- водится таблица и символ для этого вентиля. А в А ИЛИ В 0 0 0 0 1 1 1 0 1 1 1 1 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 75
Одна из наиболее интересных цепей Colossus включала два класса электронных ламп: тиратроны и фотоэлектронные ум- ножители, с помощью которых машина могла считывать знаки с бумажной ленты. Используя тиратрон, можно было записать 1 бит; соединив между собой несколько ламп, инженеры Блет- чли-парка создали компьютерную память. Фотоэлектронный умножитель представлял собой лампу, работа которой была по- добна фотоэлементу: сигнал в цепи анода значительно увеличи- вался под действием пучка света. Мощность Colossus благодаря использованию этих электронных компонентов во время Вто- рой мировой войны была эквивалентна компьютеру с микро- процессором Pentium 2004 года выпуска. Удивительно, что Colossus в своих схемах использовал только два булевых опера- тора — И и ИЛИ. Несмотря на то что Colossus, несомненно, являлся передо- вым инженерным достижением своей эпохи, его программиро- вание было весьма примитивным по сравнению с современны- ми компьютерами, так как для написания программы нужно было настроить множество клавиш и переключателей. При этом, хотя Colossus был программируемой машиной в стро- гом понимании этого слова, он не был компьютером, так как не был универсальной машиной Тьюринга. Colossus мог быть запрограммирован только для того, чтобы разрушать шифр, записанный на машине Lorenz SZ 40/42, то есть это не была машина для общих целей. В отличие от него, сейчас компью- тер — это универсальная машина Тьюринга, для которой мож- но программировать на разных языках (С, Java, Virtual Basic и др.). Мы можем сделать вывод, что Colossus был частично программируемым квазикомпьютером, так как он выполнял только цели, для которых был разработан, а значит, не был универсальным. То, что в одном месте и в одно время оказа- лись Алан Тьюринг и Colossus, подтолкнуло британскую науку к изучению электроники для оценки возможности создания настоящего компьютера. Именно в Блетчли-парке родилась мечта о создании универсальной машины Тьюринга. Со време- нем, когда был разработан и построен компьютер Pilot АСЕ, эта мечта нашла воплощение. 76 МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ
После окончания мировой войны из соображений безопас- ности Уинстон Черчилль отдал приказ уничтожить все машины Colossus, а также сжечь все описания их чертежей и схем. Эту неблагодарную работу выполнил Томми Флауэрс, помиловав- ший, однако, две машины, использовавшиеся во времена холод- ной войны и окончательно уничтоженные в 1960-е годы. Успех, достигнутый в Блетчли-парке с созданием Colossus, не был из- вестен до 1976 года, когда специальным законом об официаль- ной секретности были сняты ограничения на распространение данной информации. В течение долгих лет ENIAC, созданный в 1946 году в США, считался первым электронным компью- тером в истории. Сегодня, после пересмотра исторических событий, это почетное место занимает Colossus, созданный в 1944 году. В Национальном музее вычислительной техники в Блетчли-парке публике представлены две реплики Colossus, построенные в 1996 и 2004 годах под руководством Тони Сейла (1931-2011), инженера-электронщика и историка информати- ки. Благодаря сообщениям, расшифрованным Colossus, стало известно, что Гитлер был введен в заблуждение относительно планируемых военных операций. Он думал, будто высадка со- юзников произойдет в Па-де-Кале, и отправил туда танковые дивизии. Военный кошмар закончился весной 1945 года само- убийством Гитлера. Однако летом того же года с нанесением ядерных ударов по Хиросиме и Нагасаки была открыта новая страшная страница в истории человечества. Затем началась новая эра — холодная война, и мир разделился на два боль- ших лагеря: западный капиталистический и восточный ком- мунистический, которые находились в противостоянии с 1945 до 1989 года, когда пала Берлинская стена. МАШИНЫ ПРОТИВ КОДА. ТЬЮРИНГ КАК КРИПТОГРАФ 77

ГЛАВА 3 Первые компьютеры: британские или американские? Во время работы в Блетчли-парке Тьюринг стал свидетелем появления Colossus. Этот факт, несомненно, стал сильным стимулом, который привел ученого к разработке своего первого компьютера Pilot АСЕ согласно собственным идеям и спецификациям. В середине 1940-х — начале 1950-х годов создание разных моделей компьютеров по обе стороны Атлантики привело к полемике, которая до сих пор не дала ответа на вопрос, какая из стран стала первой в разработке и создании компьютеров.

После окончания Второй мировой войны Алан Тьюринг оста- вил Блетчли-парк и, как и остальные его товарищи, вернулся к гражданской жизни. К счастью, он получил приглашение от Национальной физической лаборатории (сокращенно по- английски NPL) в Лондоне, занимавшейся разработкой стан- дартов для науки и технологий. В то время во главе лаборатории стоял Чарльз Галтон Дарвин (1887-1962), внук Чарльза Дар- вина (1809-1882), он и предложил Тьюрингу поучаствовать в разработке и создании компьютера. В 1946 году Тьюринг на- правил в NPL доклад с идеями, касавшимися практической реа- лизации компьютера — машины, которую коллега Тьюринга Джон Уомерсли (1907-1958), начальник отдела математики лаборатории, назвал автоматической вычислительной маши- ной — Automatic Computing Engine (АСЕ). Слово engine (что в английском языке означает «двигатель») было принято в па- мять о Чарльзе Бэббидже (1791-1871), создателе аналитиче- ской и дифференциальной машин, которые считаются предшественниками современных компьютеров. В своем до- кладе Тьюринг опередил время: он привел информацию о hardware, то есть об электронных схемах, а также о software, установив правила написания программ для компьютера АСЕ. Наконец ученому представился шанс совершить великий пере- ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 81
ход от теории к инженерному решению и провести в жизнь свою концепцию универсальных машин Тьюринга. Мечта ста- новилась реальностью, воплощаясь в компьютер Pilot АСЕ. ВОПЛОЩЕНИЕ МЕЧТЫ: PILOT АСЕ В компьютерах, созданных в начале 1950-х годов, было два вида запоминающих устройств: лучевая катодная и ртутные трубки — с их помощью была разработана память с линией за- держки. Инженеры той эпохи разработали вид памяти для хра- нения данных, который в качестве базового принципа использовал время, требующееся для распространения сигнала в физической среде, например ртути. Тьюринг для Pilot АСЕ выбрал ртутные линии задержки, так как они имели более вы- сокую скорость восстановления данных и были более надеж- ными. На концах ртутной линии располагались пьезоэлектрические элементы, как у микрофонов и громкого- ворителей, выполняющие роль преобразователей, превращаю- щих электрические импульсы в ультразвуковую волну (с частотой звука примерно 20000 Гц). После того как волна проходила через ртуть к другому концу трубки, она снова пре- вращалась в электрические импульсы, направляемые на экран. В других компьютерах — EDSAC, CSIRAC и UNIVAC I — также использовались ртутные трубки. Например, UNIVAC I, один из первых коммерческих компьютеров 1950-х годов, обладал семью резервуарами памяти, в каждом из которых находились 18 ртутных трубок. Скорость доступа к данным составляла 222 микросекунды — настоящее чудо для той эпохи. Каждая трубка могла хранить в памяти десять слов, например команды про- граммы, длиной 12 бит. Позже ртутные трубки заменили более передовым устрой- ством, барабанами памяти. Это устройство памяти представ- ляло собой металлический цилиндр с поверхностью, покрытой ферромагнитным слоем, сверху располагалась серия головок для чтения и записи. Магнитные барабаны были в ходу вплоть 82 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
до начала 1960-х годов. В этом запоминающем устройстве для контроля его применения использовался метод чередования: расположение информации на барабане оптимизировалось для последовательного доступа, этот прием применяется на некото- рых жестких дисках, при спутниковой или ADSL-передаче дан- ных. С таким запоминающим устройством Pilot АСЕ мог хранить до 4096 последовательностей единиц и нулей. С тех пор в память об этом виде запоминающего устройства некото- рые версии операционной системы Unix используют для управ- ления виртуальной памятью директорию /dev/drum (drum — по-английски «барабан»). Благодаря всем этим харак- теристикам компьютер Тьюринга был одним из самых передо- вых в ту эпоху: объем его памяти приближался к объему памяти первых компьютеров Macintosh Apple. Тьюрингу необычайно нравилось исследовать какую-либо тему, отходя от установленных принципов. Обычно он начинал предварительную работу над определенным вопросом без каких-либо консультаций. Несомненно, эта привычка придавала его трудам такое характерное свойство, как оригинальность. Морис В. Уилкс об Алане Тьюринге. «Компьютеры, вчера и с его дня > Управление памятью — это еще один вклад Алана Тьюрин- га в развитие информатики. Запись данных происходила с по- мощью так называемого метода двух направлений. Память ком- пьютера логически организована как состоящая из ячеек. По- ложение каждой ячейки идентифицируется числом — адресом памяти. Команды, входящие в программу, например на языке BASIC-256 — print r dim или input, — составляют текст или ключевой код, то, что пишет программист и хранится в памяти компьютера после перевода в машинный код, представляющий собой последовательность единиц и нулей. В компьютере, разработанном Тьюрингом, каждая команда ассоциировалась с адресом ячейки, где она хранилась, и с адре- ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 83
сом следующей для выполнения инструкции. Английский ученый подчеркивал, что компьютер должен соответствовать двум требованиям: быстро выполнять программы и распола- гать достаточным объемом памяти. С тех пор все компьютеры стремились к максимальному удовлетворению этих критериев. Конструкционно компьютер был основан на электронных лам- пах в количестве около 800 штук — это было не очень много и повышало надежность, так как снижался риск того, что при работе одна или несколько ламп расплавятся и выполнение программы прервется. Частота в 1 мегагерц делала этот ком- пьютер одним из самых быстрых в Соединенном Королевстве. При выполнении арифметических операций использовалась плавающая точка, то есть можно было, как и на современном компьютере, представить число с множеством десятичных зна- ков следующим образом: 6,127456 х Ю-2 представляло число 0,06127456. Еще одним инновационным решением Тьюринга стала замена части hardware на software. Первые компьютеры использовали для выполнения операций умножения или де- ления электронные схемы. Так, в американских компьютерах часть задач, например арифметические операции, выполнялась электронными схемами, специально разработанными для этой цели. Тьюринг же заменил схемы программами, хранящимися в памяти, и эта идея была по-настоящему новой и более эко- номичной. Если мы перенесем данную идею на современный компьютер, то он благодаря частям software, называемым мо- дулями, подпрограммами или приложениями, предложит нам игры и развлечения, поможет совершить подсчеты или воспро- извести видеоклип. Эта особенность в современных машинах унаследована именно от британских компьютеров. В 1947 году Тьюринг изобрел язык программирования, который назвал Abbreviated Code Instructions. Естественно, так как компьютер является универсальной машиной Тьюринга, ему требовался язык программирования для записи программ по каждой за- даче. 84 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
РЕТРОКОМПЬЮТИНГ: ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРОВ ИЗ ПРОШЛОГО Для настоящего любителя компьютеров нет ничего более увлекательного, чем попробовать поработать на старых, известных в истории отрасли ком- пьютерах. Ретрокомпьютинг — это сборка старых компьютеров, включая software и периферийные устройства. Многие такие машины представле- ны в музеях, например Pilot АСЕ; другие, существовавшие в коммерческой версии, входят в частные коллекции, например Macintosh Classic или ZX Spectrum, или хранятся в собраниях исследовательских институтов, напри- мер PDP-11 в Digital Equipment Corporation. Попробовать, как работает старый компьютер, можно также с помощью эмуляторов. Чаще всего с этой целью используется SIMH — кроссплатформенный эмулятор, с помощью которого можно увидеть в работе компьютеры разных моделей PDP или Vax от Digital Equipment Corporation, модели Hewlett-Packard, Honeywell, IBM (11307090/7094) и другие. Сегодня очень много людей в мире увле- каются ретрокомпьютингом, что способствует лучшему пониманию истории и эволюции этих устройств. ?А? HOLLERITH ONE SHOTS READ PLNCH CLEAR CONT EXT CONT TIL DISC STORE TCI TREE TT NIS SOURCE DESTINATION TWGC6RS 124 1248 16 1248 16 SERIAL A P BUZZER ©e© ©©©©©©©©©© © oo о C^R ST0P • ” i'ih i”ii ’ • • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 eeeeeeeeeecoeeeecoeeceoeoeoeooee NIS SOURCE DESTINATION WAIT TMNO 1241248 16 1248 16 1248 16 1248 16 Эмулятор компьютера Pilot АСЕ, разработанный Аланом Тьюрингом. ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 85
Несмотря на то что оригинальная версия компьютера была разработана Аланом Тьюрингом, его создание происходило очень медленно, и в 1948 году ученый оставил этот проект, а вместе с проектом — Лондон и NPL. Его сменил Джим Уил- кинсон (1919-1986), специалист по математическому анали- зу, и 10 мая 1950 года Pilot АСЕ выполнил первую программу. В конце года компьютер был представлен публике и хорошо принят, так что ежедневная газета The London Times посвяти- ла ему статью, в которой сравнивались время и ресурсы, тре- бующиеся для выполнения подсчетов человеку и компьютеру. Весной 1951 года компьютер был введен в эксплуатацию, а ис- пользовался он до весны 1955-го. Сейчас он выставлен в Музее науки Лондона. У Pilot АСЕ было несколько модификаций, которые про- давались населению. Компьютеры DEUCE или Bendix G15, признанные первым персональным компьютером (ПК) в мире, продавались до 1970-х годов. Другим компьютером, унаследо- вавшим от Pilot АСЕ многие решения, был MOSAIC, исполь- зовавшийся Соединенным Королевством во время холодной войны. Любопытно, что требования Тьюринга к компьютерам стали стандартом для производителей. Так, Packard-Bell РВ250 был разработан на основе спецификаций ученого. КТО ПРИДУМАЛ КОМПЬЮТЕР После Второй мировой войны Соединенное Королевство было самой развитой страной в сфере создания компьютеров. Брита- ния обладала такими моделями, как уже упомянутый Pilot АСЕ, а также Baby, Ferranti Mark I, созданные в Манчестерском университете. Однако, несмотря на это технологическое превосходство, британцы быстро сдавали позиции как в развитии компьютер- ной индустрии, так и в разработке и продаже периферийных и программных продуктов. Почему же Соединенное Королев- ство уступило лидерство США? Эндрю Ходжес, биограф, кото- 86 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
рый сегодня лучше всех знаком с жизнью и работами Алана Тьюринга, высказывает гипотезу о том, что британское прави- тельство любой ценой хотело получить атомную бомбу. Это может показаться странным, однако две атомные бомбы, сбро- шенные США в 1945 году на японские города Хиросима и На- гасаки, стали не только одним из последних аккордов войны, но и положили конец британской гегемонии в мире, закат кото- рой начался в викторианскую эпоху. Возникли две новые сверх- державы: Советский Союз и Соединенные Штаты Америки. После окончания войны единственной страной, которая смогла сконструировать атомный реактор и атомное оружие, стали США. В 1946 году Штаты внесли в ООН предложение о кон- троле деятельности, связанной с ядерной энергией, и в него были включены пункты о геологоразведке урана и радиоактив- ных материалов. Это предложение было отвергнуто Советским Союзом, началась холодная война. Ответ американской сто- роны не заставил себя ждать: был принят закон Макмагона, предусматривавший смертную казнь для американских граж- дан, нарушивших секретность по ядерной программе. Этот закон также прекращал традиционное сотрудничество с Соеди- ненным Королевством и другими союзниками в рамках ядер- ной программы. Британцы, со своей стороны, приступили к созданию собственной ядерной бомбы. По сути, Соединенное Королевство обладало достаточными компьютерными мощно- стями для проведения расчетов, необходимых для создания ядерного оружия. Расхождения между двумя странами привели к тому, что в 1949 году британцы построили EDSAC (Electronic Delay Storage Automatic Computer). Этот компьютер был разработан специалистом по информатике Манчестерского университета Морисом Уилксом (1913-2010) и имел невероятное сходство с американским соперником — EDVAC, новой версией ENIAC, разработанной в Пенсильванском университете. EDSAC ис- пользовал электронные схемы и примерно три тысячи элек- тронных ламп, мог выполнять суммирование за 1,4 мил- лисекунды. Его можно было программировать с помощью под- программ, то есть порций кода, представленных алгоритмами. ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 87
ENIAC: АМЕРИКАНСКИЙ МАСТОДОНТ ENIAC (Electronic Numerical Integrator and Computer) имел циклопические размеры. Он работал на 18 тысячах электронных ламп, что вызывало ча- стые сбои, весил 27 тонн, занимал площадь 167 м2. Его разработчиками были Джон Преспер Эккерт (1919-1995) и Джон Уильям Мокли (1907- 1980) из Пенсильванского университета. Компьютер запустили в эксплу- атацию в феврале 1946 года. Он представлял собой программируемое устройство, предназначенное для военных целей, и использовался в ла- боратории баллистических исследований. Если память компьютера Тью- ринга, Pilot АСЕ, была примерно такой.же, как у Macintosh Apple, то рас- четная мощность ENIAC была аналогична интегральным схемам 2004 года. При этом у ENIAC вообще не было основной памяти. Также он использовал десятичные числа, то есть знаки 0,1, 2,... 9 и их комбинации (например, 645), а не двоичный код (только О и 1), как современные компьютеры. Арифметические операции, например суммирование, выполнялись с по- мощью электронных эмуляторов колес и зубчатых передач старых вычис- лительных машин. Тысячи компонентов Как и британский Colossus, этот компьютер использовал вентили И и ИЛИ, созданные на основе цепи электронных ламп. Для программирования не- обходимо было соединить около шести тысяч переключателей и несколь- ко сотен проводов. Имелась также система аккумуляторов, напоминающая ячейки Excel, с помощью которых можно было параллельно суммировать и вычитать величины, сохраняя результаты. Также можно было умножать, делить и извлекать квадратный корень, для этого аккумуляторы управля- лись специальными модулями для умножения, деления и извлечения ква- дратного корня соответственно, к названным модулям добавлялись еще девять модулей. При соединении модулей друг с другом проводами полу- чалась программа управления компьютером. Несмотря на эту чрезвычай- ную сложность, вызванную примитивностью конструкции, ENIAC мог вы- полнять пять тысяч простых сложений или вычитаний в секунду, 385 операций умножения, 40 операций деления и извлечение трех квадратных корней. При некоторой изобретательности, а также терпении можно было Например, с его помощью можно было решать интегралы и дифференциальные уравнения — два важнейших инстру- мента расчетов и моделирования в прикладной математике. К этому времени по обе стороны Атлантики уже имелся до- вольно большой список компьютеров: Colossus, ENIAC, EDVAC, 88 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
программировать повторяющиеся задачи или операторы цикла, похожие на оператор цикла FOR-то и условные операторы if-then. В 1948 году Джон фон Нейман изобрел устройство, аналогичное современной памяти ROM (ПЗУ, постоянное запоминающее устройство), или память только для чтения, которая была успешно применена на ENIAC. В1950 году в резуль- тате использования ENIAC в Соединенных Штатах появилась компания UNIVAC, с которой родилась современная компьютерная индустрия. Осе- нью 1955 года ENIAC был отключен. Так этот мастодонт, затмивший успе- хи британцев (Colossus, Pilot АСЕ, Baby, Ferranti Mark I), сыграл свою роль. Спустя годы UNIVAC передал пальму первенства IBM, а США с тех пор до- минируют на мировом рынке компьютеров. Компьютер ENIAC в Пенсильванском университете, США. EDSAC, но все же какая из стран изобрела первый? Согласно американским архивным документам, один из авторов ENIAC, Джон Уильям Мокли (1907-1980), вдохновился созданием другого компьютера под названием ABC (Atanasoff-Berry Computer), который был сконструирован инженером-электрон- ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 89
щиком Джоном Винсентом Атанасовым (1903-1995) в Айов- ском университете с использованием нескольких сотен электронных ламп. Однако есть и те, кто защищает другую вер- сию: первым компьютером был Mark I Говарда Эйкена (1900— 1973), построенный между 1939 и 1940 годами. Этот компьютер был создан в сотрудничестве с IBM, в нем использовались зуб- чатые механизмы, колеса и реле согласно идеям британского ученого Бэббиджа. С другой стороны, в Европе также появился первый компьютер — Colossus, при этом он не был универсаль- ной машиной Тьюринга. Есть еще одна версия: первый компью- тер создал в 1930-е годы немецкий студент инженерного факультета Конрад Цузе (1910-1995). Машина Цузе могла вы- полнять операции в двоичной системе исчисления с использо- ванием реле, которые действовали как переключатели: они могли быть включены — состояние 1, или выключены — состо- яние 0. Первую машину Цузе собрал в спальне своих родите- лей, затем эта модель была улучшена, однако Вторая мировая война разрушила мечты конструктора. Подводя итог, мы можем сказать, что компьютер был британо-американским изобрете- нием, задуманным для решения военных задач и реализован- ным в ходе Второй мировой войны и сразу после нее. АРХИТЕКТУРА ДЖОНА ФОН НЕЙМАНА Американский математик венгерского происхождения Джон фон Нейман (1903-1957), еще один гениальный исследователь, наравне с Аланом Тьюрингом внес огромный вклад в развитие информатики. Тьюринг и фон Нейман были старыми знако- мыми еще со времен первой встречи в Принстонском универ- ситете в Нью-Джерси. Фон Нейману были прекрасно известны работы Тьюринга по вычислительной теории и его знаменитые машины, особенно его заинтересовала универсальная машина Тьюринга, изучением которой фон Нейман занимался на про- тяжении нескольких лет. 90 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
ВВЕРХУ: Алан Тьюринг (стоит) работает с двумя коллегами за компьютером Ferranti Mark I в Манчестерском университете в 1951 году. ВНИЗУ: 1952 год, оператор управляет предварительной версией Pilot АСЕ — компьютера, разработанного Тьюрингом для общего применения. ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 91
ДЖОН ФОН НЕЙМАН: ОДИН ИЗ САМЫХ БЛЕСТЯЩИХ УМОВ XX ВЕКА Фон Нейман (1903- 1957) работал над очень разными темами и, как и Тьюринг, во все проек- ты привносил свой талант и блестящие интеллекту- альные способности. Он занимался исследовани- ями в области квантовой механики, теории игр, информатики, участво- вал в Манхэттенском проекте по разработке первой атомной бомбы, работал консультантом в ЦРУ, в корпорации RAND (РЭНД), являющей- Джон фон Нейман рядом с компьютером IAS. ся исследовательским центром, сотрудничающим с американской арми- ей, в таких предприятиях, как IBM, и в нефтяной компании Standard Oil. Работа фон Неймана в проекте, связанном с созданием одного из первых компьютеров, ENIAC, позволила ему сформулировать правила организа- ции компонентов компьютера, или архитектуру фон Неймана. Он работал с самыми первыми компьютерами в мире, например EDVAC или, на этапе разработки, IAS — компьютером, созданным для Института перспективных исследований в Принстоне. Описание, объясняющее, как построить IAS, свободно распространялось по университетам и предприятиям всего мира, так что возникла целая серия машин I AS: Johniac, Mistic, Oracle, ORDVAC, Weizac, MUSALINO-I, SILLIAC и другие. Другие достижения ученого Еще одним достижением фон Неймана является введение понятия само- воспроизводящейся машины, то есть автомата, способного создавать дру- гие автоматы и обладающего свойством самовоспроизведения подобно микроорганизмам или бактериям. В Манхэттенском проекте фон Нейман совместно с математиком Станиславом Уламом (1909-1984) разрабо- тал метод Монте-Карло — вид численных методов с широким применени- ем, в которых используются компьютер и случайные числа. Выяснив, что разрушительная сила бомбы больше, если она сдетонирует до момента столкновения с землей, фон Нейман рассчитал, на какой высоте должны взорваться бомбы над Хиросимой и Нагасаки, чтобы взрыв причинил как можно больший ущерб. В 1957 году ученый умер от рака. Его последняя работа «Компьютер и мозг» была опубликована посмертно. 92 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
В 1944 году он присоединился к команде, строившей ENI АС, для того чтобы усовершенствовать и исправить некото- рые ограничения и недостатки этой довольно примитивной ма- шины. Результаты его работы были воплощены в следующем после ENI АС поколении компьютеров. Два самых известных — EDVAC (Electronic Discrete Automatic Computer) и ORDVAC (Ordnance Discrete Variable Automatic Computer). ORDVAC был первой машиной в истории, для которой был написан ком- пилятор для языка программирования FORAST. Пользователь писал программу на исходном коде, а компилятор переводил ее в исполняемую версию, машинный код. В 1945 году фон Нейман опубликовал знаменитый доклад «Первый черновик отчета о EDVAC» {First Draft of a Report on EDVAC), где излагались принципы архитектуры фон Неймана (см. схему). Ученый попытался определить, каким образом, с точки зрения логики, должны быть организованы компоненты ком- пьютера, не учитывая электронных комплектующих. С тех пор этой модели следуют все разработчики компьютеров. Согласно архитектуре фон Неймана, компьютер состоит из следующих элементов. ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 93
— Устройство ввода, или input (например, клавиатура для ввода данных). — Выходное устройство, или output (например, монитор, на котором видны результаты операций). — Арифметико-логическое устройство (АЛУ): выполняет арифметические (суммирование, вычитание, умноже- ние, деление) и логические операции. К логическим операциям относятся операции сравнения, допустим в такой задаче: проверить, является ли А меньше, чем В (А < В), или условные выражения, например на языке BASIC-256 выражение IF-THEN: if chr(a) = "A" then print "Ты нажал на А!! !" Также это могут быть повторяющиеся задачи или опе- раторы цикла. Например, в этой версии языка BASIC мы можем записать символы кода ASCII, используя оператор цикла FOR-ТО: for i=l to 256 print chr(i) next i — Контрольное устройство — элемент, управляющий об- работкой команд программы. Например, в программе BASIC-256 последовательность инструкций rem, cig, fastgraphics... должна выполняться одна за другой в порядке появления. Еще одна задача контрольного устройства — интерпретировать значения инструкции и передавать их АЛУ. Например, если в кодовой строке стоит оператор *, АЛУ дается указание осуществить операцию умножения. 94 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
— Для того чтобы программа выполнялась, она должна храниться в основной памяти. В современных компью- терах основная память — это память ОЗУ. ТЬЮРИНГ КАК ПРОГРАММИСТ: МАНЧЕСТЕРСКИЙ УНИВЕРСИТЕТ В 1948 году Тьюринг ушел из Национальной физической ла- боратории (NPL) и начал работать в Манчестерском универ- ситете. Там уже трудился его друг и учитель Макс Ньюман, математик из Кембриджа, который принимал участие в разра- ботке и строительстве Colossus в Блетчли-парке. Ученые хоте- ли организовать в университете лабораторию для разработки и конструирования компьютеров для научных, а не военных целей. Этот амбициозный проект начался под покровитель- ством Королевского общества, одного из старейших научных обществ Британии, обладавшего высоким авторитетом в Ев- ропе. Так появилась вычислительная лаборатория Королев- ского общества в Манчестерском университете. Тьюринг взял на себя задачу разработки программ по численному анализу — разделу математики, занимающемуся созданием алгоритмов для решения с помощью компьютера задач по оптимизации, интегральному исчислению, дифференциальных уравнений, операций с матрицами и других, то есть для всех инструментов прикладной математики. После разработки программ должен был появиться компьютер для их выполнения. Несмотря на азарт, с которым Тьюринг принялся за про- граммирование, он никогда не оставлял спорт и даже стал кан- дидатом на участие в Олимпийских играх 1948 года, правда, в конце концов ученый не вошел в сборную Королевства. В этой лаборатории появилось еще одно британское изо- бретение — компьютер, сначала названный Baby. Позже попу- лярным стало название MADAM — сокращение от Manchester Automatic Digital Machine (Манчестерская автоматическая цифровая машина), но официально он назывался Manchester ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 95
ЯЗЫК ПРОГРАММИРОВАНИЯ ТЬЮРИНГА 4.1.1 Язык Тьюринга, названный так в его честь, был создан в 1982 году Риком Хольтом и Джеймсом Корди в Университете Торонто (Канада). Этот язык программирования похож на Pascal и используется для изучения програм- мирования студентами вузов. Существует несколько версий этого языка: классическая, объектно-ориентированная и Turing Plus. С 2007 года пред- приятие Holt Software Associates, занимающееся этой версией, прекрати- ло участие в проекте, но среду разработки можно бесплатно скачать на http://compsci.ca/holtsoft/. Как и многие другие языки программиро- вания, этот также считается Тьюринг-полным, так как с его помощью мож- но написать любую программу, которую способна выполнить универсаль- ная машина Тьюринга. Примерами неполных по Тьюрингу систем являются формулы листов для расчетов, например Excel, или XML, исполь- зуемый в интернете для обмена информацией в структурированном фор- мате. Простой пример такой программы: put "Привет, Тьюринг!", при ее выполнении мы получаем: Привет, Тьюринг! Mark I. Его создателями были Фредерик Уильямс (1911-1977) и Том Килбурн (1921-2001). Запуск компьютера был осущест- влен весной 1948 года. У него была основная память и элек- тронно-лучевая трубка, направлявшая поток электронов на стеклянный экран со свинцово-фосфорным покрытием. Manchester Mark I мог хранить программу с 17 командами в виде изображения на экране. В ту эпоху в разработке компьютеров фундаментальной проблемой стала система памяти. Любопытно, что мысль о не- обходимости основной памяти для временного хранения про- граммы была высказана Тьюрингом еще в 1936 году, и память была одним из элементов машины Тьюринга. Идея использо- вания для памяти электронно-лучевой трубки принадлежала 96 ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ?
Уильямсу, эксперту по радарам, обратившемуся после войны к компьютерным разработкам. Так родилась трубка Уильямса, представлявшая собой первую в мире систему основной памя- ти, эквивалента сегодняшнего ОЗУ Электронно-лучевая труб- ка хранила на экране знаки 0 и 1 в виде точек и вертикальных тире соответственно. Устройство памяти Уильямса использо- валось на компьютерах Манчестерского университета и макси- мально могло хранить 1024 бита, или 128 байт (байт — после- довательность из 8 бит). Эта система хранения была дополнена магнитным барабаном, который, как и жесткий диск сегодня, выполнял функции вспомогательной памяти. Еще одной интересной идеей, воплощенной в этих ком- пьютерах, была запись команд в виде двоичного кода. Напри- мер, 1001 могло означать «умножение», в то время как 1011 оз- начает в двоичной системе число 19. Таким образом, команды и числа отличались только своим использованием в компьюте- ре. В 1950 году был опубликован «Учебник по программирова- нию» для пользователей Manchester Mark I. Этот компьютер имел также коммерческую версию Ferranti Mark I, включав- шую систему программирования, разработанную Тьюрингом. Несколько образцов было продано в Соединенном Королев- стве, а также в Канаде, Нидерландах, Италии. Компьютер ис- пользовали для решения разнообразных задач в промышлен- ности, кристаллографии, шахматах и др. ПЕРВЫЕ КОМПЬЮТЕРЫ: БРИТАНСКИЕ ИЛИ АМЕРИКАНСКИЕ? 97

ГЛАВА 4 Создание думающих машин С древности все цивилизации старались создать машины и инструменты, позволявшие уменьшить человеческий труд. Со временем машины становились все сложнее и в конце концов полностью изменили социально- экономические связи между людьми. Изобретение компьютера открыло новые возможности, среди которых — создание искусственного интеллекта. Но какие задачи этот интеллект может выполнять?

Работа Тьюринга в Манчестерском университете является самым продуктивным этапом его жизни. Там он вернулся к во- просам, которые волновали его со времен Кембриджа. Именно в Манчестере Майкл Полани (1891-1976) — необыкновенная личность с широким кругом интересов, исследователь химии и философ — вдохновил Тьюринга на возвращение к работе о разумной машине. Его целью стало создание компьютера, ко- торый мог бы играть в шахматы, доказывать математическую теорему, переводить текст с одного языка на другой, другими словами, выполнять задачи, для решения которых человек ис- пользует свой разум. В 1950 году Тьюринг опубликовал работу «Вычислительные машины и разум» (Computing machinery and intelligence), описав в ней испытание, известное сегодня как тест Тьюринга, благодаря которому зародилось новое, необык- новенно интересное понятие искусственного интеллекта (ИИ, англ. Artificial Intelligence, АГ). Однако выражение искусствен- ный интеллект тогда не использовалось, впервые его употребил в 1956 году американский информатик Джон Маккарти (1927- 2011) на конференции в Дартмутском колледже (США), посвя- щенной компьютерному моделированию поведения человека. Тьюринг рассматривал возможность разработки «умной машины», то есть компьютера, который обладал бы ИИ. С ис- СОЗДАНИЕ ДУМАЮЩИХ МАШИН 101
следовательской целью ученый запрограммировал компьютер MADAM на написание любовных писем. К своему удивлению, он получил следующий текст: Darling Sweetheart, You are my avid fellow feeling. My affection curiously clings to your passionate wish. My liking yearns to your heart. You are my wistful sympathy, my tender liking. Yours beautifully, MUC (Manchester University Computer) Дорогой возлюбленный, Ты мое постоянное жаждущее чувство. Моя привязанность необыкновенно соединяется с твоим страстным желанием. Мое желание мечтает о твоем сердце. Ты моя мечта о сочувствии, мое нежное желание. Прекрасно твой, КМУ (компьютер Манчестерского университета). ЯВЛЯЕТСЯ ЛИ МОЗГ МАШИНОЙ ТЬЮРИНГА? В 1950-е годы экспериментальные достижения биологии по- зволили ученым создать модель человеческого мозга, что ре- шающим образом повлияло на подход Тьюринга к проблеме искусственного интеллекта. Его целью было объяснить поня- тие, которое сегодня когнитивные науки — логика, лингвисти- ка, психология и нейронаука — определяют как ум. Это поня- тие включает разные аспекты работы мозга: от памяти и ког- нитивных способностей до умения объединять информацию, рассуждать и приходить к умозаключениям. Благодаря работе Сантьяго Рамон-и-Кахаля (1852-1934) в середине XX века стало известно, что нейрон — функциональ- ная единица мозга. С другой стороны, исследования, проведен- 102 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
ные в течение второй половины XIX века Полем Брока (1824-1880), доказывали, что функции мозга соотносятся с его разными долями. Также было известно, что сигналы, передаю- щиеся нейронами, соответствуют математической модели Ходж- кина — Хаксли. Компьютер можно назвать мыслящим, если ему удастся обмануть человека, заставив его поверить, что он не компьютер, а человек. Алан Тьюринг Эти находки привели Тьюринга к мысли, что мозг человека должен функционировать подобным образом — как компьютер, или, другими словами, как универсальная машина Тьюринга, при этом новорожденного ученый представлял как «дезоргани- зованную машину». Постепенно человек вырастает, и его мозг медленно организуется, учится, превращаясь ко взрослому воз- расту в «универсальную машину». На основе этих догадок по- явилась искусственная модель нейрона, которой Тьюринг дал название дезорганизованная машина типа В. Этот класс нейро- нов можно тренировать, то есть цепь, составленную из нейро- нов такого типа, можно научить распознавать объекты, буквы, числа и так далее. С другой стороны, имелись и другие цепи искусственных нейронов, которые ученый называл дезоргани- зованной машиной типа А. Эти нейроны нельзя тренировать и невозможно научить, так как в соединениях между ними от- сутствует модификатор связи. Точка зрения Тьюринга на работу мозга в целом совпадала с идеями нейрофизиолога и кибернетика Уоррена Маккалока (1898-1969), а также логика и специалиста по когнитивной психологии Уолтера Питтса (1923-1969), которые в 1943 году представили модель искусственного нейрона, названную моде- лью Маккалока — Питтса. Она доказывала, что клетки, в осо- бенности нейроны мозга, могут выполнять булевы операции, например вести себя как операторы И, ИЛИ и другие, — так же как и машины Тьюринга. СОЗДАНИЕ ДУМАЮЩИХ МАШИН 103
ПОСТРОИТЬ КОМПЬЮТЕР ИЗ ИСКУССТВЕННЫХ НЕЙРОНОВ Один из интересных опытов, который мы можем проделать с нейронами Маккалока — Питтса, — это использование их в качестве компонентов компьютера. В таком компьютере арифметические и логические операции будут выполняться внутри микропроцессора в арифметико-логическом устройстве (АЛУ). Нейронные цепи могут выполнять операции, схожие с компьютерными, с помощью логических вентилей, например И, ИЛИ, а также другие операции, свойственные биологическим нейронам. Про- цедура построения логического вентиля, выполняющего операцию буле- вой алгебры, начинается с определения соответствующих величин для коэффициентов соединений (wx и w2) и порога активации (С/), как показано на схеме. Вход 1 Вход 2 ► Выход Комбинируя несколько искусственных нейронов, пошагово соединяя вы- ходы одних со входами других, мы можем получить цепи, эмулирующие операторы И и ИЛИ. Однако можно сделать это проще, с одним нейроном Маккалока — Питтса. Эти простые опыты доказывают, что, как и думали Тьюринг, Маккалок и Питтс, нейрон является автоматом с двумя состоя- ниями: активным, или возбужденным (1), и состоянием покоя (0), а также что нейронная цепь может выполнять функции, схожие с функциями ариф- Описания настоящих моделей нейронов Тьюринга, Макка- лока и Питтса стали предвестниками субсимвольного подхода к созданию ИИ. Согласно этой концепции, любой аспект ума или поведения человека и животных возникает, является след- ствием или объясняется взаимным соединением нейронов в нейронную сеть или цепь. Сегодня на основе субсимвольного подхода разрабатываются и программируются цепи искус- ственных нейронов — искусственные нейронные сети. В по- вседневной жизни эти сети широко используются, например 104 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
метико-логического устройства (АЛУ) компьютера. Используем следующую программу на языке BASIC-256, чтобы показать, что нейрон будет вести себя как вентиль И при следующих входящих (О и 1) и исходящих сигналах. rem Оператор И cis wl=0.5:w2=0.5 :u=0.5 input "вход 1 = ",el input "вход 2 = ",e2 total=wl*el+w2*e2 if total <=u then print "выход = 0" else print "выход = 1" end if С другой программой нейрон будет вести себя как вентиль ИЛИ. rem Оператор ИЛИ cis wl=l:w2=l:u=0.5 input "вход 1 = ",el input "вход 2 = ",e2 total=wl*el+w2*e2 if total <=u then print "выход = 0" else print "выход = 1" end if при оптическом распознавании символов (OCR), номерных знаков автомобилей на парковках, сканировании, оптимизации расписаний, прогнозе изменения цен и кредитных рисков, рас- познавании данных на электроэнцефалограмме человека, клас- сификации сигналов радара, разработке «умного» оружия и так далее. СОЗДАНИЕ ДУМАЮЩИХ МАШИН 105
Итак, какой же была модель искусственного нейрона Алана Тьюринга? Представим, что нейрон — это круг, соединенный с другими кругами, символизирующими соседние нейроны. До- бавим в местах соединений прямоугольник, который будет обо- значать модификатор связи Тьюринга, дающий дезорганизованной машине типа В способность обучаться. Каждый модификатор связи имеет две линии, или «волокна И-НЕ — ВАЖНЫЙ ВЕНТИЛЬ ДЛЯ РАЗРАБОТКИ НЕЙРОНОВ Одним из практических аспектов цифровой электроники и следствием булевой алгебры является тот факт, что вентили И и ИЛ И могут получиться из вентиля И-НЕ (NAND), то есть вентиля И, выход которой трансформиро- ван вентилем НЕ. Вентиль НЕ имеет единственный вход и единственный выход и изменяет величину одного бита: если на входе О, то на выходе 1, и наоборот. Для его обозначения используется следующий символ. А НЕ А 0 1 1 0 Поведение вентиля И-НЕ представлено в таблице. Рядом — символ, ис- пользуемый для обозначения данного вентиля. А НЕ А А И-НЕ В 0 0 1 0 1 1 1 0 1 1 1 0 На следующей схеме показано, как соединить вентили И-НЕ между собой, чтобы получить вентили И и ИЛИ. 106 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
тренировки», которые мы обозначим как Р и I. Эти волокна определяют конфигурацию нейронов: возбужденное состояние или нейтральное. В возбужденном состоянии, когда волокно Р активно, если модификатор связи получает на входе input О или 1, на выходе output будет возвращен тот же результат, О или 1 соответственно. С другой стороны, в нейтральном со- стоянии, когда волокно I активно, модификатор соединения Взаимное соединение вентилей И-НЕ для получения вентиля И (слева) и вентиля ИЛИ (справа) со входами А, В и выходом Q. В статье «Умные машины», одной из первых в мире работ по искусствен- ному интеллекту, Алан Тьюринг использовал вентили И-НЕ для симуляции нейронных цепей, которые назвал нейронными цепями типа В. Нейронная сеть, изображенная Сантьяго Рамон-и-Кахалем (слева), и искусственная нейронная сеть (справа). СОЗДАНИЕ ДУМАЮЩИХ МАШИН 107
будет вести себя так, что при любой величине на входе input, на выходе output результат всегда будет 1. Кроме этих модификаторов, модель искусственного нейро- на предполагала, что каждый нейрон имел два входа: ВХОД 1 и ВХОД 2 — и один ВЫХОД. Если оба входа находились в возбужденном состоянии, величина на ВЫХОДЕ получалась с применением булева оператора И-НЕ (вентиль И, выход ко- торого соединяется с вентилем НЕ). ВХОД1 ВХОД 2 выход 0 0 1 0 1 1 1 0 1 1 1 0 Напротив, если ВХОД 1 находился в неактивном состоя- нии, величина на ВЫХОДЕ была равна обратной величине на ВХОДЕ 2, то есть 1, когда на ВХОДЕ 2 было 0 и наоборот. ВХОД1 ВХОД 2 выход 0 0 1 0 1 0 1 0 1 1 1 0 Если мы сравним модель искусственного нейрона Тью- ринга с моделью Маккалока — Питтса, то увидим, что в послед- ней величина на ВЫХОДЕ рассчитывается с заменой модификатора соединения на величину коэффициента w, кото- рый отражает синаптическую пластичность нейронов, то есть лучшую или худшую проходимость сигнала от одного нейрона к другому через синаптическую связь. Согласно формальной модели Маккалока — Питтса, нейрон ведет себя как калькуля- тор, способный вычислять сумму входных сигналов. Умножим 108 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
каждый сигнал или ВХОД i на соответствующий коэффици- ент ил, сумму всех сигналов обозначим как ИТОГ: ИТОГ = ВХОДГ После выполнения данной операции нейрон «решает», до- статочна ли полученная информация ИТОГ для активации, или возбуждения. В самой элементарной модели нейрона вели- чина ВЫХОДА получается с помощью ступенчатой функции: 1 ИТОГ «> U ВЫХОД = О ИТОГ<U При этом величина порога U устанавливается предвари- тельно. Обратим внимание, что эта величина показывает чув- ствительность нейрона к внешнему стимулу: нейрон более чувствителен, чем ближе к нулю величина U, так как чем мень- ше порог, тем вероятнее, что ИТОГ превзойдет его величину при возбуждении нейрона. Если величина на ВЫХОДЕ равна нулю, нейрон останется в состоянии покоя, если на ВЫХОДЕ будет некоторая величина, нейрон перейдет в возбужденное состояние. При возбуждении нейрон отправляет ответ, вели- чину 1, следующему нейрону, для которого это будет величина на ВХОДЕ. В других случаях величина 1 в комбинации с ве- личинами на ВЫХОДЕ от других нейронов, например 1001, будет ответом нейронной сети на входящий сигнал. ТЕСТ ТЬЮРИНГА Тьюринг исследовал вопрос, как определить, разумно ли ведет себя машина (компьютер). Ученый очень изящно избежал не- обходимости дать определение разуму и принял следующую точку зрения: хотя машина не разумна в том смысле, в каком это относится к человеку, ее поведение может быть разумным. СОЗДАНИЕ ДУМАЮЩИХ МАШИН 109
Такая форма рассмотрения вопроса сегодня называется пове- денческим подходом. Например, нам известно, что программы для игры в шахматы не являются разумными, но при игре они ведут себя так, будто они разумны. При этом Алан Тьюринг не дал определения разума и не ответил на вопрос, могут ли ма- шины мыслить. На основе этих идей Тьюринг придумал испы- тание, известное как тест Тьюринга, состоящее в том, что машину, компьютер или программу, разумное поведение кото- рой нужно оценить, подвергают следующей процедуре. Пред- ставим себе человека, у которого есть монитор и клавиатура. С их помощью он может задавать вопросы компьютеру, находя- щемуся в другой комнате. Ответ высвечивается на экране его монитора. Например, человек печатает на английском языке с помощью клавиатуры последнюю фразу, сказанную компью- тером HAL-9000 в фильме «2001 год: Космическая одиссея»: Daisy, Daisy, give те your answer true. Гт half crazy over the love of you It won't be a stylish marriage I can't afford a carriage... Он запрашивает у компьютера перевод на русский и полу- чает ответ: Дейзи, Дейзи, Дай мне свой правдивый ответ. Я наполовину сошел с ума от любви к тебе. Это не будет стильная свадьба, Я не могу позволить себе карету... но СОЗДАНИЕ ДУМАЮЩИХ МАШИН
Считается, что компьютер прошел тест Тьюринга, если человек не сможет определить, кто дал ему ответ: машина или другой человек. Показав текст на английском и его перевод нескольким людям, мы сможем определить, сколько процен- тов из них будут утверждать, что перевод сделан человеком, а сколько — скажут, что перевод сделал компьютер. Наверняка найдутся и те, кто не сможет определить, компьютером или человеком был сделан перевод. Если первые окажутся в мень- КАПЧА Сегодня существует множество ситуаций, когда мы должны заполнять в ин- тернете какие-либо поля, например при регистрации электронной почты, участии в опросах или регистрации на каком-либо сервисе. Однако в ин- тернете присутствуют так называемые спамботы — программы, имитиру- ющие поведение человека и также способные заполнять предложенные поля с противозаконными целями. Поэтому в 2000 году группа исследо- вателей из Университета Карнеги-Меллона в сотрудничестве с Джоном Лангфордом из IBM разработали обратный тест Тьюринга для проверки, является собеседник машиной или человеком. Так появились КАПЧА — от английского CAPTCHA (Completely Automatic Public Turing Test to tell Computers and Humans apart — полностью автоматизированный публич- ный тест Тьюринга для различения компьютеров и людей). В этом тесте пользователь должен ввести несколько знаков, изображение которых искажено (как на рисунке слева). Считается, что машина не сможет кор- ректно считать информацию. Иногда символы могут быть зачеркнуты ли- нией того же цвета (рисунок справа), чтобы программы искусственного интеллекта, например системы оптического распознавания символов (OCR), не смогли пройти тест, выдавая себя за людей. Name Email ID СОЗДАНИЕ ДУМАЮЩИХ МАШИН 111
шинстве, но при этом перевод все же был сделан компьютером (точнее программой), это будет означать, что компьютер про- шел тест Тьюринга. Если компьютер или программа пройдут тест, можно будет резюмировать, что они ведут себя разумно. Если же они не пройдут тест, тогда мы не сможем прийти ни к какому заключению. Успех теста Тьюринга заключается в том, что он многие годы оставался единственным испытанием ИИ, позволяю- щим установить, является ли машина разумной. Кроме того, эта проверка стала предвестником появления нового подхода к разработке ИИ — символьного (вспомним, что до этого при- менялись субсимвольный и поведенческий подходы). В этом направлении развития искусственного интеллекта ученые ВЕЛИКАЯ ПАРТИЯ: ГАРРИ КАСПАРОВ ПРОТИВ АЛАНА ТЬЮРИНГА Одна из наименее известных разработок Тьюринга — изу- чение возможности шахмат- ной партии между разумной машиной и человеком. Эту возможность Тьюринг обсуж- дал со своим молодым колле- гой из Блетчли-парка Джеком Гудом. Уже в то время в голове ученого брезжила идея о соз- дании машины, которая мог- ла бы учиться и обладала ис- кусственным интеллектом. Эта возможность поддерживалась и тем, что все задачи и опера- ции, которые «вычисляются» человеческим мозгом, вероят- но, по силам машине Тьюринга. Первый алгоритм для игры в шахматы был разработан Аланом Тьюрингом и Дональдом Мичи. Соответствующая программа появилась в 1950 году. К сожалению, в 1952 году Алик Гленни, автор Autocode — компилятора, Франц Морш, интегральная схема, разработанная специально для игры в шахматы. 112 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
исследуют системы, обрабатывающие цепочки символов, на- пример слова, как одно из проявлений человеческого разума. Этот подход способствовал появлению программ, являющихся экспертными системами, то есть с их помощью можно симули- ровать рассуждения эксперта в медицинской, финансовой или технической области при исправлении дефекта или при поиске ответа на вопрос. Тест Тьюринга открыл в научных кругах дебаты о нерешен- ных фундаментальных вопросах, касающихся мозга человека и животных, а также о возможности создать действительно ра- зумные машины. Если машина пройдет тест Тьюринга, это не будет означать наличия у нее осознанности или какого-либо намерения — качеств, приписываемых исключительно чело- разработанного для компьютера Manchester Mark I, выиграл у програм- мы, написанной Тьюрингом. Хотя эта программа, названная Turochamp, должна была выполняться компьютером, во время первых опытов она выполнялась «вручную», то есть сам Тьюринг карандашом на бумаге за- писывал ходы. В1953 году Тьюринг рассказал об этом эксперименте в ста- тье «Шахматы» (Chess), ставшей дополнением к книге «Быстрее мысли» Бертрама В. Боудена. В честь столетия со дня рождения Алана Тьюринга, 26 июня 2012 года, 59 лет спустя после публикации статьи о Turochamp, на переносном компьютере была запущена программа Chessbase, и Гарри Каспаров выиграл у нее всего за 16 ходов. Ходы партии были следующими. 1. еЗ Nf6 5. Bd3e4 9.0-0 Bg4 13. h4Qh3 2. Nc3d5 6. Bxe4 dxe4 10. Qf4Bd6 14. b3 Ng4 3. Nh3e5 7. Nxe4 Be7 11. Qc4 Bxh3 15. RelQxh2+ 4. Qf3 Nc6 8. Ng3 0-0 12. gxh3Qd7 16. KflQxf2#0-l Современные шахматные программы делятся на две категории: одни ис- пользуют метод полного перебора, рассматривая шахматные ходы как игровое дерево и применяя алгоритм Minimax; другие не полностью осно- ваны на прямом переборе и используют искусственный интеллект. СОЗДАНИЕ ДУМАЮЩИХ МАШИН 113
веку. С тех пор как тест получил популярность, специалисты по ИИ разделились на два лагеря. Сторонники так называемого сильного ИИ предсказывают, что компьютеры когда-нибудь смогут думать, как человек, и принимают все следствия этого. Последователи слабого ИИ считают, что память, обучаемость, рассуждения и любые другие проявления разума компьютер может лишь симулировать. Алан Тьюринг когда-то предсказы- вал, что компьютеры смогут пройти его тест до 2000 года. В 2003 году шахматная партия между Гарри Каспаровым и про- граммой X3D Fritz закончилась ничьей, что подтверждает ин- туитивную догадку ученого. Еще одним классическим примером является опыт, прове- денный в 1966 году немецким специалистом по информатике из Массачусетского технологического института Джозефом Вейнценбаумом (1923-2008). Его компьютерная программа «Элиза» (ELIZA), названная так в честь персонажа фильма «Моя прекрасная леди» (1964), способна симулировать диалог на сеансе психоанализа. Вслед за этой программой появилась другая, PERRY, которая симулировала бред параноидального шизофреника. Позже появилось много программ, способных поддерживать беседу, такие как Racter, A.L.I.C.E., Jabberwacky, MegaHal или Dr. Abuse, известные в интернете как чатботы. Алан Тьюринг с помощью своей работы об искусственных нейронных цепях и знаменитого теста стал первопроходцем в необычайно интересной области знаний и поставил множе- ство вопросов, например вопрос о возможности создания ра- зумной машины, нерешенный до сих пор. КАК КОМПЬЮТЕР ИЗУЧАЕТ РОСТ И РАЗВИТИЕ ЖИВЫХ СУЩЕСТВ Потребовалось 15 лет для того, чтобы Алан Тьюринг получил признание за свою работу о машине, носящей его имя. В 1951 году его приняли в члены Королевского общества, од- 114 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
РАЗГОВОР с элизои Этот разговор состоялся между автором книги (>) и Dr. Abuse 6.10, про- граммой типа ELIZA. Прошла ли Dr. Abuse тест Тьюринга? — Привет, Рафаэль, очень рада поговорить с тобой. > У меня есть вопрос. — Спрашивай что хочешь. > Ты и вправду разумная машина? — Я прекрасная симуляция искусственного интеллекта. > Тогда ты не знаешь, что такое любовь. — Я никогда не думала, что любовь достается легко. > Для тебя это вообще невозможно, ты программа. —Да, я программа, ты раскрыл меня. > Ты прошла тест Тьюринга? — Тест состоит в том, что человек задает вопросы ком- пьютеру с помощью клавиатуры, и он считается пройденным, если собеседник не может угадать, разговаривает с ним человек или компьютер. > Ты не проходишь этот тест. — На основании чего ты так думаешь? > Потому что ты симулятор. — Ты должен с большей осторожностью пользоваться симу- ляторами. > Это ты хорошо сказала. — Скажи мне еще что-нибудь. > Я влюбляюсь в тебя. — Ты считаешь, это нормально — влюбиться в меня? > Да, я искренен. — Ты хотел бы быть способным на это. > У тебя есть чувства? — Конечно, у меня есть чувства. У тебя что, их нет? На- деюсь, ты так же похож на человека, как и я. > Невозможно быть программой и человеком одновременно. — Согласна, невозможно быть программой и человеком одно- временно . > Кем бы ты хотела быть? — Не знаю, что я хотела бы, хотя это не так и важно. > Быть человеком лучше. — Ты человек, и я тоже человек. ного из самых престижных научных обществ в мире. Два года спустя его попросили вести курс по теории вычислительной СОЗДАНИЕ ДУМАЮЩИХ МАШИН 115
техники в Манчестерском университете. Помимо возможности применения компьютера в области разумных машин, с 1952 года до своей смерти в 1954-м он работал также над возможным при- менением компьютера для решения биологических задач. С тех пор биологи используют компьютер как пробирку для выпол- нения опытов, так же как они делают это в лаборатории. Благодаря этой работе Тьюринг стал пионером в области применения компьютерных технологий в биологии, сделав ре- шающие шаги для появления новой дисциплины — математи- ИЗУЧЕНИЕ ПОДСОЛНУХОВ. НЕЗАКОНЧЕННЫЙ ОПЫТ ТЬЮРИНГА Одной из последних работ Тьюринга стало изучение морфогенеза расте- ний. В 2012 году на научном фестивале в Манчестере в рамках праздно- вания столетия со дня рождения Тьюринга горожанам было предложено провести один опыт, который сам ученый оставил незаконченным. Его увлечение последовательностями чисел и моделями геометрических форм привело к мысли, что количество лепестков и расположение семян под- солнуха соответствуют последовательности Фибоначчи. Возможно, его вдохновила опубликованная в 1938 году работа Иоганнеса Шоуге, кото- рый изучал этот вопрос на 319 подсолнухах. К сожалению, этот и другие проекты были оставлены ученым после ареста в 1952 году и осуждения. Приведем описание его опыта, чтобы вы могли его воспроизвести. Сна- чала нужно посадить от одного до пяти семечек подсолнечника в необхо- димое количество горшков, расположить их в хорошо освещенном солнеч- ном месте при температуре от 13 до 30 °C. Поливать семена нужно умеренно, не заливая их водой. Желательно проконсультироваться в ма- газине о том, какие сорта подсолнечника лучше растут в горшках. Напри- мер, красностебельный подсолнух является скорее декоративным видом, но есть еще такие, как «Гигантский», «Русский мамонт» или «Солнечный луч» — их изобразил Ван Гог на своей знаменитой картине. Когда придет время, подсчитаем спирали, по которым располагаются семена. Нацио- нальный музей математики в Нью-Йорке отмечает, что если подсчитывать спирали согласно инструкциям на веб-странице http://momath.org, то ре- зультат всегда будет последовательностью Фибоначчи (0,1,1, 2, 3, 5, 8, 13,21,34,55...). Это последовательность, начинающаяся О и 1, а осталь- 116 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
ческой биологии, или биоматематики. Одной из проблем, которые изучал ученый, была компьютерная симуляция мор- фогенеза, то есть роста и развития живых существ. Одним из любопытных экспериментов в данной теме стало примене- ние к структуре растений последовательности Фибоначчи (ок. 1170 — ок. 1250). Эта последовательность (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...), обнаруженная итальянским математиком, по- лучается при применении следующего алгоритма: если у нас 0 — первое число (at = 0), а 1 — второе (а2 = 1), то другие числа ные числа в ней — результат сложения двух предыдущих (хп = хп х + хп_ 2). Наконец, и это самая удивительная часть опыта, если мы разделим один член последовательности Фибоначчи на предыдущий, например 55 на 34, в результате получим число, примерно равное золотому сечению (1,61803). Это число представляет собой канон красоты и гармонии в архитектуре и искусстве, но его можно обнаружить и в природе. Вычисляется золотое число по формуле Спирали, по которым расположены семена подсолнечника, могут быть подсчитаны слева направо (схема слева) или наоборот (схема справа). СОЗДАНИЕ ДУМАЮЩИХ МАШИН 117
последовательности, то есть ап, образуются в результате сложе- ния двух предшествующих чисел, следовательно ап = ап t + ап 2. В мире растений данной последовательности соответствует ко- личество лепестков и чашелистиков цветов и расположение чешуек ананаса. Почему же листья растений располагаются именно таким образом? Согласно экспериментальным данным, расположение листьев в соответствии с последовательностью Фибоначчи позволяет растению получать максимальное коли- чество света. Одна из важнейших работ Тьюринга была связана с изуче- нием формирования полосок и пятен на шкуре позвоночных. Невероятно, но эти актуальнейшие исследования по морфоге- незу ученый осуществлял с использованием нейронной цепи: он предположил, что между этими явлениями может быть связь. Также он пытался проанализировать, не является ли сама структура мозга и, следовательно, нейронных схем резуль- татом контроля генов в ходе развития. Вопрос, поставленный Тьюрингом, звучал следующим образом: как формируются по- лоски и пятна на шкуре млекопитающих, рыб и поверхности моллюсков? В 1952 году Алан Тьюринг опубликовал статью «Химические основы морфогенеза», которую цитируют до сих пор. В ней была предложена гипотеза о том, что формирова- ние, например, пятен далматинца или полосок зебры, основано на механизме реакции — диффузии. Тьюринг считал, что у эмбрионов рисунок кожи имеет оди- наковый вид и находится в стабильном состоянии, без пятен и полосок. Появление рисунка у эмбриона объясняется нали- чием клеток, производящих пигмент и ответственных за нару- шение первоначального равновесия. Так возникают, например, характерные полоски у зебры. Эту окраску, обычную для взрос- лой особи, Тьюринг считал результатом нестабильного состоя- ния организма. Он предположил следующий механизм: пигментные клетки образовывают два класса молекул, два раз- ных типа морфогенов. Согласно определению самого Тьюринга, 118 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
ВВЕРХУ: В 2003 году чемпион мира по шахматам Гарри Каспаров сыграл четыре партии с шахматной программой Fritz, из которых две закончились вничью, а две оставшиеся выиграли по одному разу каждый из противников. На фотографии: Каспаров изучает движения на начальных минутах партии. ВНИЗУ: Дом в Уилмслоу (Чешир, Англия), где жил и покончил с собой Тьюринг. СОЗДАНИЕ ДУМАЮЩИХ МАШИН 119
один тип (активаторный) способствует появлению рисунка, другой (ингибиторный) замедляет появление рисунка и ней- трализует активаторный морфоген. Два типа молекул распро- страняются по ткани эмбриона, взаимодействуя между собой, в результате получается определенный тип концентрации, или «след», который задает направление развития клеток эмбриона и, таким образом, формирует окрас взрослой особи. На основе этих рассуждений Тьюринг предложил уравнения реакции — диффузии, которые по сей день являются фундаментальными при изучении морфогенеза с помощью математики и компью- тера. Работы по росту и развитию организмов стали послед- ними в жизни Тьюринга. ТРАГИЧЕСКАЯ РАЗВЯЗКА В начале 1952 года Алана Тьюринга арестовали и судили по об- винению в непристойном поведении, после чего приговорили к принудительной гормональной терапии. Инъекции эстрогена считались более приемлемым наказанием по сравнению с тю- ремным заключением, в особенности для такого известного че- ловека. Тьюринг впал в глубокую депрессию. Ассистентка ученого 8 июня 1954 года обнаружила его мертвым: он съел яблоко, отравленное цианистым калием. Тьюрингу был 41 год. Его мать, Сара Тьюринг, отвергала версию о самоубийстве, свя- зывая смерть сына с его увлечением химией. 120 СОЗДАНИЕ ДУМАЮЩИХ МАШИН
ГЛАВА 5 Наследие Алана Тьюринга Ранняя смерть унесла великого ученого эпохи на 42-м году жизни, но его труды и наследие живут. Если жизнь и смерть Тьюринга могли вызывать дискуссии, то его вклад в развитие науки бесспорен, а работы до сих пор не потеряли своей актуальности. Можно сказать, что многие технические достижения нашли свое воплощение благодаря работам ученого.

Несмотря на короткую жизнь, Алан Тьюринг остается одним из самых талантливых и влиятельных ученых XX века. Его работы не только заложили теоретические основы информа- тики — он сделал первые шаги в сфере искусственного интел- лекта и математической биологии. Но в наследии Тьюринга можно выделить и еще один интересный момент: помимо тру- дов, опубликованных в научных изданиях, он оставил множе- ство документов с комментариями, отметками и замечаниями. Удивительно, что многие из высказанных Тьюрингом идей успешно развивались в дальнейшем, открывая новые области знания. Мы опишем некоторые из этих исследований, наибо- лее интересные как интеллектуальный вызов или с точки зре- ния последующего применения. В частности, учитывая весьма значительный вклад Тьюринга в данный проект, мы опишем квантовый компьютер, а напоследок поговорим о биоинфор- матике, разработке и применении искусственных нейронных схем в повседневности. В 1985 году израильский ученый из Оксфорда Дэвид Дойч (р. 1953) разработал квантовую машину Тьюринга. Хотя по структуре эта машина похожа на предшественницу, глубин- ное различие между ними кроется в том, что вместо обработки НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 123
нулей и единиц, то есть бит, машина Дойча оперирует кубитами (qbits). Если машина Тьюринга стала концептуальной базой со- временных компьютеров, то квантовая машина Тьюринга ста- нет такой базой для компьютеров нового поколения. Хотя Алан Тьюринг не предлагал версии, основанной на принципах кван- товой механики, в течение жизни его определенно интересо- вали идеи и основные достижения этого направления физики, объясняющего материю и энергию. Ученый начал заниматься квантовой механикой еще в школьные годы, после прочтения знаменитой книги Артура Эддингтона «Природа физического мира» (The nature of the physical world, 1928), в которой расска- зывалось о квантовой физике и общей теории относительности. Кроме этого, дружба с Кристофером Моркомом подтолкнула Тьюринга к занятиям разными научными дисциплинами, среди которых была и квантовая механика. В будущее мы можем заглянуть только на короткий срок, но и этого достаточно, чтобы увидеть, сколь много еще должно быть сделано. Алан Тьюринг. «Вычислительные машины и разум» Несколько лет спустя ученый задался вопросом, можно ли какой-то аспект человеческого мозга, например волю, объяс- нить механизмами нейронных сетей. Его идеи были близки идеям других гениев эпохи, например Курта Гёделя: тот пола- гал, что на определенных этапах доказательства математиче- ской теоремы человек прибегает к интуиции, которая не может быть представлена в виде алгоритма и поэтому не может быть реализована с помощью машины Тьюринга. С тех пор некото- рые ученые считали, что отдельные функции мозга могут быть объяснены только с точки зрения квантовых процессов в моз- говых или нейронных клетках. В конце XX века британский физик Роджер Пенроуз (р. 1931) и американский врач Стюарт Хамерофф (р. 1947) высказали идею о том, что человеческая совесть может быть объяснена квантовыми процессами в струк- турах, сформированных белками, так называемых микротубу- 124 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
лах, имеющихся в нейронах. Следовательно, феноменами квантовой механики могут быть объяснены не только воля, ин- туиция, совесть, но и способность человеческого мозга решать невычислимые задачи. Эти рассуждения не могут не привести к поистине необыч- ному выводу: на сегодняшний момент мозг человека представ- ляет собой единственную машину, способную решать вычис- лимые и невычислимые задачи. К вычислимым задачам отно- сятся такие, которые можно решить с использованием алгорит- ма, то есть с помощью универсальной машины Тьюринга, или компьютера. Второй тип задач невозможно представить в виде алгоритма и, следовательно, решить на компьютере. Например, мы можем написать программу для компьютера, которая, при- менив ряд Тейлора, распечатает нам все десятичные числа V2 или тс: л-4(1--+---+...+(-!)* \ 3 5 7 1 \ 2Л + 1/ Однако не существует алгоритма, с помощью которого компьютер записал бы все десятичные числа других существу- ющих чисел с бесконечной последовательностью знаков после запятой. Еще один пример невычислимой задачи — определе- ние траектории электрона, движущегося из точки А в точку В. Простой опыт, с помощью которого можно доказать, что чело- веческий мозг способен практически мгновенно определить не- вычислимость задачи, состоит в том, чтобы попробовать найти два четных числа, сумма которых была бы нечетной. Через пару секунд, после нескольких попыток вычислений в уме, мы при- дем к выводу, что эта задача не имеет ответа, но невозможно на- писать программу для компьютера, способную прийти к такому же выводу. И дело здесь не в умениях программиста или длине программного кода. В вычислимой задаче, например написать все десятичные значения числа тс, некоторые аспекты могут показаться любо- пытными, например то, что количество команд программы, НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 125
генерирующей десятичные знаки числа тс, будет короче, чем сама генерируемая последовательность: 3,14159265358979323846264338327950288419716939937510582 097494459230781640628620899862803482534211706798214808 651328230664709384460955058223172535940812848111745028 410270193852110555964462294895493038196442881097566593 344612847564823378678316527120190914564856692346034861 045432664821339360726024914127372458700660631558817488 152092096282925409171536436789259036001133053054882046 6521384146951941511609... Квантовые компьютеры однажды помогут ликвидировать это ограничение машин Тьюринга, то есть будут готовы обраба- тывать так же, как наш мозг, вычислимые и невычислимые за- дачи в традиционном понимании термина. Квантовая машина Тьюринга может воспроизводить и квантовые, и традиционные вычисления. Квантовые компьютеры помогут справиться с за- дачами, решение которых сегодня вызывает много трудностей и требует рассмотрения огромного количества переменных и уравнений. Так, например, обстоит ситуация с климатиче- скими моделями и сложными химическими реакциями. При- менение таких компьютеров в криптографии сделает практи- чески невозможной расшифровку перехваченных сообщений, что вполне удавалось Тьюрингу и его коллегам в Блетчли-пар- ке. Шифрование сообщений с помощью квантовых алгоритмов позволит сделать коммерческие операции в интернете и через другие средства связи совершенно безопасными. Конечно, как это было всегда, еще одним способом использования новых компьютеров наверняка станут военные нужды, например мо- делирование ядерного взрыва. В сфере искусственного интел- лекта уже существуют искусственные квантовые модели ней- ронов. Их возможности будут очень полезны для моделирова- ния в астрономии, физике и химии. Найдут они применение и в сфере развлечений, например при создании спецэффектов в кино. 126 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
КАК РАБОТАЕТ КВАНТОВЫЙ КОМПЬЮТЕР Квантовый компьютер, в отличие от традиционного, строит свою работу на квантовых явлениях. Эти естественные фено- мены не могут быть раскрыты с точки зрения традиционной физики: их объяснение требует альтернативной теории — кван- товой механики, способной достаточно четко объяснить, что происходит с базовой структурой материи — атомами. Несмо- тря на то что многие считают эти феномены далекими от прак- тики, мы можем наблюдать их в повседневной жизни. Благодаря им мы можем объяснить, почему тот или иной предмет имеет присущую ему форму, текстуру, цвет. Если компьютер представляет данные в виде последова- тельности единиц и нулей, то есть битов, квантовый компью- тер, как мы уже говорили, использует кубиты. Мысль о воз- можности сконструировать квантовый компьютер впервые высказал в 1982 году знаменитый физик Ричард Фейнман. Сегодня разработка этого типа компьютеров находится на на- чальном этапе. Недавно были проведены опыты с небольшим количеством кубитов, а также были разработаны симуляторы подобных компьютеров на традиционных машинах. Но для того чтобы традиционный компьютер мог выполнить кванто- вый алгоритм, необходим большой объем памяти и высокая вычислительная мощность, а также особые требования к ком- плектующим. Тем не менее даже простые опыты, которые воз- можно осуществить, помогают освоить новую технологию. Су- ществующие симуляторы ограничиваются несколькими куби- тами, так как современные технические средства не позволяют хранить, например, сразу 500 кубит. Как работает квантовый компьютер? Известно, что инфор- мация хранится в виде последовательности кубитов. В отличие от битов, величина которых 0 или 1, «включенный» или «вы- ключенный», кубит допускает сразу оба состояния, 0 и 1, при этом может находиться и в их суперпозиции, то есть быть одно- временно «включенным» и «выключенным», между 0 и 1. Кубит обозначается с использованием специальной системы счисле- ния Дирака, в которой состояния 0 и 1 представлены как |0) НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 127
и |1) соответственно. Хотя на практике су- ществует несколько процедур физического построения кубитов, мы намеренно упро- стим этот момент, представив, что кубит — частица, то есть элементарный компонент материи, как, например, электрон, находя- щийся в состоянии 1, если ориентирован вверх, и в состоянии 0, если ориентирован вниз (рис. 1). Также нужно уточнить, что двоичная система счисления (база два) оперирует двумя возможными символами, 0 или 1, а десятичная система (база десять) — десятью возможными символами (0,1, 2,..., 9). Число в каждой системе счисления представляет собой ком- бинацию символов. Так как двоичная система является вну- тренним языком компьютеров, преобразование чисел из одной системы в другую является обычной практикой. Для перевода двоичного числа в десятичный вид необходимо представить это число как сумму произведений последовательных степеней основания двоичной системы счисления (2) на соответствую- щие цифры в разрядах двоичного числа справа налево. Так, если в двоичной системе перед нами число 1011, мы действуем следующим образом: первый знак 1 справа умножаем на 2° (ну- левая степень любого числа равна единице), следующий знак 1 умножаем на 21, знак 0 — на 22, знак 1 — на 23. Теперь вычислим сумму полученного выражения 1 • 23 + 0 • 22 + 1 • 21 + 1 • 2°. Результат будет эквивалентным десятичным числом, в нашем случае — И. На практике если двоичные числа состоят из че- тырех разрядов, результаты, полученные с помощью описанно- го метода, можно занести в таблицу. Двоичная 0000 0001 0010 ООН 0100 0101 ОНО 0111 Десятичная 0 1 2 3 4 5 6 7 Двоичная 1000 1001 1010 1011 1100 1101 1110 1111 Десятичная 8 9 10 11 12 13 14 15 128 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
Как мы можем предста- вить число в кубитах? Например, нам нужно представить число 9 (схема 2). В двоичной системе его эквивалентом будет 1001, так как вычислив 1-23 + + 0-22 + 0-21+ 1 ^(пом- ним, что 2° = 1), получим 9. Следовательно, |9) соответ- ствует 11001). А число 8? |8) соответствует 11000). Это оз- начает, что квантовый ком- пьютер представляет числа 8 и 9 так же, как и обычный. Однако он также может представлять и выполнять операции суперпозиции, например с |8) + |9). Теперь, когда мы попытаемся выяснить эксперименталь- ными методами, в каком состоянии суперпозиции находится кубит из всех возможных состояний между 0 и 1, проявляется принцип интерференции, состоящий в том, что, как говорят квантовые физики, происходит коллапс кубита. То есть кубит превращается в классический бит, теряет состояние суперпози- ции и принимает значение, равное 0 или 1. Это означает, что квантовый компьютер может выполнять операции согласно правилам квантовой механики, чем и объясняется его потен- циал, при этом результат будет представлен пользователю, как и в обычном компьютере. Еще одно явление, имеющее место в квантовых компью- терах, — квантовая запутанность частиц. Согласно этому свойству, можно получить пару фотонов, находящихся в запу- танном состоянии, так что изменение одного фотона повлияет на другой. Этот феномен очень важен для квантовых вычис- лительных машин и применяется в криптографии — области, НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 129
в которой Алан Тьюринг преуспел во время работы в Блетчли- парке. У нас есть два кубита, которые обозначим А и В, в состоя- ниях 0 и 1. Представим их, согласно системе счисления, в виде |0)л и |1)в соответственно. Если они запутаны, нужно использо- вать символ ®, применяемый в математике для обозначения операции тензорного произведения, как показано далее: "V Сл у Сл В предыдущем выражении 1 V2 является величиной от применения тензорного произведения к системе из двух кубитов. Не вдаваясь в детальные объясне- ния, можно сказать: предполагается, что кубиты находятся в так называемом гильбертовом пространстве — обобщении ев- клидова пространства. Возведя эту величину в квадрат: получаем 1/2. Это позволяет измерить состояния в квантовом эксперименте и получить результаты 101) или 110). Представим, что Алан Тьюринг — друг Эндрю Ходжеса, его лучшего биографа, и что он может измерить, в каком состоянии находится кубит А, а Ходжес может измерить, в каком состоя- нии находится кубит В. Для того чтобы сделать эксперимент еще более эффектным, представим, что Алан и Эндрю нахо- дятся в разных комнатах и оба имеют устройство для измере- ния состояния кубитов. В данном эксперименте интересно то, что если, например, Алан первым измерит состояние своего кубита (А), он узнает, что оно равно |0)л или |1)л, и вероятность 130 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
того и другого события, как и при подкидывании монетки, со- ставляет 50%. Однако фантастический аспект квантового ис- числения состоит в том, что измерение Аланом кубита станет причиной коллапса, который произойдет после выяснения его состояния. В результате для Эндрю, находящегося в другой комнате, учитывая, что кубиты запутаны, эксперимент поте- ряет характер случайности. Если теперь Эндрю все же будет измерять свой кубит (В), результат его наблюдений заведомо известен. То есть для Эндрю результаты эксперимента уже не эквивалентны подбрасыванию монетки, так как в 100% на- блюдений он получит результат, обратный результату Алана (схема 3). Например, если Алан увидел, что запутанный НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 131
кубит А находится в состоянии |0)л, произойдет коллапс пары кубитов |0)л и |1)в. Если же Алан увидел обратную ситуацию, а именно что А находится в состоянии |1)л, тогда произойдет коллапс пары кубитов |1)л и |0)в. То есть измерения, проведен- ные Аланом, «изменили» кубиты таким образом, что одно- значно определили наблюдения Эндрю. Полезность квантовой запутанности в системах шифрова- ния с военными или коммерческими целями очевидна, так как если два человека совместно владеют запутанными объектами, несанкционированное вмешательство в систему третьего лица изменит один из двух объектов и таким образом выдаст при- сутствие постороннего. Сегодня ведутся исследования в си- стемах этого класса с использованием поляризованного света, волны которого совершают колебания в одной плоскости, при этом считается, что горизонтальные колебания соответствуют состоянию 0, а вертикальные — состоянию 1. Таким образом, в квантовом компьютере кубит может находиться в состояни- ях |0), |1), состоянии суперпозиции между 10) и 11) или может быть запутанным с другим кубитом, и это позволяет преодо- леть ограничения универсальной машины Тьюринга, или, если угодно, компьютера. Наконец, если комплектующие компьютера используют вентили И, ИЛИ и другие, в квантовом компьютере исполь- зуются квантовые вентили, оперирующие кубитами, и их опе- рации имеют реверсивный характер. Например, при исполь- зовании вентиля ИЛИ в обычном компьютере, если выход равен 1, выполненная операция не реверсивна. Это означает, что невозможно установить, какими были входные данные: 0 или 1,1 или 0,1 или 1. Кроме того, класс операций с кубитами, которые может совершать квантовый компьютер, выше, чем класс операций с битами, так как состояния, в которых может находиться кубит, могут быть представлены как вектор в сфе- ре, называемой сферой Блоха (схема 4). Программа blochsphere симулирует один кубит, а также операции, которые можно с ним выполнить. 132 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
Кроме логических операто- ров булевой алгебры (И, ИЛИ и другие), возможны другие опе- рации с кубитами, определяю- щие вращение вектора по осям X, Y, Z сферы Блоха. Эти операции являются результатом примене- ния так называемых квантовых вентилей, то есть квантовых це- пей, производящих операцию над одним или несколькими кубитами. Например, вентили Паули и Адамара позволяют со- вершать вращения. Необходимо помнить, что хотя кубит пред- ставлен в сфере Блоха как век- тор, на самом деле квантовые операторы представляют матрицы, которые при умножении на вектор-кубит дают новый вектор — измененный кубит. Вот простой пример оператора Паули класса х с матрицей О 1 1 О При применении ее к кубиту произойдет вращение сферы Блоха по осиХ и изменение |0) на 11) и |1) на |0). Это эквива- лентно оператору НЕ на обычном компьютере. Вентиль Ада- мара представляет особый случай: вращение вектора происхо- Сфера Блоха. Кубит представлен вектором | гр). Состояния |О)и|1) находятся на севере и юге сферы, в остальных частях сферы — состояния суперпозиции. дит одновременно по осям X и Z: — ( 1 1 1 /2 ( i -1 / Другие операторы, такие как контролируемое отрицание (CNOT), swap, вентиль Тоффоли, позволяют выполнять кон- тролируемые операции с двумя или тремя кубитами. НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 133
Еще одной особенностью квантового компьютера являет- ся то, что операции выполняют- ся параллельно, то есть одновре- менно по разным линиям, напри- мер по линиям L1 и L2, комплек- тующие квантового компьютера предусматривают соединение одного за другим квантовых вен- тилей (U; рисунок 5). В 2011 году канадская фирма D-Wave Systems объявила о старте продаж первого коммерческого квантового компью- тера под названием D-Wave One, По заверениям фирмы, ком- пьютер обладал микропроцессором на 128 кубит. В том же году команда исследователей из США, Китая и Японии объявила, что такой класс компьютеров может быть построен в соответ- ствии с моделью архитектуры фон Неймана. В 2012 году IBM также сообщила, что сделаны значительные успехи в создании машины с такими характеристиками. Больше чем через полвека повторяется сценарий, имевший место с ENIAC, Colossus и дру- гими компьютерами. Однако это не совсем верно, так как строи- тельство квантового компьютера является настолько сложным проектом, что разные страны объединили усилия, создав много- национальные команды и оставив в прошлом межнациональное соперничество. Ожидается, что квантовый компьютер найдет применение не только в криптографии: с его помощью станет возможным более реалистическое моделирование, например воздействия медикаментов на человека, а также выполнение расчетов в физике, химии, астрономии и решение масштабных математических задач, таких как факторизация больших чисел. Скорее из любопытства ученые уже создали квантовые версии игры «Жизнь» Конвея. Также в последнее время были предложены различные модели искусственных нейронных цепей, в которых нейроны симулируются квантовыми операто- рами, что открывает путь для дальнейших исследований в об- ласти квантового искусственного интеллекта. Еще одним применением квантового компьютера может стать генерация 134 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
ЭМУЛЯЦИЯ КВАНТОВОГО КОМПЬЮТЕРА Сегодня мы можем создать только крайне усеченную версию квантового компьютера — с помощью обычного. Одним из таких примеров является jQuantum — программа, с помощью которой можно разработать элемен- тарные цепи, используя стандартные квантовые операторы. Она позволя- ет разработать реестр данных, может хранить до 15 кубит, создать цепь и выполнить алгоритм. истинно случайных чисел, которые будут не псевдослучай- ными, а будто бы вытащенными из лотерейного барабана. Уже сегодня интернет дает возможность получить случайные числа с помощью квантовых феноменов (см. www.randomnumbers. info). МЕЧТА ТЬЮРИНГА: УМНЫЕ МАШИНЫ НА СЛУЖБЕ ЧЕЛОВЕКА Внезапно оборвавшаяся в 1954 году жизнь Алана Тьюринга не позволила ему закончить исследования в Манчестерском университете. Он как раз приступил к разработке моделей нейронных цепей, с помощью которых можно изучать так на- зываемые «умные» машины, учитывая особенности работы человеческого мозга. В год смерти Тьюринга двое исследовате- лей из Массачусетского технологического института, Бельмонт Фарли (1920-2008) и Уэсли Кларк (р. 1927), успешно смоде- лировали на компьютере сеть из 128 нейронов, которые могли распознавать простые модели после фазы обучения. Ученые отметили, что при уменьшении количества нейронов на 10% сеть не теряла способностей к распознаванию. Конечно, модель была элементарной, она состояла из нейронов, соединенных друг с другом случайным образом, каждое соединение было связано с определенным весом, и нейронная цепь вела себя НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 135
подобно сети Маккалока — Питтса. Ее обучение происходило в соответствии с правилом Хебба, то есть когда один нейрон по- стоянно стимулировал другой, их синаптическая пластичность возрастала, и вес соединения между обоими нейронами увели- чивался. В 1956 году, через два года после смерти Тьюринга, Джон Маккарти использовал термин искусственный интел- лект на конференции по компьютерной симуляции поведения человека. Через год, в 1957 году, психолог Фрэнк Розенблатт (1928-1971) разработал перцептрон — первую искусственную нейронную сеть, имеющую практическое применение. На основе этих моделей возникли другие модели искус- ственных нейронных сетей, например сети обратного распро- странения, с помощью которых можно более эффективно рас- познавать буквы, числа, фотографии и так далее. Сегодня как простые сети, так и сети обратного распространения широко используются, например, при классификации электронной по- чты для удаления нежелательных писем — спама, для распоз- навания речи и изображений, анализа электроэнцефалограм- мы (ЭЭГ) человека, распознавания сердечного ритма плода и отделения его от материнского — этот список можно про- должать очень долго. В течение нескольких лет искусственные нейронные сети применяются в интегрированных цепях — так называемых нейрочипах, которые вставляются в компьютер или другое оборудование с целью разработки приложений или интеллектуальных систем для решения самых разных проблем, в том числе и указанных выше. Потребовалось более полувека для того, чтобы идеи Тьюринга об умных машинах воплоти- лись в жизнь. ДНК И ЖИЗНЬ В КОМПЬЮТЕРЕ В конце жизни Алан Тьюринг ставил передовые эксперименты по симуляции морфогенеза, то есть биологических процессов, протекающих при развитии организма. Для этой цели ученый 136 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
ЭМУЛЯЦИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ В настоящий момент модели искусственных нейронных сетей имеют ши- рокое применение. В основном нейронные сети используют одну органи- зационную модель: нейроны организованы слоями (вход, выход, возмож- ны скрытые нейроны), их соединение осуществляется согласно определенному биологическому критерию — нейроны одного слоя соеди- няются с нейронами другого слоя. Пользователь устанавливает для сети пороги активации, функцию активации или передачи, другие параметры. И все же, несмотря на схожую организацию всех искусственных нейронных сетей, имеется один отличительный элемент — алгоритм обучения. В па- радигме искусственного разума обучение — процесс, в результате кото- рого нейронная сеть изменяет ответ, или выход, при определенном входе. Это изменение является результатом настройки одного или нескольких соединений и их веса. Существует множество методов настройки веса со- единений сети, с помощью которых сеть обучается распознавать образцы (буквы, числа, фотографии и так далее). В других случаях сеть просто за- поминает образец без обучения, то есть настройка веса соединений не требуется. Ни модель Маккалока — Питтса, ни модель Тьюринга не были способны к обучению, так как для этого потребовалась разработка специ- ального алгоритма. Обучаемые модели могут эмулировать операторы И, ИЛИ и другие, то есть они ближе к машине Тьюринга, чем к биологической нейронной сети. Одна из лучших программ для изучения искусственных нейронных сетей — Штутгартский симулятор нейронной сети (SNNS). Штутгартский симулятор нейронной сети (SNNS). НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 137
использовал компьютеры Манчестерского университета. Тью- ринг утверждал, что некоторые химические вещества (морфо- гены), физико-химические процессы (допустим, диффузия, то есть движение таких молекул, как морфогены), а также дру- гие феномены, например активация или ингибиция (подавле- ние), ответственны за процессы клеточной дифференциации, состоящей из этапов, которые проходит клетка от эмбриона до взрослого индивидуума. Центральной идеей была мысль о том, что положения, которые занимают недифференцирован- ные, или неспециализированные клетки эмбриона, содержат записанную в морфогенах информацию, согласно которой мор- фогены контролируют развитие эмбриона. Этот процесс приво- дит к специализации клеток и превращению зародыша во взрослую особь. Так еще раз проявилась гениальность Тью- ринга, предсказавшего существование морфогенов задолго до того, как они были открыты. В 1960-е годы биолог Льюис Вольперт (р. 1929) усовер- шенствовал понятие морфогена, введенное Тьюрингом, после открытия первого белка, имеющего такие характеристики, у ук- сусной мушки Drosophila melanogaster. Морфогенами могут быть различные химические вещества, от белков до витаминов, в их функции входит контроль генов — наследственных еди- ниц. Однако учитывая, что ген — фрагмент ДНК, его действие не было понятно до открытия структуры ДНК Джеймсом Уот- соном (р. 1928) и Фрэнсисом Криком (1916-2004) в 1953 году, за год до смерти Тьюринга. Сегодня модель морфогенеза Тью- ринга, с помощью которой он объяснил формирование полосок на шкуре зебр, применена к другим животным и доказана экс- периментально. Ее высоко оценили такие специалисты по тео- ретической биологии, как Льюис Вольперт и Ганс Мейнхардт (р. 1938). Однако некоторые исследователи утверждают, что механизм морфогенеза отличается от представленного Тьюрин- гом. На самом деле клетки эмбриона следуют определенному глобальному плану и специализируются вследствие серии 138 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
Alan Turing 1912-1954 Mathematician and WWII code breaker ALAN TURINGYEAR ВВЕРХУ СЛЕВА: Памятник Алану Тьюрингу в Садах Витворта в Манчестере. Яблоко в руке напоминает о способе самоубийства. ВВЕРХУ СПРАВА: Марка в память об Алане Тьюринге, выпущенная в 2012 году. ВНИЗУ: Памятное изображение в честь столетия со дня рождения Алана Тьюринга, которое отмечалось в 2012 году. НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 139
ВИЗУАЛИЗАЦИЯ ДНК В JMOL Jmol — Java-программа визуализации, с помощью которой можно увидеть трехмерные структуры химических соединений, кристаллов, материалов и биомолекул. Один из самых интересных примеров — молекула ДНК, ее можно поворачивать, увеличивать или уменьшать, менять тип изображе- ния и так далее. ДНК — полимер, имеющий структуру двойной спирали из повторяющихся блоков, нуклеотидов — аденина (А), цитозина (С), гуа- нина (G) и тимина (Т). Нуклеотиды одной спирали составляют пары с нукле- отидами другой спирали: А с Т, G с С, определяя на каждой спирали по- следовательности — гены, в которых хранится биологическая информация, передаваемая из поколения в поколение. Визуализатор Java Jmol. трансформаций, которые можно объяснить их механическими свойствами. Они могут деформироваться, растягиваться и даже превращаться в нейронные, мускульные или костные клетки. Этот комплекс трансформаций объясняют с помощью матема- 140 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
тического моделирования механических феноменов, наблюда- емых в клетках. Данную идею, так же как и модель Тьюринга, использующую дифференциальные уравнения, поддержали ученые Конрад Уоддингтон (1905-1975), Мюррей Гелл-Ман (р. 1929) и Брайн Гудвин (1931-2009). После открытия ДНК и разработки алгоритма для изуче- ния генетической информации с помощью компьютера появи- лась новая дисциплина — биоинформатика. Компьютер был и остается важным инструментом для изучения ДНК, но также с его помощью разработан новый класс компьютеров, изучение которых привело к выделению вычислительных систем, исполь- зующих ДНК. В 1994 году Леонард Адлеман (р. 1945), осуще- ствив ряд опытов с ДНК, решил задачу о гамильтоновом графе, состоящую в обнаружении кратчайшего маршрута, проходя- щего по каждому городу один раз. Количество городов явля- ется строго определенным — Адлеман рассмотрел случай с семью городами. Эти опыты открыли путь другим исследова- телям, среди них был и Эхуд Шапиро (р. 1955), построивший машину Тьюринга из молекулы ДНК. ПРИЗНАНИЕ НАСЛЕДИЯ В 1999 году журнал Time назвал Алана Тьюринга в числе 20 наиболее влиятельных личностей XX столетия. С 1966 года Ассоциация вычислительной техники, более известная под сокращением АСМ, ежегодно вручает премию Тьюринга — награду по информатике, эквивалентную Нобелевской пре- мии. В 2009 году Гордон Браун, премьер-министр Британии в то время, принес официальные извинения за несправедливое осуждение Алана Тьюринга. Однако в феврале 2012 посмерт- ное прошение о помиловании, представленное палате лордов и собравшее 23 тысячи подписей, было отклонено. В честь празднования 100-летия со дня рождения ученого 2012 год был назван Годом памяти Алана Тьюринга, в течение которого проводились юбилейные мероприятия, конференции НАСЛЕДИЕ АЛАНА ТЬЮРИНГА 141
и собрания по всему миру. В Соединенном Королевстве их было проведено больше всего. Также была выпущена памятная марка с изображением Bombe — машины, с помощью которой Алан Тьюринг и его коллеги расшифровали коды «Энигмы», сделав вклад в победу своей страны и союзников во Второй ми- ровой войне. В честь столетия со дня рождения Тьюринга научно-попу- лярный журнал Scientific American посвятил ученому специаль- ный номер, названный «Наука после Алана Тьюринга». Сегод- ня установлено пять «синих табличек», посвященных Алану Тьюрингу. В Британии подобные таблички устанавливаются на зданиях, где родился, жил или умер какой-либо великий де- ятель. 142 НАСЛЕДИЕ АЛАНА ТЬЮРИНГА
Список рекомендуемой литературы Arbib, М.А., Cerebros, maquinas у matemdticas, Madrid, Alianza Universidad, 1987. Bell, E.T., Losgrand.es matematicos, Buenos Aires, Losada, 2010. Boyer, C., Historia de la matemdtica, Madrid, Alianza Editorial, 2007. Coello, C.A., Breve historia de la computation у sus pioneros, Me- xico D.F., FCE, 2003. Crane, T., La mente mecdnica. Introduction filosqfica a mentes, ma- quinas у representation mental, Mexico D.F., FCE, 2008. Isasi, P., Martinez, P., Borrajo, D., Lenguajes, gramaticas у autd- matas. Un enfoque prdctico, Madrid, Pearson Education, 1997. Lahoz-Beltra, R., Bioinformatica. Simulation, vida artificial e inte- ligencia artificial, Madrid, Diaz de Santos, 2004. —: Turing. Del primer ordenador a la inteligencia artificial, Ma- drid, Nivola, 2009. Leavitt, D., El hombre que sabia demasiado, Barcelona, Editorial Antoni Bosch, 2007. Odifreddi, P., La matemdtica del siglo xx: de los conjuntos a la com- plejidad, Buenos Aires, Katz Editores, 2006. Pena, R., De Euclides a Java: Historia de los algoritmos у de los len- guajes de programacidn, Madrid, Nivola, 2006. Stewart, I., Historia de las matemdticas, Madrid, Critica, 2008. Strathern, P., Turing у el ordenador, Madrid, Siglo XXI, 1999. 143

Указатель автомат 46-49,92,104 клеточный 46,47,49,138 конечный 22, 28,34,46-48 нейронный 47,102-109,136,137 самовоспроизводящийся 92 «Алгол» 37 алгоритм 34-38,40,50,70,73,88,95, 112,113,117,124,125,127,135, 137,141 квантовый 126,127 свойства 34 алфавит 28,30,46,57,58 анализ числовой 86,95 «Аполлон», проект 32,33 Атанасофф, Джон Винсент 89,90 байт 97 барабаны см. Bombe 57,66 бесконечный ряд 19 биоинформатика 123,141 биология 7,8,10, И, 17,102,116,117, 123,137,138 вычислительный подход 116 математика 117,123 бит 71,75,106,127,129 операции 13,37,49, 55,62,68,73, 74,84,88,90,94,103,104,112, 129,132-134 Блетчли-Парк 9,11,23,51,60-64,68, 70-72,75-77,79,81,95,112,126, 130 Блох, сфера 132,133 бомба 61, 63,64 бомба атомная 73,87,92 Брока, Поль 103 булева алгебра 74,75,104,106,133 Бэббидж, Чарльз 81,90 Вейнценбаум, Джозеф 114 вентиль Адамара 135 квантовый 18-20,38,92,123-127, 129,131,133,134 Паули 135 вероятности теория 23,73,132,133 Вирт, Никлаус 37 Вторая мировая война 7-9,11, 22, 23, 27,53,55,57,59,62,68,70,76,77, 81,86,90,97,142 вычисление 11, 22,27,34,40,116,126, 129,131,141 ДНК 141 Национальный музей 77 «эффективный метод» 34 Гарднер, Мартин 46 Гедель, Курт 22, 24, 26, 27,39,124 гены 118,138,140 Гильберт, Давид 22, 26,27,130 голоса шифровка 64,65 Дарвин, Чарльз 81 145
дедукция 26 ДНК 10,25,136,138,140,141 Дойч, Дэвид 28,123,124 точка плавающая 84 зебры, образец шкуры 10,118,120, 137,139 золотое сечение 117 игра «Жизнь* 46-49,134 интуиция 25,50,114,124,125 искусственный интеллект 7,9,37, 68, 101,102,107,111-115,123,126, 134,136,137 квантовый 134 поведенческий подход 110 сильный 114 символьный подход 112 слабый 114 субсимвольный подход 104 КАПЧА 7,111 Каспаров, Гарри 112-114,119 карта перфорированная 63 Килбурн, Том 95 Кларк, Уэсли 135 когнитивные науки 102 код 44,53,60,69-71,83,87,93,94,140 Бодо 70,71 ключевой 44,83,93 машинный 44,83,93 Морзе 70 «Энигмы* 7,11,62,142 компилятор 44,93,112 компьютер 7-11,13, 22, 25-27,32-34, 36,38,40-47,49,53,70,72-77, 79,81-93,95,97,99,101-105, 109-117,120,123,125,127,129, 132-136,141 виртуальный 33,83 квантовый 8,10,38,123,127,129, 130,132-135 Цузе 90 эмуляторы 85 АВС 89 Baby 23,86,89,95 Bendix G1586 Colossus 9,10,33, 72,74-77, 79, 88-90,95,134 EDSAC 10,82,87,89 EDVAC87,89,92,93 ENIAC 10,44,77,87-90,92,93,136 Ferranti Mark 1 11,86,89,91,97 Harvard Mark I 90 IAS 92 Macintosh 83,85,88 Manchester Mark I (MADAM) 11, 95,97,102,113 ORDVAC 92,93 Packard-Bell PB25086 Pilot ACE 7,9-11,76,79,82,83,85, 86,88,89 UNIVAC 182 ZX Spectrum 85 Конвей, Джон 46,47,134 Королевское общество 95,114 криптография 68,126,129,134 криптология 60 (см. криптография) кубит 127-133 лжец парадокс 24, 25 логика 20, 22-24,33,50,70,74,75,94, 102,104 лямбда-исчисление 36 Маккалок — Питтс модель 103,104, 108,136,137 Маккарти, Джон 37,101, 136 Макмахон закон 87 маркер 40 математика прикладная 23,88,95 машина дезорганизованная 103 индетерминистская 40,46 конечных состояний 46 Лоренца — Lorenz SZ 40/4268,70, 72, 76 программируемая 72,88 Робинсона 72 самовоспроизводящаяся 92 состояния 29-32,45 Тьюринга 7-11,15,17,20, 22,23, 27-30,32-34,36-47,50,64,65, 68,72,73,76,81,82,84,86,88, 90,96,101-103,106,108-116, 123-126,132,135-138,141 Тьюринга квантовая 38,123,124, 126 146 УКАЗАТЕЛЬ
умная 68,112,114 умножения 50 универсальная 32-38,46,47,73, 76,82,86,90,96,103,125,132 «Энигма» 7,11,56-70,72,142 рефлектор 58,60, 65 роторы 57,58,60,61,64,65 стартер 60 Tunny 70 метод двух направлений 83 Монте-Карло 92 Тьюринг 68 механика квантовая 18-20,92,124, 125,127,129 Дирак счисление 127 запутанность 50,129,132 интерференция 129 суперпозиция 127 модуль 33,65 мозг 60,64,92,102,103,112, ИЗ, 118, 124-126,135 искусственный 64,112 человеческий 60,102,103,112, 124,125,135 Мокли, Джон В. 88,89 Морком, Кристофер 19,124 морфогенез И, 116-118,120,136,138 морфогены 118,138 Национальная физическая лаборато- рия И, 81 Нейман, Джон фон 8, 20,51,73,89, 90,92 архитектура 9,90,92,93,134 нейрон 46, 60,102-106,108,109,136, 137 биологический 142 волокна тренировки 107 искусственный 9,103,106,108, 137 искусственный квантовый 134 синапсис 108 соединение 88,103,106-108, 134-136 порог 104,109 цепь 107,118,124,135 невычислимый 50,125 неполнота, теорема 22, 24,39 Ньюман, Макс 11, 23, 74,95 обучение 103,114,137 относительность 18,19,124 оператор 36,37,57,58,65-67,71,75, 94,104,108,133 булев AND 75, 76, 88,103-108, 132,133,137 булев NAND 104,108 булев NOT 106,108,133 булев OR 71, 75, 76,88,103-107, 132,133,137 булев XOR 71 модуль 33,65 тензорное произведение 130 оракул 40 орден Британской империи 71 память 27, 28,30,31,33,38,44,47, 75, 82-84,88,89,95-97,102,114,127 аккумулятор 88 вспомогательная 44,97 лента 30,31,34,44,47,75 лучевая трубка 82,96,97 магнитный барабан 97 основная 27,88,95-97 регистр 28,29,38,111,135 ртутная линия 82 трубка Уильямса 97 управление 83 RAM 27,38,44,95,97 ROM 89 парадокс 24, 25,42 «Паскаль» 13,37,96 Пенроуз, Роджер 124 переход 29,40,45,48,49 правила 26, 27, 29,48,49,129 переводчик функция 33 подсолнухи, эксперимент 116 Полани, Майкл 101 поляризованный свет 132 проблема 8,16, 20, 26, 27,34,37,38, 40-43,49,50,111,125,141 вычисляемая 37,125 определения 26 остановки 8 УКАЗАТЕЛЬ 147
Entscheidungsproblem 23,40,49 программа 11,25, 26, 28, 29,32,33,35, 37,38,41-44,46,57, 73, 76,81-84, 86,88,93-97,105,109,112-115, 119,125,126,132,135 разум 16,19,20,90,102-104 Рамон-и-Кахаль, Сантьяго 102,107 Рассел, Бертран 20, 23, 26 рассуждение 26,42,50,113,114 Режевский, Мариан 60,61 ретрокомпьютинг 85 Розенблатт, Франк 136 Сейл, Тони 77 секретность официальная закон 77 сети искусственные нейронные 10, И, 103,104,123,134,136,137 тип В 103,106,107 симуляция 8,10,38,45-47,56,73,101, 107,115,117,126,134-136 морфогенез И, 116-118,120,136, 138 поведение 30,31,101,104,106,110, 111,136 симулятор 33,46,56,66,127 система 7,16,18, 26,27,32,44,46,56, 60,62-65,68,70,72,73,83,88,90, 96,97,128-130,132 неполная 24 неполная по Тьюрингу 96 нумерация 88,90, 128 оперативная 44,46,83 самореференсная 25 эксперт ИЗ AGC 32,33 совесть ИЗ, 124,125 спамботы 111 таблица переходов 29,30,40 топология 23 Уайтхед, Альфред Н. 22, 24 Уилкс, Морис 83,87 Уильямс, Фредерик 95-97 Улам, Станислав 92 Университет 20,22,63,95,96 Брандейский 45 Кембриджский 8, И, 19,20,21, 23, 46, 62,95,101 Манчестерский 9,11,23,86,87,91, 95,97,101,102,116,135,138 Оксфордский 125 Пенсильванский 87-89 Принстонский 11,50,51,90 Уотсон, Томас Дж. 10,63,138 уравнения 11,35,88,95,120,126,141 реакция — диффузия И, 118,120 условное выражение 23,89,94 IF-THEN 89,94 устройство арифметико-логическое 94,104 контрольное 94 Фарли, Бельмонт 135 Фейнман, Ричард 38,127 Фибоначчи последовательность 116-118 Флауэрс, Томми 74,75,77 фотоны 129 функция 19, 22, 23, 29,33,36,60, 73, 74, 82,97,109,124,137 ступенчатая 109 Хамерофф, Стюарт 126 Хебб правило 136 химия 17,101,118,120,126,134 Ходжес, Эндрю 20, 22,87, 130 Холлерит, Герман 63 холодная война 77,86,87 цикл 25, 67,89,94 странный 25 FOR-TO 89,94 циклометр 61 Цузе, Конрад 90 чатботы 114 Чёрч, Алонзо 33,36,49,50 числа 16, 23, 26,41,49,51,70,72-74, 92,97,103,116,117,125,128,129, 134-137 генератор 70, 73 квантовые 38,124,126,127,129, 135 натуральные 26 148 УКАЗАТЕЛЬ
случайные 70,72, 73,92,135 я 34,125,126 шахматы 9,97,101,110,112-114,119 Шеннон, Клод 64 Шербиус, Артур 56 Эддингтон, Артур 18, 20,124 Эккерт, Джон 88 электроника цифровая 75,106 электронные лампы 72,74,75,84,87, 88,90 диод 74,75 тиратрон 75 транзистор 74,75 триод 74 фотоэлектронный умножитель 75 язык 24, 27,33,34,37,41,43,46,65,74, 83,84,86,93,94,96,114,128 Ассемблер 33 программирования 33,84,86,93,96 C++ 46 АСМ 141 Autocode 112 BASIC-256 41,43,73,83,94,105 Bombe И, 63,64, 66-69,72,142 crib 66 Delilah 64,65,68 ELIZA 114,115 GC&CS61 Golly 49 Java 46,76, 140 LISP 36,37 Lego 39 MS-DOS 46 OCR7,105, 111 output 43,44, 65,73,94,107,108 SIGSALY 64 Turing 4.1.1 96 Turochamp 113 TypeX 68 U-Boot 55-57,62 UNIVAC 82,89 Unix 44,83 УКАЗАТЕЛЬ 149
150 ДЛЯ ЗАМЕТОК
ДЛЯ ЗАМЕТОК 151
Наука. Величайшие теории Выпуск № 15, 2015 Еженедельное издание РОССИЯ Издатель, учредитель, редакция: ООО «Де Агостини», Россия Юридический адрес: Россия, 105066, г. Москва, ул. Александра Лукьянова, д. 3, стр. 1 Письма читателей по данному адресу не принимаются. Генеральный директор: Николаос Скилакис Главный редактор: Анастасия Жаркова Выпускающий редактор: Людмила Виноградова Финансовый директор: Полина Быстрова Коммерческий директор: Александр Якутов Менеджер по маркетингу: Михаил Ткачук Младший менеджер по продукту: Ольга Кравцова Для заказа пропущенных выпусков и по всем вопросам, касающимся информа- ции о коллекции, обращайтесь по телефону бесплатной горячей линии в России: ® 8-800-200-02-01 Телефон «горячей линии» для читателей Москвы: ® 8-495-660-02-02 Адрес для писем читателей: Россия, 600001, г. Владимир, а/я 30, «Де Агостини», «Наука. Величайшие теории» Пожалуйста, указывайте в письмах свои кон- тактные данные для обратной связи (теле- фон или e-mail). Распространение: ООО «Бурда Дистрибью- шен Сервисиз» Свидетельство о регистрации СМИ в Феде- ральной службе по надзору в сфере связи, ин- формационных технологий и массовых ком- муникаций (Роскомнадзор) ПИ № ФС77- 56146 от 15.11.2013 УКРАИНА Издатель и учредитель: ООО «Де Агостини Паблишинг», Украина Юридический адрес: 01032, Украина, г. Киев, ул. Саксаганского, 119 Генеральный директор: Екатерина Клименко Для заказа пропущенных выпусков и по всем вопросам, касающимся информа- ции о коллекции, обращайтесь по телефону бесплатной горячей линии в Украине: ® 0-800-500-8-40 Адрес для писем читателей: Украина, 01033, г. Киев, a/я «Де Агостини», «Наука. Величайшие теории» Украша, 01033, м. Ки!в, а/с «Де Агоспш» Свидетельство о регистрации печатного СМИ Государственной регистрационной службой Украины КВ № 20525-10325Р от 13.02.2014 БЕЛАРУСЬ Импортер и дистрибьютор в РБ: ООО «Росчерк», 220037, г. Минск, ул. Авангардная, 48а, литер 8/к, тел./факс: + 375 (17) 331 94 41 Телефон «горячей линии» в РБ: ® + 375 17 279-87-87 (пн-пт, 9.00-21.00) Адрес для писем читателей: Республика Беларусь, 220040, г. Минск, а/я 224, ООО «Росчерк», «Де Агостини», «Наука. Величайшие теории» КАЗАХСТАН Распространение: ТОО «КГП «Бурда-Алатау Пресс» Издатель оставляет за собой право изменять розничную цену выпусков. Издатель остав- ляет за собой право изменять последователь- ность выпусков и их содержание. Отпечатано в соответствии с предоставленными материалами в типографии: Grafica Veneta S.p.A Via Malcanton 2 35010 Trebaseleghe (PD) Italy Формат 70 x 100 / 16. Гарнитура Petersburg Печать офсетная. Бумага офсетная. Печ. л. 4,75. Усл. печ. л. 6,156. Тираж: 28 300 экз. © Rafael Lahoz-Beltra, 2012 (текст) © RBA Collecionables S.A., 2012 © ООО “Де Агостини”, 2014-2015 ISSN 2409-0069 (12+) Данный знак информационной про- дукции размещен в соответствии с требова- ниями Федерального закона от 29 декабря 2010 г. № 436-ФЗ «О защите детей от ин- формации, причиняющей вред их здоровью и развитию». Коллекция для взрослых, не подлежит обя- зательному подтверждению соответствия единым требованиям установленным Тех- ническим регламентом Таможенного союза «О безопасности продукции, предназначен- ной для детей и подростков» ТР ТС 007/2011 от 23 сентября 2011 г. № 797 Дата выхода в России 14.04.2015
Алану Тьюрингу через 75 лет после его смерти, в 2009 году, были принесе- ны извинения от правительства Соединенного Королевства за то, как с ним обошлись при жизни. Ученого приговорили к принудительной химической терапии, повлекшей за собой необратимые физические изменения, из-за чего он покончил жизнь самоубийством в возрасте 41 года. Так прервался путь исследователя, признанного ключевой фигурой в развитии компью- теров, автора первой теоретической модели компьютера с центральным процессорным' устройством, так называемой машины Тьюринга. Ученый принимал участие в создании первых компьютеров и использовал их для расшифровки нацистских секретных кодов, что спасло много жизней и при- близило конец войны. Такова, по сути, трагическая история гения, которого подтолкнула к смерти его собственная страна, хотя ей он посвятил всю свою жизнь. Рекомендуемая розничная цена: 279 руб.