A Branch-and-Reduce Algorithm for Finding a Minimum Independent Dominating Set
aa r X i v : . [ c s . D S ] S e p A Branch-and-Reduce Algorithm for Finding a MinimumIndependent Dominating Set ∗ Serge Gaspers † Mathieu Liedloff ‡ Abstract
An independent dominating set D of a graph G = ( V, E ) is a subset of vertices such thatevery vertex in V \ D has at least one neighbor in D and D is an independent set, i.e. no twovertices of D are adjacent in G . Finding a minimum independent dominating set in a graphis an NP-hard problem. Whereas it is hard to cope with this problem using parameterizedand approximation algorithms, there is a simple exact O (1 . n )-time algorithm solving theproblem by enumerating all maximal independent sets. In this paper we improve the latterresult, providing the first non trivial algorithm computing a minimum independent dominatingset of a graph in time O (1 . n ). Furthermore, we give a lower bound of Ω(1 . n ) on theworst-case running time of this algorithm, showing that the running time analysis is almosttight. During the last years the interest in the design of exact exponential time algorithms has grownsignificantly. Several nice surveys have been written on this subject. In Woeginger’s first survey[34], he presents the major techniques used to design exact exponential time algorithms. We alsorefer the reader to the survey of Fomin et al. [13] discussing some more recent techniques for thedesign and the analysis of exponential time algorithms. In particular, they discuss Measure &Conquer and lower bounds.In a graph G = ( V, E ), a subset of vertices S ⊆ V is independent if no two vertices of S sharean edge, and S is dominating if every vertex from V \ S has at least one neighbor in S . In the Maximum Independent Set problem (
MIS ), the input is a graph and the task is to find a largestindependent set in this graph. In the
Minimum Dominating Set problem (
MDS ), the input is agraph and the task is to find a smallest dominating set in this graph. A natural and well studiedcombination of these two problems asks for a subset of vertices of minimum cardinality that is bothindependent and dominating. This problem is called
Minimum Independent Dominating Set ( MIDS ). It is also known as
Minimum Maximal Independent Set , since every independentdominating set is a maximal independent set. Whereas there has been a lot of work on
MIS and
MDS in the field of exact algorithms, the best known exact algorithm for
MIDS – prior to ourwork – trivially enumerates all maximal independent sets.
Known results.
The
MIS problem was among the first problems shown to be NP-hard [16]. It isknown that a maximum independent set of a graph on n vertices can be computed in O (1 . n )time by combining a result due to Moon and Moser, who showed in 1965 that the number ofmaximal independent sets of a graph is upper bounded by 3 n/ [27] (see also [25]), and a resultdue to Johnson, Yannakakis and Papadimitriou, providing in [22] a polynomial delay algorithmto generate all maximal independent sets. Moreover many exact algorithms for this problem havebeen published, starting in 1977 by an O (1 . n ) algorithm by Tarjan and Trojanowski [31]. To ∗ A preliminary version of this paper appeared in the proceedings of WG 2006 [18]. † Center for Mathematical Modeling, Universidad de Chile, 8370459 Santiago, Chile. [email protected] ‡ Laboratoire d’Informatique Fondamentale d’Orl´eans, Universit´e d’Orl´eans, 45067 Orl´eans Cedex 2, France. [email protected]
MIS have been designed by Robson. Hisalgorithm from 1986 [29] has running time O (1 . n ) and his unpublished computer-generatedalgorithm from 2001 [30] has running time O (1 . n ). Among the currently leading polynomialspace algorithms, there is a very simple algorithm with running time O (1 . n ) by Fomin et al.[11, 14] from 2006, an O (1 . n ) time algorithm by Kneis et al. [23] from 2009, and a very recent O (1 . n ) time algorithm by Bourgeois et al. [3].The MDS problem is also well known to be NP-hard [16]. Until 2004, the only known exactexponential time algorithm to solve
MDS asked for trivially enumerating the 2 n subsets of vertices.The year 2004 saw a particular interest in providing some faster algorithms for solving this problem.Indeed, three papers with exact algorithms for MDS were published. In [15] Fomin et al. presentan O (1 . n ) time algorithm, in [28] Randerath and Schiermeyer establish an O (1 . n ) timealgorithm and Grandoni [20] obtains an O (1 . n ) time algorithm.In 2005, Fomin et al. [12, 14] use the Measure & Conquer approach to obtain an algorithm withrunning time O (1 . n ) and using polynomial space. By applying a memorization technique theyshow that this running time can be reduced to O (1 . n ) when allowing exponential space usage.Van Rooij and Bodlaender [32] further improved the polynomial-space algorithm to O (1 . n )and the exponential-space algorithm to O (1 . n ). By now, the fastest published algorithm isdue to Van Rooij et al. In [33], they provide a O (1 . n ) time needing exponential space to solvethe more general counting version of MDS , i.e. the problem of computing the number of distinctminimum dominating sets.It is known that a minimum independent dominating set (a mids, for short) can be found inpolynomial time for several graph classes like interval graphs [5], chordal graphs [10], cocompara-bility graphs [24] and AT-free graphs [4], whereas the problem remains NP-complete for bipartitegraphs [6] and comparability graphs [6]. Concerning approximation results, Halld´orsson proved in[21] that there is no constant ǫ >
MIDS can be approximated within a factor of n − ǫ in polynomial time, assuming P = N P . The same inapproximation result even holds for circlegraphs and bipartite graphs [8].The problem has also been considered in parameterized approximability. Downey et al. [9] haveshown that it is W [2]-hard to approximate k - Independent Dominating Set with a factor g ( k ),for any computable function g ( k ) ≥ k . In other words, unless W [2] = F P T , there is no algorithmwith running time f ( k ) · n O (1) (where f ( k ) is any computable function independent of n ) whicheither asserts that there is no independent dominating set of size at most k for a given graph G ,or otherwise asserts that there is one of size at most g ( k ), for any computable function g ( k ) ≥ k .The first exponential time algorithm for MIDS has been observed by Randerath and Schier-meyer [28]. They use the result due to Moon and Moser [27] as explained previously and analgorithm enumerating all the maximal independent sets to obtain an O (1 . n ) time algorithmfor MIDS . In 2006, an earlier conference version of this paper claimed an O (1 . n ) time algo-rithm [18]. However, a flaw concerning the main reduction rule was discovered by the authors andis repaired in the present paper. Very recently, Bourgeois et al. [2] proposed a branch-and-reduce O (1 . n ) time algorithm, reusing several of the ideas introduced in [18]. Our results.
In this paper we present an O (1 . n ) time algorithm for solving MIDS using theMeasure & Conquer approach to analyze its running time. As the bottleneck of the algorithm in[28] are the vertices of degree two, we develop several methods to handle them more efficiently suchas marking some vertices and a reduction described in Subsection 3.1 to a constraint satisfactionproblem. Combined with some elaborated branching rules, this enables us to lower bound shrewdlythe progress made by the algorithm at each branching step, and thus to obtain a polynomial-spacealgorithm with running time O (1 . n ). Furthermore, we obtain a very close lower bound ofΩ(1 . n ) on the running time of our algorithm, which is very rare for non trivial exponentialtime algorithms.This paper is organized as follows. In Section 2, we introduce the necessary concepts anddefinitions. Section 3 presents the algorithm for MIDS . We prove its correctness and an upperbound on its worst-case running time in Section 4. In Section 5, we establish a lower bound on itsworst-case running time, which is very close to the upper bound and we conclude with Section 6.2
Preliminaries
Let G = ( V, E ) be an undirected and simple graph. For a vertex v ∈ V we denote by N ( v ) theneighborhood of v and by N [ v ] = N ( v ) ∪ { v } the closed neighborhood of v . The degree d ( v ) of v is the cardinality of N ( v ). For a given subset of vertices S ⊆ V , G [ S ] denotes the subgraph of G induced by S , N ( S ) denotes the set of neighbors in V \ S of vertices in S and N [ S ] = N ( S ) ∪ S .We also define N S ( v ) as N ( v ) ∩ S , N S [ v ] as N [ v ] ∩ S , and d S ( v ) (called the S - degree of v ) as thecardinality of N S ( v ). In the same way, given two subsets of vertices S ⊆ V and X ⊆ V , we define N S ( X ) = N ( X ) ∩ S .A clique is a set S ⊆ V of pairwise adjacent vertices. A graph G = ( V, E ) is bipartite if V admits a partition into two independent sets. A bipartite graph G = ( V, E ) is complete bipartite if every vertex of one independent set is adjacent to every vertex of the other independent set. A connected component of a graph is a maximal subset of vertices inducing a connected subgraph.In a branch-and-reduce algorithm, a solution for the current problem instance is computed byrecursing on smaller subinstances such that an optimal solution, if one exists, is computed for atleast one subinstance. If the algorithm considers only one subinstance in a given case, we speak ofa reduction rule, otherwise of a branching rule.Consider a vertex u ∈ V of degree two with two non adjacent neighbors v and v . In sucha case, a branch-and-reduce algorithm will typically branch into three subcases when considering u : either u , or v , or v are in the solution set. In the third branch, one can consider that v isnot in the solution set as the second branch considers all solution sets containing v . In order tomemorize that v is not in the solution set but still needs to be dominated, we mark v . Definition 1. A marked graph G = ( F, M, E ) is a triple where F ∪ M denotes the set of verticesof G and E denotes the set of edges of G . The vertices in F are called free vertices and the onesin M marked vertices . Definition 2.
Given a marked graph G = ( F, M, E ), an independent dominating set D of G is asubset of free vertices such that D is an independent dominating set of the graph ( F ∪ M, E ). Remark.
It is possible that such an independent dominating set does not exist in a marked graph,for example if some marked vertex has no free neighbor.Finally, we introduce the notion of an induced marked subgraph . Definition 3.
Given a marked graph G = ( F, M, E ) and two subsets
S, T ⊆ ( F ∪ M ), an inducedmarked subgraph G [ S, T ] is the marked graph G ′ = ( S, T, E ′ ) where E ′ ⊆ E are the edges of G with both end points in S ∪ T .Notions like neighborhood and degree in a marked graph ( F, M, E ) are the same as in the corre-sponding simple graph ( F ∪ M, E ). In this section we present an algorithm solving
MIDS on marked graphs, assuming that no markedvertex has F -degree larger than 4.From the previous definitions it follows that a subset D ⊆ V is a mids of a graph G ′ = ( V, E )if and only if D is a mids of the marked graph G = ( V, ∅ , E ). Hence the algorithm of this section isable to solve the problem on simple graphs as well. Also due to the definitions, edges incident totwo marked vertices are irrelevant; throughout this paper we assume that there are no such edges.Given a marked graph G = ( F, M, E ), consider the graph G [ F ] induced by its free vertices. Inthe following subsection we consider the special case when G [ F ] is a disjoint union of cliques withsome additional properties. 3 .1 G [ F ] is a disjoint union of cliques Assume in this subsection that the graph G [ F ] is a disjoint union of cliques such that: • each clique has size at most 4, and • each marked vertex has at most 4 free neighbors.We will transform this instance G = ( F, M, E ) of
MIDS into an instance (
X, D, C ) of theConstraint Satisfaction Problem (
CSP ). Let us briefly recall some definitions about
CSP . Givena finite set X = { x , x , . . . , x n } of n variables over domains D ( x i ), 1 ≤ i ≤ n , and a set C of q constraints, CSP asks for an assignment of values to the variables, such that each variable isassigned a value from its domain, satisfying all the constraints. Formally, ( d, p )- CSP is defined asfollows:
Input: ( X, D, C ) where X = { x , x , . . . , x n } is a finite set of variables over domains D ( x i ) ofcardinality at most d , 1 ≤ i ≤ n , and C = { c , c , ..., c q } is a set of constraints. Eachconstraint c i ∈ C is a couple h t i , R i i where t i = h x i , x i , . . . , x i j i is a j -tuple of variables,with j ≤ p , and R i is a set of j -tuples of values over D ( x i ) × D ( x i ) × · · · × D ( x i j ). Question:
Is there a function f assigning to each variable x i ∈ X , 1 ≤ i ≤ n , a value of D ( x i )such that for each constraint c i , 1 ≤ i ≤ q , h f ( x i ) , ..., f ( x i j ) i ∈ R i ?Given a marked graph G = ( F, M, E ) fulfilling the previous conditions, we describe the con-struction of a (4 , CSP instance. We label the cliques K , K , . . . , K l of G [ F ] respectively by x , x , . . . , x l . For each clique K i , 1 ≤ i ≤ l , label its vertices from v i to v | K i | i . For each variable x i , 1 ≤ i ≤ l , we define its domain as D ( x i ) = { , , . . . , | K i |} .Let u i ∈ M be a marked vertex and let v k i , v k i , . . . , v k j i j be the free neighbors of u i . Thus, j ≤
4. Let t i = h x i , x i , . . . , x i j i be the j -tuple of variables corresponding respectively to thecliques containing v k i , v k i , . . . , v k j i j . Let R i be the set of all j -tuples h w i , w i , . . . , w i j i over D ( x i ) × D ( x i ) × · · · × D ( x i j ) such that for at least one r , 1 ≤ r ≤ j , the value of w i r is k r and { u, v k r i r } isan edge of the graph.Finally, each marked vertex u i leads to a constraint h t i , R i i of the set C . Due to the conditionson the given marked graph, the size of the domain of each variable is at most 4 and the number ofvariables involved in each constraint is at most 4.We now use the following theorem of Angelsmark [1] showing that it is possible to restrict ourattention to (2 , CSP . Theorem 4 (Theorem 11 of [1]) . If there exists a deterministic O ( α n ) time algorithm for solving ( e, p ) - CSP , then for all d > e , there exists a deterministic O (( d/e + ǫ ) n α n ) time algorithm forsolving ( d, p ) - CSP , for any ǫ > . The constructive proof of this theorem shows how to transform a ( d, p )- CSP instance on n variables into a set of ( e, p )- CSP instances on at most n variables each, such that the ( d, p )- CSP instance has a solution if and only if at least one of the ( e, p )- CSP instances has a solution. Thenumber of ( e, p )- CSP instances of this construction is bounded by Π i>e ( i/e + ǫ ) n i ≤ ( d/e + ǫ ) n ,where n i is the number of variables with domain size i in the ( d, p )- CSP instance and ǫ > , CSP instance into a set of Π i> ( i/ ǫ ) N i (2 , CSP instances, where N i is the number of cliques of size i in G [ F ]. Then, it is not hardto see that there exists a mids for G if and only if at least one of the (2 , CSP instances hasan assignment of the variables which satisfies all the constraints of this
CSP instance. Given asatisfying assignment f to such a CSP instance, the set S li =1 { v f ( x i ) i } is a solution to MIDS for G .We obtain the following theorem. 4 heorem 5. Let N , N and N be the number of variables (i.e. the number of cliques of G [ F ] )with domain size (resp. of size) , and , respectively. The corresponding CSP instance can besolved in time O ((4 / ǫ ) N · (3 / ǫ ) N · α N + N + N ) where O ( α n ) is the running time needed tosolve a (2 , - CSP instance on n variables, for any ǫ > . The theorem can be combined with the following result of Moser and Scheder [26] providing analgorithm for solving (2 , CSP . Theorem 6 ([26]) . Any (2 , - CSP instance can be solved deterministically in time O ((1 . ǫ ) n ) ,for any ǫ > . Corollary 7.
Let G = ( F, M, E ) be a marked graph such that G [ F ] is a disjoint union of cliques ofsize at most , and each marked vertex has F -degree at most 4. Let N i , ≤ i ≤ , be the numberof free vertices with i free neighbors in G (thus G [ F ] has N i cliques of size i + 1 ). A mids, if oneexists, can be computed in time O ((1 . ǫ ) N / · (2 .
25 + ǫ ) N / · (3 + ǫ ) N / ) or it can be decidedwithin the same running time that the marked graph has no mids, for any ǫ > . We remark that the procedure of Corollary 7 will not be a bottleneck in the final running timeanalysis of our algorithm, even if we use the 1 . n · n O (1) by Dantsin et al. [7] to solve (2 , CSP instances instead of Theorem 6.
In this subsection, we give Algorithm ids computing the size of a mids of a marked graph. Althoughthe number of branching rules is quite large it is fairly simple to check that the algorithm computesthe size of a mids (if one exists). It is also not difficult to transform ids into an algorithm thatactually outputs a mids. In the next section we prove the correctness and give a detailed analysisof the running time of Algorithm ids .Once it has selected a vertex u , the algorithm makes recursive calls (that is, it branches) onsubinstances of the marked graph. There are different ways the algorithm branches and we give themost common ones now. Let v , . . . , v d F ( u ) denote the free neighbors of u , ordered by increasing F -degree. The branching procedure branch all ( G, u ) explores all possibilities that u or a freeneighbor of u is in the solution set. It returns1 + min v ∈ N F [ u ] { ids ( G [ F \ N [ v ] , M \ N ( v )]) } . The branching procedure branch mark ( G, u ) additionally makes sure that the free neighbors of u are considered by increasing F -degree and when considering the possibility that v i is in the solutionset, it marks all vertices v j , j < i . It returns1 + min ids ( G [ F \ N [ u ] , M \ N ( u )]);min i =1 ..d F ( u ) ( ids ( G [ F \ ( N [ v i ] ∪ { v , . . . , v i − } ) , ( M ∪ { v , . . . , v i − } ) \ N ( v i )]) . Finally, the branching procedure branch one ( G, u ) considers the two possibilities where u is inthe solution set or where u is not in the solution set. In the recursive call corresponding to thesecond possibility, u is marked. The procedure returnsmin ( ids ( G [ F \ N [ u ] , M \ N ( u )]); ids ( G [ F \ { u } , M ∪ { u } ]) . The branching procedure branch all is favored over branch mark if branch mark wouldcreate marked vertices of degree at least 5. Thus, starting with a graph where all the markedvertices have F -degree at most 4, Algorithm ids will keep this invariant. This property allows usto use the procedure described in the previous subsection whenever the graph induced by its freevertices is a collection of cliques of size at most 4. The correctness and running time analysis of ids are described in the next section. 5 lgorithm ids( G )Input : A marked graph G = ( F, M, E ) with d F ( v ) ≤ v ∈ M . Output : The size of a mids of G . if ∃ u ∈ M s.t. d F ( u ) = 0 thenreturn ∞ (1) else if G [ F ] is a disjoint union of cliques thenif ∃ u ∈ F s.t. d F ( u ) ≥ thenreturn branch all ( G, u ) (2) else if ∃ u ∈ F s.t. d F ( u ) = 4 thenreturn branch one ( G, u ) (3) elsereturn the solution determined by the algorithm of Corollary 7 (4) else if ∃ u ∈ M s.t. d F ( u ) = 1 then let v be the free neighbor of u return ids ( G [ F \ N [ v ] , M \ N ( v )]) (5) else if ∃ a connected component B of G [ F ] s.t. | B | > ∧ G [ B ] is complete bipartite then let B be partitioned into two independent sets X and Y return min ( | X | + ids ( G [ F \ N [ X ] , M \ N ( X )]); | Y | + ids ( G [ F \ N [ Y ] , M \ N ( Y )]) (6) else if ∃ C ⊆ F s.t. | C | = 3 ∧ C is a clique ∧ ∃ ! v ∈ C s.t. d F ( v ) ≥ thenreturn min { ids ( G [ F \ N [ v ] , M \ N ( v )]); ids ( G [ F \ { v } , M ]) } (7) else choose u ∈ F such that(a) u is not contained in a connected component in G [ F ] that is a clique,(b) according to (a), u has minimum F -degree, and(c) according to (a) and (b), u has a neighbor in F of maximum F -degree. if d F ( u ) = 1 thenreturn branch all ( G, u ) (8) else if d F ( u ) = 2 thenif u has a neighbor of F -degree at most thenreturn branch mark ( G, u ) (9) elsereturn branch all ( G, u ) (10) else if d F ( u ) = 3 thenif all free neighbors of u have F -degree 3 then Let v ∈ N F [ u ] such that G [ N F ( v )] has at most 1 edge return branch one ( G, v ) (11) else if u has a neighbor v of F -degree 4 thenreturn branch one ( G, v ) (12) else if u has a neighbor v of F -degree 5 thenreturn min ids ( G [ F \ N [ u ] , M \ N ( u )]);1 + ids ( G [ F \ N [ v ] , M \ N ( v )]); ids ( G [ F \ { u, v } , M ∪ { u, v } ]) (13) else if u has two free neighbors of F -degree 3 thenif N F ( u ) is a clique then Let v ∈ N F ( u ) with maximum F -degree return min { ids ( G [ F \ N [ v ] , M \ N ( v )]); ids ( G [ F \ { v } , M ]) } (14) elsereturn branch mark ( G, u ) (15) elsereturn branch all ( G, u ) (16) else if d F ( u ) = 4 thenreturn branch one ( G, u ) (17) else // d F ( u ) ≥ return branch all ( G, u ) (18) Correctness and Analysis of the Algorithm
In our analysis, we assign so-called weights to free vertices. Free vertices having only markedneighbors can be handled without branching. Hence, it is an advantage when the F -degree of avertex decreases. The weights of the free vertices will therefore depend on their F -degree.Let n i denote the number of free vertices having F -degree i . For the running time analysis weconsider the following measure of the size of G : k = k ( G ) = X i ≥ w i n i ≤ n with the weights w i ∈ [0 , • w = 0, • w i = 1 for i ≥ • w ≤ w , and • ∆ w ≥ ∆ w ≥ ∆ w where ∆ w i = w i − w i − , i ∈ { , , } . Theorem 8.
Algorithm ids solves
MIDS in time O (1 . n ) .Proof. An instance I is atomic if Algorithm ids does not make a recursive call on input I . Let P [ k ]denote the maximum number of atomic subinstances recursively processed to compute a solutionfor an instance of size k . As the time spent in each call of ids , excluding the time spent by thecorresponding recursive calls, is polynomial, except for Case (4), it is sufficient to show that fora valid choice of the weights, P [ k ] = O (1 . k ), and that the time spent in Case (4) does notexceed P [ k ]. Each recursive call made by the algorithm is on an instance with at least one edgefewer, which means that the running time of ids can be upper bounded by a polynomial factor of P [ k ]. Moreover, as no reduction or branching rule increases k , P [ k ] can be bounded by analyzingrecurrences based on the measure of the created subinstances in those cases where the algorithmmakes at least 2 recursive calls. We will analyze these cases one by one. Case (1)
A marked vertex that has no free neighbor cannot be dominated. Thus, such aninstance has no independent dominating set.
Case (2)
In this case, G [ F ] is a disjoint union of cliques and u is a vertex from a clique of size ℓ ≥ G [ F ]. The branching branch all ( G, u ) creates ℓ subinstances whose measure is boundedby k − ℓw . The corresponding recurrence relation is P [ k ] ≤ ℓP [ k − ℓw ] . For ℓ ≥
6, the tightestof these recurrences is when ℓ = 6: P [ k ] ≤ P [ k − w ] . (1) Case (3)
In this case, G [ F ] is a disjoint union of cliques and u is a vertex from a clique of size5 in G [ F ]. The branching branch one ( G, u ) creates 2 subinstances whose measure is boundedby k − w and k − w , respectively. Note that the marked vertex which is created in the secondbranch has F -degree 4. The corresponding recurrence is P [ k ] ≤ P [ k − w ] + P [ k − w ] . (2) Case (4)
The graph induced by the free vertices is a disjoint union of cliques of size no morethan 4. Corollary 7 is applied on the remaining marked graph and we note that the number n i of vertices of F -degree i , 1 ≤ i ≤
3, in this graph is no more than n ≤ µ/w ≤ n/w , n ≤ µ/w ≤ n/w and n ≤ µ/w ≤ n/w with n + n + n ≤ n . Case (5)
A marked vertex u with exactly one free neighbor v must be dominated by v . Thus, v is added to the mids and all its neighbors are deleted.7 ase (6) If there is a subset B of free vertices such that G [ B ] induces a complete bipartitegraph and no vertex of B is adjacent to a free vertex outside B , then the algorithm branches intotwo subcases. Let X and Y be the two maximal independent sets of G [ B ]. Then a mids containseither X or Y . In both cases we delete B and the marked neighbors of either X or Y . The smallestpossible subset B satisfying the conditions of this case is a P , that is a path on three vertices, as | B | >
2. Note that all smaller complete bipartite graphs are cliques and will be handled by Case(4). Since we only count the number of free vertices, we obtain the following recurrence: P [ k ] ≤ P [ k − w − w ] . (3)It is clear that any complete bipartite component with more than three vertices would lead to abetter recurrence. Case (7)
If there is a subset C of three free vertices which form a clique and exactly one vertex v ∈ C has free neighbors outside C , the algorithm either includes v in the solution set or it excludesthis vertex. In the first branch, all the neighbors of v are deleted (including C ). In the secondbranch, note that v is not marked. Indeed, v ’s F -degree might be too high to be marked, and v ’sneighborhood contains a clique component in G [ F ] of which one vertex is in every independentdominating set of the resulting marked graph, making the marking of v superfluous. We distinguishtwo cases based on the number of free neighbors of some free vertex u ∈ N ( v ) \ C .1. Vertex u has one free neighbor. In the first branch, all of N [ v ] are deleted, and in the secondbranch, v is removed, u ’s F -degree decreases to 0, and the F -degree of both vertices in C \{ v } decreases to 1. This gives the recurrence: P [ k ] ≤ P [ k − w − w − w ] + P [ k + w − w − w ] . (4)2. Vertex u has F -degree at least 2. Then we obtain the recurrence: P [ k ] ≤ P [ k − w − w ] + P [ k + 2 w − w − w ] . (5) Case (8)
If there is a free vertex u such that d F ( u ) = 1, a mids either includes u or its freeneighbor v . Vertex v cannot have F -degree one because this would contradict the first choicecriterion (a) of u . For the analysis, we consider two cases:1. d F ( v ) = 2. Let x denote the other free neighbor of v . Note that d F ( x ) = 1 as this wouldhave been handled by Case (6). We consider again two subcases:(a) d F ( x ) = 2. When u is chosen in the independent dominating set, u and v are deletedand the degree of x decreases to one. When v is chosen in the independent dominat-ing set, u, v and x are deleted from the marked graph. So, we obtain the followingrecurrence for this case: P [ k ] ≤ P [ k − w ] + P [ k − w − w ] . (6)(b) d F ( x ) ≥
3. Vertices u and v are deleted in the first branch, and u , v and x aredeleted in the second branch. The recurrence for this subcase is: P [ k ] ≤ P [ k − w − w ] + P [ k − w − w − w ] . (7)2. d F ( v ) ≥
3. At least one free neighbor of v has F -degree at least 2, otherwise Case (6)would apply. Therefore the recurrence for this subcase is: P [ k ] ≤ P [ k − w − w ] + P [ k − w − w − w ] . (8) Case (9)
If there is a free vertex u such that d F ( u ) = 2 and u has a neighbor of F -degree atmost 4 (as the neighbors v , v of u are ordered by increasing F -degree, v has F -degree at most4), the algorithm uses branch mark ( G, u ) to branch into three subcases. Either u belongs to themids, or v is taken in the mids, or v is marked and v is taken in the mids. We distinguish threecases: 8. d F ( v ) = d F ( v ) = 2. In this case, due to the choice of the vertex u by the algorithm, allfree vertices of this connected component T in G [ F ] have F -degree 2. T cannot be a C (acycle on 4 vertices) as this is a complete bipartite graph and would have been handled byCase (6). In the branches where u or v belong to the mids, the three free vertices in N [ u ]or N [ v ] are deleted and two of their neighbors ( T is a cycle on at least 5 vertices) have their F -degree reduced from 2 to 1. In the branch where v is marked and v is added to the mids, N [ v ] is deleted and by Case (5), the other neighbor x of v is added to the mids, resultingin the deletion of N [ x ] as well. In total, at least 5 free vertices of F -degree 2 are deleted inthe third branch. Thus, we have the recurrence P [ k ] ≤ P [ k + 2 w − w ] + P [ k − w ] (9)for this case.2. d F ( v ) = 2 , d F ( v ) ≥
3. The vertices v and v are not adjacent, otherwise Case (7) wouldapply. In the last branch, v is marked and v is added to the solution. If v and v have acommon neighbor besides u , then the last branch is atomic because Case (1) applies as novertex can dominate v . Otherwise, the reduction rule of Case (5) applies in the last branchand the other neighbor x = u is added to the solution as well. Thus, we have the recurrence P [ k ] ≤ P [ k − w − w ] + P [ k − w ] + P [ k − w − w ] . (10)3. 3 ≤ d F ( v ) ≤
4. We distinguish between two cases depending on whether there is an edgebetween v and v .(a) v and v are not adjacent. Branching on u , v and v leads to the following recurrence: P [ k ] ≤ P [ k − w − w ] + P [ k − w − w ] + P [ k − w − w ] . (11)(b) v and v are adjacent. We distinguish two subcases depending on whether there is adegree-2 vertex in N ( u ).i. There is a degree-2 vertex in N ( u ). Then, P [ k ] ≤ P [ k + w − w − w ] + 2 P [ k − w − w ] . (12)ii. No vertex in N ( u ) has degree 2. Then, P [ k ] ≤ P [ k − w − w ] + 2 P [ k − w − w ] . (13) Case (10)
If there is a free vertex u such that d F ( u ) = 2 and none of the above cases apply,then v and v have degree at least 5 and the algorithm branches into the three subinstances of branch all ( G, u ): either u, v , or v belongs to the mids, leading to the recurrence P [ k ] ≤ P [ k − w − w ] + 2 P [ k − w − w ] . (14) Case (11)
If all neighbors of u have degree 3, then the connected component in G [ F ] containing u is 3-regular due to the selection criteria of u . As (by criterion (a)) this component is not a clique, N F ( u ) is not empty. Thus, there exists some v ∈ N F [ u ] such that G [ N F ( v )] has at most one edge.This means that there are at least 4 edges with one endpoint in N F ( v ) and the other endpoint in N F ( v ). If | N F ( v ) | = 2, the recurrence corresponding to the branching branch one ( G, v ) is P [ k ] ≤ P [ k + 2 w − w ] + P [ k + 3 w − w ] , (15)if | N F ( v ) | = 4 it is P [ k ] ≤ P [ k + 4 w − w ] + P [ k + 3 w − w ] , (16)and if | N F ( v ) | = 3 it is a mixture of the above two recurrences and is majorized by one or theother. 9 ase (12) If u has a neighbor v of F -degree 4, then the algorithm uses the branching procedure branch one ( G, v ). If v is taken in the mids, 5 vertices of degree at least 3 are removed from theinstance. If v is marked, the F -degree of u decreases from 3 to 2. The corresponding recurrence is P [ k ] ≤ P [ k − w ] + P [ k + w − w ] . (17) Case (13) If u has a neighbor v of F -degree 5, then the algorithm either takes u in the mids,or v , or it marks both u and v (note that v will have F -degree 4). The recurrence correspondingto this case is P [ k ] ≤ P [ k − w ] + P [ k − w ] + P [ k − w ] . (18) Case (14)
In this case, N F [ u ] is a clique and v is the only vertex from this clique that hasfree neighbors outside N F [ u ]. The algorithm either takes v in the mids or deletes it. Note that N F ( v ) includes a clique and that any mids of G [ F \ { v } , M ] contains one vertex from this clique,which makes the marking of v superfluous. P [ k ] ≤ P [ k − w ] + P [ k + 3 w − w ] . (19) Case (15)
We distinguish two cases based on the neighborhood of v .1. v is adjacent to v and v . Then, v is not adjacent to v , otherwise Case (14) would apply.In the second branch, v ’s F -degree drops to 1 and in the third branch, v ’s neighbor in N F ( u ) is also selected by Case (5). This gives the recurrence P [ k ] ≤ P [ k − w ] + P [ k + w − w ] + P [ k − w ] + P [ k − w ] . (20)2. v is not adjacent to v or to v . In the last branch, 7 vertices are deleted and one vertex ismarked, giving P [ k ] ≤ P [ k − w ] + P [ k − w ] . (21) Case (16)
In this case, u has at least two neighbors of degree at least 6. The recurrencecorresponding to the branching branch all ( G, u ) is P [ k ] ≤ P [ k − w ] + 2 P [ k − w ] . (22) Case (17) If u has degree 4, the algorithm branches along branch one ( G, u ), giving therecurrence P [ k ] ≤ P [ k − w ] + P [ k − w ] . (23) Case (18) If u has degree ℓ ≥
5, the algorithm branches along branch all ( G, u ). The cor-responding recurrence is P [ k ] ≤ ( ℓ + 1) P [ k − ( ℓ + 1) w ], the tightest of which is obtained for ℓ = 5: P [ k ] ≤ P [ k − w ] . (24)Finally the values of weights are computed with a convex optimization program [19] (see also[17]) to minimize the bound on the running time. Using the values w = 0 . w = 0 . P [ k ] = O (1 . k ). In particular by this choice ofthe weights, the running-time required by Corollary 7 to solve the CSP instance whenever Case(2) is applied is no more than O (1 . k ) (it would be bounded by O (1 . k ) if we used thealgorithm of Dantsin et al. [7] for solving (2,4)- CSP ). Thus, Algorithm ids solves
MIDS in time O (1 . n ).The tight recurrences of the latter proof (i.e. the worst case recurrences) are (7), (13), (16),and (18). 10igure 1: graph G l In order to analyze the progress of the algorithm during the computation of a mids, we used anon standard measure. In this way we have been able to determine an upper bound on the size ofthe subinstances recursively processed by the algorithm, and consequently we obtained an upperbound on the worst case running time of Algorithm ids . However the use of another measure or adifferent method of analysis could perhaps provide a “better upper bound” without changing thealgorithm but only improving the analysis.How far is the given upper bound of Theorem 8 from the best upper bound we can hope toobtain? In this section, we establish a lower bound on the worst case running time of our algorithm.This lower bound gives a really good estimation on the precision of the analysis. For example, in[12] (see also [14]) Fomin et al. obtain a O (1 . n ) time algorithm for solving the dominating setproblem and they exhibit a construction of a family of graphs giving a lower bound of Ω(1 . n )for its running time. They say that the upper bound of many exponential time algorithms is likelyto be overestimated only due to the choice of the measure for the analysis of the running time,and they note the gap between their upper and lower bound for their algorithm. However, for ouralgorithm we have the following result: Theorem 9.
Algorithm ids solves
MIDS in time
Ω(1 . n ) . To prove Theorem 9 on the lower bound of the worst-case running time of algorithm ids ,consider the graph G l = ( V l , E l ) (see Fig. 1) defined by: • V l = { u i , v i : 1 ≤ i ≤ l } , • E l = { u , v } ∪ (cid:8) { u i , v i } , { u i , u i − } , { v i , v i − } , { u i , v i − } : 2 ≤ i ≤ l (cid:9) .We denote by G ′ l = ( V, ∅ , E ) the marked graph corresponding to the graph G l = ( V, E ).For a marked graph G = ( F, M, E ) we define δ F = min u ∈ F { d F ( u ) } and M inDeg = { u ∈ F s.t. d F ( u ) = δ F } as the set of free vertices with smallest F -degree.We denote the highest F -degree of the free neighbors of the vertices in M inDeg by ∆ δ F =max (cid:8) d F ( v ) : v ∈ N F ( M inDeg ) (cid:9) .Let CandidateCase { u ∈ M inDeg : ∃ v ∈ N F ( u ) s.t. d F ( v ) = ∆ δ F } be the set of candidatevertices that ids can choose in Case (9). W.l.o.g. suppose that when | CandidateCase | ≥ ids would apply Case (9), it chooses the vertex with smallest index (e.g. if CandidateCase { u , v l } ,the algorithm would choose u ). Lemma 10.
Let G ′ l be the input of Algorithm ids . Suppose that ids only applies Case (9) in eachrecursive call (with respect to the previous rule for choosing a vertex). Then, in each call of ids where the remaining input graph has more than four vertices, one of the following two propertiesis fulfilled:(1) CandidateCase { u k , v l } for a certain k , ≤ k ≤ l − , and(i) the set of vertices S ≤ i CandidateCase { u , v l } for G ′ l and that Property (1) is verified.Suppose now that Property (1) is fulfilled. Then there exists an integer k , 1 ≤ k ≤ l − 1, suchthat CandidateCase { u k , v l } . Since ids applies Case (9) respecting the rule for choosing thevertex in CandidateCase 9, the algorithm chooses vertex u k . Then we branch on three subinstances:(b1) Take u k in the mids and remove N [ u k ]. Thus, the remaining free vertices are { v k +1 } ∪ S k +1
Given the graph G ′ l as input, as long as the remaining graph has more than fourvertices, Algorithm ids applies Case (9) in each recursive call.Proof. We prove this result also by induction. First, when the input of the algorithm is thegraph G ′ l , it is clear that none of Cases (1) to (8) can be applied. So, Case (9) is applied since CandidateCase = ∅ according to Lemma 10.Consider now a graph obtained from G ′ l by repeatedly branching using Case (9). By Lemma 10,the remaining graph has no marked vertices (this excludes that Cases (1) and (5) are applied). Ithas no clique component induced by the set of free vertices since the graph is connected and thereis no edge between u l − and v l (this excludes Cases (2)–(4)). The free vertices do not induce abipartite graph since { v l − , u l , v l } induces a C (this excludes Case (6)). There is no clique C suchthat only one vertex of C has neighbors outside C : the largest induced clique in the remaininggraph has size 3 and each of these cliques has at least two vertices having some neighbors outsidethe clique (this excludes Case (7)). Also, according to Lemma 10, the remaining graph has novertex of degree 1 (this excludes Case (8)) and CandidateCase = ∅ . Consequently, the algorithmapplies Case (9).Figure 2 gives a part of the search tree illustrating the fact that our algorithm recursivelybranches on three subinstances with respect to Case (9). Proof of Theorem 9. Consider the graph G ′ l and the search tree which results from branching usingCase (9) until k vertices, 1 ≤ k ≤ l , have been removed from the given input graph G ′ l ( G ′ l has 2 l vertices). Denote by L [ k ] the number of leaves in this search tree. It is not hard to see that thisleads to the following recurrence (see the notes in the proof of Lemma 10): L [ k ] = L [ k − 3] + L [ k − 4] + L [ k − L [ k ] ≥ . k . Consequently, the maximum number of leaves that a search tree for ids can contain, given an input graph on n vertices, is Ω(1 . n ).12igure 2: a part of the search tree In this paper we presented a non trivial algorithm solving the Minimum Independent Dominat-ing Set problem. Using a non standard measure on the size of the considered graph, we provedthat our algorithm achieves a running time of O (1 . n ). Moreover we showed that Ω(1 . n )is a lower bound on the running time of this algorithm by exhibiting a family of graphs for whichour algorithm has a high running time.A natural question here is: is it is possible to obtain a better upper bound on the runningtime of the presented algorithm by considering another measure or using other techniques. Or isit possible that this upper bound is tight? References [1] Angelsmark, O. Constructing Algorithms for Constraint Satisfaction and Related Problems :Methods and Applications, PhD thesis , Link¨oping University, Sweden , (2005).[2] Bourgeois, M., B. Escoffier, and V. Th. Paschos, Fast Algorithms for min independent domi-nating set, Proceedings of SIROCCO 2010 , LNCS , (2010), pp. 247–261.[3] Bourgeois, M., B. Escoffier, V. Th. Paschos and J. M. M. van Rooij, A Bottom-Up Method andFast Algorithms for max independent set, Proceedings of SWAT 2010 , LNCS , (2010),pp. 62–73.[4] Broersma, H., T. Kloks, D. Kratsch, and H. M¨uller, Independent sets in Asteroidal Triple-freegraphs, SIAM Journal on Discrete Mathematics , , (1999), pp. 276–287.[5] Chang, M.-S., Efficient algorithms for the domination problems on interval and circular-arcgraphs, SIAM Journal on Computing , , (1998), pp. 1671–1694.[6] Corneil, D.-G. and Y. Perl, Clustering and domination in perfect graphs, Discrete AppliedMathematics , , (1984), pp. 27–39.[7] Dantsin E., A. Goerdt, E.A. Hirsch, R. Kannan, J.M. Kleinberg, C.H. Papadimitriou,P. Raghavan, and U. Schning, A deterministic (2-2/(k+1))n algorithm for k-SAT based onlocal search, Theoretical Computer Science , , (2002), pp. 69–83.[8] Damian-Iordache, M. and S. V. Pemmaraju, Hardness of Approximating Independent Domi-nation in Circle Graphs, Proceedings of ISAAC 1999 , LNCS , (1999), pp. 56–69.[9] Downey, R. G., Fellows, M. R., and McCartin, C., Parameterized Approximation Problems, Proceedings of IWPEC 2006 , LNCS , (2006), pp. 121–129.[10] Farber, M., Independent domination in chordal graphs, Operation Research Letters , , (1982),pp. 134–138. 1311] Fomin, F. V., F. Grandoni, and D. Kratsch, Measure and Conquer: A Simple O (2 . n )Independent Set Algorithm, Proceedings of SODA 2006 , (2006), pp. 18–25.[12] Fomin, F. V., F. Grandoni, and D. Kratsch, Measure and conquer: Domination - A case study, Proceedings of ICALP 2005 , LNCS , (2005), pp. 192–203.[13] Fomin, F. V., F. Grandoni, and D. Kratsch, Some new techniques in design and analysis ofexact (exponential) algorithms, Bulletin of the EATCS , , (2005), pp. 47–77.[14] Fomin, F. V., F. Grandoni, and D. Kratsch, A measure & conquer approach for the analysisof exact algorithms, Journal of the ACM , , (2009).[15] Fomin, F. V., D. Kratsch, and G. J. Woeginger, Exact (exponential) algorithms for the dom-inating set problem, Proceedings of WG 2004 , LNCS , (2004), pp. 245–256.[16] Garey, M. R. and D. S. Johnson, Computers and intractability. A guide to the theory of NP-completeness . W.H. Freeman and Co., San Francisco, 1979.[17] Gaspers, S., Exponential Time Algorithms: Structures, Measures, and Bounds, PhD thesis,University of Bergen, Norway, (2008).[18] Gaspers, S., and M. Liedloff, A Branch-and-Reduce Algorithm for Finding a Minimum Inde-pendent Dominating Set in Graphs, Proceedings of WG 2006 , LNCS , (2006), pp. 78–89.[19] Gaspers, S., and G. B. Sorkin, A universally fastest algorithm for Max 2-Sat, Max 2-CSP, andeverything in between, Proceedings of SODA 2009 , SIAM , (2009), pp. 606–615.[20] Grandoni, F., A note on the complexity of minimum dominating set, Journal of DiscreteAlgorithms , , (2006), pp. 209–214.[21] Halld´orsson, M. M., Approximating the Minimum Maximal Independence Number, Informa-tion Processing Letters , , (1993), pp. 169–172.[22] Johnson, D. S., M. Yannakakis, and C. H. Papadimitriou, On generating all maximal inde-pendent sets, Information Processing Letters , , (1988), pp. 119–123.[23] Kneis, J., A. Langer and P. Rossmanith, A Fine-grained Analysis of a Simple IndependentSet Algorithm, Proceedings of FSTTCS 2009 , LIPIcs , (2009), pp. 287–298.[24] Kratsch, D., and L. Stewart, Domination on Cocomparability Graphs, SIAM Journal onDiscrete Mathematics , , (1993), pp. 400–417.[25] Miller, R. E., and D. E. Muller, A problem of maximum consistent subsets, IBM ResearchReport , RC-240 , J. T. Watson Research Center, Yorktown Heights, NY, 1960.[26] Moser, R. A., and D. Scheder, A Full Derandomization of Schoening’s k-SAT Algorithm, CoRR , abs/1008.4067, available on http://arxiv.org.[27] Moon, J. W., and L. Moser, On cliques in graphs, Israel Journal of Mathematics , , (1965),pp. 23–28.[28] Randerath, B., and I. Schiermeyer, Exact algorithms for Minimum Dominating Set, TechnicalReport zaik-469, Zentrum fur Angewandte Informatik, K¨oln, Germany, April 2004.[29] Robson, J. M., Algorithms for maximum independent sets, Journal of Algorithms , , (1986),pp. 425–440.[30] Robson, J. M., Finding a maximum independent set in time O (2 n/ ), Technical Report 1251-01, LaBRI, Universit´e Bordeaux I, 2001. 1431] Tarjan, R. E., and A. E. Trojanowski, Finding a maximum independent set, SIAM Journalon Computing , , (1977), pp. 537–546.[32] van Rooij, J. M. M., and H. L. Bodlaender, Design by Measure and Conquer, A Faster ExactAlgorithm for Dominating Set, Proceedings of STACS 2008 , LIPIcs , (2008), pp. 657–668.[33] van Rooij, J. M. M., J. Nederlof, and T. C. van Dijk, Inclusion/Exclusion Meets Measure andConquer, Proceedings of ESA 2009 , LNCS , (2009), pp. 554–565.[34] Woeginger, G. J., Exact algorithms for NP-hard problems: A survey, Combinatorial Opti-mization - Eureka, You Shrink! , LNCS2570