- 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.ObjectThis class stores data needed for the Kolmogorov's Blossom V algorithm; it is used byKolmogorovWeightedPerfectMatching,BlossomVPrimalUpdaterandBlossomVDualUpdaterduring 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) intblossomNumNumber of blossoms(package private) intedgeNumNumber of edges in the graph(package private) BlossomVEdge[]edgesAn array of edges of the graph(package private) Graph<V,E>graphThe graph for which to find a matching(package private) java.util.List<E>graphEdgesInitial edges of the graph(package private) java.util.List<V>graphVerticesInitial generic vertices of the graph(package private) doubleminEdgeWeightMinimum edge weight in the graph(package private) intnodeNumNumber of nodes in the graph(package private) BlossomVNode[]nodesAn array of nodes of the graph.(package private) BlossomVOptionsoptionsBlossomVOptions used to determine the strategies used in the algorithm(package private) intremovedNumNumber of expanded blossoms(package private) KolmogorovWeightedPerfectMatching.StatisticsstatisticsStatistics of the algorithm performance(package private) inttreeNumNumber 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 thegraphin the same order as nodes innodesgraphEdges- generic edges of thegraphin the same order as edges inedgesoptions- default or user defined options
-
-