Вот ответ, который я первоначально написал по адресу /cstheory/6563/what-is-the-computational-complexity-of-solving-chess/38102#38102 .
Идеальный шахматист всегда будет принуждать к победе, когда он может добиться победы, и к ничьей, когда он может усилить ничью. Конечно, в любой момент, если они могут добиться победы, они также могут вызвать ничью. Также, когда когда-либо один игрок не может заставить выиграть, другой игрок может вызвать ничью. Шахматы без правила 50 ходов или правила 3-кратного повторения могут быть не такими сложными, как вы думаете. Можно показать, что добавление в правило трехкратного повторения не имеет значения, может ли игрок форсировать победу или ничью. Количество возможных путей прохождения игры после n ходов растет экспоненциально с n. С другой стороны, число состояний, которые могут возникнуть после n ходов, не растет экспоненциально, поскольку не может превышать общее количество возможных состояний, которые могут возникнуть в легальной игре. Согласно сhttps://en.wikipedia.org/wiki/Game_complexity , в легальной игре в шахматы может быть около 10 ^ 47 государств.
Шахматы могут быть решены следующим образом: возьмем набор состояний, которые, как мы можем доказать, содержат все состояния, которые могут возникнуть в легальной игре в шахматы без правила 3-кратного повторения или правила 50 ходов. Два разных состояния могут иметь одинаковое расположение шахматных фигур и различаться тем, чья это очередь, имеете ли вы право на захват en passant, и имеет ли тот или иной король или ладья право когда-либо снова делать замок. Затем возьмите все состояния, в которых минимальное количество ходов, в которых белые могут добиться выигрыша, равно 1, что должно произойти на ход белых. Затем возьмем все состояния, в которых минимальное количество ходов, в которых белые могут заставить выиграть, равно 2, что означает ход черных, и независимо от того, какой ход они могут сделать, белые могут добиться выигрыша за 1 ход. Далее возьмем все состояния, в которых минимальное количество ходов белых может заставить выиграть 3, это означает, что у белых есть ход, который даст им принудительную победу за 2 хода, но не может заставить выиграть за 1 ход. Затем возьмем все состояния, в которых минимальное количество ходов, которое белые могут заставить выиграть, равно 4, что означает ход черных, и независимо от того, какой ход они делают, белые могут добиться выигрыша за 3 хода, но в настоящее время белые не могут заставить выиграть в 2 хода. Как только мы доберемся до такого числа, что не будет состояний, в которых минимальное количество ходов белых может вызвать выигрыш в этом числе, мы уже нашли все состояния, в которых белые могут вызвать выигрыш. Мы можем найти все состояния, в которых черные могут заставить выиграть подобным образом. Все остальные состояния - те, в которых оба игрока могут форсировать ничью. Это означает, что у черных ход, и независимо от того, какой ход они делают, белые могут добиться победы за 3 хода, но в настоящее время белые не могут добиться победы за 2 хода. Как только мы доберемся до такого числа, что не будет состояний, в которых минимальное количество ходов белых может вызвать выигрыш в этом числе, мы уже нашли все состояния, в которых белые могут вызвать выигрыш. Мы можем найти все состояния, в которых черные могут заставить выиграть аналогичным образом. Все остальные состояния - те, в которых оба игрока могут форсировать ничью. Это означает, что у черных ход, и независимо от того, какой ход они делают, белые могут добиться победы за 3 хода, но в настоящее время белые не могут добиться победы за 2 хода. Как только мы доберемся до такого числа, что не будет состояний, в которых минимальное количество ходов белых может вызвать выигрыш в этом числе, мы уже нашли все состояния, в которых белые могут вызвать выигрыш. Мы можем найти все состояния, в которых черные могут заставить выиграть аналогичным образом. Все остальные состояния - те, в которых оба игрока могут форсировать ничью. Мы можем найти все состояния, в которых черные могут добиться победы подобным образом. Все остальные состояния - те, в которых оба игрока могут форсировать ничью. Мы можем найти все состояния, в которых черные могут добиться победы подобным образом. Все остальные состояния - те, в которых оба игрока могут форсировать ничью.
Поскольку в легальной игре в шахматы может произойти около 10 ^ 47 состояний, нам понадобится больше, чем наша жизнь, чтобы использовать грубую силу для создания компьютера, который будет отлично играть в шахматы, независимо от того, как играет его противник. Я полагаю, что не было доказано, что не существует более короткого алгоритма, который может сказать вам, как играть идеально, независимо от того, как играет ваш противник. Например, может быть, только небольшая часть состояний, которые могут возникнуть в легальной игре, может возникнуть в игре, в которой вы играете так, как алгоритм подсказывает вам играть, чтобы алгоритм работал, даже если он говорит вам, как играть идеально во всех состояниях, которые Это может произойти, если вы всегда следовали этому алгоритму с самого начала игры, но не во всех состояниях, которые могут иметь место в легальной игре. Может быть в дополнение к этому, этот алгоритм является сложным алгоритмом, который для каждого состояния, которое может возникнуть в игре, в которой вы всегда следовали ему, требует гораздо меньше шагов для вычисления оптимального движения, чем число состояний, которые могут возникнуть в игре, в которой вы всегда следовали ему. Согласно сhttp://onlinelibrary.wiley.com/doi/10.1002/sres.2171/abstractЛаборатории эволюционного обучения планируют решать сложные проблемы. Возможно, когда-нибудь они разработают сложную стратегию для идеальной игры в шахматы. Возможно, даже если алгоритм очень короткий и требует очень мало шагов для вычисления оптимального движения в любом состоянии, которое может произойти в игре, где вы всегда следовали этому алгоритму, не существует, это все равно не мешает человеку быть способным научиться отлично играть в шахматы. Может быть, человек мог бы постоянно выяснять вещи и сохранять то, что они выяснили, вычислять больше вещей из того, что они раньше выяснили, и сохранять их каким-то сложным методом,
Возможно, для игрока даже проще иметь стратегию, которая гарантирует, что если его противник играет идеально, он также будет играть отлично. Я подозреваю, что у обоих игроков есть принудительная ничья с самого начала игры. Вероятно, проще иметь стратегию, которая вызывает ничью, чем стратегию, которая гарантирует, что если ваш противник даст вам принудительную победу, вы не потеряете ее. Стратегия, которая вызывает ничью, также является стратегией, которая гарантирует, что если ваш оппонент играет идеально, вы будете играть идеально. Если они играют идеально, они не дадут вам принудительный выигрыш в первую очередь, поэтому вы не потеряете принудительный выигрыш после того, как он его даст.