Using random spanning trees in survivable networks design
Blazej Wrobel, Dominik Bojko
TL;DR
The paper addresses constructing reliable networks by joining k uniform random spanning trees on the clique K_n to form a k-edge-connected graph, enabling scalable survivable network design. It develops exact and concentration results for the edge count S_k of the resulting graph, notably E[S_k] = (n(n-1)/2)[1 - (1 - 2/n)^k], and uses these insights to design a practical algorithm that replaces repeating edges to yield k edge-disjoint spanning trees and hence a k-edge-connected graph. The contributions include a detailed probabilistic analysis of common and repeating edges, a polynomial-time algorithm with running time O(kn log n) for tree generation and a replacement phase, and a 2-approximation guarantee for the unit-cost SNDP on K_n with uniform connectivity requirements (r_uv = k). By leveraging tree packing and Menger's Theorem, the work provides a scalable, randomized approach to SNDP in the clique setting with practical implications for designing affordable, survivable networks.
Abstract
We investigate a process of joining $k$ random spanning trees on a fixed clique $K_n$. The joined trees may not be disjoint and multiple edges are replaced by one simple edge. This process produces a simple graph $G$ on $n$~vertices with an edge set, which is a union of edge sets of the joined trees. We study a random variable $S_{k}$ of the number of edges in the generated graph $G$. The exact formula is derived for the expected value of the random variable $S_{k}$. In addition, an upper bound on the concentration coefficient of the random variable $S_{k}$ is provided. We use results of our analysis to design an algorithm to generate $k$-edge connected graphs for arbitrarily large values of $k \geq 2$. The designed algorithm solves a particular case of the Survivable Network Design Problem, where the cost of each edge is $c_{e} = 1$ and the connectivity requirement for each pair of vertices $u, v \in V(G)$ is $k$.The proposed algorithm is within a factor strictly less than $2$ of the optimal value (i.e., the number of edges in the generated graph) and its running time is $O(kn\log{n})$.
