Удивительная история информатики и автоматики
Шрифт:
Лампы на обращенной к зрителям главной панели дублировали лампы, размещенные на панели управления. Рядом с ними можно было прочитать правила игры, а под ними располагался индикатор текущего состояния — всего их было пять (победа игрока, победа компьютера, ход за игроком, компьютер обдумывает свой ход, ход за компьютером).
До сентября 1951 года Нимрод находился на выставке, а начиная с 6 октября в течение трех недель экспонировался на Торговой ярмарке в Берлине, где вызвал необыкновенный интерес.
К удивлению организаторов выставки, посетители совершенно игнорировали находившийся в противоположном конце помещения бар с бесплатным пивом; а чтобы утихомиривать и сдерживать толпу, иногда приходилось даже вызывать полицию. Машина стала особенно популярной после того, как выиграла подряд три партии у министра экономики (и будущего канцлера ФРГ) Людвига Эрхарда. Заметим, что тогдашний федеральный канцлер Конрад Аденауэр, также посетивший выставку, играть против машины отказался, дабы не подорвать проигрышем свой авторитет.
Название компьютера отсылает нас к мифологии народов Ближнего Востока, в которой с именем Нимрода (иначе Нимврод или Немрод) связано множество легенд. Так, согласно еврейским легендам, царь Нимрод был первым охотником и первым, кто начал воевать с другими народами. Он же возглавил постройку Вавилонской башни. В мусульманской мифологии Нимрод служит олицетворением насильника и богоборца. Огромное войско, которое Нимрод вывел на битву против Авраама, было поражено тучами комаров. Один из них через нос проник в мозг Нимрода, и тот в течение сорока лет испытывал страшные мучения. В Ветхом Завете Нимврод — богатырь и охотник. Именно в последнем значении его имя стало нарицательным и вошло во все словари.
Таким образом, остается широкий простор для интерпретации названия компьютера. Был ли это намек на то, что машина станет охотиться за головами соперников, как легендарный Нимрод? Или, может быть, ее создатели понимали, что их детище — это первый камень в основании будущей Вавилонской башни, строительством которой человек снова бросил вызов богам?
Вообще в начале 1950-х годов игровые машины пользовались повышенным вниманием не только широкой публики, но и крупнейших ученых. Так, о машинах, играющих в шахматы, не раз писали Алан Тьюринг и Клод Шеннон. Шеннон не обошел своим вниманием и «ним». В 1955 году в одной из статей он писал: «Большинство машин для игры в «ним» играют наилучшим образом, в том смысле, что они выигрывают, когда выигрыш вообще возможен, но они обычно предоставляют сделать первый ход человеку, так что последний может выиграть, если он играет безошибочно. Если противник сделает хотя бы одну ошибку, машина перехватывает инициативу и выигрывает».
Но по мере роста возможностей компьютеров — как в части производительности, так и в части интерфейса — специализированные автоматы быстро сдавали свои позиции. Конечно, различные игровые автоматы до сих пор можно встретить в местах проведения досуга. Однако все-таки сегодня основной платформой для игр является персональный компьютер.
«Крестики-нолики»
В английском языке название этой игры пишут по-разному: и tic-tac-toe, и tick-tack-toe, и даже tit-tat-toe. Оно ведет свое происхождение от старинной английской детской считалки, начинающейся словами «Tit-tat-toe, Му first go» и входящей в классический сборник «Стихи Матушки-гусыни».
По-английски ее также называют noughts and crosses, — собственно, и каждому из нас она с детства известна именно как крестики-нолики. Играют в нее два игрока, которые по очереди ставят крестики и кружки в клеточках игрового поля размером 3x3. Побеждает тот, кто сумеет расположить три крестика (или кружка) в ряд по любой из горизонталей, вертикалей или больших «Крестики-нолики», пожалуй, едва ли не самая древняя из известных сегодня игр. В той или иной форме она была известна уже в Древнем мире — в Китае, Греции, Риме, а в Средние века пользовалась немалой популярностью в Англии и Франции. И пусть в варианте 3x3 игра действительно очень проста, она в то же время далеко не столь тривиальна, как кажется, и дает немало пищи для размышлений.
Большой интерес вызывали «крестики-нолики» у людей науки. Например, в XIX веке их исследовали Чарльз Бэббидж и американский логик и философ Чарльз Сандерс Пирс, а в XX веке — основоположник теории информации Клод Шеннон и другие выдающиеся ученые.
Заметный след оставили «крестики-нолики» в истории вычислительной техники. Например, первый механический игровой автомат был спроектирован (хотя и не построен) еще в середине позапрошлого столетия именно для игры в «крестики-нолики». В середине XX века для игры в «крестики-нолики» строились первые релейные автоматы (практически одновременно с автоматами для игры в «ним»), и они же стали первой «интеллектуальной» игрой, для которой была написана игровая программа для электронного компьютера. С помощью крестиков-ноликов проверяли новые идеи в области искусственного интеллекта, и именно в крестики-нолики играют сегодня первые биологические компьютеры — прототипы вычислительных машин будущего.
Механический автомат для игры в «крестики-нолики» был разработан Чарльзом Бэббиджем. Этот гениальный английский ученый и изобретатель больше всего известен проектом аналитической машины — фактически механического прототипа современного компьютера. Ее замысел возник у него около 1834 года, и работа над ней продолжалась вплоть до самой смерти ученого.
В мемуарах, озаглавленных «Страницы жизни философа», Бэббидж подробно описал свою работу над аналитической машиной. Но есть в этой книге несколько страниц, которые редко привлекают внимание биографов ученого. В них Бэббидж пишет, что однажды стал задумываться над тем, что же представляет собой будущая аналитическая машина — может ли она лишь выполнять предписанные ей действия, или же способна на нечто большее, т. е. действовать в некотором роде «самостоятельно», без непосредственных указаний человека.
И он решил, используя те же принципы, построить машину (автомат), играющую в какую-нибудь «интеллектуальную игру» — шашки, шахматы или «крестики-нолики».
Бэббидж приводит крайне интересный анализ принципов построения такого автомата. По его мнению, эта задача сводится к тому, чтобы автомат умел делать наилучший ход в любой возможной позиции. Перечисляя вопросы, на которые автомат должен ответить в процессе игры, Бэббидж фактически описывает алгоритм его действий (который легко можно записать в виде блок-схемы):
1. Допустима ли анализируемая позиция правилами игры?
2. Если да, то проиграл ли автомат?
3. Если нет, то выиграл ли автомат?
4. Если нет, то может ли он выиграть следующим ходом? Если да, то сделать этот ход.
5. Если нет, может ли его соперник выиграть, сделав следующий ход?
6. Если да, то автомат должен, если возможно, предотвратить этот ход.
7. Если его соперник не может выиграть игру следующим ходом, автомат должен проверить, может ли он сделать такой ход, что если ему будет позволено сделать подряд два хода, он может выиграть на втором ходе двумя разными способами. Если же ни одно из приведенных условий не выполняется, то автомат должен провести такой же анализ на три или более последующих ходов.