Я пишу sokoban solver для удовольствия и практики, он использует простой алгоритм (что-то вроде BFS с небольшим разницей).
Теперь я хочу оценить время его работы (O и omega). но нужно знать, как вычислить количество ациклических путей от вершины к другой в сети. на самом деле я хочу выражение, которое вычисляет количество допустимых путей, между двумя вершинами матрицы m * n вершин.
действительный путь:
- посещает каждую вершину 0 или один раз.
- не имеют схем
например, это допустимый путь:
alt text http://megapic.ir/images/f1hgyp5yxcu8887kfvkr.png
но это не так:
alt text http://megapic.ir/images/wnnif13ir5gaqwvnwk9d.png
Требуется метод, чтобы найти счетчик всех ациклических путей между двумя вершинами a и b.
комментарии о решениях и трюках приветствуются.