mCRL2
|
Files | |
file | GraphOrdering.h |
Functions to analyze vertex order in a static graph. | |
Classes | |
class | StaticGraph |
struct | ParityGameVertex |
class | ParityGame |
class | SCCs |
Functions | |
template<class Callback > | |
int | decompose_graph (const StaticGraph &graph, Callback &callback) |
Data structures used to represent parity games in memory.
int decompose_graph | ( | const StaticGraph & | graph, |
Callback & | callback | ||
) |
Decomposition into strongly-connected components using Tarjan's algorithm.
Decomposes the static graph into strongly connected components. Components are found in reverse topological order (i.e. if component j is found after component i, there is no path from a node in i to a node in j).
For each component found, the callback functor is called with as arguments a list of vertex indices (const verti[]
) and the size of the component (std::size_t
). The callback should return an integer: zero to continue enumerating components, or non-zero to abort.