4. Стратегия, основанная на оценочной функции
Очень важным обстоятельством, относящимся к оценочным функциям описанного выше типа (и общим принципом шахматной игры), является то, что они приложимы лишь к относительно спокойным позициям. Например, если белые, размениваясь ферзями, забирают черного ферзя, а черные следующим ходом отыгрывают его, бессмысленно вычислять оценочную функцию в тот момент, когда белые временно получили большой выигрыш. Вообще, - бесполезно вычислять оценочную функцию общего типа в момент
проведения комбинации или серии разменов. Для учета разменов и форсированных вариантов пришлось бы добавить к формуле оценочной функции слишком много слагаемых, поэтому лучше учесть их путем обычного просмотра отдельных вариантов, т. е. сделать так, как делает игрок-шахматист, рассчитывая варианты. Нужно исследовать определенное число вариантов ход за ходом до тех пор, пока не получится сравнительно спокойная позиция, к которой затем применить некоторую оценочную функцию. Затем игрок выбирает вариант, который дает наибольшую оценочную функцию для него, в то время как противник старается уменьшить значение этой функции.
Этот процесс может быть описан математически. Сначала не будем учитывать того, что оценочная функция
может быть приложима только к спокойным позициям. Стратегия игры, основанная на
и действующая на один ход вперед, описывается следующим образом.
Пусть
будут ходы, которые могут быть сделаны в позиции Р и пусть
и т.-д. обозначают символически результирующие позиции, которые получаются из исходной ходами
соответственно. Будем выбирать ход
для которого значение функции
максимально.
Более глубокая стратегия должна принимать в расчет ответы противника. Пусть
— возможные ответы черных, если белые выбрали ход
Черные должны играть с таким расчетом, чтобы минимизировать
Кроме того, черные должны ходить после того, как белые сделают свой ход. Следовательно, если белые выбирают ход
то они должны допустить возможность того, что черные выберут ход такой, что значение
минимально. Белые должны выбрать свой первый ход с таким расчетом, чтобы это значение было максимальным после выбора черными лучшего ответа. Таким образом, белые должны выбрать ход
который максимизирует величину
Процесс, описанный выше, показан для простого случая на рис. 2. Точка слева обозначает исходную позицию. Предполагается, что в этой позиции имеется для белых три хода, указанных на рисунке тремя сплошными линиями; в каждой из получившихся позиций черные имеют по три возможности, обозначенные пунктирными линиями. Всем возможным позициям, которые могут получиться в результате хода белых и ответа черных, соответствует девять точек справа, а числа у этих точек обозначают величину оценочной функции, соответствующую этим позициям. Минимум по верхним трем точкам дает 0,1, что соответствует выбору белыми верхнего хода
и затем лучшему ответу черных. Аналогично второй и третий ходы приводят к величинам —7 и -6. Выбирая теперь максимум по ходам белых, находим, что это есть 0,1, а, следовательно, белым надо выбирать первый ход.
Таким же образом стратегия, учитывающая два хода (просмотр всех вариантов на два хода вперед), задается так:
Порядок следования операций максимизации и минимизации функции здесь важен. Это вытекает из того факта, что ходы белых и черных чередуются.
Машина, работающая по такой двухходовой стратегии, должна вычислить все варианты на два хода (с каждой стороны) и все результирующие позиции.
Рис. 2.
Для каждой из этих позиций подсчитывается оценочная функция. Фиксируется все, кроме последнего хода черных, который варьируется, и выбирается ход, минимизирующий
Это, согласно оценочной функции, самый сильный ход, который могут сделать черные в данном исследуемом варианте. Затем выбирается следующий второй ход за белых, и процесс повторяется для возможных вторых ходов черных. После перебора всех вторых ходов белых каждому из них ставится в соответствие определенное значение оценочной функции (то, которое соответствует лучшему следующему ответу черных). Далее, таким же процессом выбирается среди вторых белых ходов в каждом варианте тот, который дает максимум
(после выбора черными наилучшего второго хода в каждом случае). Продолжая таким образом, машина
идет обратно к начальной позиции и выбирает лучший первый ход за белых. Затем делает этот ход. Этот процесс очевидным образом обобщается на любое число ходов.
Такую стратегию, в которой все варианты рассматриваются на определенное число ходов вперед и затем ход определяется по формуле вида (1), будем называть стратегией типа А. Стратегия типа А имеет определенные слабые стороны, которые будут рассмотрены позднее, но она в принципе проста. Покажем, как составить программу для ее реализации.