Jump to content

Reachability: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
The transitive closure not of the digraph but of its arc set.
Erik9bot (talk | contribs)
Line 17: Line 17:


{{math-stub}}
{{math-stub}}

[[Category:Articles lacking sources (Erik9bot)]]


[[de:Erreichbarkeit]]
[[de:Erreichbarkeit]]

Revision as of 18:44, 15 August 2009

In graph theory, reachability is the notion of being able to get from one vertex in a directed graph to some other vertex. Note that reachability in undirected graphs is trivial--it is sufficient to find the connected components in the graph, which can be done in linear time.

Definition

For a directed graph D = (V, A), the reachability relation of D is the transitive closure of its arc set A, which is to say the set of all ordered pairs (s, t) of vertices in V for which there exist vertices v0 = s, v1, …, vd = t such that (vi - 1, vi ) is in A for all 1 ≤ id.

Algorithms

Algorithms for reachability fall into two classes: those that require preprocessing and those that do not. For the latter case, resolving a single reachability query can be done in linear time using algorithms such as breadth first search or iterative deepening depth-first search.

Typically algorithms for reachability that require preprocessing (and their corresponding data structures) are called oracles (similarly there are oracles for distance and approximate distance queries).

Node failures

An interesting related problem is to solve reachability queries with some number k of node failures. For example, can node u still reach node v even though nodes s1, ..., sk have failed and can no longer be used? The breadth-first search technique works just as well on such queries, but constructing an efficient oracle is more challenging.

See also