- java.lang.Object
-
- org.jgrapht.alg.matching.blossom.v5.BlossomVState<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
class BlossomVState<V,E> extends java.lang.Object
This class stores data needed for the Kolmogorov's Blossom V algorithm; it is used byKolmogorovWeightedPerfectMatching
,BlossomVPrimalUpdater
andBlossomVDualUpdater
during the course of the algorithm.We refer to this object with all the data stored in nodes, edges, trees, and tree edges as the state of the algorithm
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
blossomNum
Number of blossoms(package private) int
edgeNum
Number of edges in the graph(package private) BlossomVEdge[]
edges
An array of edges of the graph(package private) Graph<V,E>
graph
The graph for which to find a matching(package private) java.util.List<E>
graphEdges
Initial edges of the graph(package private) java.util.List<V>
graphVertices
Initial generic vertices of the graph(package private) double
minEdgeWeight
Minimum edge weight in the graph(package private) int
nodeNum
Number of nodes in the graph(package private) BlossomVNode[]
nodes
An array of nodes of the graph.(package private) BlossomVOptions
options
BlossomVOptions used to determine the strategies used in the algorithm(package private) int
removedNum
Number of expanded blossoms(package private) KolmogorovWeightedPerfectMatching.Statistics
statistics
Statistics of the algorithm performance(package private) int
treeNum
Number of trees
-
Constructor Summary
Constructors Constructor Description BlossomVState(Graph<V,E> graph, BlossomVNode[] nodes, BlossomVEdge[] edges, int nodeNum, int edgeNum, int treeNum, java.util.List<V> graphVertices, java.util.List<E> graphEdges, BlossomVOptions options, double minEdgeWeight)
Constructs the algorithm's initial state
-
-
-
Field Detail
-
nodeNum
final int nodeNum
Number of nodes in the graph
-
edgeNum
final int edgeNum
Number of edges in the graph
-
nodes
BlossomVNode[] nodes
An array of nodes of the graph.Note: the size of the array is nodeNum + 1. The node nodes[nodeNum] is an auxiliary node that is used as the first element in the linked list of tree roots
-
edges
BlossomVEdge[] edges
An array of edges of the graph
-
treeNum
int treeNum
Number of trees
-
removedNum
int removedNum
Number of expanded blossoms
-
blossomNum
int blossomNum
Number of blossoms
-
statistics
KolmogorovWeightedPerfectMatching.Statistics statistics
Statistics of the algorithm performance
-
options
BlossomVOptions options
BlossomVOptions used to determine the strategies used in the algorithm
-
graphVertices
java.util.List<V> graphVertices
Initial generic vertices of the graph
-
graphEdges
java.util.List<E> graphEdges
Initial edges of the graph
-
minEdgeWeight
double minEdgeWeight
Minimum edge weight in the graph
-
-
Constructor Detail
-
BlossomVState
public BlossomVState(Graph<V,E> graph, BlossomVNode[] nodes, BlossomVEdge[] edges, int nodeNum, int edgeNum, int treeNum, java.util.List<V> graphVertices, java.util.List<E> graphEdges, BlossomVOptions options, double minEdgeWeight)
Constructs the algorithm's initial state- Parameters:
graph
- the graph for which to find a matchingnodes
- nodes used in the algorithmedges
- edges used in the algorithmnodeNum
- number of nodes in the graphedgeNum
- number of edges in the graphtreeNum
- number of trees in the graphgraphVertices
- generic vertices of thegraph
in the same order as nodes innodes
graphEdges
- generic edges of thegraph
in the same order as edges inedges
options
- default or user defined options
-
-