Table of Contents
Fetching ...

A Fully-dynamic Approximation Algorithm for Maximum Weight b-Matchings in Graphs

Fabian Brandt-Tumescheit, Frieda Gerharz, Henning Meyerhenke

TL;DR

Dyn-b-suitor is proposed, a dynamic algorithm for the weighted b-matching problem that supports both edge insertions and deletions, and it is proved that it computes the same solution as its static counterpart.

Abstract

Matching nodes in a graph G = (V, E) is a well-studied algorithmic problem with many applications. The b-matching problem is a generalizati on that allows to match a node with up to b neighbors. This allows more flexible connectivity patterns whenever vertices may have multiple associations. The algorithm b-suitor [Khan et al., SISC2016] is able to compute a (1/2)-approximation of a maximum weight b-matching in O(|E|) time. Since real-world graphs often change over time, fast dynamic methods for b-matching optimization are desirable. In this work, we propose Dyn-b-suitor, a dynamic algorithm for the weighted b-matching problem. As a non-trivial extension to the dynamic Suitor algorithm for 1-matchings [Angriman et al., JEA 2022], our approach computes (1/2)-approximate b-matchings by identifying and updating affected vertices without static recomputation. Our proposed algorithm is fully-dynamic, i. e., it supports both edge insertions and deletions, and we prove that it computes the same solution as its static counterpart. In extensive experiments on real-world benchmark graphs and generated instances, our dynamic algorithm yields significant savings compared to the sequential b-suitor, e. g., for batch updates with $10^3$ edges with an average acceleration factor of $10^3$. When comparing our sequential dynamic algorithm with the parallel (static) b-suitor on a 128-core machine, our dynamic algorithm is still $59$x to $10^4$ faster.

A Fully-dynamic Approximation Algorithm for Maximum Weight b-Matchings in Graphs

TL;DR

Dyn-b-suitor is proposed, a dynamic algorithm for the weighted b-matching problem that supports both edge insertions and deletions, and it is proved that it computes the same solution as its static counterpart.

Abstract

Matching nodes in a graph G = (V, E) is a well-studied algorithmic problem with many applications. The b-matching problem is a generalizati on that allows to match a node with up to b neighbors. This allows more flexible connectivity patterns whenever vertices may have multiple associations. The algorithm b-suitor [Khan et al., SISC2016] is able to compute a (1/2)-approximation of a maximum weight b-matching in O(|E|) time. Since real-world graphs often change over time, fast dynamic methods for b-matching optimization are desirable. In this work, we propose Dyn-b-suitor, a dynamic algorithm for the weighted b-matching problem. As a non-trivial extension to the dynamic Suitor algorithm for 1-matchings [Angriman et al., JEA 2022], our approach computes (1/2)-approximate b-matchings by identifying and updating affected vertices without static recomputation. Our proposed algorithm is fully-dynamic, i. e., it supports both edge insertions and deletions, and we prove that it computes the same solution as its static counterpart. In extensive experiments on real-world benchmark graphs and generated instances, our dynamic algorithm yields significant savings compared to the sequential b-suitor, e. g., for batch updates with edges with an average acceleration factor of . When comparing our sequential dynamic algorithm with the parallel (static) b-suitor on a 128-core machine, our dynamic algorithm is still x to faster.

Paper Structure

This paper contains 30 sections, 20 theorems, 2 equations, 9 figures, 2 tables, 6 algorithms.

Key Result

proposition thmcounterproposition

The $S$-queues of all nodes form a valid $b$-matching $M=\{\{u,v\} \in E~ \vert~ u \in S(v), v \in S(u)\}$. $M$ is a (1/2)-approximation of a (not necessarily unique) maximum weighted $b$-matching.

Figures (9)

  • Figure 1: Speedup for batches of size $10^3$ (edge insertion and edge removal combined). For all analysed networks, the average speedup increases with the value of $b$.
  • Figure 2: Process of the sequential b-suitor$(\frac{1}{2})$-approximation algorithm by Khan et al. khan2016efficient. Each subfigure shows the state after one node is handled by Algorithm \ref{['alg:static_suitor_main']}. For [after $v_0$], $\dots$, [after $v_4$], only new suitors are added to their respective priority queues $S$. In step [after $v_5$], a previous suitor from $v_3$ is removed, leading to an additional recursive step [final $v_2$] for $v_2$ in order to find an alternative suitor. For this instance, the algorithm produces the maximum weight $2$-matching.
  • Figure 3: Example of the identification of a loose end for edge insertions ($b=2$). $I$ denotes an insertion into $M^{(i)}$, while $R$ represents a removal from $M^{(i)}$. From left to right: (1) Insert edge $\{u,v\}$ with $\omega(u,v) > \max\{\omega(u,S(u).min), \omega(v,S(v).min)\}$, where $u$ and $v$ are saturated. (2) Update suitor lists $S^{(i)}$ of $u$ and $v$ and remove both nodes from the previous $S(u).min$ and $S(v).min$. (3) Traverse update path $P_u =(p^{(u)}_0=startU,\dots,p^{(u)}_3=startV)$, which ends at $startV$. (4) Traverse update path $P_v$ with $p^{(v)}_0=startV$. Assuming $\omega(p^{(v)}_0,v_l) > \omega(p^{(v)}_0,v_k)$, then $v_l$ is chosen as $p^{(v)}_1$. $P_v$ continues at $v_l$, leaving $v_k$ as unsaturated and identifying a loose end.
  • Figure 4: Example of the creation of a loose end for edge removal ($b=2$). $I$ denotes an insertion into $M^{(i)}$, while $R$ represents a removal from $M^{(i)}$. From left to right: (1) Remove edge $\{u,v\}$. (2) Update suitor lists $S^{(i)}$ of $u$ and $v$ and remove both nodes from the previous $S(u).min$ and $S(v).min$. $u$ and $v$ are locally affected after the removal. (3) Identify and traverse update path $P_u =(p^{(u)}_0=u,\dots,p^{(u)}_5=v)$, which ends at $v$. (4) Identify and traverse update path $P_v$ with $p^{(v)}_0=v$. Assume $\omega(p^{(v)}_0,v_l) > \omega(p^{(v)}_0,v_k)$, then $v_l$ is chosen as $p^{(v)}_1$. $P_v$ continues at $v_l$, leaving $v_k$ unsaturated and creating a loose end.
  • Figure 5: Number of affected nodes for Dyn-b-suitor for edge insertion for varying values of b ($1$, $2$, $3$, $10$, random) und batch sizes ($10^0$,$10^1$,$10^2$,$10^3$).
  • ...and 4 more figures

Theorems & Definitions (39)

  • proposition thmcounterproposition: khan2016efficient
  • definition thmcounterdefinition
  • theorem thmcountertheorem
  • proof
  • lemma thmcounterlemma
  • proof
  • definition thmcounterdefinition
  • lemma thmcounterlemma
  • proof
  • lemma thmcounterlemma
  • ...and 29 more