**PREPRINT**

國立臺灣大學 數學系 預印本 Department of Mathematics, National Taiwan University

### ~ mathlib/preprint/2011- 01.pdf

## Algorithmic Aspects of Domination in Graphs

### Gerard Jennhwa Chang

### October 6, 2011

### Algorithmic Aspects of Domination in Graphs

### Gerard Jennhwa Chang Department of Mathematics

### National Taiwan University Taipei 10617, Taiwan gjchang@math.ntu.edu.tw

Abstract

Domination in graph theory has many applications in the real world such as location problems. A dominating set of a graph G = (V, E) is a subset D of V such that every vertex not in D is adjacent to at least one vertex in D. The domination problem is to determine the domination number γ(G) of a graph G that is the minimum size of a dominating set of G. Although many theoretic theorems for domination and its varia- tions have been established for a long time, the first algorithmic result on this topic was given by Cockayne, Goodman and Hedetniemi in 1975.

They gave a linear-time algorithm for the domination problem in trees by using a labeling method. On the other hand, at about the same time, Garey and John constructed the first (unpublished) proof that the dom- ination problem is NP-complete. Since then, many algorithmic results are studied for variations of the domination problem in different classes of graphs. This chapter is to survey the development on this line during the past 36 years. Polynomial-time algorithms using labeling method, dynamic programming method and primal-dual method are surveyed on trees, interval graphs, strongly chordal graphs, permutation graphs, co- comparability graphs and distance-hereditary graphs. NP-completeness results on domination are also discussed.

### 1 Introduction

Graph theory was founded by Euler [90] in 1736 as a generalization of the solution to the famous problem of the K¨onigsberg bridges. From 1736 to 1936, the same concept as graph, but under different names, was used in various scientific fields as models of real world problems, see the historic book by Biggs, Lloyd and Wilson [23]. This chapter intents to survey the domination problem in graph theory from an algorithmic point of view.

Domination in graph theory is a natural model for many location problems in operations research. As an example, consider the following fire station problem.

Suppose a county has decided to build some fire stations, which must serve all of the towns in the county. The fire stations are to be located in some towns so that every town either has a fire station or is a neighbor of a town which has a fire station. To save money, the county wants to build the minimum number of fire stations satisfying the above requirements.

Domination has many other applications in the real world. The recent book by Haynes, Hedetniemi and Slater [114] illustrates many interesting examples, including dominating queens, sets of representatives, school bus routing, com- puter communication networks, (r, d)-configurations, radio stations, social net- work theory, land surveying, kernels of games, etc.

Among them, the classical problems of covering chessboards by the minimum number of chess pieces are important in stimulating the study of domination, which commenced in the early 1970’s. These problems certainly date back to De Jaenisch [85] and have been mentioned in the literature frequently since that time.

A simple example is to determine the minimum number of kings dominating
the entire chessboard. The answer to an m × n chessboard is ⌈^{m}_{3}⌉⌈^{n}_{3}⌉. In the
Chinese chess game, a king only dominates the four neighbor cells which have
common sides with the cell the king lies in. In this case, the Chinese king
domination problem for an m × n chessboard is harder. Figure 1 shows optimal
solutions to both cases for a 3 × 5 board.

K

K K

K K

K

(a) chessboard (b) Chinese chessboard Figure 1: King domination on a 3 × 5 chessboard.

The above problems can be abstracted into the concept of domination in terms of graphs as follows. A dominating set of a graph G = (V, E) is a subset D of V such that every vertex not in D is adjacent to at least one vertex in D.

The domination number γ(G) of a graph G is the minimum size of a dominating set of G.

For the fire station problem, consider the graph G having all towns of the county as its vertices and a town is adjacent to its neighbor towns. The fire station problem is just the domination problem, as γ(G) is the minimum number of fire stations needed.

For the king domination problem on an m×n chessboard, consider the king’s graph G whose vertices correspond to the mn squares in the chessboard and two vertices are adjacent if and only if their corresponding squares have a common point. For the Chinese king domination problem, the vertex set is the same but two vertices are adjacent if and only if their corresponding squares have a common side. Figure 2 shows the corresponding graphs for the king and the Chinese king domination problems on a 3 × 5 chessboard. The king domination problem is just the domination problem, as γ(G) is the minimum number of kings needed. Black vertices in the graph form a minimum dominating set.

e e e e e

e e e e e

e u e e u

@@@

@@

@

@@@

@@

@

(a) for chess

e e

e e e

e e

e

e e

e u u

u u

(b) for Chinese chess

@@@

@@

@

@@@

@@

@

Figure 2: King’s graphs for the chess and the Chinese chess.

Although many theoretic theorems for the domination problem have been established for a long time, the first algorithmic result on this topic was given by Cockayne, Goodman and Hedetniemi [58] in 1975. They gave a linear-time algorithm for the domination problem in trees by using a labeling method.

On the other hand, at about the same time Garey and Johnson (see [101]) constructed the first (unpublished) proof that the domination problem is NP- complete for general graphs. Since then, many algorithmic results are studied for variations of the domination problem in different classes of graphs. The purpose of this chapter is to survey these results.

This chapter is organized as follows. Section 2 gives basic definitions and notation. In particular, the classes of graphs surveyed in this chapter are intro- duced. Among them, trees and interval graphs are two basic classes in the study of domination. While a tree can be viewed as many paths starting from a center with different branches, an interval graph is a “thick path” in the sense that a vertex of a path is replaced by a group of vertices tied together. Section 3 inves- tigates different approaches for domination in trees, including labeling method, dynamic programming method, primal-dual approach and others. These tech- niques are used not only for trees, but also for many other classes of graphs in the study of domination as well as many other optimization problems. Section 4 is for domination in interval graphs. It is in general not clear to which classes of graphs the results in trees and interval graphs can be extended. For some classes of graphs the domination problem becomes NP-complete, while for some classes it is polynomially solvable. Section 5 surveys NP-completeness results on domination, for which chordal graphs play an important role. The remaining

sections are for classes of graphs in which the domination problem is solvable, including strongly chordal graphs, permutation graphs, cocomparability graphs and distance-hereditary graphs.

### 2 Definitions and notation

### 2.1 Graph terminology

A graph is an ordered pair G = (V, E) consisting of a finite nonempty set V of vertices and a set E of 2-subsets of V , whose elements are called edges.

Sometimes V (G) is used for the vertex set and E(G) for the edge set of a graph G. A graph is trivial if it contains only one vertex. For any edge e = {u, v}, it is said that vertices u and v are adjacent, and that vertex u (respectively, v) and edge e are incident. Two distinct edges are adjacent if they contain a common vertex. It is convenient to henceforth denote an edge by uv rather than {u, v}.

Notice that uv and vu represent the same edge in a graph.

Two graphs G = (V, E) and H = (U, F ) are isomorphic if there exists a bijection f from V to U such that uv ∈ E if and only if f (u)f (v) ∈ F . Two isomorphic graphs are essentially the same as one can be obtained from the other by renaming vertices.

It is often useful to express a graph G diagrammatically. To do this, each vertex is represented by a point (or a small circle) in the plane and each edge by a curve joining the points (or small circles) corresponding to the two vertices incident to the edge. It is convenient to refer to such diagram of a graph as the graph itself. In Figure 3, a graph G with vertex set V = {u, v, w, x, y, z} and edge set E = {uw, ux, vw, wx, xy, wz, xz} is shown.

f f f f

f

f

A AA

AA

A

v w x y

z u

Figure 3: A graph G with 6 vertices and 7 edges.

Suppose A and B are two sets of vertices. The neighborhood NA(B) of B in A is the set of vertices in A that are adjacent to some vertex in B, i.e.,

NA(B) = {u ∈ A : uv ∈ E for some v ∈ B}.

The closed neighborhood NA[B] of B in A is NA(B) ∪ B. For simplicity, NA(v) stands for NA({v}), NA[v] for NA[{v}], N (B) for NV(B), N [B] for NV[B], N (v) for NV({v}) and N [v] for NV[{v}]. The notion u ∼ v stands for u ∈ N [v].

The degree deg(v) of a vertex v is the size of N (v), or equivalently, the number of edges incident to v. An isolated vertex is a vertex of degree zero. A leaf (or end vertex) is a vertex of degree one. The minimum degree of a graph G is denoted by δ(G) and the maximum degree by ∆(G). A graph G is r-regular if δ(G) = ∆(G) = r. A 3-regular graph is also called a cubic graph.

A graph G^{′} = (V^{′}, E^{′}) is a subgraph of another graph G = (V, E) if V^{′} ⊆ V
and E^{′} ⊆ E. In the case of V^{′}= V , G^{′} is called a spanning subgraph of G. For
any nonempty subset S of V , the (vertex) induced subgraph G[S] is the graph
with vertex set S and edge set

E[S] = {uv ∈ E : u ∈ S and v ∈ S}.

A graph is H-free if it does not contain H as an induced subgraph. The deletion of S from G = (V, E), denoted by G − S, is the graph G[V \ S]. G − v is a short notation for G − {v} when v is a vertex in G. The deletion of a subset F of E from G = (V, E) is the graph G − F = (V, E \ F ). G − e is a short notation for G − {e} if e is an edge of G. The complement of a graph G = (V, E) is the graph G = (V, E), where

E = {uv 6∈ E : u, v ∈ V and u 6= v}.

Suppose G1= (V1, E1) and G2= (V2, E2) are two graphs with V1∩ V2= ∅. The union of G1 and G2 is the graph G1∪ G2= (V1∪ V2, E1∪ E2). The join of G1

and G2 is the graph G1+ G2= (V1∪ V2, E+), where

E+= E1∪ E2∪ {uv : u ∈ V1and v ∈ V2}.

The Cartesian product of G1and G2is the graph G12G2= (V1×V2, E2), where V1× V2= {(v1, v2) : v1∈ V1 and v2∈ V2},

E2 = {(u1, u2)(v1, v2) : (u1= v1, u2v2∈ E2) or (u1v1∈ E1, u2= v2)}.

In a graph G = (V, E), a clique is a set of pairwise adjacent vertices in V . An i-clique is a clique of size i. A 2-clique is just an edge. A 3-clique is called a triangle. A stable (or independent) set is a set of pairwise nonadjacent vertices in V .

For two vertices x and y of a graph, an x-y walk is a sequence x = x0, x1, . . ., xn = y such that xi−1xi ∈ E for 1 ≤ i ≤ n, where n is called the length of the walk. In a walk x0, x1, . . ., xn, a chord is an edge xixj with |i − j| ≥ 2. A trail (path) is a walk in which all edges (vertices) are distinct. A cycle is an x-x walk in which all vertices are distinct except the first vertex is equal to the last.

A graph is acyclic if it does not contain any cycle.

A graph is connected if for any two vertices x and y, there exists an x-y walk.

A graph is disconnected if it is not connected. A (connected) component of a graph is a maximal subgraph which is connected. A cut-vertex is a vertex whose

deletion from the graph results in a disconnected graph. A block of a graph is a maximal connected graph which has no cut-vertices.

The distance d(x, y) from a vertex x to another vertex y is the minimum length of an x-y path; and d(x, y) = ∞ when there is no x-y path.

Digraphs or directed graphs can be defined similar to graphs except that an edge (u, v) is now an ordered pair rather than a 2-subset. All terms in graphs can be defined for digraphs with suitable modifications by taking into account the directions of edges.

An orientation of a graph G = (V, E) is a digraph (V, E^{′}) such that for each
edge {u, v} of E exactly one of (u, v) and (v, u) is in E^{′} and the edges in E^{′} all
come from this way.

### 2.2 Variations of domination

Due to different requirements in the applications, people have studied many variations of the domination problem. For instance, in the queen’s domination problem, one may ask the additional property that two queens don’t dominate each other, or any two queens must dominate each other. The following are most commonly studied variants of domination.

Recall that a dominating set of a graph G = (V, E) is a subset D of V such that every vertex not in D is adjacent to at least one vertex in D. This is equivalent to that N [x] ∩ D 6= ∅ for all x ∈ V or ∪y∈DN [y] = V .

A dominating set D of a graph G = (V, E) is independent, connected, total or perfect (efficient) if G[D] has no edge, G[D] is connected, G[D] has no iso- lated vertex or |N [v] ∩ D| = 1 for any v ∈ V \ D. An independent (respectively, connected or total) perfect dominating set is a perfect dominating set which is also independent (respectively, connected or total). A dominating clique (re- spectively, cycle) is a dominating set which is also a clique (respectively, cycle).

For a fixed positive integer k, a k-dominating set of G is a subset D of V such that for every vertex v in V there exists some vertex u in D with d(u, v) ≤ k.

An edge dominating set of G = (V, E) is a subset F of E such that every edge in E \ F is adjacent to some edge in F . For the above variations of domination, the corresponding independent, connected, total, perfect, independent perfect, con- nected perfect, total perfect, clique, cycle, k- and edge domination numbers are denoted by γi(G), γc(G), γt(G), γper(G), γiper(G), γcper(G), γtper(G), γcl(G), γcy(G), γk(G) and γe(G), respectively.

A dominating set D of a graph G = (V, E) corresponds to a dominating function which is a function f : V → {0, 1} such that P

u∈N [v]f (u) ≥ 1 for any v ∈ V . The weight of f is w(f ) =P

v∈V f (v). Then γ(G) is equal to the minimum weight of a dominating function of G. Several variations of domination are defined in terms of functions as follows. A signed dominating function is a function f : V → {+1, −1} such thatP

u∈N [v]f (u) ≥ 1. The signed domination number γs(G) of G is the minimum weight of a signed dominating function.

A Roman dominating function is a function f : V → {0, 1, 2} such that any vertex v with f (v) = 0 is adjacent to some vertex u with f (u) = 2. The Roman domination number γRom(G) of G is the minimum weight of a Roman dominating function.

A set-valued variation of domination is as follows. For a fixed positive integer k, a k-rainbow dominating function is a function f : V → 2{1,2,...,k} such that f (v) = ∅ implies ∪u∈N (v)f (u) = {1, 2, . . . , k}. The weight of f is w(f ) = P

v∈V |f (v)|. The k-rainbow domination number γkrain(G) of G is the minimum weight of a k-rainbow dominating function. Notice that 1-rainbow domination is the same as the ordinary domination.

A quite different variation motivated from the power system monitoring is as follows. For a positive integer k, suppose D is a vertex subset of a graph G = (V, E). The following two observation rules are applied iteratively.

• Observation Rule 1 (OR1) A vertex in D observes itself and all of its neighbors.

• Observation Rule 2 (OR2) If an observed vertex is adjacent to at most k unobserved vertices, then these vertices become observed as well.

The set D is a k-power dominating set of G if all vertices of the graph are ob- served after repeatedly applying the above two observation rules. Alternatively, let S0(D) = N [D] and

Si+1(D) = ∪{N [v] : v ∈ Si(D), |N (v)\Si(D)| ≤ k}

for i ≥ 0. Notice that S0(D) ⊆ S1(D) ⊆ S2(D) ⊆ . . . and there is a t such that Si(D) = St(D) for i ≥ t. Using this notation, D is a k-power dominating set if and only if St(D) = V . The k-power domination number γkpow(G) of G is the minimum size of a k-power dominating set. For the case of k = 1, 1-power domination is called power domination.

Figure 4 shows a graph G of 13 vertices and 19 edges, whose values of γπ(G) for variations of domination and the corresponding optimal sets/functions are given below.

e e

e e e e

e e e e

e e

e

@@@

v1

v2

v3

v4 v6 v9 v11

v5

v7

v10

v12

v13

v8

Figure 4: A graph G of 13 vertices and 19 edges.

γ(G) = 3, D^{∗}= {v2, v8, v9};

γi(G) = 3, D^{∗}= {v2, v8, v9};

γc(G) = 6, D^{∗}= {v2, v4, v5, v7, v10, v12};

γt(G) = 5, D^{∗}= {v2, v4, v7, v10, v12};

γper(G) = 4, D^{∗}= {v2, v3, v8, v9};

γiper(G) = ∞, infeasible;

γcper(G) = 10, D^{∗}= {v1, v2, v4, v5, v6, v7, v9, v10, v11, v12};

γtper(G) = 6, D^{∗}= {v1, v2, v4, v5, v12, v13};

γcl(G) = ∞, infeasible;

γcy(G) = 8, D^{∗}= {v2, v4, v6, v9, v12, v10, v7, v5};

γ2(G) = 2, D^{∗}= {v6, v7};

γk(G) = 1, D^{∗}= {v7} for k ≥ 3;

γe(G) = 3, D^{∗}= {v2v4, v9v12, v7v8};

γs(G) = 5, f^{∗}(vi) = −1 for i = 1, 6, 8, 11 and f^{∗}(vi) = +1 for other i;

γRom(G) = 6, f^{∗}(vi) = 2 for i = 2, 8, 9 and f^{∗}(vi) = 0 for other i;

γ1rain(G) = 3, f^{∗}(vi) = {1} for i = 2, 8, 9 and f^{∗}(vi) = ∅ for other i;

γ2rain(G) = 6, f^{∗}(vi) = {1, 2} for i = 2, 8, 9 and f^{∗}(vi) = ∅ for other i;

γ3rain(G) = 8, f^{∗}(vi) = {1} for i = 3, 6, 8, 13, f^{∗}(v1) = f^{∗}(v10) = {2},
f^{∗}(v5) = f^{∗}(v11) = {3} and f^{∗}(vi) = ∅ for other i;

γ4rain(G) = 10, f^{∗}(vi) = {1} for i = 3, 6, 8, 13, f^{∗}(v1) = {2}, f^{∗}(v10) = {2, 4},
f^{∗}(v5) = {3, 4}, f^{∗}(v11) = {3} and f^{∗}(vi) = ∅ for other i;

γ5rain(G) = 12, f^{∗}(vi) = {1} for i = 3, 6, 8, 13, f^{∗}(v1) = {2}, f^{∗}(v10) = {2, 4, 5},
f^{∗}(v5) = {3, 4, 5}, f^{∗}(v11) = {3} and f^{∗}(vi) = ∅ for other i;

γkrain(G) = 13, f^{∗}(vi) = {1} for all i for k ≥ 6;

γkpow(G) = 1, D^{∗}= {v2} for k ≥ 1.

The (vertex-)weighted versions of all of the above vertex-subset variations of domination can also be considered. Now, every vertex v has a weight w(v) of real number. The problem is to find a dominating set D in a suitable variation such that

w(D) =X

v∈Dw(v)

is as small as possible. Denote this minimum value by γπ(G, w), where π stands for a variation of the domination problem. When w(v) = 1 for all vertices v, the weighted cases become the cardinality cases.

For some variations of domination, the vertex weights may assume to be non-negative as the following lemma shows.

Lemma 2.1 Suppose G = (V, E) is a graph in which every vertex is associated
with a weight w(v) of real number. If w^{′}(v) = max{w(v), 0} for all vertices
v ∈ V , then for any π ∈ {∅, c, t, k, kpow} we have

γπ(G, w) = γπ(G, w^{′}) +X

w(v)<0w(v).

Proof. Denote by A the set of all vertices v with w(v) < 0. Suppose D is a π-dominating set of G withP

v∈Dw(v) = γπ(G, w). Then
γπ(G, w^{′}) ≤ X

v∈Dw^{′}(v)

= X

v∈Dw(v) −X

v∈D∩Aw(v)

≤ γπ(G, w) −X

w(v)<0w(v).

On the other hand, for any π-dominating set D of G with P

v∈Dw^{′}(v) =
γπ(G, w^{′}), D ∪ A is also a π-dominating set of G and so

γπ(G, w) ≤ X

v∈D∪Aw(v)

= X

v∈Dw^{′}(v) +X

v∈Aw(v)

= γπ(G, w^{′}) +X

w(v)<0w(v).

The lemma then follows.

More generally, one may consider vertex-edge-weighted cases of the domina- tion problems as follows. Now, besides the weights of vertices, each edge e has a weight w(e). The object is then to find a dominating set D in a suitable variation such that

w(D) =X

v∈Dw(v) +X

u∈V \Dw(uu^{′})

is as small as possible, where u^{′} is a vertex in D that is adjacent to u. Note
that there are many choices of u^{′} except for the perfect domination and its
three variations. Denote this minimum value by γπ(G, w, w), where π stands
for a variation of domination. When w(e) = 0 for all edges e, the vertex-edge-
weighted cases become the vertex-weighted cases.

Another parameter related to domination is as follows. The domatic number d(G) of a graph G is the maximum number r such that G has r pairwise disjoint dominating sets D1, D2, . . . , Dr. One can also define independent, connected, to- tal, perfect, independent perfect, connected perfect, total perfect, clique, cycle, k-, edge, k-power domatic numbers di(G), dc(G), dt(G), dper(G), diper(G), dcper(G), dtper(G), dcl(G), dcy(G), dk(G), de(G), dkpow(G), respectively, according to above variations of domination in similar ways.

### 2.3 Special classes of graphs

In this subsection, special classes of graphs are introduced. They are not only important in the study of domination, but also fundamental in graph theory.

A complete graph is a graph whose vertex set is a clique. The complete graph with n vertices is denoted by Kn. The complement Kn of the complete graph Kn is then a graph with no edge.

The n-path, denoted by Pn, is a graph with n vertices that contains a chord- less path of length n. The n-cycle, denoted by Cn, is a graph with n vertices that contains a chordless cycle of length n.

An r-partite graph is a graph whose vertex set can be partitioned into r stable sets, which are called its partite sets. A 2-partite graph is usually called a bipartite graph. A complete r-partite graph is a r-partite graph in which vertices in different partite sets are adjacent. A complete r-partite graph with partite sets having n1, n2, . . . , nrvertices, respectively, is denoted by Kn1,n2,...,nr.

A tree is a connected graph without any cycle. A directed tree is an orienta- tion of a tree. A rooted tree is a directed tree in which there is a special vertex r, called the root, such that for every vertex v there is a directed r-v path. Trees are probably the simplest structures in graph theory. Problems looking hard in general graphs are often investigated in trees first as a warm up. Domination in trees is introduced in Section 3. Many ideas for domination in trees are then generalized to other classes of graphs.

Suppose F is a family of sets. The intersection graph of F is the graph obtained by representing each set in F as a vertex and joining two distinct vertices with an edge if their corresponding sets intersect. It is well-known that any graph is the intersection graph of some family F . The problem of characterizing the intersection graphs of families of sets having some specific topological or other pattern is often interesting and frequently has applications in the real world. A typical example is the class of interval graphs. An interval graph is the intersection graph of intervals in the real line. They play important roles in many applications. Domination in interval graphs is investigated in Section 4.

A graph is chordal (or triangulated) if every cycle of length greater than three has a chord. The class of chordal graphs is one of the classical classes in the perfect graph theory, see the book by Golumbic [103]. It turns out to be also very important in the domination theory. It is well-known that a graph is chordal if and only if it is the intersection graph of some subtrees of a certain tree. If these subtrees are paths, this chordal graph is called an undirected path graph. If these subtrees are directed paths of a rooted tree, the graph is called a directed path graph. If these subtrees are paths in some n-path, the graph is just an interval graph.

Most variations of the domination problem are NP-complete even for chordal graphs, see Section 5. As an important subclass of chordal graphs, the class of strongly chordal graphs is a star of the domination theory. Strongly chordal graphs include directed path graphs, which in turn include trees and interval graphs. Domination in strongly chordal graphs is studied in Section 6.

A permutation diagram consists of n points on each of two parallel lines and n straight line segments matching the points. The intersection graph of the line

segments is called a permutation graph. Domination in permutation graphs is introduced in Section 7.

A comparability graph is a graph G = (V, E) that has a transitive orientation
G^{′} = (V, E^{′}), i.e., uv ∈ E^{′} and vw ∈ E^{′} imply uw ∈ E^{′}. A cocomparabil-
ity graph is the complement of a comparability graph. Cocomparabity graphs
are generalizations of permutation graphs and intervals graphs. Domination in
cocomparability graphs is investigated in Section 8.

A graph is distance-hereditary if the distance between any two vertices is the same in any connected induced subgraph containing them. Domination in distance-hereditary graphs is studied in Section 9.

For more detailed discussions of these classes of graphs, see the remaining sections of this chapter.

### 3 Trees

### 3.1 Basic properties of trees

Recall that a tree is an acyclic connected graph. The following characterizations are well-known, see the textbook by West [194].

Theorem 3.1 The following statements are equivalent for any graph G = (V, E).

(1) G is a tree.

(2) G is connected and |V | = |E| + 1.

(3) G is acyclic and |V | = |E| + 1.

(4) For any two vertices u and v, there is a unique u-v path.

(5) The vertices of G have an ordering [v1, v2, . . . , vn] such that vi is a leaf of Gi = G[{vi, vi+1, . . . , vn}] for 1 ≤ i ≤ n − 1, or equivalently

for each 1 ≤ i ≤ n − 1, vi is adjacent to exactly one vj with j > i. (TO) The ordering in Theorem 3.1 (5) is called a tree ordering of the tree, where the only neighbor vj of viwith j > i is called the parent of vi and vi is a child of vj. The tree ordering plays an important role in many algorithms dealing with trees. Many algorithms on trees process from leaves by passing information to their parents iteratively, or equivalently, doing a loop according to a tree ordering. From an algorithmic point of view, the testing of a tree and finding a tree ordering can be done in linear time. Figure 5 shows a tree of 11 vertices and a tree ordering.

For some algorithms in trees, it is necessary to process simultaneously a group of leaves which is adjacent to a vertex with only one non-leaf neighbor.

This corresponds to a tree ordering, which is called a strong tree ordering, with the property that all children of a vertex are consecutive in the ordering. The tree order [v2, v3, v1, v4, v6, v7, v5, v8, v9, v11, v12, v10, v13, v14, v15] is strong for the tree in Figure 5.

e e e e e e

e e e e e e

e e

e

v1 v5 v9 v10 v14 v15

v12

v13

v7

v8

v4

v2

v3 v6 v11

Figure 5: An example of the tree ordering.

### 3.2 Labeling algorithm for trees

Cockayne, Goodman and Hedetniemi [58] gave the first linear-time algorithm for the domination problem in trees by a labeling method, which is a naive but useful approach.

The algorithm starts processing a leaf v of a tree T , which is adjacent to a unique vertex u. To dominate v, a minimum dominating set D of T must contain u or v. However, since N [v] ⊆ N [u], it is better to have u in D rather than v in D. So one can keep an information “required” in u and delete v from T . At some iteration, if a “required” leaf v adjacent to u which is not labeled by “required” is processed, it is necessary to put v into D and delete it from T . But now, there is a vertex in D that dominates u, so u is labeled by “free”. For convenience, all vertices are labeled by “bound” initially.

More precisely, suppose the vertex set of a graph G = (V, E) is partitioned into three sets F, B and R, where F consists of free vertices, B consists of bound vertices and R consists of required vertices. A mixed dominating set of G (with respect to F, B, R) is a subset D ⊆ V such that

R ⊆ D and every vertex in B \ D is adjacent to some vertex in D.

Free vertices need not be dominated by D but may be included in D in order to
dominate bound vertices. The mixed domination number γ^{m}(G) is the minimum
size of a mixed dominating set in G, such a set is called an md-set of G. Note
that mixed domination is the ordinary domination when B = V and F = R = ∅.

The construction and correctness of the algorithm is based on the following theorem.

Theorem 3.2 Suppose T is a tree having free, bound and required vertices F , B and R, respectively. Let v be a leaf of T , which is adjacent to u. Then the following statements hold.

(1) If v ∈ F , then γ^{m}(T ) = γ^{m}(T − v).

(2) If v ∈ B and T^{′} is the tree which results from T by deleting v and
relabeling u as “required”, then γ^{m}(T ) = γ^{m}(T^{′}).

(3) If v ∈ R and u ∈ R, then γ^{m}(T ) = γ^{m}(T − v) + 1.

(4) If v ∈ R, u /∈ R and T^{′} is the tree which results from T by deleting v and
relabeling u as “free”, then γ^{m}(T ) = γ^{m}(T^{′}) + 1.

Proof. (1) Since v is free, any md-set D^{′} of T − v is also a mixed dominating
set of T . Thus, γ^{m}(T ) ≤ |D^{′}| = γ^{m}(T − v). On the other hand, suppose D is
an md-set of T . If v /∈ D, then D is also a mixed dominating set of T − v. If
v ∈ D, then (D \ {v}) ∪ {u} is a mixed dominating set of T − v, whose size is
at most |D|. Thus, in either case, γ^{m}(T − v) ≤ |D| = γ^{m}(T ).

(2) Since u is required in T^{′}, any md-set D^{′} of T^{′} always contains u and
hence is also a mixed dominating set of T . Thus, γ^{m}(T ) ≤ |D^{′}| = γ^{m}(T^{′}). On
the other hand, suppose D is an md-set of T . Since v is bound in T , either u or
v is in D. In any case, D^{′}= (D \ {v}) ∪ {u} is a mixed dominating set of T^{′}, in
which u is considered as a required vertex. So, γ^{m}(T^{′}) ≤ |D^{′}| ≤ |D| = γ^{m}(T ).

(3) If D^{′} is an md-set of T^{′}, then D^{′}∪ {v} is a mixed dominating set of T .
Thus, γ^{m}(T ) ≤ |D^{′}∪ {v}| = γ^{m}(T^{′}) + 1. On the other hand, any md-set D of
T contains both u and v. Then D \ {v} is a mixed dominating set of T^{′}. So,
γ^{m}(T^{′}) ≤ |D \ {v}| = γ^{m}(T ) − 1.

(4) If D^{′} is an md-set of T^{′}, then D^{′}∪ {v} is a mixed dominating set of T .
Thus, γ(T ) ≤ |D^{′}∪ {v}| = γ^{m}(T^{′}) + 1. On the other hand, any md-set D of T
contains v. Since u is free in T^{′}, D \ {v} is a mixed dominating set in T^{′}. So,
γ^{m}(T^{′}) ≤ |D \ {v}| = γ^{m}(T ) − 1.

The above theorem then gives the following algorithm for the mixed domi- nation problem in trees.

Algorithm DomTreeL. Find a minimum mixed dominating set of a tree.

Input. A tree T whose vertices are labeled by free, bound or required. A tree ordering [v1, v2, . . ., vn] of T .

Output. A minimum mixed dominating set D of T . Method.

D ← φ;

for i = 1 to n − 1 do

let vj be the parent of vi; if (vi is bound) then

relabel vj as required;

else if (vi is required) then D ← D ∪ {vi};

if vj is bound then relabel vj as free;

end if;

end for;

if vn is not free then D ← D ∪ {vn}.

Slater [184] generalized the above idea to solve the k-domination problem in trees. In fact he solved a slightly more general problem called R-domination.

Now, each vertex v is associated with an ordered pair Rv = (av, bv), where av is
a nonnegative integer and bva positive integer. The dominating set D is chosen
so that each vertex v is within distance av from some vertex in D. The integer
bv indicates that there is a vertex in the current D that is at distance bv from
v. More precisely, an R-dominating set of G = (V, E) is a vertex subset D such
that for any vertex v in G either there is some u ∈ D with d(u, v) ≤ av or else
there is some u ∈ V with bu+ d(u, v) ≤ av. The R-domination number γ^{R}(G)
of G is the minimum size of an R-dominating set. Notice that R-domination
with each Rv= (k, k + 1) is the same as the k-domination.

The construction and correctness of Slater’s algorithm is based on the fol- lowing theorem whose proof is omitted here.

Theorem 3.3 Suppose T is a tree in which each vertex v has a label Rv = (av, bv), where av is a nonnegative integer and bv a positive integer. Let v be a leaf of T , which is adjacent to u. Then the following statements hold.

(1) If av ≥ b_{v} and T^{′} is the tree which results from T by deleting v and
resetting bu by min{bu, bv+ 1}, then γ^{R}(T ) = γ^{R}(T^{′}).

(2) If av = 0 and T^{′} is the tree which results from T by deleting v and
resetting bu by 1, then γ^{R}(T ) = γ^{R}(T^{′}) + 1.

(3) If 0 < av < bv and T^{′} is the tree which results from T by deleting v and
resetting auby max{au, av−1} and buby min{bu, bv+1}, then γ^{R}(T ) = γ^{R}(T^{′}).

This then gives the following algorithm for R-domination in trees.

Algorithm RDomTreeL. Find a minimum R-dominating set of a tree.

Input. A tree T with a tree ordering [v1, v2, . . . , vn], in which each vertex v has a label Rv= (av, bv), where av≥ 0 and bv> 0 are integers.

Output. A minimum R-dominating set D of T . Method.

D ← φ;

for i = 1 to n − 1 do

let vj be the parent of vi; if (avi≥ bvi) then

bvj ← min{bvj, bvi+ 1};

else if (avi = 0) then D ← D ∪ {vi};

bvj ← 1;

end if;

else if (0 < avi < bvi) then
avj ← max{a_{v}_{j}, avi− 1};

bvj ← min{b_{v}_{j}, bvi+ 1};

end if;

end for;

if (avn< bvn) then D ← D ∪ {vn}.

The labeling algorithm is also used for many variations of domination. For instance, Mitchell and Hedetniemi [163] and Yannakakis and Gavril [198] gave labeling algorithms for the edge domination problem in trees. Laskar, Pfaff, Hedetniemi and Hedetniemi [150] gave a labeling algorithm for the total domi- nation problem in trees.

Next, an example of labeling algorithm using strong tree orderings is demon- strated. Chang, Wu and Zhu [49] investigated the k-rainbow domination prob- lem on trees. For technical reasons, they in fact dealed with a more general problem. A k-rainbow assignment is a mapping L that assigns each vertex v a label L(v) = (av, bv) with av, bv ∈ {0, 1, . . . , k}. A k-L-rainbow dominating function is a function f : V (G) → 2{1,2,...,k} such that for every vertex v in G the following conditions hold.

(L1) |f (v)| ≥ av.

(L2) | ∪u∈N (v)f (u)| ≥ bv whenever f (v) = ∅.

The k-L-rainbow domination number γkLrain(G) of G is the minimum weight of a k-L-rainbow dominating function. A k-L-rainbow dominating function f of G is optimal if w(f ) = γkLrain(G). Notice that k-rainbow domination is the same as k-L-rainbow domination if L(v) = (0, k) for each v ∈ V (G).

Theorem 3.4 Suppose v is a leaf adjacent to u in a graph G with a k-rainbow
assignment L. Let G^{′} = G − v and L^{′} be the restriction of L on V (G^{′}), except
that when av> 0 we let b^{′}_{u}= max{0, bu− av}. Then the following hold.

(1) If av> 0, then γkLrain(G) = γkL^{′}rain(G^{′}) + av.
(2) If av= 0 and au≥ b_{v}, then γkLrain(G) = γkL^{′}rain(G^{′}).

Theorem 3.5 Suppose N (u) = {z, v1, v2, . . . , vs} such that v1, v2, . . . , vs are
leaves in a graph G with a k-rainbow assignment L. Assume avi = 0 for 1 ≤
i ≤ s and bv1 ≥ bv2 ≥ . . . ≥ bvs > au. Let b^{∗} = min{bvi + i − 1 : 1 ≤
i ≤ s + 1} = bv_{i∗} + i^{∗} − 1, where bvs+1 = au and i^{∗} is chosen as small as
possible. If G^{′} = G − {v1, v2, . . . , vs} and L^{′} is the restriction of L on V (G^{′})
with modifications that a^{′}_{u}= bv_{i∗} and b^{′}_{u}= max{0, bu−i^{∗}+1}, then γkLrain(G) =
γkL^{′}rain(G^{′}) + i^{∗}− 1.

Remark that for the case when the component of G containing u is a star,
the vertex z does not exist. There is in fact no vertex vs+1. The assignment of
bvs+1 = au is for the purpose of convenience. In the case of i^{∗} = s + 1, it just
means that a^{′}_{u} is the same as au.

The theorems above then give the following linear-time algorithm for the k-L-rainbow domination problem in trees.

Algorithm RainbowDomTreeL. Find the k-L-domination number of a tree.

Input. A tree T = (V, E) in which each vertex v is labeled by L(v) = (av, bv).

Output. The minimum k-L-rainbow dominating number r of T . Method.

r ← 0;

get a Breadth First Search ordering x1, x2, . . . , xn for the tree T rooted at x1; for j = 1 to n do sj← 0; {number of children xi with axi = 0 and bxi > axj} for j = n to 2 step by −1 do

s ← sj; v ← xj;

if s > 0 then {apply Theorem 3.5}

let u = v and z, v1, v2, . . . , vs, b^{∗}, i^{∗} be as described in Theorem 3.5;

r ← r + i^{∗}− 1;

au← bv_{i∗};

bu← max{0, bu− i^{∗}+ 1};

end if;

else {apply Theorem 3.4}

let u = xj^{′} be the parent of v;

if av> 0 then { bu← max{0, bu− av}; r ← r + av };

else if au< bv then sj^{′} ← sj^{′}+ 1;

end else;

end do;

if ax1 > 0 then r ← r + ax1; else if bx1 > 0 then r ← r + 1.

As these algorithms suggest, the labeling algorithm may only work for prob- lems whose solutions have “local property”. For an example of problem without local property, the independent domination problem in the tree T of Figure 6 is considered. The only minimum independent dominating set of T is {v1, v3}. If the tree ordering [v1, v2, v4, v3, v5] is given, the algorithm must be clever enough to put the leaf v1into the solution at the first iteration. If another tree ordering [v5, v4, v3, v2, v1] is given, the algorithm must be clever enough not to put the leaf v5 at the first iteration. So, the algorithm must be one that not only looks at a leaf and its only neighbor, but also has some idea about the whole struc- ture of the tree. This is the meaning that the solution does not have a “local property”.

e e e e

e

v1 v2 v3 v4

v5

Figure 6: A tree T with a unique minimum independent dominating set.

### 3.3 Dynamic programming for trees

Dynamic programming is a powerful method for solving many discrete opti- mization problems; see the books by Bellman and Dreyfus [15], Dreyfus and Law [87] and Nemhauser [168]. The main idea of the dynamic programming approach for domination is to turn the “bottom-up” labeling method into “top- down”. Now a specific vertex u is chosen from G. A minimum dominating set D of G either contains or does not contain u. So it is useful to consider the following two domination problems which are the ordinary domination problem with boundary conditions.

γ^{1}(G, u) = min{|D| : D is a dominating set of G and u ∈ D}.

γ^{0}(G, u) = min{|D| : D is a dominating set of G and u /∈ D}.

Lemma 3.6 γ(G) = min{γ^{1}(G, u), γ^{0}(G, u)} for any graph G with a specific
vertex u.

Suppose H is another graph with a specific vertex v. Let I be the graph with the specific vertex u, which is obtained from the disjoint union of G and H by joining a new edge uv; see Figure 7.

d

ad aa aa aa

BBBBBBB

BBBBBBB v u

G

H

Figure 7: The composition of two trees G and H.

The aim is to use γ^{1}(G, u), γ^{0}(G, u), γ^{1}(H, v) and γ^{0}(H, v) to find γ^{1}(I, u)
and γ^{0}(I, u). Suppose D is a dominating set of I with u ∈ I. Then D = D^{′}∪D^{′′},
where D^{′} is a dominating set of G with v ∈ D^{′} and D^{′′} is a subset of V (H)
which dominates V (H) − {v}. There are two cases. In the case of v ∈ D^{′′}, D^{′′}is
a dominating set of H. On the other hand, if v /∈ D^{′′}then D^{′′} is a dominating
set of H − v. In order to cover the latter case, the following new problem is
introduced.

γ^{00}(G, u) = min{|D| : D is a dominating set of G − u}.

Note that γ^{00}(G, u) ≤ γ^{0}(G, u), since a dominating set D of G with u 6∈ D
is also a dominating set of G − u.

Theorem 3.7 Suppose G and H are graphs with specific vertices u and v, re- spectively. Let I be the graph with the specific vertex u, which is obtained from the disjoint union of G and H by joining a new edge uv. Then the following statements hold.

(1) γ^{1}(I, u) = γ^{1}(G, u) + min{γ^{1}(H, v), γ^{00}(H, v)}.

(2) γ^{0}(I, u) = min{γ^{0}(G, u) + γ^{0}(H, v), γ^{00}(G, u) + γ^{1}(H, v)}.

(3) γ^{00}(I, u) = γ^{00}(G, u) + γ(H) = γ^{00}(G, u) + min{γ^{1}(H, v), γ^{0}(H, v)}.

Proof. (1) This follows from the fact that D is a dominating set of I with
u ∈ D if and only if D = D^{′} ∪ D^{′′}, where D^{′} is a dominating set of G with
u ∈ D^{′} and D^{′′} is a dominating set of H with v ∈ D^{′′} or a dominating set of
H − v.

(2) This follows from the fact that D is a dominating set of I with u /∈ D if
and only if D = D^{′}∪ D^{′′}, where either D^{′} is a dominating set of G with u /∈ D^{′}
and D^{′′} is a dominating set of H with v 6∈ D^{′′}, or D^{′} is a dominating set of
G − u and D^{′′} is a dominating set of H with v ∈ D^{′′}.

(3) This follows from the fact that D is a dominating set of I − u if and only
if D = D^{′}∪ D^{′′}, where D^{′} is a dominating set of G − u and D^{′′} is a dominating
set of H.

The lemma and the theorem above then give the following dynamic pro- gramming algorithm for the domination problem in trees.

Algorithm DomTreeD. Determine the domination number of a tree.

Input. A tree T with a tree ordering [v1, v2, . . . , vn].

Output. The domination number γ(T ) of T . Method.

for i = 1 to n do
γ^{1}(vi) ← 1;

γ^{0}(vi) ← ∞;

γ^{00}(v) ← 0;

end do;

for i = 1 to n − 1 do

let vj be the parent of vi;

γ^{1}(vj) ← γ^{1}(vj) + min{γ^{1}(vi), γ^{00}(vi)};

γ^{0}(vj) ← min{γ^{0}(vj) + γ^{0}(vi), γ^{00}(vj) + γ^{1}(vi)};

γ^{00}(vj) ← γ^{00}(vj) + min{γ^{1}(vi), γ^{0}(vi)};

end do;

γ(T ) ← min{γ^{1}(vn), γ^{0}(vn)}.

The advantage of the dynamic programming method is that it also works for problems whose solutions have no local property. As an example, Beyer, Proskurowski, Hedetniemi and Mitchell [22] solved the independent domina- tion problem by this method. Moreover, the method can be used to solve

the vertex-edge-weighted cases. The following derivation for the vertex-edge- weighted domination in trees is slightly different from that given by Natarajan and White [167].

Define γ^{1}(G, u, w, w), γ^{0}(G, u, w, w) and γ^{00}(G, u, w, w) in the same way as
γ^{1}(G, u), γ^{0}(G, u) and γ^{00}(G, u), except that |D| is replaced by w(D).

Lemma 3.8 γ(G, w, w) = min{γ^{1}(G, u, w, w), γ^{0}(G, u, w, w)} for any graph G
with a specific vertex u.

Theorem 3.9 Suppose G and H are graphs with specific vertices u and v, re- spectively. Let I be the graph with the specific vertex u, which is obtained from the disjoint union of G and H by joining a new edge uv. The following state- ments hold.

(1) γ^{1}(I, u, w, w) = γ^{1}(G, u, w, w)+min{γ(H, v, w, w), w(uv)+γ^{00}(H, v, w, w)}.

(2) γ^{0}(I, u, w, w) = min{γ^{0}(G, u, w, w)+γ(H, w, w), γ^{00}(G, u, w, w)+w(uv)+

γ^{1}(H, v, w, w)}.

(3) γ^{00}(I, u, w, w) = γ^{00}(G, u, w, w) + γ(H, w, w).

The lemma and the theorem above then give the following algorithm for the vertex-edge-weighted domination problem in trees.

Algorithm VEWDomTreeD. Determine the vertex-edge-weighted domina- tion number of a tree.

Input. A tree T with a tree ordering [v1, v2, . . . , vn], and each vertex v has a weight w(v) and each edge e has a weight w(e).

Output. The vertex-edge-weighted domination number γ(T, w, w) of T . Method.

for i = 1 to n do

γ(vi) ← γ^{1}(vi) ← w(vi);

γ^{0}(vi) ← ∞;

γ^{00}(vi) ← 0;

end do;

for i = 1 to n − 1 do

let vj be the parent of vi;

γ^{1}(vj) ← γ^{1}(vj)+ min{γ(vi), w(uv) + γ^{00}(vi)};

γ^{0}(vj) ← min{γ^{0}(vj) + γ(vi), γ^{00}(vj) + w(uv) + γ^{1}(vi)};

γ^{00}(vj) ← γ^{00}(vj) + γ(vi);

γ(vj) ← min{γ^{1}(vj), γ^{0}(vj)};

end do;

γ(T, w, w) ← γ(vn).

The dynamic programming method is also used in several papers for solving variations of the domination problems in trees, see [13, 98, 116, 124, 185, 203].

### 3.4 Primal-dual approach for trees

The most beautiful method used in domination may be the primal-dual ap- proach. In this method, besides the original domination problem, the following dual problem is also considered. In a graph G = (V, E), a 2-stable set is a subset S ⊆ V in which every two distinct vertices u and v have distance d(u, v) > 2.

The 2-stability number α2(G) of G is the maximum size of a 2-stable set in G.

It is easy to see the following inequality.

Weak Duality Inequality: α2(G) ≤ γ(G) for any graph G.

Note that the above inequality can be strict, as shown by the n-cycle Cn that
α2(Cn) = ⌊^{n}_{3}⌋ but γ(C_{n}) = ⌈^{n}_{3}⌉.

For a tree T , an algorithm which outputs a dominating set D^{∗}and a 2-stable
set S^{∗}with |D^{∗}| ≤ |S^{∗}| is designed. Then

|S^{∗}| ≤ α2(T ) ≤ γ(T ) ≤ |D^{∗}| ≤ |S^{∗}|,

which imply that all inequalities are equalities. Consequently, D^{∗} is a mini-
mum dominating set, S^{∗} is a maximum 2-stable and the strong duality equality
α2(T ) = γ(T ) holds.

The algorithm starts from a leaf v adjacent to u. It also uses the idea as in the labeling algorithm that u is more powerful than v since N [v] ⊆ N [u].

Instead of choosing v, u is put into D^{∗}. Besides, v is also put into S^{∗}. More
precisely, the algorithm is as follows.

Algorithm DomTreePD. Find a minimum dominating set and a maximum 2-stable set of a tree.

Input. A tree T with a tree ordering [v1, v2, . . . , vn].

Output. A minimum dominating set D^{∗}and a maximum 2-stable set S^{∗}of T.

Method.

D^{∗}← φ;

S^{∗}← φ;

for i = 1 to n do

let vj be the parent of vi;
(assume vj= vn for vi = vn)
if (N [vi] ∩ D^{∗}= φ) then

D^{∗}← D^{∗}∪ {v_{j}};

S^{∗}← S^{∗}∪ {v_{i}};

end if:

end do.

To verify the algorithm, it is sufficient to prove that D^{∗}is a dominating set,
S^{∗} is a 2-stable set and |D^{∗}| ≤ |S^{∗}|.

D^{∗} is clearly a dominating set as the if-then statement does.

Suppose S^{∗} is not a 2-stable set, i.e., there exist vi and vi^{′} in S^{∗} such that
i < i^{′} but dT(vi, vi^{′}) ≤ 2. Let Ti = T [{vi, vi+1, . . . , vn}]. Then Ti contains vi,

vj and vi^{′}. Since d(vi, vi^{′}) ≤ 2, the unique vi-vi^{′} path in T (and also in T^{′}) is
either vi, vi^{′} or vi, vj, vi^{′}. In any case, vj ∈ N [vi^{′}]. Thus, at the end of iteration
i, D^{∗} contains vj. When the algorithm processes vi^{′}, N [vi^{′}] ∩ D^{∗} 6= φ which
causes that S^{∗}does not contain vi^{′}, a contradiction.

|D^{∗}| ≤ |S^{∗}| follows from that when vj is added into D^{∗}, which may or may
not already be in D^{∗}, a new vertex vi is always added into S^{∗}.

Theorem 3.10 Algorithm DomTreePD gives a minimum dominating set D^{∗}
and a maximum 2-stable set S^{∗} of a tree T with |D^{∗}| = |S^{∗}| in linear time.

Theorem 3.11 (Strong Duality) α2(T ) = γ(T ) for any tree T .

The primal-dual approach was in fact used by Farber [92] and Kolen [144] for the weighted domination problem in strongly chordal graphs. It was also used by Cheston, Fricke, Hedetniemi and Jacobs [57] for upper fraction domination in trees.

### 3.5 Power domination in trees

Power domination is a most different variation of domination. The observation rules make it so different from the ordinary domination as well as other vari- ations. Haynes, Hedetniemi, Hedetniemi and Henning [113] gave a linear-time algorithm for the power domination problem in trees. This subsection demon- strates a neat linear-time algorithm offered by Guo, Niedermeier and Raible [105].

Algorithm PowerDomTree. Find a minimum power dominating set of a tree.

Input. A tree T rooted at vertex r.

Output. A minimum power dominating set D of T.

Method.

sort the non-leaf vertices of T in a list L according to a post-order traversal of T ; D ← ∅;

while L 6= {r} do

v ← the first vertex in L;

L ← L \ {v};

if v has at least two unobserved children then D ← D ∪ {v};

exhaustively apply the two observation rules to T ; end if;

end while;

if r is unobserved then D ← D ∪ {r}.

Theorem 3.12 Algorithm PowerDomTree gives a minimum power dominating set of a tree in linear time.

Proof. First is to prove that the output D of the algorithm is a power dom- inating set. The proof is based on an induction on the depth of the vertices u in T , denoted by depth(u). Note that the proof works top-down whereas the algorithm works bottom-up. For depth(u) = 0, it is clear that u, which is r, is observed due to the second “if”-condition of the algorithm. Suppose that all vertices u with depth(u) < k with k > 0 are observed. Consider a vertex u with depth(u) = k, which is a child of the vertex v. If v ∈ D, then u is observed; otherwise, due to the induction hypothesis, v is observed. Moreover, if depth(v) ≥ 1, then the parent of v is observed as well. Because of the first

“if”-condition of the algorithm, v is not in D only if v has at most one unob- served child during the “while”-loop of the algorithm processing v. If vertex u is this only unobserved child, then it gets observed by applying OR2 to v, because v itself and all its neighbors (including the parent of v and its children) with the only exception of u are observed by the vertices in D. In summary, it is concluded that all vertices in T are observed by D.

Next is to prove the optimality of D by showing a more general statement:

Claim. Given a tree T = (V, E) rooted at r, Algorithm PowerDomTree outputs
a power dominating set D such that |D ∩Vu| ≤ |D^{′}∩Vu| for any minimum power
dominating set D^{′} of T and any tree vertex u, where Vu denotes the vertex set
of the subtree of T rooted at u.

Proof of the Claim. Let Tu= (Vu, Eu) denote the subtree of T rooted at vertex
u. Let ℓ denote the depth of T , that is, ℓ := maxv∈V depth(v). For each vertex
u ∈ V , define du:= |D ∩ Vu| and d^{′}_{u}:= |D^{′}∩ Vu|. The claim is to be proved by
an induction on the depth of tree vertices, starting with the maximum depth ℓ
and proceeding to 0.

Since vertices u with depth(u) = ℓ are leaves and the algorithm adds no leaf
to D, it is the case that du= 0 and so du≤ d^{′}_{u} for all u with depth(u) = ℓ.

Suppose that du≤ d^{′}_{u}holds for all u with depth(u) > k with k < ℓ. Consider
a vertex u with depth(u) = k. Let Cu denote the set of children of u. Then, for
all v ∈ Cu, by the induction hypothesis, dv≤ d^{′}_{v}. In order to show du≤ d^{′}_{u}, one
only has to consider the case that

(a) u ∈ D, (b) u /∈ D^{′}, and (c)P

v∈Cudv =P

v∈Cud^{′}_{v}. (1)
In all other cases, du≤ d^{′}_{u} always holds. In the following, it will be shown that
this case does not apply. Assume that u 6= r. The argument works also for
u = r.

From (c) and that dv ≤ d^{′}_{v} for all v ∈ Cu (induction hypothesis), dv = d^{′}_{v}
for all v ∈ Cu. Moreover, (a) is true only if u has two unobserved children v1

and v2 during the “while”-loop of the algorithm processing u (the first “if”-
condition). In other words, this means that vertices v1 and v2are not observed
by the vertices in (D ∩ Vu) \ {u}. In the following, it is shown that u has to be
included in D^{′} in order for D^{′} to be a valid power dominating set. To this end,