Подсчет количества кратчайших путей через узел в DAG

Я ищу алгоритм для подсчета количества путей, пересекающих конкретный узел в DAG (аналогично концепции «промежуточности»), с следующие условия и ограничения:

Мне нужно произвести подсчет для набора узлов источника / назначения в графе, а не для всех узлов, т.е. для среднего узла n, я хочу знать, сколько различных кратчайших путей из набора узлы S к набору узлов D проходят через n (и под разными я имею в виду каждые два пути, которые имеют хотя бы один не общий узел)

Какие алгоритмы вы можете предложить для этого, учитывая, что DAG может быть очень большие, но с редкими краями, и поэтому предпочтение не отдается глубоким вложенным циклам на узлах.

6
задан user622368 23 September 2011 в 20:38
поделиться