Defined in File BSuitorMatcher.hpp
public NetworKit::BMatcher
(Class BMatcher)
B-Suitor matching finding algorithm.
Public Functions
Computes a 1/2-approximate maximum weight b-matching of an undirected weighted Graph G
using the sequential b-Suitor algorithm published by Khan et al. in “Efficient Approximation
Algorithms For Weighted B-Matching”, SIAM Journal on Scientific Computing, Vol. 38, Iss. 5 (2016).
G – An undirected graph.
b – A vector of b values that represents the max number of edges per vertex v in the b-Matching (b.at(v)).
G – An undirected graph.
b – A value b that represents the max number of edges per vertex in the b-Matching. Defaults to the ordinary 1-Matching.
G – An undirected graph.
path – A path to a file containing b values that represents the max number of edges per vertex in the b-Matching.
Runs the algorithm.
Protected Functions
Reads values from a file at path into the vector of b-values.
size –
path –
std::vector<count>
Iterates up to b times over the heaviest neighbors of node u and makes them to suitors if eligible.
u –
Finds the heaviest unmatched neighbor that u has not yet proposed to if it exists. For equally weighted edges w(u, t), w(u, v) and t < v, w(u, t) is considered smaller than w(u, v) to break ties.
y –
Node
Makes v a suitor of u and recursively calls itself for previous worse suitors of u that got replaced with their new best match.
u –
w –
v –
Checks the symmetry of pairs of nodes. It must hold that v is in suitors(u) iff u is in suitors(v).
Public Functions