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