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

14

Наблюдая за кубком Sinquefield на http://grandchesstour.org/ , можно попробовать разные ходы и посмотреть, как компьютер оценивает положение после предложенного вами хода.

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

Хм, а может это просто результат того, как сайт реализован на grandchesstour.org?

jonasfh
источник
4
В некоторых случаях у двигателей возникают проблемы с поиском правильного движения, но оцените его правильно, когда вы вводите его вручную. Это не так часто, как то, что вы описываете.
11684

Ответы:

26

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

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

Проблема в том, что эти ярлыки могут пойти не так. Компьютер может решить, что повесить кусок - это плохо, если это гениальная жертва. Он может решить, что позиция стабилизировалась, хотя на самом деле это не так. У него может просто не хватить силы, чтобы заглянуть достаточно далеко в будущее, чтобы увидеть реальную точку определенного движения.

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

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

Пример, который вы привели, является просто менее драматичной версией примеров, которые я привел. По мере того, как делается больше ходов, компьютер все глубже видит игру, что дает более точную оценку. Другой способ увидеть это с точки зрения информации: чем больше ходов, тем больше информации у компьютера. Раньше он догадывался о том, каким будет ваш ответ на 1.e4, но теперь он знает, что вы играете на сицилийском и так далее.


* Здесь есть небольшой нюанс: вам нужно посчитать количество ходов до победы, чтобы избежать повторения позиций. Например, рассмотрим эндшпиль KQ против K. Каждый ход, который не ставит в тупик или не сдает королеву, выигрывает, поэтому вам нужен механизм для движения к мату, а не просто случайное движение и произнесение: «Вау, я полностью иду чтобы выиграть - выигрывает почти каждый ход!

Дэвид Ричерби
источник
Отличный ответ! Я никогда не слышал об этом "эффекте горизонта", имеет много смысла, очень интересно.
Педро А
Спасибо за разъяснения. Я в основном в тумане относительно большого воздействия одного движения, но я предполагаю, что время, на которое компьютеру разрешено анализировать, довольно ограничено на рассматриваемом веб-сайте, что делает эффект большим.
Джонасф
4

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

Это так же, как мы играем в шахматы.

Привет, мир
источник
4
Вы можете добавить к этому, что движок онлайн-шахмат не анализирует много ходов с самого начала, поэтому дополнительный слой гораздо важнее, чем на вашем домашнем компьютере.
Брайан Тауэрс
Хм, я вроде согласен. Тем не менее, мне любопытно, что воздействие настолько велико за один ход. Я предполагаю, что компьютер делает довольно значительный анализ для каждого возможного следующего хода, особенно многообещающего, и он должен обнаружить, даст ли один из возможных ходов значительно улучшенную позицию, и соответствующим образом скорректировать текущее положение. Но я вижу комментарий Брайана, который должен быть важным здесь.
Джонасф