New Branching Rules: Improvements on Independent Set and Vertex Cover in Sparse Graphs

Reading time: 6 minute
...

📝 Original Info

  • Title: New Branching Rules: Improvements on Independent Set and Vertex Cover in Sparse Graphs
  • ArXiv ID: 0904.2712
  • Date: 2009-04-20
  • Authors: Researchers from original ArXiv paper

📝 Abstract

We present an $O^*(1.0919^n)$-time algorithm for finding a maximum independent set in an $n$-vertex graph with degree bounded by 3, which improves the previously known algorithm of running time $O^*(1.0977^n)$ by Bourgeois, Escoffier and Paschos [IWPEC 2008]. We also present an $O^*(1.1923^k)$-time algorithm to decide if a graph with degree bounded by 3 has a vertex cover of size $k$, which improves the previously known algorithm of running time $O^*(1.1939^k)$ by Chen, Kanj and Xia [ISAAC 2003]. Two new branching techniques, \emph{branching on a bottle} and \emph{branching on a 4-cycle}, are introduced, which help us to design simple and fast algorithms for the maximum independent set and minimum vertex cover problems and avoid tedious branching rules.

💡 Deep Analysis

Deep Dive into New Branching Rules: Improvements on Independent Set and Vertex Cover in Sparse Graphs.

We present an $O^*(1.0919^n)$-time algorithm for finding a maximum independent set in an $n$-vertex graph with degree bounded by 3, which improves the previously known algorithm of running time $O^*(1.0977^n)$ by Bourgeois, Escoffier and Paschos [IWPEC 2008]. We also present an $O^*(1.1923^k)$-time algorithm to decide if a graph with degree bounded by 3 has a vertex cover of size $k$, which improves the previously known algorithm of running time $O^*(1.1939^k)$ by Chen, Kanj and Xia [ISAAC 2003]. Two new branching techniques, \emph{branching on a bottle} and \emph{branching on a 4-cycle}, are introduced, which help us to design simple and fast algorithms for the maximum independent set and minimum vertex cover problems and avoid tedious branching rules.

📄 Full Content

The maximum independent set problem (MIS), to find a maximum set of vertices in a graph such that there is no edge between any two vertices in the set, is one of the basic NP-hard optimization problems and has been well studied in the literature, in particular in the line of research on worst-case analysis of algorithms for NP-hard optimization problems. In 1977, Tarjan and Trojanowski [1] published the first algorithm for this problem, which runs in O * (2 n/3 ) time and polynomial space. Later, the running time was improved to O * (2 0.304n ) by Jian [2]. Robson [3] obtained an O * (2 0.296n )-time polynomial-space algorithm and an O * (2 0.276n )-time exponential-space algorithm. In a technical report [4], Robson also claimed better running times. Recently, Fomin et al. [5] got a simple O * (2 0.288n )-time polynomial-space algorithm by using the "Measure and Conquer" method. There is also a considerable amount of contributions to the maximum independent set problem in sparse graphs, especially in degree-3 graphs [6], [7], [8], [9]. We summarize the results on low-degree graphs as well as general graphs in Table 1.

Running times References Notes Tarjan & Trojanowski O * (1.2600 n ) for MIS 1977 [1] n: number of vertices 1. Exact algorithms for the maximum independent set problem In the literature, there are several methods of designing algorithms for finding maximum independent sets in graphs. One method is to find a minimum vertex cover (a set of vertices such that each edge in the graph has at least one endpoint in the set), and then to get a maximum independent set by taking all the remaining vertices, such as the algorithms presented in [7], [13]. In this kind of algorithms, the dominating part of the running time is the running time for finding a minimum vertex cover. Another method is based on the search tree method. We will use a branch-and-reduce paradigm. We choose a parameter, such as the number of vertices or edges or others, as a measure of the size of the problem. When the parameter is zero or a negative number, the problem can be solved in polynomial time. We branch on the current graph G into serval graphs

, and a maximum independent set in G can be found in polynomial time if a maximum independent set in each of the l graphs G 1 , G 2 , • • • , G l is known. By this method, we can build up a search tree, and the exponential part of the running time of the algorithm is corresponding to the size of the search tree. The running time analysis leads to a linear recurrence for each node in the search tree that can be solved by using standard techniques. Let C(r) denote the worst-case size of the search tree when the parameter of graph G is r, then we get recurrence relation C(r) ≤ l i=1 C(r i ). Solving the recurrence, we get

x ri-r . As for the measure (the parameter r), a natural one is the number of vertices or edges in the graph. Most previous algorithms for the maximum independent set problem are analyzed by using the number of vertices as a measure [1], [2], [3], [5]. The number of edges is considered in Beigel’s algorithm [6]. There are also some other measures. Xiao et al. [8] used the number of degree-3 vertices as a measure to analyze algorithms and got an O * (1.1034 n )-time algorithm for MIS in degree-3 graphs. Unfortunately, that paper was published in Chinese. Recently, Razgon [12] also got an O * (1.1034 n )time algorithm for MIS in degree-3 graphs by measuring the number of degree-3 vertices. But the two algorithms are totally different. Fürer [11]

We shall try to be consistent in using the following notation. The number of vertices in a graph will be denoted by n and the number of degree-3 vertices (vertices of degree ≥ 4 will also be counted with a weight) by r. For a vertex v in a graph, d(v) is the degree of v, N (v) the set of all neighbors of v, N [v] = N (v) ∪ {v} the set of vertices with distance at most 1 from v, and N 2 (v) the set of vertices with distance exactly 2 from v. We say edge e is incident on a vertex set V ′ , if at least one endpoint of e is in V ′ . In our algorithm, when we remove a set of vertices, we also remove all the edges that are incident on it. Throughout the paper we use a modified O notation that suppresses all polynomially bounded factors. For two functions f and g, we write

, where poly(n) is a polynomial. Our algorithms are based on the branch-and-reduce paradigm. We will first apply some reduction rules to reduce the size of instances of the problem. Then we apply some branching rules to branch on the graph by including some vertices in the independent set or excluding some vertices from the independent set. In each branch, we will get a maximum independent set problem in a graph with a smaller measure. Next, we introduce the reduction rules and branching rules that will be used in our algorithms.

There are several standard preprocesses to reduce the size of instances of the problem. Folding a degree-1 or degree-2 vertex and removin

…(Full text truncated)…

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut