On the parameterized complexity of b-chromatic number

On the parameterized complexity of b-chromatic number

Journal of Computer and System Sciences 84 (2017) 120–131 Contents lists available at ScienceDirect Journal of Computer and System Sciences www.else...

425KB Sizes 3 Downloads 60 Views

Journal of Computer and System Sciences 84 (2017) 120–131

Contents lists available at ScienceDirect

Journal of Computer and System Sciences www.elsevier.com/locate/jcss

On the parameterized complexity of b-chromatic number ✩ Fahad Panolan a,∗ , Geevarghese Philip b , Saket Saurabh a,c a b c

The Institute of Mathematical Sciences, HBNI, Chennai, India Chennai Mathematical Institute, Chennai, India Department of Informatics, University of Bergen, Norway

a r t i c l e

i n f o

Article history: Received 20 September 2015 Received in revised form 29 September 2016 Accepted 30 September 2016 Available online 11 October 2016 Keywords: b-Chromatic number Exact algorithm Parameterized complexity

a b s t r a c t The b-chromatic number of a graph G, χb (G ), is the largest integer k such that G has a k-vertex coloring with the property that each color class has a vertex which is adjacent to at least one vertex in each of the other color classes. In the b-Chromatic Number problem, the objective is to decide whether χb (G ) ≥ k. Testing whether χb (G ) = (G ) + 1, where (G ) is the maximum degree of a graph, itself is NP-complete even for connected bipartite graphs (Kratochvíl, Tuza and Voigt, WG 2002). We show that b-Chromatic Number is W[1]-hard when parameterized by k, resolving the open question posed by Havet and Sampaio (Algorithmica 2013). When k = (G ) + 1, we design an algorithm for b-Chromatic

Number running in time 2O(k log k) nO(1) . Finally, we show that b-Chromatic Number for an n-vertex graph can be solved in time O (3n n4 log n). © 2016 Elsevier Inc. All rights reserved. 2

1. Introduction Graph coloring (proper vertex coloring), is an assignment of colors to the vertices of a graph such that no edge connects two identically colored vertices. In other words graph coloring is a partition of vertex set into independent sets. A proper vertex coloring using k colors is called a k-vertex coloring. The least number of colors required for a proper vertex coloring of a graph G is called the chromatic number of G. The most common question about graph coloring is – “what is the chromatic number of a graph”. This question has received a lot of attention in graph theory and algorithms. The study of graph coloring led to the four color theorem in planar graphs by Appel and Haken [2], the study of chromatic polynomial introduced by Birkhoff, which was generalized to the Tutte polynomial by Tutte, and has inspired further graph-theoretic concepts. Graph coloring has been studied as an algorithmic problem since the early 1970s. The chromatic number problem is one of Karp’s 21 NP-complete problems from 1972 [3]. An exact algorithm to compute the chromatic number of a graph dates back to 1976. Lawler [4] gave an algorithm for finding the chromatic number running in time 2.4423n nO(1) . Finally, after 30 years, using the principle of inclusion–exclusion Björklund et al. [5] gave an algorithm for the chromatic number problem running in time 2n nO(1) . This is still the fastest known exact algorithm to compute the chromatic number of a graph. Not only finding the chromatic number but also different variations of graph coloring have been studied in the literature. A complete coloring of a graph G is a proper vertex coloring such that no two color classes together form an independent set. The parameter achromatic number of a graph G is the largest integer k such that there is a complete coloring of G using k colors. Irving and Manlove [6] introduced b-chromatic number, another parameter related to graph coloring.



*

A preliminary version of this paper has appeared in IPEC 2015 [1]. Corresponding author. E-mail address: [email protected] (F. Panolan).

http://dx.doi.org/10.1016/j.jcss.2016.09.012 0022-0000/© 2016 Elsevier Inc. All rights reserved.

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

121

Definition 1.1 (b-Chromatic number). The b-chromatic number of a graph G, denoted by χb (G ), is the largest integer k such that G has a k-vertex coloring with the property that each color class has a vertex which is adjacent to at least one vertex in each of the other color classes. Such a coloring is called a b-coloring. Irving and Manlove showed that determining the b-chromatic number is NP-complete for general graphs, but polynomial time solvable for trees [6]. From the definition of the b-chromatic number it is clear that χb (G ) ≤ (G ) + 1, where (G ) is the maximum degree of the graph G. Kratochvíl et al. [7] showed that determining whether χb (G ) = (G ) + 1 is NP-hard even for connected bipartite graphs. Havet et al. [8] showed that the b-chromatic number can be computed in polynomial time for split graphs and it is NP-hard for connected chordal graphs. Regarding approximation algorithms for the problem, Galcík et al. [9] showed that the b-chromatic number of an n-vertex graph can not be approximated within a factor n1/4− for any constant  > 0, in polynomial time, unless P=NP. In this work we address the algorithmic question of the b-chromatic number in the realm of parameterized complexity and exact exponential time algorithms. b-Chromatic Number Input: An n-vertex graph G and an integer k Question: Is the b-chromatic number of G at least k

Parameter: k

In parameterized complexity the running time of an algorithm is measured in terms of multiple parameters of the input. A parameterized problem is a subset  ⊆  ∗ × N, where  is a finite alphabet and N is the set of natural numbers. We say that a parameterized problem  is fixed parameter tractable (FPT) if there is an algorithm for the problem  running in time f (k)|x|O(1) on input (x, k), where f is an arbitrary function depending only on k and |x| is the length of x. For a detailed overview of parameterized complexity reader is referred to monographs [10,11]. In the parameterized complexity framework, the b-Chromatic Number problem is studied with a dual parameter by Havet et al. [12]. In particular, they show that one can decide whether χb (G ) ≥ n − k in time 2O(k log k) nO(1) and asked the question whether b-Chromatic Number is FPT when parameterized by k. Recently, Effantin et al. [13] studied a relaxed version of b-coloring and repeated the question about the parameterized complexity of b-Chromatic Number. In this work we answer this question negatively, by showing that b-Chromatic Number is W[1]-hard. But, when k = (G ) + 1, we design an algorithm for b-Chromatic Number 2 running in time 2O(k log k) nO(1) . Finally we show that b-Chromatic Number for an n-vertex graph can be solved in time n 4 O(3 n log n). Our methods. To show b-Chromatic Number is W[1]-hard, when parameterized by k, we give an FPT-reduction from MultiColored Independent Set, which is very well known to be W[1]-hard [11]. When k = (G ) + 1, to get an FPT algorithm for b-Chromatic Number, we first show that it is enough to find C ⊆ V (G ) such that χb (G [C ]) = k (we call such a subset C as b-chromatic core of order k). Then we give a polynomial kernel for the problem of finding b-chromatic core of order (G ) + 1, which leads to an FPT algorithm for b-Chromatic Number when k = (G ) + 1. For the exact exponential time algorithm for b-Chromatic Number, we reduce the problem to many instances of single variate polynomial multiplication of degree 2n . 2. Preliminaries We use “graph” to denote simple graphs without self-loops, directions, or labels. We use V (G ), E (G ) and (G ), respectively, to denote the vertex set, edge set and maximum degree of a graph G. We also use G = ( V , E ) to denote a graph G on vertex set V and edge set E. For v , u ∈ V (G ) and V  ⊆ V (G ), we use G [ V  ] to denote the subgraph of G induced on V  , N [ v ] = {u : ( v , u ) ∈ E (G )} ∪ { v } and d(u , v ) is the shortest distance between u and v. For a graph G and a b-coloring of G with color classes C 1 , . . . , C k , we say a vertex v ∈ C i is a dominating vertex (dominator) for the color class C i if v is adjacent to a vertex in C j for each j = i. We use [n] to denote the set {1, 2, . . . , n}. We use to denote the disjoint union of sets: for any two sets A , B, the set A B is defined only if ( A ∩ B ) = ∅, and in this case ( A B ) = ( A ∪ B ). We assume that associates to the left; that is,  we write 1≤i ≤n A i = A 1 A 2 A 3 · · · A n to mean (· · · (( A 1 A 2 ) A 3 ) · · · A n ). Further, every use of in an expression carries with it the implicit assertion that the two sets involved are disjoint. If A , B are binary strings, then by A + B we mean the integer val( A ) + val( B ) where for a binary string X the expression val( X ) denotes the integer of which X is a binary representation. Let U = {u 1 , u 2 , . . . , un } be a set of cardinality n, and let S ⊆ U . The characteristic vector χ ( S ) of S with respect to U is the binary string with |U | = n bits whose th bit, for 1 ≤  ≤ n, is 1 if element u  belongs to set S, and 0 otherwise. We use N to denote the set of non-negative integers. The Hamming weight H(r ) of a binary string r is the number of 1s in r. For a finite set U , a subset S ⊆ U , and the characteristic vector χ ( S ) of S with respect to U , observe that H(χ ( S )) = | S |. We define the Hamming weight of n ∈ N to be the number H(n) of the number of 1s in a binary representation of n. Note that an integer n ∈ N does not have a unique binary representation, since we can pad any such representation with zeroes on the left without changing its numerical value. We call the total number of bits in a binary representation r of n the width of r.

122

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

Lemma 2.1. Let S 1 , S 2 be two disjoint subsets of a set U = {u 1 , u 2 , . . . , un }, and let S = S 1 S 2 . Then 1. χ ( S ) = χ ( S 1 ) + χ ( S 2 ) 2. χ ( S 1 ) + χ ( S 2 ) has a binary representation of width n 3. H(χ ( S )) = H(χ ( S 1 )) + H(χ ( S 2 )) Proof. Observe first that by definition, each of χ ( S ), χ ( S 1 ), χ ( S 2 ) is a binary representation of width n. Let a1 a2 . . . an , χ ( S 1 ) = b1 b2 . . . bn , χ ( S 2 ) = c 1 c 2 . . . cn . Now for each 1 ≤ i ≤ n:

χ (S) =

(i) Since S is the union of S 1 and S 2 , bit ai is 1 if and only if at least one of the two bits b i , c i is 1. (ii) Since ( S 1 ∩ S 2 ) = ∅, at most one of b i , c i is 1. (iii) From (i) and (ii), bit ai is 1 if and only if exactly one of the two bits b i , c i is 1. Let T = χ ( S 1 ) + χ ( S 2 ). From (ii) we get that T has a binary representation t of width n, since there is no overflow at any bit position (since no position has two 1s) when we add χ ( S 1 ) and χ ( S 2 ) as binary numbers. Further, for each 1 ≤ i ≤ n the ith bit of t is 1 if and only if exactly one of the two bits b i , c i is 1. It follows from (iii) that t is identical to χ ( S ), and this together with the above arguments implies all the three claims in the Lemma. 2

n

We make extensive use of single-variate polynomials with integer coefficients. Let P = i =0 ai xi be such a polynomial. We say that polynomial P contains monomial xi , or that monomial xi is present in polynomial P , if the coefficient ai of xi is not zero. We say that polynomial P  is the representative polynomial of P if 

P =

n 



i

b i x where b i =

i =0

1 if ai = 0 0

otherwise.

That is, the representative polynomial remembers just the degrees of the monomials which are present in P , and forgets their coefficients. For an h ∈ N, we define the Hamming projection of polynomial P to h to be

Hh ( P ) =

n  i =0



i

b i x where b i =

ai

if H(i ) = h

0

otherwise.

That is, Hh ( P ) is the sum of all those monomials in P whose degrees have Hamming weight h. To obtain the stated running time for our exponential-time algorithm, we make use of the fast algorithm for multiplying polynomials which is based on the Fast Fourier Transform. Lemma 2.2. ([14]) Two polynomials of degree at most n over any commutative ring R can be multiplied using O (n log n log log n) additions and multiplications in R. 3. Hardness In this section we show that b-Chromatic Number is W[1]-hard by giving an FPT-reduction from Multi-Colored Independent Set. Multi-Colored Independent Set Parameter: k Input: A k-partite graph G with its k-partition V 1 . . . V k of V (G ) Question: Is there an independent set of size k containing one vertex from each V i ? Theorem 1. There is a polynomial time algorithm that given an instance G = ( V 1 . . . V k , E ) of Multi-Colored Independent Set, constructs an instance (G  , 2k + 1) of b-Chromatic Number such that G is a Yes instance of Multi-Colored Independent Set if and only if (G  , 2k + 1) is a Yes instance of b-Chromatic Number. Proof. Let G be an instance of Multi-Colored Independent Set, with its k-partition V 1 . . . V k . Construction. We construct a graph G  from G as follows. The vertex set of G  , V (G  ) = V (G ) ∪ A ∪ B ∪ C ∪ {s}, where A = {a1 , . . . , ak }, B = {b1 , . . . , bk } and C = {c 1 , . . . , ck }. The edge set E (G  ) contains E (G ) and the following sets of new edges (see Fig. 1).

• {(ai , a j ) | i = j } (i.e. A forms a clique), • {(c i , c j ) | i = j } (i.e. C forms a clique), • {(ai , c j ) | 1 ≤ i , j ≤ k} (i.e. A ∪ C forms a clique),

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

123

Fig. 1. The graph G  constructed from the input instance G = ( V 1 . . . V k , E ) of Multi-Colored Independent Set. The thick edges represent all possible edges between two corresponding sets of vertices.

• • • •

{(ai , b j ) | i = j }, {(ai , v ) | v ∈ V i }, {(c i , v ) | v ∈ V (G ) \ V i }, {(s, bi ), (s, c i ) | 1 ≤ i ≤ k}.

Completeness. Suppose G is a Yes instance of Multi-Colored Independent Set. Let I = { v 1 , . . . , v k } be an independent set such that v i ∈ V i for all i ∈ [k]. Now we give a b-coloring of G  using 2k + 1 colors as follows. We define 2k + 1 color classes – C 0 , C 1 , . . . , C 2k . The color class C 0 = I ∪ {s}. For all 1 ≤ i ≤ k, C i = ( V i ∪ {c i }) \ { v i }. For all k + 1 ≤ i ≤ 2k, C i = {ai , b i }. Note that for all 0 ≤ i ≤ 2k, C i is an independent set in G  and C 0 C 1 . . . C 2k = V (G  ). Now we show that each color class has a dominating vertex. For color class C 0 , the vertex s is a dominating vertex, because s is adjacent to all the vertices in the set B ∪ C . For each 1 ≤ i ≤ k, the vertex c i is the dominating vertex of the color class C i , because it is adjacent to the vertices A ∪ {s} and C \ {c i }. For each k + 1 ≤ i ≤ 2k, ai is the dominating vertex for the color class C i , because it is adjacent to all the vertices in C ∪ ( A \ {ai }) and the vertex v i in the color class C 0 . Soundness. Let (G  , 2k + 1) be a Yes instance of b-Chromatic Number. Let φ be a b-coloring for the graph G  using at least 2k + 1 colors. Since A ∪ C is a clique, all the vertices in A ∪ C are colored differently by φ . For 1 ≤ i ≤ k, let C i be the color class which contains the vertex c i and for each k + 1 ≤ i ≤ 2k, let C i be the color class which contains the vertex ai . Let C 0 be an arbitrary color class other that C 1 , . . . , C 2k in the coloring φ . First note that since the degree of any vertex in B is k, no vertex in B can be a dominating vertex for any color class. Now consider the following claim. Claim 3.1. No vertex u ∈ V (G ) can be a dominating vertex for any of the color classes C 0 , C k+1 , C k+2 , . . . , C 2k . Proof. Suppose u ∈ V (G ) is a dominating vertex for the color class C j for some j ∈ {0, k + 1, k + 2, . . . , 2k}. Let u ∈ V i for some 1 ≤ i ≤ k. Consider the color class C i . Note that c i ∈ C i . This implies that C i \ {c i } ⊆ V i ∪ B, because the nonneighborhood of c i is V i ∪ B. But since u ∈ V i , u is not adjacent to any vertex in V i ∪ B. This contradicts the fact that u is a dominating vertex for C j . 2 Since C 0 is disjoint from A ∪ C and by Claim 3.1, we can conclude that s is the dominating vertex for C 0 . Also note that for any k + 1 ≤ i ≤ 2k, C i is disjoint from ( A ∪ C ∪ {s}) \ {ai }. By Claim 3.1, this implies that ai is the dominating vertex for the class C i . Since ai is a dominating vertex for the class C i for each k + 1 ≤ i ≤ 2k, there is a vertex v in C 0 such that (ai , v ) ∈ E (G  ). Since C 0 ∩ ( A ∪ B ∪ C ) = ∅ (because s ∈ C 0 ), we have that v ∈ V i −k . This implies that for each k + 1 ≤ i ≤ 2k, there is a vertex v ∈ V i −k such that v ∈ C 0 . This implies that G has an independent set of size k containing one vertex from each V j for 1 ≤ j ≤ k. This completes the proof of the theorem. 2 An interesting corollary from the reduction is that the problem remains W[1]-hard when the set of dominators is fixed, so this part is not what makes the problem hard.

124

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

4. FPT algorithm for deciding whether χb ( G ) = ( G ) + 1 In this section we design a parameterized algorithm for b-Chromatic Number to decide whether χb (G ) = (G ) + 1. For this section we set k = (G ) + 1. Towards this we define a notion of b-chromatic-core. Given a graph G, and a positive integer , a set C ⊆ V (G ) is called a b-chromatic-core of order  if χb (G [C ]) ≥ . Observe that a minimal set such that χb (G [C ]) ≥  has size upper bounded by 2 . We start by showing that for the case, when we want to test whether χb (G ) = (G ) + 1 = k, it is sufficient to find a b-chromatic-core of order k. Lemma 4.1. Let G be a graph. Then χb (G ) = k if and only if G has a b-chromatic-core of order k. Here k = (G ) + 1. Proof. We first give the proof for the forward direction. Assume that

χb (G ) = k. This implies that there exists a partition j

of V (G ) into independent sets I 1 , · · · , I k such that each of I j , 1 ≤ j ≤ k, contains a vertex v j such that it has a neighbor u p j { v j } ∪{u p

k

in independent set I p , p = j. Let C j = | p ∈ {1, . . . , k} \{ j }}. We take C = i =1 C i . This is clearly a b-chromatic-core of order k. This proves the forward direction. For the reverse direction assume that G has a b-chromatic-core C of order k. By the definition of b-chromatic-core we have that χb (G [C ]) ≥ k. Since χb (G [C ]) ≤ (G ) + 1 we have that χb (G [C ]) = k. Let C 1 , . . . , C k be the partition of C witnessing the fact that χb (G [C ]) = k. Now we will show that we can extend this partition to the vertex set of G. Let w 1 , . . . , w q denote the vertices of V (G ) \ C . We iteratively go through the vertices in V (G ) \ C and try to place it in the already existing partition. Suppose at some stage we have taken care of vertices until say w i . For w i +1 we do as follows. Since the degree of every vertex is upper bounded by  we have that there is a partition C j such that w i +1 does not have any neighbor in C j . We place w i +1 ∈ C j . That is, C j := C j ∪ { w i +1 }. Observe that the placement preserves the fact that C j after the addition of the vertex remains independent. This proves the lemma. 2 Lemma 4.1 allows us to look for b-chromatic-core of order k for G. Towards this we give a reduction rule. We say that a reduction rule, which takes input (G , k) and outputs an instance (G  , k ), is safe, if the following holds: (G , k) is a Yes instance if and only if (G  , k ) is a Yes instance. Reduction Rule 1. Let (G , k) be an instance to b-Chromatic Number and v be a vertex such that every vertex w ∈ N [ v ] has degree at most k − 2. Then output a new instance (G \ { v }, k). Lemma 4.2. Reduction Rule 1 is safe. That is, (G , k) is a Yes instance to b-Chromatic Number if and only if (G  = G \ { v }, k) is a Yes instance to b-Chromatic Number. Proof. We first show the forward direction. Since (G , k) is a Yes instance to b-Chromatic Number there exists a partition j of V (G ) into independent sets I 1 , · · · , I k such that each of I j , 1 ≤ j ≤ k, contains a vertex v j such that it has a neighbor u p j

k

in independent set I p , p = j. Let C j = { v j } ∪{u p | p ∈ {1, . . . , k} \{ j }}. We take C = i =1 C i . This is clearly, a b-chromatic-core of order k and every vertex v j has degree k − 1. Furthermore notice that C does not contain v as every vertex w ∈ N [ v ] has degree at most k − 2. This implies that G [C ] is same as G  [C ]. Thus, C is also a b-chromatic-core of order k for G  and combining this with Lemma 4.1 we have that (G \ { v }, k) is a Yes instance to b-Chromatic Number. Now we show the reverse direction. Notice that deletion of v does not decrease the maximum degree of G  . That is, (G ) = (G  ). So, if G  is a Yes instance to b-Chromatic Number then by Lemma 4.1 there exists a b-chromatic-core C  of order k for G  . Since G  is an induced subgraph of G we have that C  is also a b-chromatic-core of order k for G. Again by applying Lemma 4.1 we have that (G , k) is a Yes instance to b-Chromatic Number. This concludes the proof. 2 Theorem 2. Let (G , k) be an instance to b-Chromatic Number such that k = (G ) + 1. Then there is an algorithm that decides 2 whether χb (G ) = k, in time 2O(k log k) + nO(1) . Proof. We first apply Reduction Rule 1 exhaustively. Then, we greedily find a maximal set S such that (a) degree of every vertex is equal to k − 1 and (b) for any pair of vertices v , w ∈ S, we have that d( v , w ) ≥ 4. We have two cases either | S | ≥ k or | S | < k. In the first case we can show that χb (G ) = k in polynomial time and in the later case we will bound the number of vertices of G by a polynomial function of k. Case I: | S | ≥ k. In this case we will show that S and its neighbors form b-chromatic-core of order k for G. Let C = { v 1 , . . . , v k } be an arbitrary subset of size k of S. For every v i ∈ C let W i = N ( v i ). Let the vertices of W i be denoted by { w 1i , . . . , w ii −1 , w ii +1 , w ki }. Observe that since for any pair of vertices v , w ∈ S, d( v , w ) ≥ 4, we have that W i ∩ W j = ∅ and there are no edges between W i and W j for i = j. Now we make color class I i , i ∈ {1, . . . , k}, as folj

lows: I i = { w i | j = i } ∪ { v i }. Observe that by construction every vertex v i has neighbor in every color class except I i and thus C ∪ W forms a b-chromatic-core of order k for G. Given the partition of C ∪ W we can find a b-chromatic partition of G in polynomial time using the procedure described in Lemma 4.1.

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

125

Case II: | S | < k. In this case we claim that for every vertex v ∈ V (G ) \ S, there exists a vertex u ∈ S such that d(u , v ) ≤ 4. First of all notice that either the degree of v is k − 1 or has a neighbor w with degree k − 1. The last assertion follows from the fact that we can not apply Reduction Rule 1 on G. Suppose the degree of v is k − 1 then since the greedy algorithm did not pick v ∈ S, we have that there exists a vertex u ∈ S such that d(u , v ) ≤ 3. In the case when w has degree k − 1, we have that there exists a vertex u ∈ S such that d(u , w ) ≤ 3 and thus d(u , v ) ≤ 4. This implies that every vertex in V (G ) can be reached from a vertex in S by a path of length at most 4. Since the maximum degree of this graph is at most k − 1, we have that | V (G )| = 5k5 = O (k5 ). Thus, to test whether χb (G ) = k we guess the b-chromatic-core of order k. We know that there exists one of size at most k2 . Thus, this results in



5k5



k2

≤ 2O(k

2

log k)

guesses. Given C we can test whether

χb (G [C ]) = k in time 2O(|C |) = 2O(k

2

) (see the exact algorithm for the mentioned 2 log k) . This

running time). Even the brute force partition into k parts will lead to an algorithm with running time 2O(k concludes the proof. 2 5. Exact algorithm

In this section we design an algorithm for b-Chromatic Number which runs in O (3n n4 log n) time, where n is the number of vertices in the input graph. Observe that a naïve algorithm for b-Chromatic Number takes time nO(n) . We can improve this running time to 4n nO(1) as follows: we guess first the number i of color classes in the b-coloring, and then the i dominator vertices. We can now extend this set of dominators to a b-coloring of the graph using dynamic programming over subsets of the vertex set. This latter step can be done in 3n−i nO(1) time, for a total running time of 4n nO(1) . We improve this further to O (3n n4 log n) by reducing an instance of b-Chromatic Number to polynomially many instances of polynomial multiplication, where each polynomial has degree at most 2n . We then apply the Fast Fourier Transform (FFT) to multiply these polynomials so that the total running time is within the stated bound. Recall that the FFT method allows us to multiply two polynomials of degree 2n in time 2n n log n. This tool has previously been used to obtain fast exact algorithms for various problems. For instance, Cygan and Pilipczuk [15] employed this idea for the fast exact computation of the bandwidth of a tree-width bounded graph. They also showed that polynomial multiplication can be used to compute the chromatic number of an n-vertex graph in time 2n nO(1) . Fernau et al. [16] used polynomial multiplication to get a fast exact exponential algorithm for t-Total Edge Cover. As a more generic example, it is known that polynomial multiplication can be used to design an alternate algorithm for fast subset convolution [17]. Our algorithm is along the lines of the algorithm of Cygan and Pilipczuk [15] for the chromatic number. The main difference between the chromatic number and the b-chromatic number is that in the latter case we have additional constraints in the form of dominator vertices. In our algorithm we guess these dominators S and then use Cygan and Pilipczuk’s method to compute the chromatic number, except that in our case we have to carefully create input polynomials so that multiplying these polynomials together would give us the b-chromatic number. Theorem 3. There is an algorithm which, given a graph G on n vertices as input, finds the b-chromatic number of G in O (3n n4 log n) time. Our algorithm works by checking, for k = n, (n − 1), . . . , 1 in this order, whether G has a b-coloring with k colors. It outputs the first (and so, the largest) value of k for which the check returns Yes. Theorem 4. There is n an algorithm which, given a graph G on n vertices and an integer 1 ≤ k ≤ n as input, checks if G has a b-coloring with k colors in O ( k 2(n−k) n4 log n) time. Given Theorem 4, the proof of Theorem 3 is immediate: Proof of Theorem 3. Since our algorithm for Theorem 3 consists in invoking the algorithm of Theorem 4 once for each k ∈ {1, 2, . . . , n}, we get that the former algorithm runs in time

 0≤k≤n

   n n (n−k) 4 4 O( 2 n log n) = O (n log n 2(n−k) ) = O (3n n4 log n), k

0≤k≤n

k

where we get the simplified form from the Binomial Theorem.

2

Observe that our goal in Theorem 4 is to check whether we can partition the vertex set of G into exactly k non-empty parts V 1 , V 2 , . . . , V k such that

• each set V i is an independent set in G, and • for each 1 ≤ i ≤ k there is a vertex v i ∈ V i which has a neighbor in each of the other sets V j ; j = i.

126

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

Such a partition is a b-coloring of G with k colors, and we call such a set of k vertices { v 1 , v 2 , . . . , v k } a dominator set for the b-coloring V 1 , V 2 , . . . , V k . Our algorithm for Theorem 4 checks, for each vertex subset { v 1 , v 2 , . . . , v k } of G of size k, whether there is a b-coloring of G with k colors for which { v 1 , v 2 , . . . , v k } is a dominator set. Lemma 5.1. Given a graph G on n vertices and a vertex subset D = { v 1 , v 2 , . . . , v k } of G of size k, we can find whether graph G has a b-coloring with k colors for which D is a dominator set, in O (2(n−k)n4 log n) time. Note that Theorem 4 follows directly from Lemma 5.1. In the next subsection we describe an algorithm of the kind specified in Lemma 5.1. We then prove its correctness (Subsection 5.2) and show that it runs within the stated time bounds (Subsection 5.3). 5.1. The algorithm We describe an algorithm which, given a graph G on n vertices and a vertex subset D = { v 1 , v 2 , . . . , v k } of G of size k, finds whether graph G has a b-coloring with k colors for which D is a dominator set. Let I denote the set of all vertex subsets of G which are independent sets in G. Let V  = V (G ) \ D be the set of all vertices of graph G which are not part of the candidate dominator set D. We label the vertices of V  as V  = {u 1 , u 2 , . . . , un−k }. Let x be an indeterminate. For each pair of distinct indices i , j ; 1 ≤ i = j ≤ k, let Si j denote the set of subsets X of V  such that ( X ∪ { v i }) is an independent set in G, and ( X ∪ { v i , v j }) is not an independent set in G:

Si j = { X ⊆ V  ; ( X ∪ { v i }) ∈ I and ( X ∪ { v i , v j }) ∈ / I}

(1)

For each index i ; 1 ≤ i ≤ k, let Ti denote the intersection, over all j = i, of the sets Si j :

Ti =



Si j

(2)

1≤ j =i ≤k

Note that Ti is the set of all independent sets in V  which could potentially form a color class together with vertex v i in a b-coloring of interest to us. Indeed, any b-coloring of G of the specified kind will consist—apart from the vertices of D—of a pairwise disjoint collection of k independent sets, one from each set Ti ; 1 ≤ i ≤ k, such that their union makes up all of V  . Our algorithm looks for such a collection of independent sets, one from each set Ti . For each vertex v i ∈ D we construct the set Ti . We then use Ti to construct a polynomial Pi in x for each vertex v i ∈ D, in the following manner: We initialize Pi to zero. For each set X ∈ Ti we compute the characteristic vector χ ( X ) of X with respect to the set V  . We then add the monomial xχ ( X ) to the polynomial Pi :

Pi =



xχ ( X )

(3)

X ∈Ti

We now compute a sequence of polynomials Q1 , Q2 , . . . , Qk . We set Q1 = P1 . Now for each 2 ≤  ≤ k we compute the polynomial Q as follows. We initialize Q to zero. For each pair of integers i , j ≥ 0 ; i + j ≤ (n − k), we:

• • • • •

Compute the polynomials Q i = Hi (Q(−1) ) and P j = H j (P() ), and their product R i j = Q i × P j ; Compute the representative polynomial R i j of R i j .

Compute the Hamming projection R i j = H(i + j ) ( R i j ); Set Q := Q + R i j . Set Q to be the representative polynomial of Q .

Remark 1. Note that this construction ensures that every nonzero monomial in each polynomial Qi ; 1 ≤ i ≤ k has the form xd for some d ∈ N. That is, no monomial has a coefficient greater than 1 in any of these polynomials. Our algorithm returns Yes if the polynomial Qk contains at least one monomial whose degree has Hamming weight (n − k), and No otherwise. This completes the description of the algorithm. 5.2. Correctness We now prove that the algorithm of the previous section indeed works exactly as specified in the statement of Lemma 5.1. We prove this in two parts; first we show that the algorithm is complete (Lemma 5.2), and then we show that it is sound (Lemma 5.3). Lemma 5.2. If a graph G on n vertices has a b-coloring with k colors for which D = { v 1 , v 2 , . . . , v k } ⊆ V (G ) is a dominator set, then the algorithm of Subsection 5.1 returns Yes on input (G , D ).

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

127

Proof. Suppose graph G has a b-coloring V 1 , V 2 , . . . , V k with k colors for which the set D = { v 1 , v 2 , . . . , v k } is a dominator set. Let V  = V (G ) \ D and for 1 ≤ i ≤ k, let X i = V i \ { v i }. Let χ ( X ) be the characteristic vector of a subset X ⊆ V  with respect to the set V  . For each 1 ≤ i ≤ k let mi = xχ ( X i ) . It is not difficult to see that for each 1 ≤ i ≤ k, the set X i contributes the monomial mi to the polynomial Pi computed by the algorithm. Claim 5.1. For each 1 ≤ i ≤ k, the polynomial Pi constructed by the algorithm contains the monomial mi = xχ ( X i ) .

/ I for each i = j. Thus X i ∈ Si j for each Proof of Claim 5.1. Observe that X i ⊆ V  , ( X i ∪ v i ) ∈ I , and that ( X i ∪ { v i , v j }) ∈ j = i—see Equation (1). It follows (Equation (2)) that X i ∈ Ti . Observe that Ti is a set, and so X i does not appear more than once in Ti . It follows—see Equation (3)—that xχ ( X i ) is present as a monomial in Pi . 2 Our method of computing the polynomials Q1 , Q2 , . . . , Qk has two desirable implications: (i) the final polynomial Qk computed by the algorithm contains the product of all the mi s as a monomial, and (ii) the degree of this monomial has Hamming weight exactly (n − k). To see this, consider first some properties satisfied by all the polynomials Q : Claim 5.2. For each 1 ≤  ≤ k, the following hold: 1. Let d be the degree of the monomial m =



1≤i ≤ mi .

Then

k) , and hence d has a binary representation r of width (n − k). (a) d ≤ 2(n− (b) Let S = 1≤i ≤ X i . Then χ ( S ) = r. 2. The polynomial Q contains the monomial m.

Proof of Claim 5.2. We prove the claim by induction on . Base case:  = 1. 1. Here m = m1 = xχ ( X 1 ) . (a) Since X 1 ⊆ V  , | V  | = (n − k), and the degree d of m1 is χ ( X 1 ), we have that d ≤ 2(n−k) and that d has—by definition—the binary expansion r = χ ( X 1 ) of width (n − k). (b) The set S is just the subset X 1 ⊆ V  , and hence we get directly that χ ( S ) = χ ( X 1 ) = r. 2. We get from Claim 5.1 that the polynomial Q(−1) = Q1 = P1 contains the monomial m = m1 = xχ ( X 1 ) . Induction step: 2 ≤  ≤ k 1. Here m = m1 m2 · · · m . Let m = m1 m2 · · · m(−1) .  (a) Let d be the degree of monomial m, and let d be the degree of monomial m . Let S  = 1≤i ≤(−1) X i . By the inductive hypothesis, d has a binary expansion r  of width (n − k), and χ ( S  ) = r  . Also, m = xχ ( X  ) by definition. Since m = m · m we get that, 

m = xd · xχ ( X  ) 

= xr · xχ ( X  )

(4)

 = xχ ( S ) · xχ ( X  ) 

= xχ ( S )+χ ( X  ) , where we got (4) by rewriting d in binary. Now by assumption the sets S  and X  are disjoint subsets of V  , and hence we get—see Lemma 2.1—that d = χ ( S  ) + χ ( X  ) ≤ 2(n−k) , and hence that d has a binary representation r of width (n − k). (b) Here S = S  X  , and so from the above argument and Lemma 2.1 we get that r = χ ( S ). 2. We reuse notation from part (a) above. Let i be the Hamming weight of χ ( S  ). Note that i = | S  |. Let j = | X  |; then j is the Hamming weight of χ ( X  ). Since S  and X  are disjoint subsets of the set V  , we get from Lemma 2.1 that i + j ≤ (n − k). Therefore i , j is among the pairs of integers over which we iterate during the computation of the polynomial Q . Let us examine carefully that step in this computation where we consider the pair i , j. Recall that we compute the polynomials Q i , P j , R i j , R i j , and R i j in this step. From the inductive assumption we get that (i) the polynomial Q(−1) contains the monomial m = m1 m2 · · · m(−1) , and (ii) χ ( S  ) is the binary representation of the degree of m , and hence that i is the Hamming weight of the degree of m . From these we get that the polynomial Q i = Hi (Q(−1) ) contains the monomial m . Further, we have shown that the polynomial P contains the monomial m = xχ ( X  ) , and by definition, j is the Hamming weight of the degree χ ( X  ) of m . From this we get that the polynomial P j = H j (P ) contains the monomial m . Hence the product R i j = Q i × P j , and thence its representative polynomial R i j both contain the monomial m m .

128

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131 

From the inductive assumption we get that m = xχ ( S ) , and by definition we have that m = xχ ( X  ) . Thus m m =  xχ ( S )+χ ( X  ) . Now since S  and X  are disjoint subsets of the set V  , we get from Lemma 2.1 that χ ( S  ) + χ ( X  ) has Hamming weight exactly i + j. Hence the monomial m = m m survives in the Hamming projection R i j = H(i + j ) ( R i j ). Therefore m is present in the polynomial Q . 2 Corollary 1. Let m = exactly (n − k).



1≤≤k mi .

Then the polynomial Qk contains m as a monomial, and the Hamming weight of the degree d of m is

Proof of Corollary 1. Set  = k in Claim 5.2. Then from part (2) of the claim we get that the polynomial Qk contains m as a monomial. From part (1b) of the  claim we get that the binary representation r of d of width (n − k) is identical to the characteristic vector of the set S = 1≤i ≤k X i with respect to the set V  . But here S = V  itself, and hence the Hamming weight of d is exactly | V  | = (n − k). 2 Since Qk contains the monomial this input. 2



1≤≤k mi

whose degree has Hamming weight (n − k), our algorithm returns Yes on

Lemma 5.3. If the algorithm of Subsection 5.1 returns Yes on input (G , D ), then graph G has a b-coloring with k colors for which D is a dominator set. Proof. We first prove the following claim. Claim 5.3. Let 1 ≤  ≤ k, and let xd be a monomial in the polynomial Q . Then d ≤ 2(n−k) , and hence d has a binary representation r of width (n − k). If V  is the subset of V  such that χ ( V  ) = r, then the induced subgraph G [ V  { v 1 , v 2 , . . . , v  }] of G has a b-coloring ( V  { v 1 , v 2 , . . . , v  }) = W 1 W 2 · · · W  with  colors such that:

• The set { v 1 , v 2 , . . . , v  } is a dominator set for this b-coloring, and v i ∈ W i for each 1 ≤ i ≤ . • For each 1 ≤ i ≤ , the set W i \ { v i } is an element of the set Ti defined by Equation (2). Proof of Claim 5.3. We prove this by induction on the index . Note that proving d ≤ 2(n−k) already implies that d has a binary representation of width (n − k). Base case:  = 1. In this case Q = Q1 = P1 . Observe that—from the way we construct P1 —each monomial in P1 is of the form xχ ( X ) for some subset X ⊆ V  such that X ∈ T1 ; in particular, the set ( X ∪ { v 1 }) is an independent set in G (see Equation (1)). Since χ ( X ) is a binary representation of width | V  | = (n − k), we get that d ≤ 2(n−k) . Further, here V  = X , and so the induced subgraph G [ V  ∪ { v 1 }] has no edges; it therefore has the b-coloring ( V  ∪ { v 1 }) = W 1 with 1 color, and this b-coloring satisfies both the conditions. Induction step: 2 ≤  ≤ k. Let xd be a monomial in the polynomial Q . From the way we computed Q , this means that there exist: • A pair of non-negative integers i , j ; i + j ≤ (n − k), and • polynomials Q i = Hi (Q(−1) ) and P j = H j (P() ), their product R i j = Q i × P j , and the representative polynomial R i j of R i j

such that the Hamming projection R i j = H(i + j ) ( R i j ) contains the monomial xd . Therefore xd is the product of two monomials xd1 and xd2 , where • xd1 is a monomial in the polynomial Q(−1) and d1 has Hamming weight i, and; • xd2 is a monomial in the polynomial P and d2 has Hamming weight j. Further, d has Hamming weight (i + j ). Applying the inductive hypothesis to xd1 and Q(−1) we get that if X is the subset of V  such that χ ( X ) = r1 where r1 is the binary representation of d1 , then the induced subgraph G [ X ∪ { v 1 , v 2 , . . . , v (−1) }] of G has a b-coloring with ( − 1) colors for which the set { v 1 , v 2 , . . . , v (−1) } is a dominator set. Let the color classes of this b-coloring be Y 1 , Y 2 , . . . , Y (−1) . That is: • X { v 1 , v 2 , . . . , v (−1) } = (Y 1 Y 2 · · · Y (−1) ), • for each 1 ≤ i ≤ ( − 1) Y i is an independent set in G, and v i ∈ Y i , and • for any 1 ≤ i = j ≤ ( − 1), Y i ∪ { v j } is not an independent set in G. Recall that by definition, every monomial in the polynomial P is of the form xχ (Y ) for some subset Y ∈ T . In particular, xd2 is of this form. Let Y ∈ T be such that xd2 = xχ (Y ) ; that is, such that d2 = χ (Y ). The definition of the set T (Equation (2)) implies that (i) the set Y is a subset of V  , (ii) Y ∪ { v  } is an independent set in graph G, and (ii) Y ∪ { v  , v j } is not an independent set in G for any j = . Further, the fact that the sum d of d1 (of Hamming weight i) and d2 (of Hamming weight j) has Hamming weight i + j implies that X ∩ Y = ∅, and hence that X Y is a subset of V  such that χ ( X Y ) = d; in particular, this implies that d has a binary representation r of width (n − k). Set V  = X Y . Then V  is the subset of V  such that χ ( V  ) = r.

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

129

Algorithm 1 Algorithm for computing the sets Ti as bit strings T i . 1: function ComputeTs(G , V  , k) 2: Create bit strings T 1 , T 2 , . . . , T k of length 2(n−k) each, with all bits set to zero. 3: for X ⊆ V  do 4: for 1 ≤ i ≤ k do 5: if ( X ∪ { v i }) is an independent set in G then 6: inT i ← True 7: for 1 ≤ j ≤ k, j = i do 8: if ( X ∪ { v i , v j }) is an independent set in G then 9: inT i ← False 10: if inT i == True then 11: T i [χ ( X )] ← 1 12:

return ( T 1 , T 2 , . . . , T k )

We verify that the set V  = X Y satisfies the requirements of the claim. Consider that V  { v 1 , v 2 , . . . , v  } = X Y { v 1 , v 2 , . . . , v  } = X { v 1 , v 2 , . . . , v (−1) } Y { v  } = (Y 1 Y 2 · · · Y (−1) ) (Y { v  }) = (Y 1 Y 2

· · · Y (−1) Y  ) = ( W 1 W 2 · · · W (−1) W  ), where Y  = (Y { v  }) and W i = Y i for all 1 ≤ i ≤ . From the induction hypothesis and the above arguments we get that • ( W 1 W 2 · · · W (−1) W  ) is a partition of vertex subset ( V  { v 1 , v 2 , . . . , v  }): – From the induction hypothesis we get that ( W 1 W 2 · · · W (−1) ) = (Y 1 Y 2 · · · Y (−1) ) is a partition of the vertex subset X { v 1 , v 2 , . . . , v (−1) }, and – from the arguments above we get that the set W  = (Y { v  }) is disjoint from the set X { v 1 , v 2 , . . . , v (−1) }. • For each 1 ≤ i ≤ , the set W i is an independent set in graph G: – The induction hypothesis tells us that each of the sets W 1 , W 2 , . . ., W (−1) is an independent set in G, and, – the arguments of the previous paragraph tell us that W  is an independent set in graph G. • For each 1 ≤ i ≤ , the vertex v i belongs to the set W i : This follows from the induction hypothesis for indices 1 ≤ i ≤ ( − 1), and by definition for index . • Each vertex v i has a neighbor in each of the other sets W j ; i = j: – For the cases (i) 1 ≤ i = j ≤ ( − 1) and (ii) i =  , 1 ≤ j ≤ ( − 1): From the induction hypothesis we get that ( W t \ { v t }) ∈ Tt for 1 ≤ t ≤ ( − 1). The claim now follows directly from the definition of the sets Tt (Equation (1) and Equation (2)). – For 1 ≤ i ≤ ( − 1) and j = : Consider that W  = (Y { v  }) (by definition) and that Y ∈ T (see previous paragraph). The definition of the set T now tells us that the set ( W  ∪ { v i }) = (Y { v  , v i }) is not an independent set in graph G. Since W  is an independent set in G, it follows that there is an edge from vertex v i to some vertex in the set W  . • For each 1 ≤ i ≤ , the set W i \ { v i } belongs to the set Ti : This follows from the induction hypothesis for indices 1 ≤ i ≤ ( − 1), and by definition for index . 2 If the algorithm returns Yes, then there is a monomial xd in the polynomial Qk such that the Hamming weight of its degree d is n − k. Let r be the binary representation of d. Then the subset V  ⊆ V  such that χ ( V  ) = r has size n − k. The definition of the set V  now implies that V  = V  in this case. From Claim 5.3 we get—by setting  = k—that the induced subgraph G [ V  { v 1 , v 2 , . . . , v k }] of G has a b-coloring with k colors for which the set { v 1 , v 2 , . . . , v k } is a dominator set. But V  { v 1 , v 2 , . . . , v k } = V  { v 1 , v 2 , . . . , v k } = V (G ), and hence we get that the graph G itself has b-coloring with k colors for which the set { v 1 , v 2 , . . . , v k } is a dominator set. 2 5.3. Running time analysis Lemma 5.4. The algorithm of Subsection 5.1 runs in O (2(n−k) n4 log n) time where n is the number of vertices of the input graph G, and k is the size of the dominator set D. Proof. We assume that we are given the adjacency matrix of graph G as input. If required, we relabel the vertices of graph G as V (G ) = { v 1 , v 2 , . . . , v n } in such a way that the k vertices of the set D appear last in this list. In other words, such that V  = V (G ) \ D = { v 1 , v 2 , . . . , v (n−k) }. This can be done in O (n) time. We compute the sets T1 , T2 , . . . , Tk as bit strings T 1 , T 2 , . . . , T k , respectively, of length 2n−k each, with the following semantics: the jth bit T i [ j ] of bit string T i is 1 if and only if the subset X ⊆ V  whose characteristic vector χ ( X ) with respect to V  satisfies the condition val( X ) = j is in the set Ti . We use Algorithm 1 to compute these bit strings. Creating the empty bit strings (line 2) takes O (2(n−k) ) time. The innermost for loop (starting at line 7) has O (k) iterations, each of which takes O (n2 ) time: this is the time we need for a brute-force check for independence of the set X ∪ { v i , v j } using the adjacency matrix of G. The for loop at line 7 therefore takes O (kn2 ) time. Assuming that we can access any one bit of a 2(n−k) -sized bit string in time O (log(2(n−k) )) = O (n), line 11 takes O (n) time. The independence test of line 5 takes, as above, O (n2 ) time. Thus the contents of the for loop at line 4 take O (n2 ) + O (kn2 ) + +O (n) = O (kn2 )

130

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

Algorithm 2 Algorithm for computing the polynomial Q as a bit string S  . 1: function ComputeQs(S (−1) , T  ) 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:

 S (−1) , T  represent the polynomials Q(−1) , P ; see the text.

Create bit strings P 1 , P 2 , . . . , P (n−k) of length 2(n−k) each, with all bits set to zero. Create bit strings Q 1 , Q 2 , . . . , Q (n−k) of length 2(n−k) each, with all bits set to zero. Create bit string S  of length 2(n−k) , with all bits set to zero. for 1 ≤ i ≤ 2(n−k) do h ← the Hamming weight of i if T  [i ] == 1 then P h [i ] ← 1 if Q (−1) [i ] == 1 then Q h [i ] ← 1

 Compute all the projections P i and Q i in one pass.  The polynomial P contains the monomial xi  The polynomial Q contains the monomial xi

for 0 ≤ i ≤ (n − k) do for 0 ≤ j ≤ (n − k − i ) do R i j ← FFT-Multiply( Q i , P j )

 See explanation in text.

for 1 ≤ p ≤ 2(n−k) do if the Hamming weight of p is i + j then if R i j [ p ] == 1 then S  [ p] ← 1

return S 

time. From this we get that the loop at line 3 takes O (2(n−k) · k · kn2 ) = O (k2 n2 2(n−k) ) time. The algorithm for creating the bit strings T 1 , T 2 , . . . , T k therefore takes O (k2 n2 2(n−k) ) time. Observe now that each bit-string T i serves also as a representation of the polynomial Pi . This follows directly from the way we defined the polynomials Pi from the sets Ti . Specifically: monomial xd is present in polynomial Pi if and only if the bit T i [d] is set to 1. Hence we do not need to explicitly compute the polynomials Pi ; we just use the bit-strings T i instead. Recall that Q1 = P1 . For each 2 ≤  ≤ k we compute the polynomial Q , again as a bit string S  of length 2(n−k) , as in Algorithm 2. We first set S 1 = T 1 . For each 2 ≤  ≤ k, in increasing order of , we invoke the function ComputeQs with the arguments S (−1) , T  to obtain the bit string S  . The bit string S k which we obtain at the end of this process is the representation of the polynomial Q . The function ComputeQs is mostly self-explanatory, except perhaps for lines 13 to 17. On line 13 we invoke the function FFT-Multiply which takes the bit string representations of two polynomials Q i , P j , computes the bit string representation of their product R i j using the Fast Fourier Transform, and returns the (bit string representation of the) representative

polynomial R i j of R i j (see Lemma 2.2). In lines 14 to 17 we then add the Hamming projection R i j = H(i + j ) ( R i j ) to S  without explicitly computing R i j as a separate bit string. We now analyze the time taken by one invocation of ComputeQs. Lines 2 to 4 together take time O ((n − k)2(n−k) ). Lines 6 to 10 can each be executed in time O (n − k), and so the for loop at line 5 takes O ((n − k)2(n−k) ) time. Line 13 can be performed in O (2(n−k) (n − k) log(n − k)) time (by Lemma 2.2), and the for loop at line 14 can be executed in O((n − k)2(n−k) ) time as well. It follows that the for loop at line 11 takes O((n − k)3 2(n−k) ) time. In total, therefore, one invocation of ComputeQs takes O (2(n−k) (n − k)3 log(n − k)) time. Since we invoke ComputeQs (k − 1) times, it follows that the complete algorithm runs in O (2(n−k) (n − k)3 k log(n − k)) = O(2(n−k)n4 log n) time. 2 6. Conclusion In this paper we studied b-Chromatic Number in the realm of parameterized and exact algorithms and resolved the parameterized complexity of the problem for the parameter b-chromatic number k. We would like to conclude with three concrete open problems.

• Is there an algorithm for b-Chromatic Number running in time 2n nO(1) ? • Does there exist an XP algorithm for b-Chromatic Number? • Is the problem of finding a b-chromatic core of order k FPT when parameterized by k? Acknowledgments The authors would like to thank the anonymous reviewer for their valuable comments and suggestions which helped us improve the quality of the paper. This work is supported by Rigorous Theory of Preprocessing, ERC Advanced Investigator Grant 267959 and Parameterized Approximation, ERC Starting Grant 306992.

F. Panolan et al. / Journal of Computer and System Sciences 84 (2017) 120–131

131

References [1] F. Panolan, G. Philip, S. Saurabh, B-chromatic number: beyond np-hardness, in: 10th International Symposium on Parameterized and Exact Computation, IPEC 2015, September 16–18, 2015, Patras, Greece, 2015, pp. 389–401. [2] K. Appel, W. Haken, The solution of the four-color-map problem, Sci. Am. 237 (4) (1977) 108–121, http://dx.doi.org/10.1038/scientificamerican1077-108. [3] R.M. Karp, Reducibility among combinatorial problems, in: Complexity of Computer Computations, Plenum Press, New York, 1972, pp. 85–103. [4] E.L. Lawler, A note on the complexity of the chromatic number problem, Inf. Process. Lett. 5 (3) (1976) 66–67. [5] A. Björklund, T. Husfeldt, M. Koivisto, Set partitioning via inclusion-exclusion, SIAM J. Comput. 39 (2) (2009) 546–563. [6] R.W. Irving, D. Manlove, The b-chromatic number of a graph, Discrete Appl. Math. 91 (1–3) (1999) 127–141, http://dx.doi.org/10.1016/ S0166-218X(98)00146-2. [7] J. Kratochvíl, Z. Tuza, M. Voigt, On the b-chromatic number of graphs, in: Graph-Theoretic Concepts in Computer Science, 28th International Workshop, WG 2002, Cesky Krumlov, Czech Republic, June 13–15, 2002, 2002, pp. 310–320. Revised papers. [8] F. Havet, C.L. Sales, L. Sampaio, b-coloring of tight graphs, Discrete Appl. Math. 160 (18) (2012) 2709–2715, http://dx.doi.org/10.1016/j.dam.2011.10.017. [9] F. Galcík, J. Katrenic, A note on approximating the b-chromatic number, Discrete Appl. Math. 161 (7–8) (2013) 1137–1140, http://dx.doi.org/10.1016/ j.dam.2012.11.008. [10] R.G. Downey, M.R. Fellows, Fundamentals of Parameterized Complexity, Texts Comput. Sci., Springer, 2013. [11] M. Cygan, F.V. Fomin, L. Kowalik, D. Lokshtanov, D. Marx, M. Pilipczuk, M. Pilipczuk, S. Saurabh, Parameterized Algorithms, Springer, 2015. [12] F. Havet, L. Sampaio, On the grundy and b-chromatic numbers of a graph, Algorithmica 65 (4) (2013) 885–899, http://dx.doi.org/10.1007/ s00453-011-9604-4. [13] B. Effantin, N. Gastineau, O. Togni, A characterization of b-chromatic and partial grundy numbers by induced subgraphs, CoRR http://arxiv.org/abs/ 1505.07780. [14] A. Schönhage, V. Strassen, Schnelle multiplikation großer zahlen, Computing 7 (3–4) (1971) 281–292, http://dx.doi.org/10.1007/BF02242355. [15] M. Cygan, M. Pilipczuk, Exact and approximate bandwidth, Theor. Comput. Sci. 411 (40–42) (2010) 3701–3713, http://dx.doi.org/10.1016/j.tcs. 2010.06.018. [16] H. Fernau, F.V. Fomin, G. Philip, S. Saurabh, On the parameterized complexity of vertex cover and edge cover with connectivity constraints, Theor. Comput. Sci. 565 (2015) 1–15, http://dx.doi.org/10.1016/j.tcs.2014.10.035. [17] F.V. Fomin, D. Kratsch, Exact Exponential Algorithms, Texts Theoret. Comput. Sci. EATCS Ser., Springer, 2010.