Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Incremental graph algorithms

There are many basic graph algorithms such as topological sort, strongly/weakly connected components, all-pairs/single-source shortest paths, reachability and so on. Incremental variants of these algorithms have a variety of important practical applications. By "incremental" I mean those graph algorithms that can compute small changes to their outputs given small changes (e.g. edge insertion and deletion) to the input graph without having to recompute everything. For example, a garbage collector accumulating the subgraph of heap allocated blocks reachable from the global roots. However, I do not recall seeing the subject of incremental graph algorithms discussed outside domain-specific literature (e.g. Richard Jones' new book on GC).

Where can I find information on incremental graph algorithms or, for that matter, incremental algorithms in general?

like image 871
J D Avatar asked Nov 07 '11 15:11

J D


Video Answer


1 Answers

There's a survey article by Eppstein, Galil, and Italiano from 1999. They would describe what you're looking for as "fully dynamic algorithms"; "partially dynamic algorithms" are divided into "incremental algorithms", which allow only insertions, and "decremental algorithms", which allow only deletions.

Beyond that, I suspect you're going to have to read the research literature – there are only a handful of researchers who work on dynamic graph algorithms. You should be able to find articles by examining the papers that cite the survey.

like image 62
not for show Avatar answered Oct 14 '22 05:10

not for show