Алгоритмы инкрементального графа - PullRequest
9 голосов
/ 07 ноября 2011

Существует много основных алгоритмов графов, таких как топологическая сортировка, сильно / слабо связанные компоненты, кратчайшие пути из всех пар / из одного источника, достижимость и так далее. Инкрементные варианты этих алгоритмов имеют множество важных практических приложений. Под «инкрементным» я подразумеваю те алгоритмы графа, которые могут вычислять небольшие изменения в своих выходных данных с учетом небольших изменений (например, вставка и удаление ребер) во входном графе без необходимости повторного вычисления. Например, сборщик мусора, накапливающий подграф кучи, выделяет блоки, достижимые из глобальных корней. Тем не менее, я не помню, чтобы обсуждался предмет алгоритмов инкрементных графов за пределами предметно-ориентированной литературы (например, новая книга Ричарда Джонса по GC).

Где я могу найти информацию об алгоритмах инкрементных графов или, в этом отношении, инкрементальных алгоритмах в целом?

1 Ответ

13 голосов
/ 07 ноября 2011

Eppstein, Galil и Italiano опубликовали обзорную статью , опубликованную в 1999 году. Они описывают то, что вы ищете, как «полностью динамические алгоритмы»; «частично динамические алгоритмы» подразделяются на «инкрементные алгоритмы», которые допускают только вставки, и «декрементные алгоритмы», которые допускают только удаления.

Кроме того, я подозреваю, что вам придется читать исследовательскую литературу - есть только горстка исследователей, которые работают над алгоритмами динамических графов. Вы должны быть в состоянии найти статьи, изучив статьи, которые ссылаются на опрос.

...