mustitz, разобрал. Альфа и бета здесь это просто две переменные, одни на весь алгоритм, как я понял, да?
Не совсем так,
и
привязаны к текущей позиции.
Если ход белых, то мы можем обновлять оценку
, когда находим ход лучше, чем предыдущие альтернативы. Но в этом случае мы продолжаем перебор альтернатив дальше. И мы можем выполнять отсечение по
, когда находим опровержение предыдущего хода чёрных.
Аналогично, если ход чёрных, то мы можем обновлять оценку
, и выполняем отсечение по
.
А что делать, если, скажем, оценка хода
3.b4xa5 будет меньше
?
Ничего не делать, в данной ситуации мы отсекаем по
, не по
. Поэтому, если мы получили оценку ниже
, то значит, что ход неудачный, надо искать дальше. Если все хода слабые, значит
2. b2-b4 просто плохой ход и надо искать другие.
Если оценка хода
1... e7-e5 будет меньше
, то что делать?
У нас в этот момент
. Надо было наверное индексы стасить, на какой глубине какое значение используется.
-- 03.11.2016, 15:47 --Это две оценки, которую может гарантировать каждый из игроков на основании уже перебранных вариантов. Хотя это сказано немного нестрого.
Например, ищём ответ на
1. e2-e4. Вначале
,
.
> Смотрим
1... d7-d5, получаем оценку
(обновляем
).
> Смотрим
1... c7-c5:
,
.
> > Смотрим
2. Nb1-c3, получам оценку
(обновляем
).
> > Смотрим
2. b2-b4:
,
.
> > > Смотрим
2... Qd8-a5:
,
.
> > > > Смотрим
3. b4xa5, получаем оценку
. Значит смотреть другие альтернативы на 2... Qa5 не имеет смысла
> > > Смотрим
2... c5 x b4, получаем оценку
. Значит смотреть на другие альтернативны на 2. b4 не имеет смысла, это не изменит того факта, что этот ход хуже 2. Nc3
> > Смотрим
2. Ng1-f3, получам оценку
(обновляем
).
Допустим, что остальные ходы белых не улучшили
, мы возвращаемся на уровень нуль, обновляем
> Смотрим
1... e7-e5:
,
.