V
- the graph vertex typeE
- the graph edge typepublic class ColorRefinementAlgorithm<V,E> extends Object implements VertexColoringAlgorithm<V>
alpha
coloring as described in the following
paper: C. Berkholz, P. Bonsma, and M.
Grohe. Tight lower and upper bounds for the complexity of canonical colour refinement. Theory of
Computing Systems, 60(4), p581--614, 2017.
The complexity of this algorithm is $O((|V| + |E|)log |V|)$.
VertexColoringAlgorithm.Coloring<V>, VertexColoringAlgorithm.ColoringImpl<V>
Constructor and Description |
---|
ColorRefinementAlgorithm(Graph<V,E> graph)
Construct a new coloring algorithm.
|
ColorRefinementAlgorithm(Graph<V,E> graph,
VertexColoringAlgorithm.Coloring<V> alpha)
Construct a new coloring algorithm.
|
Modifier and Type | Method and Description |
---|---|
VertexColoringAlgorithm.Coloring<V> |
getColoring()
Calculates a canonical surjective k-coloring of the given graph such that the classes of the
coloring form the coarsest stable partition that refines alpha.
|
public ColorRefinementAlgorithm(Graph<V,E> graph, VertexColoringAlgorithm.Coloring<V> alpha)
graph
- the input graphalpha
- the coloring on the graph to be refinedpublic VertexColoringAlgorithm.Coloring<V> getColoring()
getColoring
in interface VertexColoringAlgorithm<V>
Copyright © 2019. All rights reserved.