Может ли быть идеальный шахматный алгоритм?


15

Текущие шахматные алгоритмы проходят примерно на 1 или 2 уровня вниз по дереву возможных путей в зависимости от хода игрока и ходов противника. Допустим, у нас есть вычислительные возможности для разработки алгоритма, который предсказывает все возможные движения противника в шахматной игре. Алгоритм, который имеет все возможные пути, которые противник может пройти в любой момент в зависимости от ходов игроков. Может ли быть когда-нибудь идеальный шахматный алгоритм, который никогда не проиграет? Или, может быть, алгоритм, который всегда победит? Я имею в виду, что в теории кто-то, кто может предсказать все возможные ходы, должен быть в состоянии найти способ победить каждого из них или просто выбрать другой путь, если определенный из них приведет его к поражению.

edit-- Что мой вопрос на самом деле. Допустим, у нас есть вычислительная мощность для идеального алгоритма, который может играть оптимально. Что происходит, когда противник играет с тем же оптимальным алгоритмом? Это также относится ко всем играм с двумя игроками с конечным числом (очень большим или нет) ходов. Может ли быть когда-нибудь оптимальный алгоритм, который всегда побеждает?

Личное определение: оптимальный алгоритм - это идеальный алгоритм, который всегда выигрывает ... (не тот, который никогда не проигрывает, а тот, который всегда выигрывает



Этот вопрос основан на нескольких заблуждениях. Во-первых, шахматные компьютеры выглядят намного дальше, чем на один-два шага вперед: даже пять лет назад на обычном ноутбуке довольно обычные шахматные программы смотрели вперед на 15–16 сгибов и на 25+ на критических линиях. Во-вторых, определение «идеальный» как «всегда побеждает» не может быть достигнуто, как показано в ответах. В-третьих, шахматные движки не «предсказывают» ходы: они рассчитывают и играют ходы, которые хороши против любых возможных ответов.
Дэвид Ричерби

Ответы:


13

Ваш вопрос похож на старый каштан: «Что происходит, когда непреодолимая сила встречает неподвижный объект?» Проблема заключается в самом вопросе: две описанные сущности не могут существовать в одной логически непротиворечивой вселенной. Ваш оптимальный алгоритм, алгоритм, который всегда выигрывает, не может быть сыгран обеими сторонами в игре, где одна сторона должна выиграть, а другая по определению проиграть. Таким образом, ваш оптимальный алгоритм, как определено, не может существовать.


3
Ну, это может, например, алгоритм, который позволяет первому игроку выиграть. Это означает, что игра в первую очередь имеет преимущество. Или, возможно, оптимальный алгоритм позволяет победить только второму игроку. Это даст второму игроку преимущество. Третья (ые) возможность (и) - это алгоритм, который позволяет одному из игроков всегда форсировать ничью, хотя и не гарантирует выигрыша (потому что, как ОП хочет знать, это происходит, например, если оба игрока играют одну и ту же выигрышную стратегию). , если нет преимущества в игре первого или второго).
Реал Слав

3
@Realz Ну, да, если вы измените определение «оптимального алгоритма», то вы можете доказать, что вам нравится. Я использовал определение, которое спрашивающий попросил нас использовать.
Кайл Джонс

Это ответ, который я пытался получить от людей. Не может быть алгоритма, который всегда выигрывает, потому что это игра двух игроков, поэтому алгоритм не может сработать, потому что оба игрока могут иметь один и тот же алгоритм, поэтому просто хотя бы один из них вынужден не выиграть (проиграть или сыграть вничью) , Я задал тот же вопрос своему учителю, и нам потребовалось немало разговоров, чтобы он пришел к такому выводу
Джон Деметриу

3
@JohnDemetriou Проблема в том, что этот вывод неверен . Шахматы - не симметричная игра из-за преимущества первопроходца - вполне возможно, что существует оптимальный алгоритм, который позволяет белым играть и выигрывать, но черные не могут использовать этот алгоритм по той простой причине, что они не белые!
Стивен Стадницки

Также возможно, я должен отметить, что идти первым не является преимуществом и что на самом деле существует алгоритм, который всегда позволяет черным побеждать в лучшем матче белых, но сразу должно быть очевидно, что не существует алгоритма, который мог бы всегда позволять выигрывать черным или белым. Вот почему люди говорят о «наилучшем возможном результате», потому что «выиграть с обеих сторон» тривиально невозможно.
Стивен Стадницки

23

Во-первых, я считаю, что шахматные алгоритмы выглядят более чем на два уровня, хотя они не учитывают все различные возможности; Обрезка дерева поиска очень важна, чтобы избежать комбинаторного взрыва числа возможных ходов.

Для такой игры, как шахматы, есть три варианта определения личности победителя: либо игрок 1 имеет выигрышную стратегию, либо игрок 2 имеет выигрышную стратегию, либо оба игрока играют в оптимальной игре. Неизвестно, как обстоят дела с игрой в шахматы. Однако, поскольку шахматы - конечная игра, существует компьютерный алгоритм, состоящий из очень большого стола, который оптимально играет в шахматы.

Конечно, такой алгоритм не будет практичным. Но для некоторых более простых игр была определена «ценность» игры (какой игрок выигрывает, если таковой имеется), и был разработан оптимальный алгоритм. Такая игра известна как решенная игра .

Математическим предметом, который имеет дело с (так называемыми) комбинаторными играми, является теория комбинаторных игр . Математики разработали рекурсивный метод определения стоимости игры по заданному графику игры, который включает в себя все разрешенные позиции и ходы. Вы должны быть в состоянии найти описание этого алгоритма в записи Википедии или любых примечаниях к лекции по этому вопросу.


да, действительно, но я пытался ответить на любой ответ другим вопросом, что происходит, когда оба игрока играют по оптимальному алгоритму ???? что произойдет, если игрок найдет способ победить оптимальный алгоритм?
Джон Деметриу

11
@JohnDemetriou Когда оба игрока играют оптимально, вы получите некоторый результат. Этот результат называется стоимостью игры. Если шахматы - это белая победа, это означает, что ничто не может сделать, чтобы черные могли победить белого игрока, играющего оптимально. У белых фактически есть огромная книга (или она способна сделать ход из такой книги в вычислительном отношении), который содержит идеальный счетчик для любого хода, который черные могут сделать в любой возможной ситуации, которая развивается с самого начала игры. Кстати, чиллакс на вопросительных знаках. Один на предложение достаточно.
Рено

Я прошу прощения за вопросительные знаки. Это просто, как я печатаю в целом. Что если шахматы - самая оптимальная победа. Если белый и черный имеют одну и ту же книгу и имеют одинаковые счетчики? Что будет потом?
Джон Деметриу

1
@JohnDemetriou «Оптимальный» означает «наилучший из возможных». Если математические последствия правил шахмат состоят в том, что лучшее, что черные могут сделать против оптимального белого, - это ничья (или даже может только задержать победу белых на максимально долгое время), то оптимальный алгоритм для черных - тот, который достигает этого, и его можно победить против большинства неоптимальных противников.
Бен

1
@JohnDemetriou Возможно, что существует алгоритм, который всегда побеждает белым ; очевидно, что алгоритм не всегда мог выиграть как черные по причинам, которые уже были обрисованы в общих чертах (потому что он будет играть против себя). Возможно даже, что оказывается, что черные «выигрывают» в шахматы, сыгранные отлично, и что существует алгоритм, гарантирующий победу черным против любой оппозиции. Если вы имеете в виду «алгоритм, который всегда выигрывает с любой стороны», тогда я предлагаю использовать эту терминологию; «оптимальный» уже имеет четкое значение.
Стивен Стадницки

8

Прежде всего, хорошие шахматные алгоритмы смотрят дальше, чем на 1 или 2 уровня. Вместо того, чтобы использовать поиск по наивному дереву, они выполняют альфа-бета-обрезку, чтобы сузить число вариантов для рассмотрения. Обратите внимание, что для начальных и конечных игр используется большая база данных ходов, так как она имеет лучшую производительность, чем поиск по дереву, который используется в середине игры.

На вопрос: я полагаю, что вы спрашиваете: « Решаемы ли шахматы ?». Гипотетически так и есть, хотя мнения расходятся о том, будет ли этот результат достигнут в ближайшее время. Например, шашки были решены в 2007 году, но у них намного меньше позиций (около квадратного корня из числа в шахматах). Смотрите статью в Википедии для получения дополнительной информации.

Между прочим, нынешние лучшие шахматные ИИ почти всегда побеждают или играют вничью с чемпионами мира; поэтому, хотя в настоящее время они не идеальны, алгоритмы, по крайней мере, довольно хороши!


6

В принципе, шахматы разрешимы, как и любая другая игра. Однако, как указали другие ответы, в ближайшее время этого не произойдет.

Редактировать: в комментариях было отмечено, что [1] - обман, поэтому пропустите оставшуюся часть этого ответа.

Тем не менее, в этом направлении произошли некоторые недавние события. [1] утверждает, что показал, что шахматное открытие под названием « Королевский гамбит» решено : у белых есть только один ход, в то время как все остальные вступительные ходы приводят к победе черных. Обратите внимание, что [1] не исследовал дерево игры в полном объеме, а только утверждает, что эти результаты сохраняются с высокой вероятностью.

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
Действительно очень интересная статья!
Пареш

Тогда это не оптимальный алгоритм. Я спрашиваю, может ли когда-нибудь существовать оптимальный алгоритм (если у нас есть вычислительная мощность)
Джон Деметриу

1
Правильно, и учитывая ваше определение «оптимального алгоритма» как алгоритма, который всегда побеждает, такой алгоритм не может существовать для обоих игроков, черных и белых. Помимо более крупного (но конечного) игрового дерева, в этом нет ничего особенного в шахматах по сравнению с другими играми, такими как, например, Hex, решение которых уже известно: если первый игрок использует оптимальную (известную) стратегию для игры в Hex , тогда первый игрок всегда выигрывает, независимо от того, какой алгоритм использует второй игрок.
Питер

Статья «Королевский гамбит» - это обман. Обратите внимание, что статья начинается «31 марта автор программы Рыбка Васик Райлих и его семья переехали из Варшавы, Польша, в новую квартиру в Будапеште, Венгрия. На следующий день, несмотря на суматоху движущихся ящиков и обстановку Телефон и интернет-соединение, Вас, любезно согласился на следующее интервью "- другими словами, это было 1 апреля ...
Джо К

-1

Можно ли всегда выиграть партию в шахматы или нет, зависит от правил игры. Тем не менее, существует метод / алгоритм с именем Minimax (подробнее см. Https://en.wikipedia.org/wiki/Minimax ). Алгоритм состоит в том, чтобы попытаться предсказать, какой игрок имеет преимущество в различных сценариях с рекурсивной функцией. Вот четкое объяснение того, как это работает с более простой игрой: крестики-нолики https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 ,


Хотя другой ответ явно не ссылается на минимакс, некоторые ссылаются на ссылки, которые в конечном итоге приводят к ним или сокращению альфа-бета, алгоритму для более эффективной реализации минимакса. Что добавляет этот ответ, что еще не было сказано?
Дискретная ящерица

-3

добавит еще один ответ, который подчеркивает огромное пространство состояний, на самом деле не концептуализированное в вопросе или не указанное в других ответах. должен не согласиться с вашей предпосылкой:

Допустим, у нас есть вычислительные возможности для разработки алгоритма, который предсказывает все возможные движения противника в шахматной игре.

см. информацию о статье Шеннона 1950 года «Программирование компьютера для игры в шахматы», в которой была представлена ​​область компьютерных игр / алгоритмов игры в шахматы и анализ которых в основном не изменился и до сих пор звучит (даже в результате последующей компьютерной революции и закона Мура ). он оценивает количество ходов. это абсолютно астрономический. в диапазоне «никогда в рамках мыслимого оборудования, даже с революционными непредвиденными достижениями».

Это документированный психологический факт [3], возможно, один из многих психологических отклонений [2], что люди испытывают затруднения при понимании чисел такого масштаба. Смотрите также контрафактивное мышление . [4] , а суперкомпьютеры вычислить массовые проблемы, ее неоспоримая не в пределах любого суперкомпьютера , который в настоящее время построен и мог быть построен. (и многие поклонники шахмат утверждают, что этот «комбинаторный взрыв» в возможностях движения / позиции является неотъемлемым аспектом «аромата» игр, который, кажется, намеренно разработан в тысячелетней игре).

следовательно, шахматы принципиально отличаются от некоторых игр, в которых есть «разрешимые» пространства состояний меньшего размера [из которых есть некоторые исследования в области компьютерных наук, теории игр и т. д.], и некоторые ключевые способы не могут быть оценены в этих рамках.

101234×10791081

Теперь, несмотря на это, возможно (но маловероятно), что в игре может быть теоретическое понимание, которое можно было бы использовать для существенного сокращения пространства поиска. это происходило с 1950 года, но на самом деле не было принципиально прорывных путей.

смотрите также

[1] какова вычислительная сложность решения шахмат, tcs.se

[2] предвзятость человека при суждении и принятии решений

[3] Студенты психологии публикуют исследования по концептуализации чисел

[4] контрфактивное мышление


теоретически мой вопрос начался с того, что, скажем, у нас есть вычислительная мощность, мы объединяем половину компьютеров мира в кластер для белых и другую половину для черных ...
Джон Деметриу

1
чувак, это верно, даже если подключить каждый суперкомпьютер, который сейчас существует или существует. тогда ваш вопрос сводится к «в теории, если теория была ложной ...» теория (в том числе из физики) в основном говорит, что, очевидно, вы не можете вычислить (гораздо) больше путей, чем есть атомы во вселенной, сейчас или когда-либо в будущем .. .
ВЗН

3
правда, но вопрос начинается с: скажем, у нас есть вычислительная мощь, это может быть сделано? это актуальный вопрос, если у нас есть сила, может ли быть алгоритм?
Джон Деметриу

+1 за констатацию того факта, что физически невозможно достичь вычислительной мощности, необходимой для точного решения шахмат. Кроме того, не знаю, почему все -1 с этим ответом, я думаю, что это справедливо и добавляет хорошее понимание других ответов.
Алехандро Пиад
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.