Часть 1. Игра го для начинающих

Бозулич Ричард

Глава 11 

 

 

Го и компьютер

К большому неудовольствию чемпиона мира по шахматам Гарри Каспарова в 1997 году его обыграла компьютерная программа Дип Блю (Deep Blue), установленная на специально разработанном компьютере фирмы IBM. Глядя на этот результат можно подумать, что не сложно написать и программу, играющую в го. В отличие от шахмат, с их сложными правилами и разнообразными фигурами, в го все камни одинаковы и правила очень просты. Чёрно-белая структура позиции хорошо сочетается с двоичной логикой компьютера. Цель игры – захватить территории больше, чем это сумеет сделать противник, поэтому лучшим будет тот ход, который принесёт больше очков. Это описывается простой компьютерной процедурой, с которой он без труда справится. Но не тут то было.

Программа, играющая в го, может состоять всего из 100 строчек программного кода. Добавить ещё несколько строчек и программа начнёт оценивать количество территории, контролируемой каждой из сторон. Но, столкнувшись с тактикой и стратегией, лучшая компьютерная программа играет не на много сильнее начинающего игрока-человека.

Одна из причин, по которой удалось написать шахматную программу столь высокого уровня, состоит в том, что шахматы в значительной степени тактическая игра. В ней очень большое значение имеет материал. Самые сложные шахматные программы просматривают на семь-восемь ходов вперёд, чтобы найти лучший путь к получению материального или позиционного перевеса. А в го увеличение материала сильно связано со стратегическими построениями. Тактический успех, такой как захват большой группы в одной части доски, может оказаться ошибкой, приводящей к проигрышу партии.

Ещё одним фактором, который усложняет программирование го, является размер доски. На стандартной доске 19х19 обычно имеется от 100 до более чем 300 ходов, которые есть смысл рассматривать. Поэтому исчерпывающий перебор вариантов по всей доске, который применяется в шахматах, практически не осуществим. К тому же человеку проще анализировать относительно стабильные позиции, возникающие на доске го. Расчет на 10 ходов вперёд не составляет труда для не очень сильного любителя, что недоступно сильнейшей программе. В большинстве шахматных позиций нет и 30 принципиально возможных ходов, а 95% игроков не могут считать глубже трёх или четырёх ходов.

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

Если говорить поверхностно, то оборонительные ходы могут, на первый взгляд, не приносить новой территории. Они дают возможность противнику заявить права на новую территорию в другой части доски. Но, в сущности, они делаются для того, чтобы сделать максимально эффективным положение других камней. В конечном счёте, такие ходы, если они правильные, преобразуются в территорию в другом месте доски. В других случаях ходы следует делать для объединения позиции. Кажется, что такие ходы дублируют работу других камней в локальном смысле, но если ими пренебречь, то позиция в этом месте развалится.

Конечно же, существуют ходы, которые непосредственно захватывают территорию, но очень тяжело написать инструкцию для компьютера, которая позволит ему распознать какой из ходов следует делать. Очевидно, что основные принципы подсчёта территории в игре го очень не просто заложить в программу.

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

Сложность го может послужить тем локомотивом, который вытянет на себе искусственный интеллект. Большинство практических применений искусственного интеллекта имеют отношение к реальной жизни, но при этом присутствует множество мешающих факторов, которые усложняют решение. Го имеет много особенностей сходных с целями и задачами практического использования искусственного интеллекта и является прекрасной комплексной средой для их решения. Хотя я скептически отношусь к возможностям компьютера когда-либо посоревноваться с не самым сильным игроком любителем, но состязания в этой области могут дать сильный импульс для будущих успехов искусственного интеллекта.

 

Сэки

Существуют особые случаи, когда группе камней не надо иметь двух глаз для жизни. Пример приведён на Д.1. Две отмеченные группы, чёрная и белая, противостоят друг другу. У обеих групп заняты все внешние дамэ, последние заняты ходами ч.1 и б.2. Осталось два внутренних общих дамэ.

Если чёрные нанесут атари 1 на Д.2, то сами себя поставят в положение атари, и белые смогут захватить их, играя в «а». Аналогично, белым нет смысла играть 1 на Д.3, так как они тоже наносят атари и сами себе. Чёрные смогут захватить их ходом «а». Поэтому обоим игрокам следует оставить это место в покое, не играть здесь, а найти в другой части доски более подходящее место для хода. В конце партии (при подсчёте очков) обе группы на Д.1 остаются на доске, а пункты между ними не учитываются как территория. Подобные позиции японцы называют сэки (seki).