Несмотря на то, что современные шахматные алгоритмы, например, Stockfish, невероятно сильнее любого человека, люди играют в шахматы ради развлечения, в том числе и я. Именно Stockfish - алгоритм, не основанный на AlphaZero - сейчас является самым сильным алгоритмом. Грубо говоря, он работает так:
1) Строим дерево состояний игры из текущей вершины, как описано в предыдущем посте, заданной глубины
d. Этот параметр - регулятор баланса скорости и качества работы.2) Проставляем оценку каждому листу дерева. Если это конец игры, то проставляем +∞ / -∞ или ноль, если ничья. Иначе состояние игры оценивает ансамбль алгоритмов, в том числе и нейросети, которые считают "score" позиции - число, где 0.0 - равная позиция.
3) По логике Minimax-алгоритма пересчитываем score всех вершин в дереве, в том числе и корневой, получая таким образом оценку текущей позиции и оценку всех возможных ходов.
Stockfish активно используют игроки при анализе партий и комментаторы профессиональных матчей. Удобным его делает возможность навигации по разным возможным последовательностям ходов, когда игроки могут отследить, что один ход ведёт к состоянию "+5.5", а другой к "+1.3", и на основе этого можно анализировать происходящее.
Но что, если бы Stockfish мог работать с d=∞, как полный Minimax? Мы бы получили весьма бесполезную систему по простой причине - игроки не играют оптимально. Алгоритм будет вам говорить в дебюте - "Из 26 вариантов, вот эти 17 ведут к ничье, в остальных случаях противник поставит тебе мат за 53 хода". Или про немного выигрышную позицию - "Тут можно ходить, как хочешь, всё равно выиграешь, так будет мат в 43 хода, так мат в 47, а так мат в 48". А какая вам разница, если вы мат в 2 хода в половине случаев не видите, а противник не будет оптимально обороняться? Для анализа партий, играемых людьми, алгоритм становится бесполезен.
Эта проблема есть и сейчас, поскольку часто оценка позиции зависит от одной последовательности ходов, которую заметит не каждый гроссмейстер. Но, всё-таки, если есть способ выигрывать у противника фигуру и тем самым получить большое преимущество, Stockfish вам об этом явно скажет при анализе, что и делает его полезным.
@knowledge_accumulator