Graph Covering and Subgraph Problems
Total Page:16
File Type:pdf, Size:1020Kb
Graph Covering and Subgraph Problems Gabrovˇsek, Peter and Miheliˇc, Jurij Abstract: Combinatorial optimization prob- For each problem, we first present its for- lems and graph theory play an important role in mal definition and give its hardness of solving. several fields including logistics, artificial intel- Afterward, we also list several exact, heuristic ligence, software engineering, etc. In this pa- and approximation algorithms for solving it. per, we explore a subset of combinatorial graph problems which we placed into two groups, Our survey methodology is as follows. First namely, graph covering and subgraph problems. we investigated definitions in several generic 1 Here, the former include well-known dominat- sources such as online compendiums , encyclo- ing set and vertex cover problem, and the lat- pedias2 and books [1, 13, 14]. Afterward, we ter include clique and independent set prob- searched for the research papers on the focused lem. For each problem we give its definition, graph problems using Google scholar. Our goal report state-of-the-art exact algorithms as well was to supplement each problem with refer- as heuristic and approximation algorithms, and list real-world applications if we were able to ences to exact, heuristics and approximation obtain any. At the end of the paper, we also algorithms. Moreover, we also supplemented relate the problems among each other. our descriptions with real-world applications. Finally, we also collected a list of reductions Index Terms: combinatorial optimization, among the selected problems. graph covering, subgraph problems, exact al- Let us present a few basic notions used in gorithms, approximation algorithms the rest of the paper. An undirected graph G = (V, E) consist of a set of vertices V and a set of edges E ⊆ V × V . We also use n = |V | for 1. Introduction the number of vertices in the graph and m = |E| raphs are often used by computer scien- for the number of edges in the graph. An G tists and other researchers for modeling example of a graph is shown in Figure 1. various problems from practice. In particular, one can find them in areas such as social net- work analysis, wireless networks, gaming indus- try, advertising, bioinformatics [8, 26, 23, 27]. In this paper, we review several popular Figure 1: An example of a graph graph problems and their variants. We include covering problems where the goal is to select To describe the asymptotic complexity of either a subset of vertices or edges of the graph algorithms a well-known Oh-notation is used. in order to ”cover” the whole graph. Addition- We write f(n) = O(g(n)) and say that a func- ally, we also include problems, sometimes called tion f(n) is bounded from above by g(n) when subgraph problems, where the goal is to either there exists two constants c > 0 and n0 > 0 select such a subset of vertices or edges of the such that for all n > n0 it holds that graph that all the selected objects are either ad- |f(n)| ≤ c · |g(n)|. jacent or not-adjacent to each other. We also discuss various relations among the problems. For exponential time algorithms we oftentimes also use the O∗ notation, which is defined as Manuscript received May, 2019. The authors are with the Faculty of Computer and O∗(cn) = O(cn · poly(n)), Information Science, University of Ljubljana, Slovenia 1 (e-mail: [email protected]). https://www.nada.kth.se/ viggo/problemlist/ 2https://www.wikipedia.org/ where poly(n) in a polynomial in n. This no- 2.1 Dominating Set Problem tation allows us to ignore the polynomial factor A dominating set of a graph G = (V, E) is a in the overall exponential time complexity. subset S ⊆ V such that every vertex in V is In the paper, we also mention several either in S or is adjacent to at least one vertex polynomial-time approximation algorithms. A of S, i.e. problem may exhibit an approximation algo- rithm that guarantees a constant approximation ∀v ∈ V \ S ∃(u, v) ∈ E : u ∈ S ratio. We also say that such problems belong to the class APX (”approximable”) [1]. We also say that vertices of D cover (or dom- The rest of the paper is organized as fol- inate) vertices of the graph. An example of a lows. In section 2 we describe and analyze dominating set is shown in Figure 2. Here the graph covering problems. Afterward, in section vertices marked with red cover all vertices of 3 we describe and analyze subgraph problems. the given graph. In section 4 we summarize the paper by showing several relations among the problems described in the paper. Finally, we conclude the paper in Section 5. Figure 2: An example of a dominating set 2. Graph Covering Problems A minimum dominating set of a graph is In this section, we focus on graph covering a dominating set with the smallest number of problems where the task is to select some ob- vertices. The size of such minimum dominating jects, i.e., either vertices or edges, in such a set is oftentimes called domination number and way that the selected objects cover the whole is denoted with γ(G). The problem of finding graph, i.e., either all vertices or all edges of the a minimum dominating set is NP-hard [14]. graph. For both objects that are covering and Several variants of the problem exist. For objects that are covered, we have two possi- example, a connected dominating set is a dom- bilities, thus altogether we have four different inating set that is also a connected component. covering problems presented in Table 1. A minimum connected dominating set is equiv- alent to a maximum leaf spanning tree, where what is covered V E the goal is to find a spanning tree in a graph with the highest number of leaves [1]. dominating vertex S ⊆ V Various dominating set problems appear in set cover social networks, mobile networks, sensor net- edge edge works [23, 15], etc. Dominating sets algorithms S ⊆ E dominating cover what covers can also be used to solve other combinatorial set optimization problems, for example, k-center Table 1: Graph covering problems problem [21]. In particular, the problems are Algorithms. An exact algorithm, which finds a minimum dominating set by exhaustively enu- • dominating set: vertices cover vertices, merating all vertex subsets, has a computa- ∗ n • vertex cover: vertices cover edges, tional time complexity of O (2 ). If we tackle the problem with basic use of • edge cover: edges cover vertices, and Measure and Conquer method the running time improves to O∗(1.5259n) [13]. The fastest al- • edge dominating set: edges cover edges. gorithm we were able to find has a running time ∗ n In the rest of this section, we explore each of of O (1.4969 ) [25] and also uses a Measure the above-listed problems. and Conquer method with additional edge case analysis and optimization techniques. Minimum dominating set problem is in not of antipodal points, we can achieve the approx- AP X 1 the class which means that the problem imation factor of 2 − Θ √ [17]. For does not have an approximation algorithm with log(n) a constant approximation guarantee. In partic- other algorithms see also [20, 21]. ular, the quality depends on the problem size [16] and is approximable within the factor of 2.3 Edge Cover Problem 1 + log n. An edge cover of a graph G = (V, E) is a set of edges C such that each vertex in G is incident 2.2 Vertex Cover Problem with at least one edge in C, i.e., ∀v ∈ V, ∃e ∈ E, v ∈ e A vertex cover of a graph G = (V, E) is a . An example of the edge cover is subset S ⊆ V such that at least one endpoint shown in Figure 4. of each edge is in S, i.e., u ∈ S ∨ v ∈ S for all (u, v) ∈ E. An example of a vertex cover is shown in Figure 3. Figure 4: An example of an edge cover A minimum edge cover of a graph is an edge cover with the smallest amount of edges pos- Figure 3: An example of a vertex cover sible. The edge covering number ρ(G) is the In the minimum vertex cover problem, the size of the minimum edge cover. goal is to find a vertex cover with the small- est number of vertices. The size of such set is Algorithms. The smallest edge cover of a called vertex cover number and denoted with graph can be found in polynomial time [18]. τ(G). At first, we find a maximal matching which we The vertex cover problem has been used for then greedily extend to the solution. Thus the sequence alignment in biology and biochemistry computational complexity of such an algorithm 2 [3]. is O(n m). Algorithms. A trivial exact algorithm finds a 2.4 Edge Dominating Set Problem minimum vertex cover by exhaustive enumera- An edge dominating set of a graph G = (V, E) tion. It checks whether a vertex has to be in is a subset D ⊆ E such that every edge not in the solution or not. The computational time D is adjacent to at least one edge in D, i.e., complexity of this approach is O∗(2n). The vertex cover is one of the most popu- ∀(u, v) ∈ E ∃w ∈ V :(u, w) ∈ E ∨(v, w) ∈ E. lar fixed-parameter tractable (FPT) problems. Currently the best FPT algorithm finds a min- An example of edge dominating set is shown in imum vertex cover in O(1.28k + k · n) time, Figure 5.