Accepted Manuscript A generalized linear time algorithm for an optimal k-distance dominating set of a weighted tree
Sukhamay Kundu
PII: DOI: Reference:
S0020-0190(17)30187-4 https://doi.org/10.1016/j.ipl.2017.10.009 IPL 5599
To appear in:
Information Processing Letters
Received date: Revised date: Accepted date:
9 January 2017 26 October 2017 28 October 2017
Please cite this article in press as: S. Kundu, A generalized linear time algorithm for an optimal k-distance dominating set of a weighted tree, Inf. Process. Lett. (2017), https://doi.org/10.1016/j.ipl.2017.10.009
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
Highlights • It generalizes a previously known linear time algorithm for a k-hop optimal dominating set of an unweighted trees to the case of weighted trees. • This significantly increases the potential applications of dominating set in many real life problems. • The algorithm determines an optimal k-distance dominating set by selecting one node at a time in a bot- tom-up fashion using a rooted form of the tree.
Journal Logo Information Processing Letters (2017) 1–6
A Generalized Linear Time Algorithm for an Optimal k-distance Dominating Set of a Weighted Tree Sukhamay Kundu Dept of Computer Science and Engineering Louisiana State University, Baton Rouge, LA 70803, USA.
Abstract The new algorithm finds an optimal k-distance dominating set D in a weighted trees T = (V, E) with link-weights w(x, y) > 0 in time O(|V |). It generalizes a previous linear time algorithm for an optimal k-hop dominating set for an unweighted tree. This significantly increases the applications of dominating sets in trees. Keywords: k-distance dominating set, linear algorithm, weighted tree
1. Introduction Given an weighted (undirected) graph G = (V, E), with link weights w(x, y) > 0 for (x, y) ∈ E, and a constant k > 0, we call a subset of nodes D ⊆ V a k-distance dominating set, in short, a k-ddset if each node y in G has distance dist(x, y) ≤ k from some node x ∈ D. Here, dist(u, v) is the shortest length of a path in G connecting the nodes u and v (in short, an uv-path) based on the link lengths w(x, y). Clearly, D = V is a k-ddset for any G. We say D is an optimal k-ddset if |D| is the smallest among all k-ddsets. In [7], we presented a linear time algorithm for an optimal k-ddset for a tree T with each link-weight w(x, y) = 1. We generalize that algorithm for the case of an weighted tree without increasing the time complexity. If each w(x, y) = 1, the new algorithm creates the same optimal k-ddset as in [7]. We refer the reader to [7] for the literature review and the many applications of k-ddsets. y or, equivalently, y is dominated Let Δ(x) = {y : dist(x, y) ≤ k}; clearly, x ∈ Δ(x). We say x dominates by x if y ∈ Δ(x). More generally, for S ⊆ V , we write Δ(S) = x∈S Δ(x) and for y ∈ Δ(S) we say S dominates y or y is S-dominated; for y ∈ / Δ(S), we say y is S-undominated. A set of nodes D is a k-ddset if and only if Δ(D) = V . If w(x, y) > k, then removing (x, y) from G does not alter Δ(u) for any u ∈ V and hence does not alter the k-ddsets or the optimal k-ddsets of G. We assume henceforth that each w(x, y) ≤ k. We sometimes write S + x to mean S ∪ {x}, when x ∈ / S. 2. Two Basic Theorems The results below are generalizations of similar results in [7] for weighted trees, and they play a critical role in the new algorithm presented in §3. Let T denote a rooted form of an unrooted tree T , with an Email address:
[email protected] (Sukhamay Kundu)
1
Author / Information Processing Letters (2017) 1–6
2
arbitrary node chosen as the root = root(T ). Because the xy-path for two nodes x and y = x is the same in T and in T , we have the distance dist(x, y), the k-ddsets, and the optimal k-ddsets are the same for T and T . As in [7], we work with a rooted form T of T to provide a ”direction” for efficient identification of successive nodes that can be safely included in an optimal k-ddset D, starting from D = ∅. In particular, we choose the successive nodes of an optimal k-ddset D in a bottom-up fashion, meaning that following the addition of a node z to D no other node in the subtree T z of T at z will be added to D. Theorem 1 below shows how to select a bottom-most node in D and Corollary 2 shows how to select all bottom-most nodes in D. For selecting the other nodes in D, we use a generalization of Theorem 1 given in Theorem 3. Let depth(T x ) = max {dist(x, y) : y ∈ T x }, parent(x) = the parent of x when x = root, and children(x) = {y : parent(y) = x}. Clearly, depth(T x ) = 0 if and only if x is a terminal node, and each node x = root is dominated by parent(x). If depth(T ) > k, then either some x ∈ children(root) has depth(T x ) > k or each x ∈ children(root) has depth(T x ) ≤ k and hence a child x of root such that depth(T x ) ≤ k < depth(T ) = depth(T x ) + w(parent(x), x). By applying the argument repeatedly, we see that depth(T ) > k implies there is a node x ∈ T − {root} such that depth(T x ) ≤ k < depth(T x ) + w(parent(x), x). By abuse of language, we sometimes use T x to denote the set of nodes in T x . Theorem 1. If depth(T ) ≤ k, then D = {root} is an optimal k-ddset of T ; otherwise, there is a node x ∈ T − {root} such that depth(T x ) ≤ k < depth(T x ) + w(parent(x), x) and, for each such node x, T has an optimal k-ddset D containing x. Proof. We only need to consider the case depth(T ) > k. Let y ∈ T x be a terminal node in T such that dist(x, y) = depth(T x ) ≤ k. If π(y) = yq , · · · , yp , · · · , y1 , y is the path from root(T ) = yq to y, where yp = x, then q > p because x = root; moreover, k < depth(T x ) + w(parent(x), x) implies dist(x, y) = depth(T x ) > 0 and hence p ≥ 1. See Fig. 1. Note that depth(T parent(x) ) may be larger than depth(T x ) + w(parent(x), x). / D, then there is a node z ∈ D ∩ T x , z = x, because parent(x) does Let D be an optimal k-ddset of T . If x ∈ not dominate y and hence no node outside T x dominates y. Also, because T x ⊆ Δ(x) and Δ(z) ∩ (T − T x ) ⊆ Δ(x) ∩ (T − T x ), we have Δ(z) ⊆ Δ(x). Thus, D = D − z + x is a k-ddset of T and hence an optimal k-ddset. (Note: the choice of x in D does not constrain the choice of the other nodes in D , if any.)
root=y q ⋅⋅⋅
⋅⋅⋅
⋅⋅⋅ x=y p
⋅⋅⋅
⋅⋅⋅
⋅⋅⋅
Tx
y1 ⋅⋅⋅
y
⋅⋅⋅
Figure 1. The path from root(T) to a terminal node y, where dist(x, y) = depth(T x ) ≤ k. The remark at the end of the proof of Theorem 1 immediately shows that if depth(T ) > k and B = {x : depth(T x ) ≤ k < depth(T x ) + w(parent(x), x)}, then T has an optimal k-ddset D ⊇ B. The optimal k-ddset computed by our algorithm will also contain B. The following definition is motivated by the fact that we build an optimal k-ddset D in a bottom-up fashion. Definition 2.1. A subset of nodes S ⊆ V is called descendant-dominating (in short, desc-dominating) if {T z : z ∈ S} ⊆ Δ(S), i.e., each descendant of a node z ∈ S is dominated by some node in S. The empty-set is considered to be trivially desc-dominating. (Theorem 3 below reduces to Theorem 1 when S = ∅.) A set S = {z} is desc-dominating if and only if depth(T z ) ≤ k. On the other hand, if S is desc-dominating, z ∈ S, and depth(T z ) > k, then T z contains some other nodes of S. Clearly, each k-ddset D is desc-dominating. The following lemma is immediate from Def. 2.1 and is stated here without a proof. 2
Author / Information Processing Letters (2017) 1–6
3
It shows that to expand a desc-dominating set S into an optimal k-ddset we would never add to S any descendant of S-nodes. Lemma 2. If S is a desc-dominating set, z ∈ S, and D ⊇ S is an optimal k-ddset then (D − S) ∩ T z = ∅. For a desc-dominating set S and an arbitrary node x, we write U (x, S) = T x − Δ(S ∩ T x ) ⊆ T x , the set of nodes in T x that are not dominated by the S-nodes in T x ; clearly, U (x, S) does not depend on S − T x , U (x, S) = U (x, S ∩ T x ), and U (x, ∅) = T x . In general, the nodes U (x, S) may not form a connected subset of nodes. Thus, we define U + (x, S) = {y : y ∈ xy-path for some y ∈ U (x, S)}, which is a connected subset of nodes in T x containing x if U (x, S) = ∅. Figs. 2(i)-(ii) show a tree with two different choices of the root. For S = {5} and k = 4, both Figs. 2(i)-(ii) give U (1, S) = {2, 14} and U + (1, S) = {1, 2, 13, 14}. However, if we let w(3, 4) = 3 ≤ k, then Fig. 2(i) gives U (1, S) = {2, 4, 14} and U + (1, S) = {1, 2, 3, 4, 13, 14} whereas Fig. 2(ii) gives the same U (1, S) and U + (1, S) as before.
1 root 2 2
3
13 2 14
2 5
4 6
8 2
7
9
12 3 11
10 (i) A rooted tree T .
3 root 2 1 2 2
4 13 2 14
5 6 2 7
8 9
12 3 11
10 (ii) Same tree as in (i) with root = 3.
Figure 2. All link weights in T equal 1 unless indicated otherwise. Some of the optimal 4-ddsets are D = {1, 5}, {3, 5}, {1, 8}, and {5, 13}. Definition 2.2. If S is desc-dominating, then let mxdu(x, S) = max{dist(x, y) : y ∈ U (x, S)} when U (x, S) = ∅ and otherwise let mxdu(x, S) = −1. Clearly, mxdu(x, ∅) = depth(T x ), and mxdu(x, S) = 0 if and only if U (x, S) = {x}. The following theorem shows how to extend a desc-dominating set S that is a proper subset of an optimal k-ddset of T by adding a node x so that S +x is descended-dominating and is a subset of an optimal k-ddset. A repeated use of Theorem 3 clearly gives an optimal k-ddset. Because w(u, v) ≤ k for each link (u, v), the condition k < mxdu(x, S) + w(parent(x), x) in Theorem 3 implies mxdu(x, S) > 0 and hence U (x, S) = ∅. Likewise, the condition 0 ≤ mxdu(root(T ), S) ≤ k and S ⊂ D implies root(T ) ∈ / S. Theorem 3. Suppose S is desc-dominating and a proper subset of an optimal k-ddset of T . Then, T has an optimal k-ddset containing S = S + x, if mxdu(x, S) ≤ k < mxdu(x, S) + w(parent(x), x). Moreover, if 0 ≤ mxdu(root(T ), S) ≤ k, then S = S + root(T ) is an optimal k-ddset. In each case, S is desc-dominating. Proof. Consider the case mxdu(x, S) ≤ k < mxdu(x, S) + w(parent(x), x) and hence x = root and mxdu(x, S) > 0. Let y ∈ U (x, S) ⊆ T x such that dist(x, y) = mxdu(x, S) and therefore k < dist(x, y) + w(parent(x), x). Thus, y is not dominated by parent(x) and hence not dominated by any node not in T x ; moreover, y is not dominated by S ∩ T x . This means an optimal k-ddset D ⊃ S must contain a node z ∈ T x . If z = x, then as in the proof of Theorem 1 the set D − z + x is also an optimal k-ddset containing S + x. Also, mxdu(x, S) ≤ k implies S + x is desc-dominating. For 0 ≤ mxdu(root(T ), S) ≤ k, S+root(T ) is trivially an optimal k-ddset and hence is desc-dominating. Example 1. Consider the rooted tree T in Fig. 2(i) and let k = 4. The only node that satisfies Theorem 1 is x = 5. For S = {5}, the only nodes not in Δ(S) are {2, 14} = U (1, S); on the other hand, U (3, S) = ∅ 3
Author / Information Processing Letters (2017) 1–6
4
and thus mxdu(3, S) = −1. Because 0 < mxdu(1, S) = 3 ≤ k, D = {5, 1} is an optimal desc-dominating 4-ddset by Theorem 3. Consider now the rooted tree in Fig. 2(i) and let k = 3. The only node satisfying Theorem 1 is x = 8. For S = {8}, Δ(S) = {3, 5, 6, 8, 9, 10, 11, 12} and because of node 7 ∈ / Δ(S) the only node which satisfies Theorem 3 is x = 5, with mxdu(5, S) = 3 ≤ 3 < mxdu(5, S) + w(parent(5), 5) = 3+1. This means there is an optimal 3-ddset of T containing the desc-dominating set S = {5, 8}. Now, the only nodes not in Δ(S) are {2, 13, 14} = U (1, S) and only the root = 1 satisfies Theorem 3. This gives us an optimal desc-dominating 3-ddset D = {8, 5, 1}. (Note that for S = {8}, U (6, S) = {6, 7} and mxdu(6, S) = 2 ≤ 3 ≮ 2 + w(parent(6), 6) = 3, and therefore Theorem 3 does not apply to expand S = {8} to S + 6 = {8, 6}. However, {8, 6, 1} is an optimal 3-ddset containing {8, 6}. Thus, the condition mxdu(x, S) ≤ k < mxdu(x, S) + w(parent(x), x) in Theorem 3 is not a necessary condition for the existence of an optimal k-ddset containing S + x.) If we remove node 14 from T in Fig. 2(i), we would still get the optimal 3-ddset D = {8, 5, 1} as before. However, if we remove node 7 in Fig. 2(i), then we would expand S = {8} to an optimal 3-ddset D = {8, 1}. 3. Algorithm for Optimal k-ddset The algorithm OptKddset(x) given below determines an optimal k-ddset D of T when called with x = root(T ). It also assigns for each node y ∈ T a node dom(y) ∈ D such that for each y ∈ D we have dom(y) = y and the set domBy(y) = {y : dom(y ) = y} ⊆ Δ(y) is a connected subset of nodes in T . As we indicated earlier, nodes are added to D in a bottom-up fashion, and at any intermediate stage D is desc-dominating. Each time we add a node x to the current D we keep x as high (close to root) as possible. We add x to the current D if and only if the following conditions hold: (1) D ∩ T x does not dominate T x , (2) Either x has no ancestor or none of them dominates the nodes U (x, D) ⊆ T x , and (3) U (x, D) ⊆ Δ(x). If x is added to D, then all nodes y ∈ U + (x, D), including x, are assigned dom(y) = x. We introduce the following concepts for efficient verification of the conditions (1)-(3). Definition 3.1. Let nrnd(x, S) be an S-node in T x which is nearest to x with distance distNrnd(x, S) = dist(x, nrnd(x, S)) ≤ k from x, if any; x ∈ S if and only if nrnd(x, S) = x, i.e., distNrnd(x, S) = 0. Henceforth, we use the short notations mxdu(x) for mxdu(x, S), nrnd(x) for nrnd(x, S), and distNrnd(x) for distNrnd(x, S)), when S is the current set of nodes added to the optimal k-ddset D being constructed. We assume that the nodes are numbered 0 ≤ x < n, where n = |V | and we write nrnd(x) = dom(x) = −1 to indicate they are undefined, as is the case at the start of our OptKddset-algorithm; likewise, we write mxdu(x) = −1 to mean U (x, D) = ∅, i.e, all nodes y ∈ T x is assigned a valid dom(y) ≥ 0. In particular, nrnd(x) ≥ 0 implies 0 ≤ distNrnd(x) ≤ k but it does not imply mxdu(x) = −1 because there can be nodes y ∈ U (x, D), y = x. We use an auxiliary function AssignDom(x, y) to assign dom(x ) = y to each node in x ∈ U + (x, D), i.e., the nodes x ∈ T x with dom(x ) = −1 in a bottom-up fashion. That is, if dom(x) = −1, then AssignDom(x, y) calls AssignDom(x , y) for each child x of x with dom(x ) = −1 and on return from those calls AssignDom(x, y) lets dom(x) = y and mxdu(x) = −1. On return from OptKddset(x), i.e., after completion of processing a node x (which includes the computation of nrnd(x), distNrnd(x), mxdu(x), etc based on those of the children of x), one of the following holds: (1) Each node y ∈ T x , including x, is assigned a valid dom(y) ∈ D ∩ T x and mxdu(y) is reset to −1, if needed. (2) The node x (and perhaps some other nodes in T x ) is not assigned a valid dom(x) ≥ 0 because no D-node in T x (and, in particular, the node nrnd(x), if any) dominates all of U + (x, D) and there is a possibility that some ancestor of x can dominate U + (x, D), i.e., mxdu(x) + w(parent(x), x) ≤ k. Algorithm OptKddset(x): //x = root in initial call Input: A constant k > 0 and a rooted form T of a tree T with ≥ 2 nodes, an arbitrary root, parent(x) = parent of x (parent(root) = root), and link-weights 0 < w(x, y) < k. Output: An optimum k-ddset D of T and an assignment dom(x) ∈ D for nodes in T such that z ∈ domBy(z) = {x : dom(x) = z} ⊆ Δ(z) is a connected set of nodes in T for each z ∈ D. 1. If (x = root, i.e., parent(x) = x), then initialize D = ∅, let dom(y) = nrnd(y) = mxdu(y) = −1 and distNrnd(y) = 1 + k (indicating they are undefined) for each node y ∈ T root . 4
Author / Information Processing Letters (2017) 1–6
5
2. If (x is a terminal node), then let mxdu(x) = 0. //0 ≤ mxdu(x) + w(parent(x), x) ≤ k 3. Otherwise, do (a), (b), and one of (c) and (d). (a) Call OptKddset(y) for each y ∈ children(x). (b) If (some y ∈ children(x) has mxdu(y) ≥ 0), then let tempMxdu = max{mxdu(y) + w(x, y) : y ∈ children(x) and mxdu(y) ≥ 0}. //here, 0 < tempMxdu ≤ k else tempMxdu = 0. (c) If (each y ∈ children(x) has mxdu(y) ≥ 0), then i. If ((x = root(T )) and (tempMxdu + w(parent(x), x) ≤ k)), then let mxdu(x) = tempMxdu. //x not added to D and 0 < mxdu(x) + w(parent(x), x) ≤ k ii. Otherwise, add x to D, let nrnd(x) = x, distNrnd(x) = 0, and call AssignDom(x, x). //dom(x) = x and now mxdu(x) = −1 (d) Otherwise, i.e., if (some y ∈ children(x) has mxdu(y) = −1 and hence dom(y) ≥ 0), then i. Let tempDistNrnd = min{distNrnd(y) + w(x, y) : y ∈ children(x) and mxdu(y) = −1} and let bestChild be an y for which the minimum is attained. //here, each distNrnd(y) ≤ k ii. [tempMxdu ≥ 0] If (tempDistNrnd + tempMxdu ≤ k) then let nrnd(x) = nrnd(bestChild), distNrnd(x) = tempDistNrnd, and call AssignDom(x, nrnd(bestChild)). //dom(x) = nrnd(bestChild) and now mxdu(x) = −1; x not added to D iii. Otherwise, if ((x = root) and (tempMxdu + w(parent(x), x) ≤ k)), then let mxdu(x) = tempMxdu. // nodes in U + (x, D) is dominated by parent(x), x not added to D iv. Otherwise, add x to D, let nrnd(x) = x and distNrnd(x) = 0, and call Assign-Dom(x, x). //dom(x) = x and now mxdu(x) = −1 Example 2. Fig. 3 shows the results applying OptKddset-algorithm for the tree in Fig. 2(i) and k = 4; the optimal 4-ddset obtained is D = {1, 5}. On completion of the call OptKddset(5) in step 3(c)(ii), we add the first node 5 to D, we set nrnd(5) = 5 and distNrnd(5) = 0, and the call AssignDom(5, 5) assigns dom(y) = 5 (and resets mxdu(y) = −1) for all y ∈ U + (5, ∅) = T 5 . On completion of the call OptKddset(3) in step 3(d)(ii), we get tempDistNrnd = 3 (bestChild = 5), we set nrnd(3) = 5 and distNrnd(3) = 2, and the call AssignDom(3, 5) assigns dom(y) = 5 for all y ∈ U + (3, {5}) = {3, 4}. Finally, on completion of the call OptKddset(1) in step 3(d)(iv), we get tempDistNrnd = 3 (bestChild = 3), tempMxdu = 3, and tempDistNrnd + tempMxdu = 3+3 = 6 > k, we add 1 to D, we set nrnd(1) = 1 and distNrnd(1) = 0, and the call AssignDom(1, 1) assigns dom(y) = 1 for all y ∈ U + (1, {5}) = {1, 2, 13, 14}. Now consider the tree in Fig. 2(ii), which is the same tree in Fig. 2(i) but with root = 3. The optimal 4-ddset obtained is now D = {3, 5}. We first add node 5 to D as before on completion of the call OptKddset(5) in step 3(c)(ii). Then, on completion of the call OptKddset(3) in step 3(d)(iv), we add 3 to D. Theorem 4. OptKddset(root) correctly computes an optimal k-ddset of T in O(|V |) time. Proof. The correctness of OptKddset(root) follows directly from Theorem 3. For the complexity, the function AssignDom(x, y) visits the set of nodes U + (x, S) by recursively calling AssignDom(x , y) for {x ∈ children(x) : dom(x ) = −1}, and then it assigns dom(x) = y and resets mxdu(x) = −1 to satisfy the property that mxdu(x) = −1 if and only if dom(x) ≥ 0. Thus, all calls of AssignDom(x, y) taken together visits a node z at most twice, once arriving at z for the first time and assigning dom(z) ≥ 0 and later we may arrive at z from parent(z) once more to find that dom(z) ≥ 0 and thus do not go further down. The total time for all calls of AssignDom(·, ·) is therefore O(|V |) time. Steps (1) and (2) for all nodes takes at most O(|V |) time. For each node x, we look at the links (x, y), y ∈ children(x), at most once in each of steps 3(b)-(d) to compute one or more of tempMxdu, tempDistNrnd, and bestChild, using a constant time per link. Also, the parent-link (parent(x), x) is looked at most once in each of steps 3(c)-(d). This gives the total computation time O(|V |) for OptKddset(root).
5
Author / Information Processing Letters (2017) 1–6
Node temp- temp- bestdistmxdu(x) nrnd(x) dom(x) x Mxdu DistNrnd Child Nrnd(x) 2 − − − 0 −1 5 −1 4 − − − 0 −1 5 −1 7 − − − 0 −1 5 −1 6 2 − − 2 −1 5 −1 10 − − − 0 −1 5 −1 9 1 − − 1 −1 5 −1 11 − − − 0 −1 5 −1 8 3 − − 3 −1 5 −1 12 − − − 0 −1 5 −1 5 4 − − −1 5 0 5 3 1 2 5 −1 5 2 5 14 − − − 0 −1 5 −1 13 2 − − 2 −1 5 −1 1 3 3 3 −1 1 0 1
6
Nodes y≠x assigned dom(y) = dom(x)
7, 6, 10, 9, 11, 8, 12 4 2, 14, 13
Figure 3. Illustration of algorithm OptKddset for k = 4 and the tree in Fig. 2(i); nodes x are shown in the order of completion of the call OptKddset(x). 4. Conclusion We have given here a linear time O(|V |) algorithm to determine an optimal k-distance dominating set D of a weighted tree T . We use a rooted form of T , with an arbitrary choice of the root as in [7], to direct a bottom-up search for the nodes included in D, one at a time. Unlike [7], the decision to include a node x in D is now dependent on both the subtree T x and the weight of the link (parent(x), x), if exists. Finding all optimal k-distance dominating sets of a (weighted) tree T efficiently remains a challenging problem. Acknowledgement I thank the anonymous referee for several helpful suggestions to improve the presentation. [1] E. Cockayne, S. Goodman, and S. Hedetniemi. A Linear Algorithm for the Domination Number of a Tree, Information Processing Letters, 41–44, 1975. [2] E.D. Demaine, F.V. Fomin, M. Hajiaghayi, and D.M. Thilikos. Fixed-parameter Algorithms for (k, r)-center in Planar Graphs and Map Graphs, Transactions on Algorithms, Vol. 1, No. 1, 1–16, 2005. [3] M.R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H.Freeman & Co., 190, 1979. [4] F. Harary and T.W. Haynes. Double Domination in Graphs, Ars Combinatoria, 55:201–213, 2000. [5] T.W. Haynes, S.T. Hedetniemi, and P.J. Slater. Fundamentals of Domination in Graphs, Marcel Dekker, Inc., 1998. [6] T.W. Haynes, S.T. Hedetniemi, and P.J. Slater (Eds.). Domination in Graphs: Advanced Topics, Marcel Dekker, Inc., 1998. [7] S. Kundu and S. Majumder. A Linear Time Algorithm for Optimal k-hop Dominating Set of a Tree, Info. Processing Letters, 116:197–202, 2016. [8] J.K. Lan and G.J. Chang. Algorithmic Aspects of the k-domination Problem in Graphs, Discrete Applied Math., 161:10–11, 2013. [9] P.J. Slater. R-domination in Graphs, Assoc. Comput. Mach., 23:446–450, 1976.
6