доска 5x5, эндшпиль
Извините, а почем сразу 8 на 8 не хотите? На доске 8х8 вся эта тема наверное имела бы смысл, а на 5х5....
Дело в том, что я еще в студенчестве писал решалку шахматных задач. Могу сказать, что на современных компах та решалка на четырехходовках, насыщенных фигурами, уже не очень тормозит. А тут доска в 2 раза меньше и малое число фигур. На такой доске сколько максимальное число ходов до мата? Думаю, вполне приемлемо просто до конца расчитать. Поэтому если писать что-то такое умное, то есть смысл сразу на нормальной доске
-- Чт ноя 26, 2015 15:07:04 --Я сейчас немного подумал и придумал такой вариант.
Конкретно для такого эндшпиля (король и ферзь против короля) строим алгоритм так. Ферзь, находясь в любой точке поля, делит его на 4 изолированные (то есть король противника не может перейти из одной части в другую) друг от друга части. Общее направление движения - ограничивать свободу короля так, чтобы рано или поздно запереть его. Поэтому:
1. первым ходом определяем, куда должен пойти ферзь. Условия:
1.1 поле доступно для хода и
1.2 король противника оказывается в зоне минимального размера.
2. каждый следующий ход должен уменьшать доступную для короля противника область, но: для загона может использоваться король, поэтому надо смотреть на два хода вперед (то есть откидывать ветки, которые через 2 хода не дают улучшения).
Я конечно не ахти какой мастер шахмат и доски под рукой нет, но вроде 7 ходов должно быть достаточно для выигрыша из любой позиции.
Конкретно для доски 5 на 5 я бы другое предложил: Если король белых в центре, то сомневаюсь в существовании позиций, где нельзя поставить мат в 3 хода, а скорее всего всегда в 2 можно
поэтому при полном переборе, если хочется. чтобы он был умным, надо начинать перебор с тех ходов, которые гонять короля белых в центр, а если он в центре, рассматривать сначала только ходы ферзем
При этом же переборе за черных, в первую очередь рассматривать ходы, которые не пускаю короля белых в центр