Hostname: page-component-74656f9884-npj9w Total loading time: 0 Render date: 2026-11-07T11:59:16.465Z Has data issue: false hasContentIssue false

Approximation algorithms in combinatorial scientific computing

Published online by Cambridge University Press:  14 June 2019

Alex Pothen
Affiliation:
Department of Computer Science, Purdue University, West Lafayette, IN 47907, USA E-mail: apothen@purdue.edu
S. M. Ferdous
Affiliation:
Department of Computer Science, Purdue University, West Lafayette, IN 47907, USA E-mail: sferdou@purdue.edu
Fredrik Manne
Affiliation:
Department of Informatics, University of Bergen, N-5020 Bergen, Norway E-mail: fredrikm@ii.uib.no
Rights & Permissions [Opens in a new window]

Abstract

We survey recent work on approximation algorithms for computing degree-constrained subgraphs in graphs and their applications in combinatorial scientific computing. The problems we consider include maximization versions of cardinality matching, edge-weighted matching, vertex-weighted matching and edge-weighted $b$-matching, and minimization versions of weighted edge cover and $b$-edge cover. Exact algorithms for these problems are impractical for massive graphs with several millions of edges. For each problem we discuss theoretical foundations, the design of several linear or near-linear time approximation algorithms, their implementations on serial and parallel computers, and applications. Our focus is on practical algorithms that yield good performance on modern computer architectures with multiple threads and interconnected processors. We also include information about the software available for these problems.

Information

Type
Research Article
Copyright
© Cambridge University Press, 2019 
Figure 0

Figure 3.1. 2-augmenting paths and cycles.

Figure 1

Figure 3.2. Example graph for approximate weighted matching.

Figure 2

Table 3.1. Structural properties of graphs used for weighted matching, sorted in increasing order of edges.

Figure 3

Table 3.2. Comparing the run times of exact and approximation algorithms for maximum edge-weighted matching. Edge weights are from a uniform random distribution in the range $[1\,1000]$. Run times of LEDA without any initialization are reported in LEDA1, and for all other algorithms the ratios of the run time of LEDA1 to the other algorithm are presented. For the last problem in the set, LEDA1 did not complete in four hours, and LEDA with greedy initialization (LEDA2) is the baseline. LEDA3 is the LEDA matching algorithm with fractional matching initialization.

Figure 4

Table 3.3. Comparison of weights obtained by the exact and approximation algorithms for maximum edge-weighted matching. For each algorithm, we report the difference between one and the ratio of the weight computed by the approximation algorithm and the maximum weight obtained by the exact algorithm, expressed as a percentage.

Figure 5

Table 3.4. Comparison of cardinalities obtained by the maximum edge-weighted matching algorithm and the approximation algorithms. Note that this is not the cardinality obtained by a maximum cardinality matching. For each algorithm, we report the difference between one and the ratio of the cardinality of the matching computed by the approximation algorithm and the cardinality of the maximum edge-weighted matching, expressed as a percentage.

Figure 6

Figure 3.3. Run times for five $1/2$-approximation algorithms.

Figure 7

Figure 3.4. Speedup for Suitor, M1M2 and Local Max algorithms on the nlpkkt200 graph.

Figure 8

Table 3.5. Matching software libraries.

Figure 9

Figure 7.1. A small graph whose $b$-edge cover is to be computed.

Figure 10

Figure 7.2. A tight example for the Primal Dual algorithm.

Figure 11

Figure 7.3. A tight example for the $b$-Nearest Neighbour algorithm.

Figure 12

Table 7.1. Structural properties of our graphs listed in increasing order of edges.

Figure 13

Table 7.2. Comparison of weights of edge covers computed by approximation algorithms with respect to the exact algorithm.

Figure 14

Table 7.3. Relative performance of run times of approximation algorithms with respect to the exact algorithm for edge cover.

Figure 15

Table 7.4. Weight of $b$-edge covers computed by the Primal Dual algorithm. ‘Increase’ is the percentage of increase in weight of edge covers computed by the $b$-Nearest Neighbour algorithm with respect to those from the Primal Dual algorithm.

Figure 16

Figure 7.4. Relative performance of run times of the Primal Dual and $b$-Nearest Neighbour algorithms for $b$-edge cover with respect to the Lazy Greedy algorithm.

Figure 17

Table 7.5. A small example illustrating adaptive anonymity. From top to bottom: original input, dissimilarity matrix (Hamming distances) and anonymized output.

Figure 18

Table 9.1. Some of the exact and approximation algorithms for matching problems and their time complexity.

Figure 19

Table 9.2. Some of the exact and approximation algorithms for edge cover problems and their time complexity.