Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Удивительная история информатики и автоматики.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.23 Mб
Скачать

«Крестики‑нолики»

В английском языке название этой игры пишут по‑разному: и 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. Если его соперник не может выиграть игру следующим ходом, автомат должен проверить, может ли он сделать такой ход, что если ему будет позволено сделать подряд два хода, он может выиграть на втором ходе двумя разными способами. Если же ни одно из приведенных условий не выполняется, то автомат должен провести такой же анализ на три или более последующих ходов.

Разумеется, здесь «за кадром» остается главный вопрос – а каким образом автомат будет проводить анализ текущей позиции? Ответа на него Бэббидж не дает. Зато он нашел оригинальный ответ на другой принципиальный вопрос. Во всех известных во времена Бэббиджа автоматах последовательность их действий (движений) была жестко предопределена, т. е. «алгоритм» их работы был реализован аппаратно. В игре же постоянно требуется выбирать следующее действие (следующий ход) в зависимости от хода соперника. Конечно, в общем случае этот выбор зависит от анализа текущей позиции. Но в частном случае, когда надо выбрать один ход из нескольких равносильных (ситуация, часто встречающаяся в игре «крестики‑нолики», обладающей свойством симметричности), Бэббидж механизм выбора предложил.

Он ввел в конструкцию счетчик выигранных автоматом партий, и если его значение в данный момент было четным, то из двух возможных ходов автомат выбирал первый, а если нечетным – то второй. Если равных по силе ходов было три, то текущее значение счетчика делилось на три, и в зависимости от значения остатка (о, 1 или 2) автомат выбирал один из ходов. Бэббидж писал: «Очевидно, что таким образом можно производить выбор при любом числе условий. Пытливому зрителю пришлось бы длительное время наблюдать за игрой автомата, прежде чем он открыл бы принцип его действия». Таким образом, Бэббидж впервые предложил механизм, в некотором роде имитирующий в поведении автомата волю человека, принимающего свое решение с учетом тех или иных факторов.

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

Бэббидж, потративший огромные суммы на свою работу, испытывал крайний недостаток в средствах и в течение многих лет напряженно изобретал различные схемы для зарабатывания денег. Одно время он даже пытался создать беспроигрышную систему ставок на скачках. Работа над автоматом для игры в «крестики‑нолики» навела Бэббиджа на новую мысль. Он решил проверить, «имеется ли вероятность того, что если такой автомат будет выставлен на публике, то принесет за приемлемое время достаточно денег для изготовления аналитической машины».

К проверке Бэббидж подошел со всей основательностью истинного ученого. Так, по его замыслу, автомат должен был иметь «привлекательный вид». Он решил, что внешне он может представлять несколько фигур – «двух детей, играющих друг против друга, и сопровождающих их ягненка и петуха. Что ребенок, выигравший игру, может хлопать в ладоши, в то время как петух будет кукарекать, а ребенок проигравший может плакать и ломать руки, а ягненок блеять».

Далее Бэббидж проанализировал причины, по которым люди захотят сыграть с такой машиной и даже заплатят за это деньги: «Когда станет известно, что автомат побеждает в эту детскую игру не только детей, но даже пап и мам, не кажется неразумным ожидать, что каждый услышавший об этом ребенок упросит маму показать автомат ему.

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

В своем предприятии Бэббидж, кажется, предусмотрел все до мелочей. К сожалению, хотя анализ психологических, эстетических и даже организационных аспектов дела, казалось, сулил успех, его экономическая сторона, как это часто бывает, оказалась далеко не столь привлекательной. Изучив состояние дел на самых популярных выставках Лондона, Бэббидж к своему глубокому разочарованию убедился, что механические чудеса публику не слишком интересуют. Так, даже два наиболее интересных изобретения того времени – «говорящая машина» немца Йозефа Фабера и «сочиняющая» стихи на латыни машина английского изобретателя‑самоучки Джона Кларка, как выяснил Бэббидж, «были с точки зрения прибыльности абсолютным провалом». О вкусах публики лучше всего говорит тот факт, что наибольший доход устроителям выставок различных диковин приносил карлик по прозвищу Генерал Мальчик‑с‑пальчик.

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

Инженеры и историки до сих пор спорят, мог ли Бэббидж построить свою аналитическую машину. Ответы на него даются разные, но, по крайней мере, эти ответы основываются на изучении огромного материала – чертежей самого Бэббиджа и изготовленных им фрагментов машины. К сожалению, какие‑либо чертежи или хотя бы наброски, которые позволили бы оценить возможность изготовления автомата, отсутствуют. И хотя сам Бэббидж написал, что «с легкостью начертил механизм, управляющий таким автоматом», мы о его конструкции можем только строить догадки.

Следующим «устройством» для игры в «крестики‑нолики» стал релейный автомат Уильяма Кейстера.