Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

ТехнологииПрограммированиеКомпьютеры
Просто Илья
  · 1,4 K
Первый
Потому что могут™  · 12 дек 2016

Это зависит от особенностей реализации уровней в каждой конкретной шахматной программе. Самый простой способ заключается в ограничении времени обдумывания хода или средней глубины перебора. То есть для лёгкого уровня устанавливается очень короткое время на обдумывание, либо устанавливается глубина перебора в 1—2 полухода. Однако этот способ в целом не очень удачный, поскольку даже при таких ограничениях большинство современных шахматных программ играют существенно сильнее человека-новичка. Поэтому в программах, авторы которых уделяют значительное внимание комфорту игры начинающих игроков, используются специальные алгоритмы для искусственного ослабления программы на «лёгких» уровнях игры. Тут чаще всего используются следующие методы:

  • программа иногда выбирает не лучший ход, а 2-й, 3-й и т.д. по силе;

  • программа случайным образом «пропускает» при просмотре вариантов далёкие взятия (когда дальнобойная фигура, стоящая на одой половине доски, берёт фигуру противника, находящуюся достаточно далеко) — таким образом ошибки программы становятся более «человечными»;

  • программа иногда совершает случайный ход;

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

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

В целом, тут нет какого-то единого общепринятого подхода, поэтому игра программ на слабых уровнях часто основана на различных оригинальных идеях авторов.