В наше время суперкомьютеры играют в шахматы, и в победе машины над человеком нет ничего удивительного. Но в 1950-х гг. успех машины казался почти магическим, и термин «машина для чтения мыслей», использованный Шенноном, был основан на реакции большинства людей. Чем дольше человек играл с машиной Шеннона, тем лучше она угадывала его мысли.
Манфред Шредер из Bell Labs захотел похвастаться и показал машину гостю лаборатории математику Фрицу Хирцебруху. Хирцебрух выиграл первые 13 партий подряд. Неужели у машины Шеннона нашелся достойный соперник?
Ничего подобного. Машина выиграла 14-ю партию. И 16 из 17 следующих, опередив знаменитого математика. Хирцебрух продолжал играть, но тщетно. Ему так и не удалось вести в счете.
Многие годы я то и дело сталкивался с упоминаниями о предсказывающей машине Шеннона и, наконец, задумался, сохранилась ли она. Я знал, что Шеннон был барахольщиком, захламлявшим свои дома игрушками, разными устройствами и памятными вещицами. После его смерти семья пожертвовала все эти сокровища музею Массачусетского технологического института. Я заглянул на сайт музея и нашел то, что искал – «машину, играющую в сравнение монет».
Несмотря на значение этой машины в истории искусственного интеллекта, в постоянной экспозиции ее нет. Чтобы увидеть ее, пришлось посетить запасники музея – кирпичное здание без окон размером со склад-магазин Costco, в городе Сомервилль. Здесь хранится любопытная коллекция невероятных изобретений и разнообразного реквизита для университетских розыгрышей. Например, с потолочных балок, словно чучело крокодила в старинной кунсткамере, свисала огромная банка энергетического напитка Jolt Cola.
Предсказывающая машина Шеннона представляет собой коробку из оргстекла размерами приблизительно 30 × 30 см, с непрозрачной черной крышкой, слегка наклоненной к игроку для лучшей видимости. Верхняя квадратная часть выполнена с изрядной долей юмора и напоминает лицо. Две лампочки вместо глаз, кнопка вместо носа и красный тумблер в черной щели рта. Устройство переносное, хотя и тяжелее ноутбука. Слева прочная ручка для транспортировки.
Корпус из оргстекла позволяет увидеть конструкцию со всех сторон. Я даже смог перевернуть машину и заглянуть через прозрачное дно. Жгут проводов заплетен аккуратной косичкой, как в старинном коммутаторе фирмы AT & T.
Ряды лампочек Хагельбарджера Шеннон заменил счетчиком в стиле ретро. В нем использован тот же принцип, что и в «Маятнике Ньютона», настольной игрушке, которая состоит из нескольких подвешенных на нитке стальных шариков. В зависимости от того, кто выигрывает, машина или игрок, стальной шарик выстреливает в одну из двух стеклянных трубок. Шарик передает энергию нескольким точно таким же шарикам, последний из них отправляется в колонку для подсчета очков. Каждая победа сопровождается громким щелчком.
«Чтобы составить представление об умственной деятельности машины для предсказаний, задумайтесь вот над чем: у человека 1010 нейронов, у самого тупого муравья-воина 200 нейронов, а у этой машины меньше 100 реле». Так описывал свою машину Хагельбарджер. Шеннон вполовину сократил число реле. Память его устройства составляла всего 16 бит, то есть 2 байта или 0,0000000018 гигабайта. И этого оказалось достаточно, чтобы победить человека, даже если игрок разрабатывал стратегию и размышлял, хитрил и мудрил.
На машине Шеннона два варианта выбора обозначены как «правый» и «левый». В первой партии машина делает случайный выбор при помощи быстро вращающегося коммутатора – своего рода механической рулетки. Затем постепенно выявляет бессознательные закономерности в действиях соперника. Убедительная победа системы учета информации над программой! Представьте шахматиста, который записал все ответы Гарри Каспарова на гамбит Блюменфельда, встречавшиеся в его партиях: это позволит предсказать ходы Каспарова при следующем розыгрыше гамбита.
Обе машины для предсказаний из Bell Labs разбивали игру «сравнение монет» на восемь стандартных ситуаций. Приведу пример одной. Предположим, вы выиграли два раза подряд, сделав одинаковый выбор. Каким будет ваш следующий ход? Вы можете не отступать от успешной стратегии или сделать иной выбор, возможно, на том основании, что три одинаковых хода подряд не похожи на случайность.
При столкновении с данной ситуацией машина каждый раз запоминает решение соперника. Это решение кодируется «1» или «0» и сохраняется в одном из 16 бит памяти. Для каждой из восьми стандартных ситуаций машина Шеннона помнит только два последних решения. Эта информация занимает всю 16-битную память.
Когда машине требуется сделать предсказание, она смотрит, как поступал соперник два предыдущих раза. Если его действия совпадают, машина считает, что и теперь он поступит точно так же. В противном случае выбор машины случаен – то же непрерывно вращающееся колесо рулетки.
Основное отличие машины Шеннона от устройства Хагельбарджера – простота. Машина Хагельбарджера высчитывала исход восьми стандартных ситуаций в процентах. Чем выше процент, тем с большей вероятностью она предсказывала повторение прошлого. Может показаться, что это логичнее и изящнее принципа «все или ничего», использованного Шенноном, но на практике его устройство предсказывало лучше.
При смене противника обеим машинам требовалось какое-то время, чтобы выстроить игру. Они должны были составить цифровое досье. Фрицу Хирцебруху, вероятно, повезло на первом этапе, поскольку машине Шеннона пришлось каждый или почти каждый раз делать случайный выбор.
Словно дети, устраивающие войну игрушек, Шеннон и Хагельбарджер решили стравить машины друг с другом. Они сконструировали «посредника», генерировавшего одинаковые случайные последовательности для обоих устройств. «Все три машины соединили, – рассказывал Шеннон, – и оставили работать на несколько часов, что сопровождалось пари на небольшие суммы и громкими криками одобрения». К радости Шеннона, его машина победила с результатом 55:45 (в процентах).
Когда Хагельбарджер собрался опубликовать результаты своей работы, компания AT & T нашла, что название «машина для предсказаний» звучит несерьезно. В те времена большой популярностью пользовались акронимы, и Хагельбарджер переименовал свое детище в SEER [3], что расшифровывалось как «робот – экстраполятор последовательностей». Решайте сами, серьезнее получилось или нет. Как бы то ни было, именно так называлась статья в журнале Transactions on Electronic Computers. В ней Хагельбарджер задавался очевидным вопросом: