Не, тупой перебор ходов. Прямо вот слева направо сверху вниз и пошли ход за ходом перебирать. Сильно сомневаюсь, что можно по-другому. Вообще шахматный движок, который работает на победу (простой шахматный компьютер, например этот
https://lichess.org/setup/ai),
наверное, работает эвристически. То есть там оценивание позиций какое-то используется, наверное.
А если цель программы найти мат в несколько ходов (мой случай, теоретически во сколь угодно много ходов, но это фантастика, конечно), тогда просто перебираем варианты.