Uses of Class
org.jgrapht.alg.matching.blossom.v5.BlossomVNode
-
Packages that use BlossomVNode Package Description org.jgrapht.alg.matching.blossom.v5 Package for Kolmogorov's Blossom V algorithm -
-
Uses of BlossomVNode in org.jgrapht.alg.matching.blossom.v5
Fields in org.jgrapht.alg.matching.blossom.v5 declared as BlossomVNode Modifier and Type Field Description (package private) BlossomVNodeBlossomVNode. blossomGrandparentReference of some blossom that is higher than this node.(package private) BlossomVNodeBlossomVNode. blossomParentReference of the blossom this node is contained in.private BlossomVNodeBlossomVEdge.BlossomNodesIterator. currentHelper variable, is used to determine whether currentNode has been returned or notprivate BlossomVNodeBlossomVTree.TreeNodeIterator. currentVariable to determine whethercurrentNodehas been returned or notprivate BlossomVNodeBlossomVEdge.BlossomNodesIterator. currentNodeThe node this iterator is currently onprivate BlossomVNodeBlossomVTree.TreeNodeIterator. currentNodeThe node this iterator is currently on(package private) BlossomVNodeBlossomVNode. firstTreeChildThe first child in the linked list of children of this node.(package private) BlossomVNode[]BlossomVEdge. headA two-element array of current endpoints of this edge.(package private) BlossomVNode[]BlossomVEdge. headOriginalA two-element array of original endpoints of this edge.private BlossomVNode[]BlossomVInitializer. nodesAn array of nodes that will be passed to the resulting state object(package private) BlossomVNode[]BlossomVState. nodesAn array of nodes of the graph.private BlossomVNodeBlossomVEdge.BlossomNodesIterator. rootBlossom's root(package private) BlossomVNodeBlossomVTree. rootThe root of this treeprivate BlossomVNodeBlossomVTree.TreeNodeIterator. treeRootA root of the subtree of a tree(package private) BlossomVNodeBlossomVNode. treeSiblingNextReference of the next tree sibling in the doubly linked list of children of the node parentEdge.getOpposite(this).(package private) BlossomVNodeBlossomVNode. treeSiblingPrevReference of the previous tree sibling in the doubly linked list of children of the node parentEdge.getOpposite(this).Fields in org.jgrapht.alg.matching.blossom.v5 with type parameters of type BlossomVNode Modifier and Type Field Description (package private) org.jheaps.AddressableHeap.Handle<java.lang.Double,BlossomVNode>BlossomVNode. handleNode from the heap this node is stored in(package private) org.jheaps.MergeableAddressableHeap<java.lang.Double,BlossomVNode>BlossomVTree. minusBlossomsThe heap of "-" blossoms of this treeMethods in org.jgrapht.alg.matching.blossom.v5 that return BlossomVNode Modifier and Type Method Description private BlossomVNodeBlossomVEdge.BlossomNodesIterator. advance()Advances this iterator to the next node in the blossomprivate BlossomVNodeBlossomVTree.TreeNodeIterator. advance()Advances the iterator to the next tree node(package private) BlossomVNodeBlossomVPrimalUpdater. findBlossomRoot(BlossomVEdge blossomFormingEdge)Finds a blossom root of the circuit created by theedge.private BlossomVNodeBlossomVInitializer. findBlossomRootInit(BlossomVEdge blossomFormingEdge)Finds blossom root during the fractional matching initializationBlossomVNodeBlossomVEdge. getCurrentOriginal(BlossomVNode endpoint)Returns the original endpoint of this edge for some currentendpoint.BlossomVNodeBlossomVEdge. getOpposite(BlossomVNode endpoint)Returns the opposite edge with respect to theendpoint.BlossomVNodeBlossomVNode. getOppositeMatched()Helper method, returns a node this node is matched to.BlossomVNodeBlossomVNode. getPenultimateBlossom()Computes and returns the penultimate blossom of this node, i.e.BlossomVNodeBlossomVNode. getPenultimateBlossomAndFixBlossomGrandparent()Computes and returns the penultimate blossom of this node.BlossomVNodeBlossomVNode. getTreeGrandparent()Helper method, returns the tree grandparent of this nodeBlossomVNodeBlossomVNode. getTreeParent()Helper method, returns the tree parent of this node or null if this node has no tree parentBlossomVNodeBlossomVEdge.BlossomNodesIterator. next()BlossomVNodeBlossomVTree.TreeNodeIterator. next()BlossomVNodeBlossomVPrimalUpdater. shrink(BlossomVEdge blossomFormingEdge, boolean immediateAugment)Performs shrink operation.Methods in org.jgrapht.alg.matching.blossom.v5 that return types with arguments of type BlossomVNode Modifier and Type Method Description private Pair<BlossomVNode,BlossomVNode>KolmogorovWeightedPerfectMatching. lca(BlossomVNode a, BlossomVNode b)Returns $(b, b)$ in the case where the verticesaandbhave a common ancestor blossom $b$.private Pair<BlossomVNode,BlossomVNode>KolmogorovWeightedPerfectMatching. lca(BlossomVNode a, BlossomVNode b)Returns $(b, b)$ in the case where the verticesaandbhave a common ancestor blossom $b$.Methods in org.jgrapht.alg.matching.blossom.v5 with parameters of type BlossomVNode Modifier and Type Method Description voidBlossomVNode. addChild(BlossomVNode child, BlossomVEdge parentEdge, boolean grow)Appends thechildto the end of the linked list of children of this node.BlossomVEdgeBlossomVInitializer. addEdge(BlossomVNode from, BlossomVNode to, double slack, int pos)Adds a new edge betweenfromandto.voidBlossomVTree. addMinusBlossom(BlossomVNode blossom)Ensures correct addition of a blossom to the heapprivate voidBlossomVInitializer. addToHead(org.jheaps.AddressableHeap<java.lang.Double,BlossomVEdge> heap, BlossomVNode node, BlossomVEdge bestEdge)Adds "best edges" to theheapprivate voidBlossomVPrimalUpdater. augmentBranch(BlossomVNode firstNode, BlossomVEdge augmentEdge)Converts a tree into a set of free matched edges.private voidBlossomVInitializer. augmentBranchInit(BlossomVNode treeRoot, BlossomVNode branchStart, BlossomVEdge augmentEdge)Augments the tree rooted attreeRootviaaugmentEdge.BlossomVEdge.BlossomNodesIteratorBlossomVEdge. blossomNodesIterator(BlossomVNode root)Returns a new instance of blossom nodes iteratorprivate voidBlossomVPrimalUpdater. clearIsMarkedAndSetIsOuter(BlossomVNode root, BlossomVNode start)Traverses the nodes in the tree fromstarttorootand sets isMarked and isOuter to falseprivate voidKolmogorovWeightedPerfectMatching. clearMarked(BlossomVNode node)Clears the marking ofnodeand all its ancestors up until the first unmarked vertex is encounteredvoidBlossomVPrimalUpdater. expand(BlossomVNode blossom, boolean immediateAugment)Performs expand operation.private BlossomVEdgeBlossomVPrimalUpdater. expandEvenBranch(BlossomVNode blossomRoot, BlossomVNode branchesEndpoint, BlossomVNode blossom)Expands an even branch of the blossom.private voidBlossomVPrimalUpdater. expandInfinityNode(BlossomVNode infinityNode, BlossomVTree tree)Expands an infinity node from the odd branchprivate voidBlossomVInitializer. expandInit(BlossomVNode blossomNode, BlossomVEdge blossomNodeMatched)Expands a 1/2-valued odd circuit.private voidBlossomVPrimalUpdater. expandMinusNode(BlossomVNode minusNode)Expands a minus node from the odd branch.private voidBlossomVPrimalUpdater. expandOddBranch(BlossomVNode blossomRoot, BlossomVNode branchesEndpoint, BlossomVTree tree)Expands the nodes on an odd branch.private BlossomVEdgeBlossomVPrimalUpdater. expandPlusNode(BlossomVNode plusNode)Changes dual information of theplusNodeand edge incident to it.private booleanBlossomVPrimalUpdater. forwardDirection(BlossomVNode blossomRoot, BlossomVNode branchesEndpoint)Checks whether the direction of blossomSibling references is suitable for the expand operation, i.e.private java.util.Set<V>KolmogorovWeightedPerfectMatching. getBlossomNodes(BlossomVNode pseudonode, java.util.Map<BlossomVNode,java.util.Set<V>> blossomNodes)Computes the set of original contracted vertices in thepseudonodeand puts computes value into theblossomNodes.BlossomVNodeBlossomVEdge. getCurrentOriginal(BlossomVNode endpoint)Returns the original endpoint of this edge for some currentendpoint.intBlossomVEdge. getDirFrom(BlossomVNode current)Returns the direction to the opposite node with respect to thecurrent.BlossomVNodeBlossomVEdge. getOpposite(BlossomVNode endpoint)Returns the opposite edge with respect to theendpoint.private Pair<BlossomVNode,BlossomVNode>KolmogorovWeightedPerfectMatching. lca(BlossomVNode a, BlossomVNode b)Returns $(b, b)$ in the case where the verticesaandbhave a common ancestor blossom $b$.voidBlossomVNode. moveChildrenTo(BlossomVNode blossom)Appends the child list of this node to the beginning of the child list of theblossom.voidBlossomVEdge. moveEdgeTail(BlossomVNode from, BlossomVNode to)Moves the tail of theedgefrom the nodefromto the nodetovoidBlossomVPrimalUpdater. printBlossomNodes(BlossomVNode blossomNode)PrintsblossomNodeand all its blossom siblings.private voidBlossomVPrimalUpdater. processMinusNodeGrow(BlossomVNode minusNode)Processes a minus node in the grow operation.private voidBlossomVPrimalUpdater. processPlusNodeGrow(BlossomVNode node, boolean recursiveGrow, boolean immediateAugment)Processes a plus node during the grow operation.private voidBlossomVInitializer. removeFromHeap(BlossomVNode node)Removes "best edge" fromheapvoidBlossomVTree. removeMinusBlossom(BlossomVNode blossom)Removes theblossomfrom the heap of "-" blossomsprivate voidBlossomVPrimalUpdater. reverseBlossomSiblings(BlossomVNode blossomNode)Reverses the direction of blossomSibling referencesprivate voidBlossomVPrimalUpdater. setBlossomSiblings(BlossomVNode blossomRoot, BlossomVEdge blossomFormingEdge)Creates a circular linked list of blossom nodes.private voidBlossomVInitializer. shrinkInit(BlossomVEdge blossomFormingEdge, BlossomVNode treeRoot)Forms a 1/2-valued odd circuit.private voidBlossomVPrimalUpdater. shrinkMinusNode(BlossomVNode minusNode, BlossomVNode blossom)Processes a minus node from an odd circuit in the shrink operation.private BlossomVEdgeBlossomVPrimalUpdater. shrinkPlusNode(BlossomVNode plusNode, BlossomVNode blossom)Processes a plus node on an odd circuit in the shrink operation.private doubleKolmogorovWeightedPerfectMatching. totalDual(BlossomVNode start, BlossomVNode end)Computes the sum of all duals fromstartinclusive toendinclusiveprivate voidBlossomVInitializer. updateDuals(org.jheaps.AddressableHeap<java.lang.Double,BlossomVEdge> heap, BlossomVNode root, double eps)Performs lazy delta spreading during the fractional matching initialization.private BlossomVEdgeBlossomVPrimalUpdater. updateTreeStructure(BlossomVNode blossomRoot, BlossomVEdge blossomFormingEdge, BlossomVNode blossom)Updates the tree structure in the shrink operation.Method parameters in org.jgrapht.alg.matching.blossom.v5 with type arguments of type BlossomVNode Modifier and Type Method Description private java.util.Set<V>KolmogorovWeightedPerfectMatching. getBlossomNodes(BlossomVNode pseudonode, java.util.Map<BlossomVNode,java.util.Set<V>> blossomNodes)Computes the set of original contracted vertices in thepseudonodeand puts computes value into theblossomNodes.Constructors in org.jgrapht.alg.matching.blossom.v5 with parameters of type BlossomVNode Constructor Description BlossomNodesIterator(BlossomVNode root, BlossomVEdge blossomFormingEdge)Constructs a new BlossomNodeIterator for therootandblossomFormingEdgeBlossomVState(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 stateBlossomVTree(BlossomVNode root)Constructs a new tree with therootTreeNodeIterator(BlossomVNode root)Constructs a new TreeNodeIterator for aroot.
-