Читать «Часть 1. Игра го для начинающих» онлайн - страница 15

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

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

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

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

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

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