Алгоритм графа с участием шахмат: возможные пути за k ходов

Я пытаюсь решить алгоритмическую задачу, связанную с шахматами.

Предположим, у меня есть король на A8, и я хочу переместить его на H1 (только с разрешенными ходами). Как я могу узнать, сколько возможностей (путей) есть для любых заданных k ходов? (например, сколько путей/возможностей есть, если я хочу переместить короля с A8 на H1 за 15 ходов?)

Одно из тривиальных решений состоит в том, чтобы рассматривать это как задачу с графом и использовать любой стандартный Алгоритм поиска пути считает, что каждый ход стоит 1. Итак, допустим, я хочу переместить своего короля с A8 на H1 за 10 ходов. Я бы просто искал все пути, сумма которых равна 10.

Мой вопрос в том, есть ли другие, более умные и эффективные способы сделать это? Мне также было интересно, может ли быть что-то более «математическое» и простое, чтобы найти это число, а не такое «алгоритмическое» и «грубофорсное»?

5
задан Greg Hewgill 24 September 2012 в 21:04
поделиться