Это не первый случай, когда я обнаружил гораздо более сильный ход, чем шахматный движок, им даже требуется некоторое время, чтобы понять эти шаги после того, как вы их сделаете.
Например, ход 15 ... Bf2
в игре ниже:
Двигатель некоторое время остается незамеченным двигателем, и только когда я двигаюсь, он начинает видеть остальную часть айсберга.
Я знаю, что все зависит от того, сколько времени вы дадите им на анализ, но недопустимо, что иногда людям удается находить эти движения за меньшее время, чем компьютеры.
- Почему шахматные движки не замечают хороших ходов в некоторых позициях? (Однажды я прочитал кое-что о «эффекте горизонта», может быть, это связано?)
- Есть ли другие заметные примеры? (например, эта знаменитая головоломка , для решения которой требуется время)
Эти вопросы содержат полезную информацию, чтобы частично объяснить некоторые факторы, которые могут быть причиной этой аномалии: Какие алгоритмы и эвристики популярны в компьютерных шахматах? , Когда я играю в компьютерного оппонента, какие ситуации я должен создать, чтобы получить больше шансов на победу? , Компьютерные оценки: насколько они заслуживают доверия?
Примечания: ловушка известна как Удочка , я знаю, что пропустил помощника в 3 (и помощника в 7) :(, ограничение по времени на ход было дней (заочные шахматы), но это заняло у меня 5-10 минут закончить все расчеты.
источник
15... Bf2
вообще через 5 минут.Ответы:
Причина называется вперед обрезкой методы (см http://chessprogramming.wikispaces.com/Pruning ) с ProbCut в первой строке.
Ход 15 ... Bf2 обрезается на мелких глубинах, потому что включает жертву 16.Rxf1 без восстановления чего-то конкретного с доказательствами сразу после. Матенет также трудно увидеть, потому что он включает в себя некоторые дальнейшие «бесшумные» движения, как, например, 17 ... Ke7, и да, и двигатели, не только люди испытывают затруднения, чтобы увидеть отдаленные бесшумные движения, поскольку их часто сокращают.
В этом конкретном случае вы даже не можете сказать, что двигатели не могут определить хорошие ходы, потому что продолжение 15 ... Rh3h1 - очень хороший ход и приводит к абсолютно выигранной позиции.
И последнее, но не менее важное: вы должны помнить, что сила двигателя всегда измеряется с помощью силы, а не в способности найти абсолютный кратчайший путь к победе. Неважно, победит ли двигатель за 8 ходов или за 25 ходов. Стремление к самому короткому выигрышу означало бы потерю времени, потому что в большинстве случаев такого тайного хорошего хода вообще не существует. И пустая трата времени повредила бы двигатели ELO-Rating.
источник
Я пытаюсь это с Houdini 1.5 (бесплатная версия). Сначала 15 ... Bf2 не появляется в верхних 5 ходах, затем, когда он достигает глубины 15, он появляется, как # 1. Занимает у моего четырехлетнего компьютера около 19 секунд, не так долго.
Так что он не может не заметить его, он считает его лучшим ходом только после достижения глубины 15. По-видимому, до тех пор, пока глубина составляет всего 14 слоев, другие ходы лучше (например, выигрыш 15 ... f5 +).
По-видимому, 15 ... Bf2 является матом из 8, что составляет 15 слоев (8 ходов черными, 7 ходов белыми). Но сначала он просто считает это +10 или около того, затем +20, затем мат в 10, затем мат в 8.
Мат в 8-й строке:
Ясно, что когда Houdini 1.5 считает, что глубина составляет 15 слоев, он не учитывает все возможные линии, которые имеют глубину 15 слоев, или он увидит помощника в 8 в тот момент, когда он завершил поиск в 15 слоев.
Я думаю, что это из-за обрезки , он перестает смотреть на некоторые строки, когда считает, что они недостаточно перспективны. Таким образом, он может проводить больше времени на перспективных линиях, и программист считает, что плюсы перевешивают минусы. Но сейчас у меня нет ответа на вопрос, что он решит здесь обрезать (вероятно, он принимает миллионы решений об обрезке на глубине 15).
Это может быть связано с бесшумными ходами ... Ke7 и ... Rah8, двумя неконтролируемыми не-захватами в линии, где черные - часть вниз. Вполне вероятно, что где-то решит, что не стоит продолжать искать в этой строке. Только позже, когда он продолжит линию и найдет мат в конце, появятся другие линии, которые продлевают игру (с 18.Rh1 Rxh1 и так далее).
Как бы то ни было, известно, что не так хорошо, чтобы компьютер думал несколько секунд, только если вы хотите что-то понять, лучше несколько минут.
источник
Прочитав все ответы и другие источники, я теперь понимаю, что они не «пропустили» или решили пропустить эти шаги, люди запрограммировали их таким образом, чтобы они следовали определенному шаблону при поиске (где / как / когда + к) и что более важно, когда нужно приостановить поиск и изучить более перспективные строки, чтобы сэкономить ресурсы.
Но при наличии достаточного времени компьютер найдет любую возможную комбинацию на определенной глубине.
TL; DR
источник
Я думаю, что всем не хватает гораздо более быстрого помощника. При проверке позиции с помощью Гудини 3 у черных фактически есть мат в 3 на 13-м ходу. Вместо Bf1 + черные должны были сыграть Bf2, и это ограничивается 14. d3 bf1 + 15. Bh6 Rxh6 #. Таким образом, в необычном ответе на ваш вопрос, возможно, некоторые движки не сразу увидели ваш ход, но в случае с Houdini 3 он нашел гораздо более быстрого партнера.
источник