6.8.4. Оптимизация защиты: понятие опасного хода
На каждом этапе шахматной партии один из противников ищет пути к победе, в то время как другой пытается выровнять положение. В соответствии с этим и программа в каждый
момент времени играет за одного играющего — того, кто проигрывает при разработке текущего плана.
Чтобы найти спасительный ответ, проигрывающий сам составляет планы. В ходе игры он может вновь получить преимущество, тогда программа вновь обращается к позиции его противника. В конечном итоге этот шахматист может и проиграть партию, и окончательный анализ тогда покажет, что все попытки спасения безрезультатны.
Обработка программой дерева нланов оказывается очень близкой к человеческому образу мыслей при игре в шахматы. Сначала изучается наиболее многообещающий путь. Затем анализируется, к каким наихудшим последствиям приводит ответ противника. Если найдено опровержение одного из путей, рассматривается другая линия игры на более высоком уровне.
Рис. 6.18. М39. Ход черных.
Таким образом, в игре постоянно находятся и отвергаются «опасные ходы». Их точное определение дано ниже.
Устранение опасности состоит в отражении этих ходов или в устранении их неприятных последствий с помощью других опасных ходов. Сначала ищут спасение против ходов, для отражения которых у другой стороны остается наименьшее число своих опасных ходов.
Для того чтобы найти план, опровергающий план противника, необходимо отразить все опасные ходы плана противника. Идея достижения этой цели состоит в различной реакции на различные опасные ходы противника. Их можно разделить на 4 типа, каждый из которых рассмотрен в отдельности.
При анализе опасных ходов учитывается только баланс материальных сил, а сам анализ напоминает процедуру восхождения в методе минимакса.
Предположим, что программа ищет для шахматиста
план, который обозначим
Тогда опасным ходом является такой ход противника, который на момент анализа приводит к меньшему значению оценки, чем ожидается по плану
На рис. 6.18 приведен пример одного из разработанных программой планов, который связан с продвижением черной ладьи с поля
на
где она не оставляет королю белых ни одного поля для отступления. Этот план можно записать следующим
образом:
Материальный баланс в пользу черных (взятие короля), ход
опасен для белых, и программа, которая начинает строить планы за белых, ищет способ его отражения. Она немедленно найдет способ устранения угрозы:
или
Также опасным для белых является и ход
который может быть ходом
Но равновесие и здесь быстро восстанавливается с помощью
Результат анализа показывает, что для белых не существует больше опасных ходов. Как мы убедились, все угрозы могут быть ликвидированы. Программа возобновляет игру черными.
Опасными для черных являются и три только что рассмотренных хода белых.
Рассмотрим теперь реакцию программы на опасные ходы и ответные способы предотвращения угрозы.
Программа вырабатывает 4 типа планов в ответ на опасные ходы: новые взятия, логические разрушения опасных ходов, наложения, локальные нланы.
1. Новые взятия. Каждый ход в шахматах, кроме рокировки и взятия на проходе, изменяет содержимое двух полей. В результате последних двух ходов — своего и противника — изменяется содержимое четырех полей. Программа постоянно следит, не появились ли возможности взятия за счет модификации этих полей.
В обычной шахматной позиции подобные действия позволяют очень быстро расширить и углубить начальные планы.
2. Логическое разрушение. Здесь речь идет о том, чтобы сделать невозможным опасный ход противника, исключить его из списка опасных ходов. Достигается это за счет воздействия на начальное, промежуточное или конечное поля опасного хода, в результате которого фигура
лишается возможности сделать опасный ход или вынуждена уйти со своего отправного поля
И наоборот, если на конечном поле а находится своя фигура Р, то необходимо выполнить действие
нейтрализующее опасный ход противника.
Другая возможность состоит в перемещении на одно из промежуточных полей и, расположенных на пути от
до а,
произвольной фигуры, например
3. Наложения. Здесь в качестве защиты от опасного хода используется нападение.
Программа позволяет противнику осуществить свой план, но пользуется возникающими при этом на доске модификациями полей для реализации контрплана, который начинает действовать немного позже. Этот способ защиты очень обманчив. С помощью программы Ж. Питра удалось исправить несколько ошибок, допущенных знаменитыми шахматистами при анализе партий (позиция
на рис. 6.21).
Возможность использования наложений обусловлена двумя причинами:
• действия плана не являются обязательно выполнимыми в существующей позиции, т. е. они нечувствительны к определенным изменениям и могут оставаться в силе спустя много ходов;
• все начальные планы противника составляются одной и той же программой, поэтому в случае опасности программа легко может поставить себя на место противника.
Как только первое действие оборонительного плана становится возможым, программа заносит его вместе с соответствующим планом в список подготовленных ответов на последний ход противника.
4. Локальные планы. Здесь речь идет о подготовке косвенной атаки на фигуру, которая может сделать опасный ход, с помощью двойного нападения, угрозы мата, взятия фигуры после отступления ее защитника.
Каждый подобный анализ похож на анализ позиции, который делается вначале с участием всех фигур на доске, но он ограничивается лишь одним полем.