Шрифт:
Интервал:
Закладка:
Скорее всего, именно осенью 1937 года Тьюринг с тревогой осознал возможность военного конфликта с Германией. В то время он предположительно усердно трудился над своей известной диссертационной работой и тем не менее нашел время заняться криптоанализом со свойственной ему страстью. (…) мы много раз обсуждали эту тему. Он предположил, что слова могут быть заменены числами, указанными в официальном словаре кодов, так что сообщения будут передаваться в виде чисел, представленных в двоичной системе исчисления. Но чтобы предотвратить ситуацию, если в руки врага попадет словарь кодов и у него появится возможность расшифровать сообщение, он предложил умножить число в соответствии со специальным сообщением на секретное число с ужасно большим рядом цифр и передать полученный результат. Длина ряда цифр должна была отвечать условию, что у ста немцев, работающих по восемь часов в день за настольными счетными машинами, смогут расшифровать секретный множитель только через сто лет поиска!
Тьюрингу действительно удалось разработать электрическое устройство, выполняющее операцию умножения, и собрал его основную часть, чтобы проверить, будет ли оно выполнять поставленную перед ним задачу. Для этих целей ему потребовались релейные переключатели, которые не было возможности приобрести, и он собрал их сам. Факультет физики Принстонского университета содержал небольшую, но хорошо оснащенную механическую мастерскую для проведения практических работ его аспирантов, и мой незначительный вклад в этот проект заключался в том, что я передал Алану свой ключ от мастерской, что, возможно, противоречило всем правилам устава университета, и показал ему, как пользоваться токарным станком, дрелью, прессом и другими инструментами, не лишаясь собственных пальцев. Таким образом, он смог собрать и запустить релейные переключатели, и к нашему общему изумлению и восторгу, устройство действительно работало.
С точки зрения математики этот проект не был передовым, поскольку выполнял только операцию умножения. Но даже без применения передовых теоретических знаний оно подразумевало применение «скучной и элементарной» математики, о котором вовсе не было известно в 1937 году.
Прежде всего, представление чисел в двоичной системе исчисления могло показаться новшеством любому, кто занимался практическими вычислениями. Алан уже использовал двоичные числа в статье «О вычислимости чисел». Там их использование не подразумевало никакого особого смысла, только позволило представить все вычислимые числа в виде бесконечных последовательностей, состоящих из одних нулей и единиц. В устройстве-умножителе, однако, преимущество использования двоичных чисел было очевиднее: в таком случае таблица умножения упрощалась до нижеприведенного вида:
При использовании такой упрощенной таблицы, работа умножителя сводилась к операциям переноса и добавления символов.
Другим любопытным аспектом этого проекта стала его связь с элементарной логикой. Арифметические операции с нулями и единицами могли рассматриваться в рамках логики высказываний. Таким образом, упрощенная таблица умножения, к примеру, могла рассматриваться как эквивалент логической функции «И». Примем p и q за логические высказывания, тогда нижеприведенная «таблица истинности» покажет, при каких условиях высказывание “p И q” будет верным:
Вторая таблица была лишь интерпретацией первой. Все это должно было быть хорошо известно Алану, поскольку тема исчисления логических высказываний появлялась на первых страницах любой работы в области математической логики. Иногда она указывалась под названием «булева алгебра» в честь английского математика Джорджа Буля, который представил в виде формальной теории «законы мышления» в своем трактате, опубликованном в 1954 году. Вся двоичная арифметика могла быть выражена при помощи понятий булевой алгебры, используя логические операции «И», «ИЛИ» и «НЕ». Проблема, возникшая у Алана при конструировании умножителя, сводилась к использованию булевой алгебры, чтобы минимизировать количество необходимых для работы операций.
Устройство-множитель имело общую проблему в конструировании с машиной Тьюринга. Чтобы воплотить идею в виде работающего устройства, было необходимо найти определенный способ организации разных конфигураций машины. Эту задачу как раз и выполняли переключатели, поскольку основной смысл их работы заключался в том, что они могли находиться в одном из двух состояний: «включен» или «выключен», «0» или «1», «верно» или «ложно». Переключатели, которые он использовал в работе, работали на реле, и таким путем электричество впервые сыграло свою непосредственную роль в его желании связать логические идеи с работающим устройством. В работе использовалось обычное электромагнитное реле, которое было изобретено американским физиком Генри еще столетие тому назад. Принцип его работы был таким же как у электродвигателя: при подаче в обмотку реле электрического тока, порождающего магнитное поле, происходит перемещение ферромагнитного якоря реле. Но главная особенность электромагнитного реле состояла в том, что якорь реле могло замкнуть или разомкнуть механические электрические контакты, и последующее перемещение контактов коммутировало внешнюю электрическую цепь. Таким образом, электромагнитное реле выполняло задачу переключателя. Название «реле» укрепилось после использования в устройстве ранних телеграфных аппаратов, в которых переключатели позволяли усилить слабый сигнал.
В то время еще не было хорошо известно, что логические свойства комбинаций переключателей могли быть выражены в рамках белевой алгебры или двоичной арифметики, но любому логику не представляло труда понять эту идею. Задача Алана состояла в том, чтобы воплотить логическое устройство машины Тьюринга в виде сети релейных переключателей. Идея была такой: при введении числа в машину, предположительно путем настройки электрических токов к набору входных контактных зажимов, реле должны были разомкнуть и сомкнуть контакты, тем самым пропуская электрические токи к выходным контактным зажимам, в результате записывая зашифрованное число. На деле такое устройство не использовало рабочую ленту, но с точки зрения логики принцип работы был таким же. Машины Тьюринга все же нашли свое применение, поскольку основная часть его релейного множителя действительно работала.
Тайное проникновение Алана в мастерскую факультета физики весьма символичным образом отражало проблему, с которой он столкнулся: для того, чтобы воплотить свою идею, ему было необходимо преодолеть границу, проведенную между инженерным делом и математикой, практическим применением и миром логических идей.
Для использования в шифров ании идея оказалась довольно неудачной, особенно если учитывать его громкие заявления, изложенные годом ранее в письме к матери. Неужели он не учитывал способность немцев найти самый большой общий множитель двух и большего количества чисел, чтобы найти «секретное число», использованное в качестве ключа к шифру? И даже учитывая возможность произвести все возможные дополнительные улучшения, чтобы закрыть эту лазейку, идея все равно будет иметь практический недостаток, сводящий на нет всю работу, который заключался в том, что всего лишь одна ошибка в ряде цифр могла привести к тому, что все сообщение будет невозможно расшифровать.