Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
In Congressus Numerantium 105 (1994), pp. 116–128. Constant Time Computation of Minimum Dominating Sets Marilynn Livingston Quentin F. Stout Dept. of Computer Science Southern Illinois University Edwardsville, IL 62026-1653 Elec. Eng. and Comp. Sci. University of Michigan Ann Arbor, MI 48109-2122 Abstract Let G be a graph and let P (n) denote an element from a one-parameter family of graphs, such as a path of length n, a cycle of length n, or a complete binary tree of height n. We are concerned with determining minimum dominating sets of graphs of the form G  P (n). Using dynamic programming and properties of finite state spaces, we show a constant time algorithm to produce a minimum dominating set of G  P (n), for fixed G and all n, for the one-parameter families mentioned. Previous researchers had used similar techniques but obtained only linear-time algorithms. We also show how a closed form expression can be obtained for the minimum domination number of G  P (n). We discuss extensions of the algorithm to the determination of all minimum dominating sets for G  P (n), and to related problems of coverings, packings, and codes. In addition, we discuss algorithm extensions to several different types of domination, including perfect domination, and to other ways of composing graphs. Key Words: codes, covering, domination, packing, matching, perfect domination, grid graph, product graph, mesh, torus. 1 Introduction Let G = (V; E ) denote an undirected graph. A subset of D vertices is called a dominating set of G if for every v 2 V D there is some u 2 D such that (u; v) 2 E (G). Sometimes a dominating set is referred to as a vertex-vertex cover. The minimum cardinality of the dominating sets of G is called the domination number of G and is denoted by (G). The general problem of determining (G) for a given graph G, and of finding a dominating set D of G of this minimum cardinality, has been an active area of research for many years [HL90]. When properly stated, this problem has been shown to be NP-complete [GJ79], and remains so even when G is restricted to certain simple classes of graphs. One example of this is the family of grid graphs, formed from products of paths, where Pn denotes the path with n vertices. The m  n complete grid graph, Pm  Pn , has vertex set V = f(i; j ) j 1  i  m; 1  j  ng and an edge between pairs of vertices (i; j ) and (u; v) if and only if ji uj + jj v j = 1. A grid graph is any subgraph of a complete grid graph. T. Leighton proved that determining the domination number of an arbitary grid graph is NP-complete [Jo85]. The complexity of the domination problem for complete grid graphs is not known, however.  Partially supported by NSF/ARPA grant CCR-9004727 1 M. Jacobson and L. F. Kinch [JK84] found closed form expressions for (Pm  Pn ) for m = 2; 3; 4. E. Cockayne, E. Hare, S. T. Hedetniemi, and T. Wimer [CHHW] reported that they had inductive proofs for m = 2; 3 and all n, and for m = 4 with n = 4k. Using an IBM 3081 to perform exhaustive search, they found exact values for Pm  Pn for m = 4 and 4  n  10, m = 5 and 5  n  8, m = 6, and n = 10; 11, and used 20 CPU hours to determine (P7  P7 ). In addition, they constructed elementary arguments to establish the inequality (n + n 3)=5  (Pn  Pn)  (n + 4n c)=5 2 2 where c is 16, 17, or 20, depending on the remainder of n modulo 5. E. Hare, S. Hedetniemi, and W. Hare [HHH] gave a (n) algorithm for computing (Pm  Pn ) for fixed m. Their algorithm was based on dynamic programming techniques with an associated state table. Using an IBM 3081, one of their implementations took one and a half minutes to construct the state table and then one additional minute to compute (P7  P300 ). Using a less memory-intensive implementation, they computed (P8  P8 ) in 2.5 minutes and (P8  P19 ) in approximately 7 minutes. In [SP87], H.G. Singh and R.P. Pargas described a parallel implementation to compute the domination number of Pm  Pn . They obtained results for m  9 and n  10. Time requirements became prohibitive for m = 10, even for the 16-node FPS T series hypercube. More recently, T.Y. Chang and W.E. Clark [CC93] gave a lengthy proof of a closed form expression for (Pm  Pn ) for m = 5; 6, thus extending the results of E. Hare [H89] to all n  1 for these values of m. In this paper we show how to use the properties of finite state spaces, together with dynamic programming, to produce a (1) time algorithm for computing (Pm  Pn ) for fixed m. In fact, we show how to obtain closed form expressions for (G  Pn ) for fixed graph G and all n. Moreover, we show how to explicitly describe a minimum dominating set for G  Pn in terms of a regular grammar over states derived from G. Using only an IBM PC, we have been able to rapidly replicate the earlier results mentioned above, and obtain closed form expressions for (Pm  Pn ) for even larger m than was previously considered. Further details of the algorithm implementation, and tables of (Pm  Pn ), will appear in [LS94]. Many domination-related concepts defined for arbitrary graphs enjoy easy solutions or at least fast algorithms when restricted to the family of trees. S.M. Hedetniemi, S.T. Hedetniemi, and R. Laskar [HHL] give an extensive coverage of domination and domination-related algorithms for trees, most of which are linear time algorithms. The approach we describe in this paper can be easily modified to determine minimum dominating sets for (G  P (n)) when P (n) is a complete t-ary tree of height n, for fixed t and all n. Our approach can be adapted to allow different types of domination as well, such as perfect [LS90], efficient [BBHS, BBS] and total domination [HL90], and still retain the (1) time complexity. We will illustrate with an example of this in Section 3.2. A closely related concept to dominating sets is that of packing. Let k be a positive integer. A subset K  V is called a k-packing of the graph G = (V; E ) if the distance between every pair of vertices in K is greater than k . The k -packing number of G is the cardinality of the largest k -packing of G. Note that the 1-packing number of G is also known as the independence number of G, the largest size of a subset of nonadjacent vertices of G. E. Hare and W. Hare [HH91] gave a linear time algorithm for determining the 2-packing number of the complete grid graph Pm  Pn for fixed m. Recently, D.C. Fisher [F93] determined the 2-packing number of Pm  Pn for all m and n. He established a recursive inequality which enabled him to deal with the cases for m  8 with elementary arguments in the same spirit as those in [CHHW]. Several cases had to be treated separately, some of which were handled with a branch and bound algorithm, others by ad hoc arguments. Using the techniques outlined in this paper, we have found a closed form expression for the 2-packing number of Pm  Pn for each m < 9 and all n, which allowed us to produce a considerably shorter and simpler determination of the 2-packing numbers for all m and n. Further, our techniques easily extend to k -packings of G  Pn for arbitrary G and k . 2 Figure 1: A dominating set for P2  P8 s1 s2 s3 s4 s5 s6 s7 ! ! ! ! Figure 2: l    l  S , states for P  Pn 2 2 2 An Illustrative Example Before launching into the general description of the method, we illustrate it with a small example, showing how to compute minimal dominating sets for P2  Pn . Consider the graph P2  P8 and let S = f(2; 1); (1; 3); (1; 5); (2; 5); (1; 8); (2; 8)g be one of its dominating sets. (S is a minimal dominating set, but is not a dominating set of minimum size.) This is shown in Figure 1, where each vertex in S is labeled with a , and all other vertices are labeled with an arrow pointing to an element of S that dominates them. At vertex (1; 4) of Figure 1 there is a choice as to which dominating set element to point to. We force a specific choice through the following interpretation of the labels, which will be critical for the constructions in this paper. Vertex (j; k ) labeled  l means that vertex (j; k ) is in S , means that vertex (j; k ) is not in S but at least one of the vertices (j  1; k ) is in S , means that none of the vertices (j; k ); (j  1; k) are in S , but (j; k 1) is in S . ! means that none of the vertices (j; k); (j  1; k); (j; k 1) are in S , but (j; k + 1) is in S . 2.1 States Note that if we consider any column of the graph we have a copy of P2 with its vertices labeled by elements of f; l; ; !g. Such a labeling of P2 which can arise from a dominating set in P2  Pk for some k will be called a state. There are 42 possible labelings, but some reflection upon the interpretation of the labels shows that a labeling is a state if and only if it satisfies the following conditions: (S–i) if one entry is , then the other entry is  or l. (S–ii) if one entry is l, then the other entry is . We will let S2 denote the set of all labelings of P2 which satisfy these conditions. It is easy to verify that S2 has 7 elements, given in Figure 2, where we show the states as column vectors of length 2. Note that all of these states occur in Figure 1. We will be constructing dominating sets for P2  Pk+1 from dominating sets (and sets that nearly nominate) for P2  Pk . To help in this, we use the notion of state transitions to describe which states are possible for column k + 1, given a particular state for column k . In general, it is possible to go from state si in column ` to state sj in column ` + 1 if and only if the following conditions hold for all rows p: 3 s1 s2 s3 s4 s5 s6 s7 s1 s2 s3 s4 s5 s6 s7 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 Figure 3: The State Transition Table T2 final state initial state Figure 4: The State Transition Graph for P2 (T–i) if si (p) =!, then sj (p) = . (T–ii) if si (p) = , then sj (p) 6=!. (T–iii) if sj (p) = , then si (p) = . This information can be presented in the form of a state transition table T2 , given in Figure 3. The state transition table consists of 7 rows and 7 columns in which a 1 appears in row i, column j if it is possible to go directly from state si to state sj , and a 0 otherwise. States which could be the first column of a dominating set will be called initial states, denoted by I2 , while those which could be the last column will be called final states, denoted by F2 . Note that a state is initial if and only if it has no entries, while a state is final if and only if it has no ! entries. We see from Figure 2 that I2 = fs1 ; s5 ; s6 ; s7 g, and F2 = fs4 ; s5 ; s6 ; s7 g. Let G2 denote the directed graph (with loops) whose vertices are the states in S2 and whose edges are determined by the condition that (si ; sj ) is an edge if and only if T2 (si ; sj ) = 1, for all si ; sj 2 S2 . We call G2 the state-transition graph for the pair S2 ; T2, and illustrate it in Figure 4. Adding the identification of the initial and final states, one has a precursor of a finite state automaton, though no alphabet has yet been specified. 4 2.2 State Sequences Let S be a dominating set of Gn = P2  Pn . S induces a labeling of the vertices of Gn with elements of f; l; ; !g. The pair (Gn; S ) can be associated with the sequence of states = h 1 ; 2 ; : : : ; ni, where column j of Gn has the state j in S2 induced by S . We call the state sequence induced by the pair (Gn; S ) and express this by writing hGn; S i = . For example, for the graph and dominating set given in Figure 1, the induced state sequence is hs5 ; s2 ; s6 ; s3 ; s7 ; s4 ; s1 ; s7 i. For any state sequence = h 1 ; : : : ; n i induced by a dominating set S , we see that we must have T2( i ; i+1 ) = 1 for i = 1; 2; : : : ; n 1. Furthermore, the first state 1 must be in I2, and the final state corresponds to a path in G2 of length n 1, starting in I2 and ending in F2 . n must be in F2 . Thus Let U denote a set of vertices of G2 , and, for j  1, let P(U; j ) denote the set of all paths in G2 of length j 1 which begin at a vertex in I2 and end at a vertex in U . We shall be particularly interested in the case when U is a single state or the set of final states. If S is a dominating set of Gn , we see that hGn ; S i determines an element p of P(F2 ; n). Conversely, if p is an element of P(F2 ; n), then the sequence of n vertices on the path p corresponds to a sequence of states ha1 ; a2 ; : : : ; an i which can be identified with a unique dominating set A of P2  Pn , where A = f(i; j ) j the element in the i th row of state aj is g: We express this relationship by writing hha1 ; a2 ; : : : ; ak ii = A or, equivalently, hhpii = A. Thus, there is a natural 1-1 correspondence between the dominating sets of Gn and the paths of length n 1 in the state-transition graph G2 which begin at an initial state and end at a final state. Now, if we define the weight of the path p, w(p), as the total number of  entries in all the columns of its associated state sequence ha1 ; a2 ; : : : ; an i, then we see that w(p) is just the cardinality of the set A = hhpii. Furthermore, the above 1-1 correspondence maps the minimum dominating sets of Gn onto the minimum weight paths in P(F2 ; n). 2.3 The Cost Matrix We organize our computational process in a 7  n matrix, Cn , which we call the cost matrix. The element Cn(i; j ), in row i and column j , contains the quantities c(i; j ) and f (i; j ). The cost c(i; j ) is defined as c(i; j ) = ( minimum weight of the elements of P(fsi g; j ) if P(fsi g; j ) otherwise. 1 6= ; The quantity f (i; j ) informs us of the most recent state from which we have made the transition to the present state. More specifically, if j  2 and a = ha1 ; a2 ; : : : ; aj i is an element of P(fsi g; j ) of weight c(i; j ), then f (i; j ) “points” to the second last vertex on the path a. If there is more than one such state sequence of weight c(i; j ), we choose the smallest such k . So, for j  2, f (i; j ) = k; = sk : To complete the definition of f (i; j ), we set f (i; 1) = 0 for 1  i  7. Before we describe the recursive relations that exist for c(i; j ) and f (i; j ), we need some additional notation. For s 2 S , let P red(s) = fw j w 2 S and T (w; s) = 1g: where aj 1 2 2 5 2 1 s1 s2 s3 s4 s5 s6 s7 0;0 1;0 1;0 1;0 1;0 1;0 2;0 2 1;0 1;5 1;6 2;7 2;5 2;5 2;1 3 4 5 6 7 2;4 2;5 2;6 2;7 2;3 2;2 3;2 2;4 2;5 2;6 3;7 3;3 3;2 4;1 3;4 3;5 3;6 4;7 3;3 3;2 4;1 4;4 3;5 3;6 4;7 4;3 4;2 5;1 4;4 4;5 4;6 5;7 4;3 4;2 5;2 Figure 5: The Cost Matrix C7 Then, since each element of P(si ; j + 1) can be viewed as consisting of an element of P(sk ; j ), for some sk 2 P red(si ), with the edge from sk to si appended to the path, we have the following recursive relation for the c(i; j ): c(i; j + 1) = w((si) + minfc(k; j ) j sk 2 P red(si)g; w(si ) if si 2 I c(i; 1) = 1 otherwise for j  1; (1) 2 The cost matrix C7 is shown in Figure 5, where the entry in row i and column j is exhibited as c(i; j ); f (i; j ). For j  2, let the sequence k1 ; k2 ; : : : ; kj 1 be defined in terms of f (i; j ) as follows: = f (i; j ); and (2) kt = f (kt; j t); for 1  t  j 2: Let hfi;j i denote the associated state sequence hsk 1 ; : : : ; sk1 ; si i. It follows that hfi;j i = hfk1;j isi for j  1: To illustrate this notation, let us find a minimum dominating set for P  P from C . Arbitrarily choosing s from among the four states in F with minimum c(i; 6) values, we use the f (i; j ) entries to find the state sequence hf ; i = hs ; s ; s ; s ; s ; s i. The minimum dominating set for P  P corresponding to this minimum weight path is hhf ; ii = f(1; 2); (2; 2); (1; 5); (2; 5)g. k1 +1 j +1 2 4 6 7 2 46 1 7 4 1 7 4 2 6 46 2.4 Periodic Behavior An examination of Figure 5 reveals that c(i; 7) = c(i; 5) + 1 for all i. We will refer to this behavior of the columns of Cn as periodic, for, once two columns, j1 and j2 have the property that c(i; j1 ) = c(i; j2 ) + b for some constant b and all 1  i  7, it will be the case that columns k and k + jj1 j2 j must differ by this constant b for all k  max(j1 ; j2 ). This relationship, together with Equation 1, implies that c(i; j ) = ( c(i; 5) + b(j c(i; 6) + b(j 5)=2c 5)=2c 6 if j  1 otherwise (mod 2) (Gn) = d n e+3 for n  5. A check of the cost matrix for 1  n  4   (P  Pn) = n +2 1 for n  1: Now, let us turn to the construction of a minimum dominating set for P  Pn . The periodic behavior of the c(i; j ) guarantees that ( 6) if j  0 (mod 2) f (i; j ) = ff ((i;i; 7) otherwise for j  7 and all i. Thus, if j is even and j  8, then Equation 2 becomes k = f (i; 6) k t  = f (k t  ; 7 ) for  = 0; 1 and t  1. Similarly, for j odd and j  7, we obtain k = f (i; 7) k t  = f (k t  ; 6 + ) for  = 0; 1 and t  1. Consequently, the associated state sequences hfi;j i satisfy recurrence relations for each i. For example, taking i = 5, hf ;j i = hf ;j is s s s for j  10. Let  denote the sequence s s s s , then hf ;j i = hf ; j ib j = c for j  10: Further, we may express the sequences hf ;j i for 6  j  9 as hf ; i = hf ; is s s = s  hf ; i = hf ; is s = s s s s  hf ; i = hf ; is = sss hf ; i = s  for j  7, and all i. It follows that completes the proof of that 2 5 2 2 1 2 + 2 + 1 2 + 1 1 2 + 5 5 4 2 6 3 5 2 6 3 5 5 5 6+( 6 mod 4) ( 6) 4 5 2 59 26 6 3 5 5 58 66 3 5 5 6 3 5 57 36 2 5 6 3 5 56 5 Thus, from the periodic behaviour of the cost matrix, we see that, for all n, not only can we give the value of (P2  Pn ), but we can also describe explicitly a minimum dominating set for P2  Pn , namely hhf5;nii. 3 The Algorithm To extend our methods from P2  Pn to G  Pn for an arbitrary graph G, we have to slightly generalize the definition of state. A state is a labeling of the vertices of G with elements of f; l; ; !g, satisfying the restrictions (S0 –i) if a vertex is labeled , then its neighbors are all labeled  or l. (S0 –ii) if a vertex is labeled l, then at least one of its neighbors is labeled . The definitions of state transition, final state, and initial states are all exactly as they were in Section 2. In Algorithm 3.1 we outline our algorithm for the cost matrix, from which we can compute domination numbers and dominating sets of minimal size. As can be seen, both the time and space complexity of this algorithm depend only on the graph G, although each will be exponential in the size of G. The proof that the periodic behavior must occur, forcing the loop in steps 5-13 to terminate, appears in [LS94]. 7 Algorithm 3.1 (Domination Algorithm) The logical variable periodic remains false until we discover periodic behavior between two columns and K2 of the cost matrix. K1 1 Determine S , the set of states, I , the initial states, F , the final states, and N , the number of states. 2 Determine the state transition table T . 3 Compute column 1 of the cost matrix C(; 1). 4 j := 1, periodic:= false 5 repeat 6 j :=j + 1. 7 for i := 1 to N do Compute c(i; j ) and f (i; j ) 8 1 do If c(; j ) c(; t) is a constant vector then for t := 1 to j 9 10 11 periodic := true. 12 K1 := t, K2 := j . 13 until periodic. 3.1 Main Theorem When Algorithm 3.1 terminates, post-processing of the cost matrix gives the following result. Theorem 3.1 Let G be an arbitrary graph. Then there are integer constants m  1, n0 0  i  m 1, such that, for all n  n0,  0, a  1, and bi, (G  Pn ) = abn=mc + bi; where i = n mod m: Additionally, for all 0  i  m 1, there are states si;j and si;k of G, where 1  j  n + i, and 1  k  m, such that, for any n  n , the set Sn = hhsi; ; : : : ; si;n0 i ; (si; ; : : : ; si;m )b n n0 =mc ii; where i = n mod m, is a dominating set of G  Pn , with cardinality (G  Pn ). 1 0 0 1 1 1 1 + ( ) Further, these constants and states are determined by Algorithm 3.1 in a time which depends solely on G. 2 We note that, while Theorem 3.1 emphasizes the asymptotic behavior, we also obtain the corresponding results for n < n0 during the running of the algorithm, and hence determine (G  Pn ) for all n. 8 Figure 6: Finite State Automaton for Perfect Domination 3.2 Perfect Domination While we do not have space to show all of the variations that can be solved by this approach, we will outline another example. One form of domination is perfect domination, where a subset S of vertices V of a graph G is a perfect dominating set if it is a dominating set, and for every pair of vertices u, v in S , N (u) \ N (v) = ;, where N (v) denotes the neighborhood set of v, i.e., v and all vertices adjacent to v. Not all graphs have perfect dominating sets: the smallest counterexample is a square of 4 vertices. To determine those k for which G  Pk has a perfect dominating set, we need to modify the definitions of states and of transitions. Still using a vertex labeling with the labels f; l; ; !g, with the same interpretations, we impose the following restrictions on states: (S00 –i) if a vertex is labeled , then all of its neighbors are labeled l. (S00 –ii) if a vertex is labeled l, then exactly one neighbor is labeled . For state transitions, we impose the following restrictions on going from state si to sj , for all vertices G: (T00 –i) (T00 –ii) p of si(p) =! if and only if sj (p) = . si (p) =  if and only if sj (p) = . Figure 6 shows the automaton for G = P2 . From this, it is easy to see that P2  Pn has a perfect dominating set if and only if (n mod 2) = 1. We also see that states in which a pair of neighbors are both labeled , or are both labeled !, can never contribute to a solution because they can have no predecessor or successor, respectively. Thus we can add the following restrictions to states without changing our results: (S00 –iii) if a vertex is labeled !, then none of its neighbors are labeled ! (S00 –iv) if a vertex is labeled , then none of its neighbors are labeled Using this automaton specially constructed for perfect domination, we obtain: Theorem 3.2 Let G be an arbitrary graph. Then there are integer constants n0  1, m  1, and (possibly empty) sets I  f1; : : : ; n0 1g and J  f0; : : : ; m 1g, such that G  Pn has a perfect dominating set if and only if n 2 I if n < n0 (n mod m) 2 J otherwise. Further, these constants and sets can be determined by an algorithm whose running time depends solely on G. 9 Proof: G  Pn has a perfect dominating set if and only if there is a path of length n 1, starting at an initial state and ending at a final state, in the state transition graph described above. It is well known that the lengths of paths of accepting sequences in a finite state automaton can be written in the form given in the theorem, and that they can be determined from the state transition graph. 2 4 Conclusion We have shown that, for any graph G, there is a closed-form formula for (G  Pn ) as a function of n, and that our algorithm finds this formula in time depending only on G. Further, dominating sets of minimal size can be given as a regular grammar over states derived from G. We showed this by reducing the original problem to one involving paths in a state space, and then solving this automata problem for all n by utilizing dynamic programming and the periodic nature of the solution. While others had also noted that a state space and dynamic programming could be used for this problem, apparently none had noticed that the periodic properties of finite state spaces could be exploited to eliminate the time dependence on n. By changing the definitions of the states (perhaps including labels of edges) and their transitions, this approach can be extended to a great many other problems involving domination and domination-related concepts such as packings, coverings, matchings, etc. For example, we can solve problems such as perfect domination, domination involving distances greater than 1, domination of nonconvex regions such as knight’s moves ([HH87]), independent domination, edge-edge domination, etc. For packings, we can solve problems such as k -packings, vertex-disjoint (or edge-disjoint) packings of subgraphs, etc. Covers can include vertex covers, edge covers, covers by subgraphs, etc. We can also change some of the information kept along with the dynamic programing, and use it to answer various counting problems. For example, we can develop formulas for the number of dominating sets, number of minimal dominating sets, number of dominating sets of minimal size, number of perfect dominating sets, etc. We can count number of matchings, number of perfect matchings, and so on. Other variations, still producing closed-form solutions, include replacing Pn by complete t-ary trees of height n (for fixed t), or by cycles of n vertices. One can also vary the definition of product used, allowing us to analyze, for example, grid graphs where each vertex is connected to its eight nearest neighbors, rather than its four nearest neighbors. Several of the extensions mentioned above will be explored in [LS94] and subsequent papers. Those papers will include more details of material outlined here, including tables of (Pm  Pn ). References [BBHS] D.W. Bange, A.E. Barkauskas, L.H. Host, and P.J. Slater, “Efficient near-domination of grid graphs”, Congressus Numerantium 58 (1987) 83–92. [BBS] D.W. Bange, A.E. Barkauskas, and P.J. Slater, “Efficient dominating sets in graphs”, Applications of Discrete Mathematics, R.D. Ringeisen and F.S. Roberts, eds., SIAM (1988). [CC93] T.Y. Chang and W.E. Clark, “The domination numbers of the 5 n and 6 n grid graphs”, J. Graph Theory 17 (1993) 81–107. [CHHW] E.J. Cockayne, E.O. Hare, S.T. Hedetniemi and T.V. Wimer, “Bounds for the domination number of grid graphs”, Congressus Numerantium 47 (1985) 217–228. [F93] D.C. Fisher, “The 2-packing number of complete grid graphs”, Ars Combinatoria 36 (1993) 261– 270. 10 [GJ79] M.R. Garey and D.S. Johnson, Computers and Intractability. A Guide to the Theory of NPCompleteness. W.H. Freeman, San Francisco (1979). [H89] E.O. Hare, “Algorithms for grid and grid-like graphs”. Ph. D. thesis, Dept. Comp. Sc., Clemson University, Clemson, SC (1989). [HH91] E.O. Hare and W.R. Hare, “k -Packing of Pm  Pn ”, Congressus Numerantium 84 (1991) 33–39. [HH87] E.O. Hare and S.T. Hedetniemi, “A linear algorithm for computing the knight’s domination problem of a k  n chessboard”, Congressus Numerantium 59 (1987) 115–130. [HHH] E.O. Hare, S.T. Hedetniemi and W.R. Hare, “Algorithms for computing the domination number of k  n complete grid graphs”, Congressus Numerantium 55 (1986) 81–92. [HL90] S.T. Hedetniemi and R.C. Laskar, “Bibliography on domination in graphs and some basic definitions of domination parameters”, Discrete Math. 86 (1990) 257–277. [HHL] S.M. Hedetniemi, S.T. Hedetniemi, and R. Laskar, “Domination in trees: models and algorithms”, Graph Theory with Applications to Algorithms and Computer Science, Y. Alavi, G. Chartrand, L. Lesniak, D. Lick, and C. Wall, eds., (1985) Wiley, 423–442. [JK84] M.S. Jacobson and L.F. Kinch, “On the domination number of products of graphs”, Ars Combinatoria 18 (1984) 33–44. [Jo85] D.S. Johnson, “The NP-Completeness column: an ongoing guide”, J. Algorithms 6 (1985) 434–451. [KYK] T. Kikuno, N. Yoshida, and Y. Kakkuda, “A linear algorithm for the domination number of a seriesparallel graph”, Discrete Appl. Math., 37 (1983) 299–311. [LS90] M. Livingston and Q.F. Stout, “Perfect dominating sets”, Congressus Numerantium 79 (1990) 187– 203. [LS94] M. Livingston and Q.F. Stout, “Constant time computation of properties of product graph families”, in preparation [SP87] H.G. Singh and R.P. Pargas, “A parallel implementation for the domination number of a grid graph”, Congressus Numerantium 59 (1987) 297–311. 11