A Simple Primal-Dual Approximation Algorithm for 2-Edge-Connected Spanning Subgraphs (1808.04651v2)
Abstract: We propose a simple and natural approximation algorithm for the problem of finding a 2-edge-connected spanning subgraph of minimum total edge cost in a graph. The algorithm maintains a spanning forest starting with an empty edge set. In each iteration, a new edge incident to a leaf is selected in a natural greedy manner and added to the forest. If this produces a cycle, this cycle is contracted. This growing phase ends when the graph has been contracted into a single node and a subsequent cleanup step removes redundant edges in reverse order. We analyze the algorithm using the primal-dual method showing that its solution value is at most 3 times the optimum. Although this only matches the ratio of existing primal-dual algorithms, we require only a single growing phase, thereby addressing a question by Williamson. Also, we consider our algorithm to be not only conceptually simpler than the known approximation algorithms but also easier to implement in its entirety. For n and m being the number of nodes and edges, respectively, it runs in O(min{nm, m + n2 log n}) time and O(m) space without data structures more sophisticated than binary heaps and graphs, and without graph algorithms beyond depth-first search.