RBGL (version 1.48.1)

Ordering: Compute vertex ordering for an undirected graph

Description

Compute vertex ordering for an undirected graph

Usage

cuthill.mckee.ordering(g) minDegreeOrdering(g, delta=0) sloan.ordering(g, w1=1, w2=2)

Arguments

g
an instance of the graph class with edgemode “undirected”
delta
Multiple elimination control variable. If it is larger than or equal to zero then multiple elimination is enabled. The value of delta specifies the difference between the minimum degree and the degree of vertices that are to be eliminated.
w1
First heuristic weight for the Sloan algorithm.
w2
Second heuristic weight for the Sloan algorithm.

Value

cuthill.mckee.ordering
returns a list with elements:
reverse cuthill.mckee.ordering
the vertices in the new ordering
original bandwidth
bandwidth before reordering vertices
new bandwidth
bandwidth after reordering of vertices
minDegreeOrdering
return a list with elements:
inverse_permutation
the new vertex ordering, given as the mapping from the new indices to the old indices
permutation
the new vertex ordering, given as the mapping from the old indices to the new indices
sloan.ordering
returns a list with elements:
sloan.ordering
the vertices in the new ordering
bandwidth
bandwidth of the graph after reordering
profile
profile of the graph after reordering
maxWavefront
maxWavefront of the graph after reordering
aver.wavefront
aver.wavefront of the graph after reordering
rms.wavefront
rms.wavefront of the graph after reordering

Details

The following details were obtained from the documentation of these algorithms in Boost Graph Library and readers are referred their for even more detail. The goal of the Cuthill-Mckee (and reverse Cuthill-Mckee) ordering algorithm is to reduce the bandwidth of a graph by reordering the indices assigned to each vertex.

The minimum degree ordering algorithm is a fill-in reduction matrix reordering algorithm.

The goal of the Sloan ordering algorithm is to reduce the profile and the wavefront of a graph by reordering the indices assigned to each vertex.

The goal of the King ordering algorithm is to reduce the bandwidth of a graph by reordering the indices assigned to each vertex.

References

Boost Graph Library ( www.boost.org/libs/graph/doc/index.html )

The Boost Graph Library: User Guide and Reference Manual; by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine; (Addison-Wesley, Pearson Education Inc., 2002), xxiv+321pp. ISBN 0-201-72914-8

Examples

Run this code
con <- file(system.file("XML/dijkex.gxl",package="RBGL"), open="r")
coex <- fromGXL(con)
close(con)

coex <- ugraph(coex)
cuthill.mckee.ordering(coex)
minDegreeOrdering(coex)
sloan.ordering(coex)

Run the code above in your browser using DataLab