Математические головоломки и развлечения
Шрифт:
Предлагались и другие варианты игры на кубических досках.
Так, А. Барнерт придумал игру, в которой победителем считается тот, кто заполнит своими фишками клетки в любом сечении куба, параллельном одной из граней, или в шести главных диагональных плоскостях. П. Парке и Р. Саттен еще в 1941 году изобрели интересную игру на кубической доске размером 3x3x3 клетки, в которой выигрывает тот, кто сумеет занять два пересекающихся ряда. Клетку, стоящую на пересечении двух рядов, правила игры разрешают занимать в последнюю очередь. Поскольку занявший центральную клетку куба заведомо обеспечивает себе победу, этот ход разрешается лишь в двух случаях: а) если им достигается победа, то есть если все остальные клетки двух рядов, пересекающихся в центре куба, уже заняты фишками данного
В четырехмерные крестики и нолики играют на воображаемой гиперкубической доске, поделив ее на двумерные квадраты. Например, гиперкуб 4x4x4x4 выглядит так, как показано на рис. 19.
Рис. 19 Четырехмерные крестики и нолики. Пунктиром показаны некоторые ходы, приводящие к выигрышу.
Выигрыш на такой доске означает, что вы сумели занять своими фишками четыре клетки, расположенные на одной прямой в любом кубе, который можно собрать из четырех последовательных квадратов, занимающих любую вертикаль, любую горизонталь или любую из главных диагоналей на рис. 19. Одно из «победных» расположений клеток изображено на рис. 20.
Рис. 20 Куб, составленный из четырех досок 4x4.
Игрок, делающий первый ход, по-видимому, всегда может рассчитывать на победу. Если играть на гиперкубической доске 5x5x5x5x5, то игру можно закончить вничью. Число выигрышных расположений фишек при игре на n-мерной гиперкубической доске можно подсчитать по формуле, выведенной Л. Мозером:
где n — размерность куба, а k — число, показывающее, сколько единиц укладывается в длине его ребра.
В старинной японской игре го-моку (пять камешков), и поныне не утратившей своей популярности на Востоке, используют обычную доску для игры в го (квадратная доска—19 клеток на 19).
Игроки по очереди ставят фишки на пересечение вертикальных и горизонтальных линий, разбивающих доску на квадраты, до тех пор пока у одного из них пять фишек не окажутся расположенными на одной вертикали, горизонтали или диагонали. Каждый игрок имеет право выставлять любое число фишек. Передвигать выставленные на доску фишки запрещается. Знатоки го-моку считают, что игрок, делающий первый ход, всегда может обеспечить себе выигрыш, но, насколько мне известно, доказательство этого утверждения нигде не публиковалось. В восьмидесятых годах прошлого века го-моку была распространена в Англии под названием го-банг.
Иногда в го-банг играют на обычной шахматной доске, причем каждый игрок имеет право выставить 12 или 15 фишек. Если, выставив весь запас фишек, никто из игроков не добился победы, фишки разрешается передвигать на одну клетку в любом направлении.
Были построены даже машины для игры в крестики и нолики.
Любопытно заметить, что первый робот для игры в крестики и нолики был изобретен (хотя и не был построен) еще в прошлом веке англичанином Ч. Баббеджем, одним из пионеров вычислительной техники. Баббедж намеревался выставить свою машину в Лондоне, чтобы собрать средства для проведения более важных работ, но, узнав о финансовом крахе, постигшем действовавшую в то время в Лондоне выставку «курьезных» машин (на которой среди прочих экспонатов демонстрировались «говорящая» машина и машина, сочинявшая оды на латыни), отказался от своих планов.
Выбор одного из двух одинаково выигрышных ходов робот Баббеджа производил на основе совершенно нового принципа: машина непрерывно подсчитывала число выигранных ею партий и, если ей приходилось выбирать между ходами А и В, узнавала четность текущего числа: при четном числе выигранных партий она выбирала ход А, при нечетном — ход В. Если выбор нужно было произвести из трех равных по силе ходов, робот Баббеджа делил число выигранных им партий на 3 и в зависимости от того, какой остаток получался при делении — 0, 1 или 2, — выбирал один из трех ходов.
«Очевидно, что таким способом можно производить выбор при любом числе условий, — писал Баббедж. — Любознательному наблюдателю… долго пришлось бы следить за игрой робота, прежде чем он понял бы принцип, на котором основано его действие». [10]
К сожалению, после Баббеджа не осталось никаких записей о том, что он называл «простыми» механическими деталями своей машины, поэтому об устройстве ее можно только догадываться. В его архиве сохранилась лишь запись о том, что он представляет себе такой автомат «в виде фигур двух детей, играющих друг с другом в крестики и нолики. Рядом с детьми стоят фигуры барашка и петуха. Выигравший ребенок хлопает от радости в ладоши, петух кукарекает, барашек начинает блеять, а проигравший ребенок горько плачет, заламывая в отчаянии руки». С меньшей фантазией была задумана машина для игры в крестики и нолики, демонстрировавшаяся в 1958 году на Португальской промышленной выставке в Лиссабоне: выиграв, она радостно хохотала, а проиграв (по-видимому, из-за включения специальной цепи «плохой игры»), ворчала.
10
Babbage С. Passages from the Life of Philosopher. — London: 1864, pp. 467–471.
Может показаться, что составление программы, позволяющей цифровой вычислительной машине играть в крестики и нолики, или конструирование для этой же цели специального вычислительного устройства — дело очень простое. И это, действительно, будет так, пока вы не захотите сконструировать робота-гроссмейстера, который выигрывал бы у неопытных игроков максимальное число игр. Трудность заключается в том, чтобы угадать, какой ход новичок сделает с наибольшей вероятностью. Разумеется, он не будет делать совсем случайных ходов, но насколько хитрым окажется новичок — неизвестно.
Чтобы вы могли получить представление о том, какие трудности здесь возникают, предположим, что новичок делает ход на клетку 8. Робот вполне мог бы ответить не слишком хорошим ходом, заняв клетку 3. При игре против знатока крестиков и ноликов такая ошибка могла бы оказаться роковой, но при игре с противником «средней квалификации» вряд ли следует ожидать, что он сразу же ответит ходом, обеспечивающим ему победу, и займет клетку 9. Четыре из шести оставшихся ходов ведут к проигрышу противника. В самом деле, у противника наверняка появится сильное искушение пойти на клетку 4 и подстроить этим ходом роботу сразу две ловушки.
К сожалению, планам противника не суждено сбыться: робот легко может избежать ловушек, ответив сначала ходом на клетку 9, а затем на клетку 5. Может оказаться, что на практике при такой довольно безрассудной игре машина будет одерживать победу чаще, чем при спокойной тактике, почти заведомо приводящей к ничьей.
Истинный мастер игры в крестики и нолики, будь то человек или робот, должен не только знать наиболее вероятные ответные ходы неопытного игрока (их нетрудно установить, собрав статистические данные об уже сыгранных партиях), но и уметь анализировать стиль игры своего партнера, чтобы определить, какие ошибки тот склонен совершать особенно часто. Следует учесть и то обстоятельство, что новичок от партии к партии совершенствует свое мастерство, но здесь «простая» игра в крестики и нолики заставляет нас погрузиться в дебри весьма нетривиальных проблем теории вероятностей и психологии.