анализ шахмат в глубину как-то сказывается на количестве возможных исходов партии?

значит программы анализируют разное число ответных ходов, если ход со взятием или разменом еще углубляются в него. Если играет ленивая программа, она анализирует маленькое число ходов, и после этого может сходить куда угодно. Если программа анализирует много ходов, е выбор хода боле осмысленный и е возможных ответных ходов меньше. Получается чем лучше программа думает тем меньше вариантов развития игры, значит и победных для не вариантов - тоже меньше.
Значит если играют между собой две глупые программы, варианты игры будут разнобразне? Или нет? Умная программа должна знать больше ходов.
9 года назад от Денис Романов

5 Ответы

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

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

И хорошие шахматные проги славны не только тем, что грамотно выбирают, какие ходы просчитвать поглубже. Там огромные библиотеки стандартных этюдных комбинаций встроены, отдельные алгоритмы по игре в эндшпиле и тп. Не всё так просто, компьютерные шахматы - целая наука, а не тривиальная рекурсия с в меру умной глубиной просчета.
9 года назад от Максим Денисов
0 голосов
И умная, и глупая программы знают одинаковое количество ходов - это все те ходы, которые разрешены правилами шахмат в данной позиции.

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

Ваш вопрос, если я правильно его понял, в конечном итоге, можно свести к следующему: возможен ли форсированный выигрыш в произвольной позиции (включая начальную! ) . Но на него ответа нет никакого. Если бы был положительный ответ, шахмат бы уже не было.
9 года назад от Анна Еременко
0 голосов
Они анализируют все возможные ходы. Но сильная программа будет ходить так чтобы ожидание выигрыша увеличивалось. Поэтому алгоритм основывается не на обходе всех вариантов ходов в глубину, а на присвоении каждому ходу "полезности", от качества определения полезности хода и зависит сила программы.
9 года назад от Your Ass Is Going Down
0 голосов
Исходов в шахматах всего три: выигрыш, ничья или проигрыш. И умная, и глупая программа анализируют ВСЕ возможные ходы. Но умная программа анализирует на большую глубину.
9 года назад от Павел Морозов
0 голосов
Программы, которые перебирают варианты с наибольшей скоростью, являются слабейшими, в то время как сильные программы перебирают относительно мало позиций (в тысячи раз меньше, чем быстродействующие) . Суть в том, что сила игры не в скорости перебора, а в функции экспертного отсева вариантов для дальнейшего расчёта, которая является довольно "тяжёлой", и чем больше факторов учитывается, тем программа медленне работает при равном уровне оптимизации.
Разумется, есть ещё такие программы, которые медленно перебирают варианты и играют слабо и это означает, что алгоритм не оптимизирован.

По факту, в отсутствие особых инструкций по разыгрыванию определённой позиции, при одной глубине расчёта и отсутствии "рандомайзера" (функции случайности) , всякая программа, работающая на одноядерном процессоре, всегда даёт один и тот же результат - хоть умная, хоть глупая. В смысле, одна программа даёт один ответ всегда, а другая может дать другой ответ, но тоже всегда один и тот же.
9 года назад от Woman in...

Связанные вопросы