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.