• 沒有找到結果。

有容量的支配集問題的近似演算法

N/A
N/A
Protected

Academic year: 2022

Share "有容量的支配集問題的近似演算法"

Copied!
47
0
0

加載中.... (立即查看全文)

全文

(1)

國立臺灣大學電機資訊學院資訊工程學研究所 碩士論文

Department of Computer Science and Information Engineering College of Electrical Engineering and Computer Science

National Taiwan University Master Thesis

有 容量的支配集問題的近似演算法

Approximation Algorithms for the Capacitated Domination Problem

陳翰霖 Han-Lin Chen

指導教授:李德財 博士 Advisor: Der-Tsai Lee, Ph.D.

中華民國 99 年 7 月

July, 2010

(2)
(3)

中中文文文摘摘摘要要要

我們考慮容量支配集問題。此問題模型化了一般的服務-需求問題 並且是傳統的支配集問題的一個一般化。在這個問題裡,給定一圖並 在各個 點上附有三個參數:價格、容量與需求。我們將要尋找一個最 低價格的配置並滿足需求與容量上的限制。 我們在不同的需求配置模 型上提供了多項式時間的近似演算法,此演算法也逼近了傳統的支配 集問題的成果。 與已知的前人的結果結合起來,已經從兩個方面逼近 了傳統支配集問題的成果。

(4)
(5)

Abstract

We consider the Capacitated Domination problem, which models a service- requirement assignment scenario and is also a generalization of the well- known Dominating Set problem. In this problem, given a graph with three parameters defined on each vertex, namely cost, capacity, and demand, we want to find an assignment of demands to vertices of least cost such that the demand of each vertex is satisfied subject to the capacity constraint of each vertex providing the service.

In terms of polynomial time approximations, we present logarithmic ap- proximation algorithms with respect to different demand assignment models for this problem on general graphs, which also establishes the corresponding approximating results to the well-known approximations of the traditional Dominating Setproblem. Together with previously known results, this closes the problem of generally approximating the optimal solution.

(6)
(7)

Contents

中 中

中文文文摘摘摘要要要 i

Abstract iii

1 Introduction 1

2 Preliminary 5

2.1 Traditional Domination Problem . . . 5 2.2 Capacitated Domination Problem . . . 7

3 Weighted Unsplittable Demand 11

3.1 The Definition of Efficiency . . . 12 3.2 The Algorithm for Capacitated Domination Problem with Unsplittable

Model . . . 13 3.3 Analysis . . . 14

4 Weighted Splittable Demand 17

4.1 The Difference of Demand Assignment between Unsplittable Model and Splittable Model . . . 17 4.2 Definition of Efficiency . . . 18 4.3 The Algorithm for Capacitated Domination Problem with Splittable Model 19 4.4 Analysis . . . 21

5 Unweighted Splittable Demand 27

5.1 The Preprocessing on Problem Instance . . . 27 5.2 The Algorithm for Capacitated Domination Problem with Unweighted

Splittable Model . . . 29 5.3 Analysis . . . 30

6 Concluding Remarks 31

7 Appendix 33

Bibliography 35

(8)
(9)

List of Figures

2.1 The pseudo-code of the algorithm for the domination problem . . . 6

2.2 An optimal solution of the domination problem. . . 9

2.3 An optimal solution of capacitated domination problem. . . 9

3.1 The cost-efficiency of a demand assignment with 2 neighbors . . . 13

3.2 The cost-efficiency of a demand assignment with 3 neighbors . . . 13

3.3 The pseudo-code for the weighted unsplittable demand model. . . 14

3.4 A feasible solution computed by our algorithm. . . 16

4.1 A partially demand assignment in splittable model. . . 19

4.2 The demand assignment to be replaced . . . 20

4.3 The demand assignment to replace . . . 20

4.4 The pseudo-code for the weighted splittable demand model. . . 25

4.5 A feasible solution computed by our algorithm in splittable model. . . 26

5.1 The graph before the greedy reduction. . . 28

5.2 The graph after the greedy reduction. . . 28

5.3 The pseudo-code for the unweighted splittable demand model. . . 29

7.1 A snapshot of the problem. . . 34

(10)
(11)

Chapter 1 Introduction

For decades, the domination problem has been one of the most fundamental and well- known problems in both graph theory and combinatorial optimization. Given a graph G = (V, E) and an integer k, the domination problem asks for a subset D ⊆ V whose cardinality does not exceedk such that every vertex in the graph either belongs to this set or has a neighbor which does. As this problem is known to be NP-hard, approximation algorithms have been proposed in the literature. On one hand, a simple greedy algorithm is shown to achieve a guaranteed ratio ofO(ln n) [7, 15, 19], where n is the number of vertices, which is later proven to be the approximation threshold by Feige [9]. On the other hand, algorithms based on dual-fitting provide a guaranteed ratio of∆ [14], where

∆ is the degree of the graph1.

Besides the domination problem itself, a vast body of work has been proposed in the literature, considering possible variations from purely theoretical aspects to practical ap- plications. See [13, 20] for a detailed survey. In particular, variations of the domination problem occur in numerous practical settings, ranging from strategic decisions, such as locating radar stations or emergency services, to computational biology and to voting sys- tems. For example, Haynes et al. [12] considered Power Domination Problems in electric networks [12, 18] while Wan et al. [21] considered Connected Domination Problems in wireless ad hoc networks.

1The degree of a graph is defined to be the maximum degree of the vertices of the graph.

(12)

Motivated by a general service-requirement assignment model, Kao et al. [16] consid- ered a generalized domination problem called capacitated domination. In this problem, the input graph is given with tri-weighted vertices, referred to as cost, capacity, and de- mand, respectively. The demand of a vertex stands for the amount of service it requires from its adjacent vertices (including itself) while the capacity of a vertex represents the amount of service it can provide when it’s selected as a server. The goal of this problem is to find a dominating multi-set as well as a demand assignment function such that the overall cost of the multi-set is minimized. According to different underlying applications, there are two different demand assignment models, namely splittable demand model and unsplittabledemand model, depending on whether or not the demand of a vertex is al- lowed to be served by different vertices. Moreover, there has been work studying the variation when the number of copies, or multiplicity of each vertex in the dominating multi-set, is limited, referred to as hard capacity, and as soft capacity when no such limit is specified. Kao et al. [16] considered the soft capacitated domination problem with splittable demand and provided a(∆ + 1)-approximation for general graphs, where ∆ is the degree of the graph. For special graph classes, they proved that even when the input graph is restricted to a tree, the soft capacitated domination problem with splittable de- mand remains NP-hard, for which they also provided a polynomial time approximation scheme.

This thesis intended to connect the investigation of the generalization of the domina- tion problem to the classical results. If we consider the domination problem as a service- requirement model, the setting will be too naive to represent the real world problem such as placing wireless network base stations or constructing cellphone services.

In this thesis, we consider the (soft) capacitated domination problem and present log- arithmic approximation algorithms with respect to different demand assignment models on general graphs. Specifically, we provide a(ln n)-approximation for weighted unsplit- table demand model, a(4 ln n + 2)-approximation for weighted splittable demand model, and a(2 ln n + 1)-approximation for unweighted splittable demand model, where n is the

(13)

number of vertices. Together with the(∆ + 1)-approximation result given by Kao et al.

[16], this establishes a corresponding near-optimal approximation result to the original dominationproblem. Although the result may look natural, the greedy choice we make is not obvious when non-uniform capacity as well as non-uniform demand is taken into consideration.

Our algorithms are based on the greedy approach of Johnson et al. [7, 15, 19] in the sense that we keep choosing a vertex with the best efficiency in each iteration until the whole graph is dominated. The question is how we can cope with different demand assignment models to achieve the same guaranteed ratioO(ln n). In this work, we gener- alize the concept of efficiency and use it as our greedy choice. We describe the results in more detail in the following chapters.

(14)
(15)

Chapter 2 Preliminary

We assume that all the graphs considered in this thesis are simple and undirected. Let G = (V, E) be a graph with vertex set V and edge set E. A vertex v ∈ V is said to be adjacent to a vertex u ∈ V if (u, v) ∈ E. The set of neighbors of a vertex v ∈ V is denoted byNG(v) = {u : (u, v) ∈ E}. The closed neighborhood of v ∈ V is denoted byNG[v] = NG(v)∪ {v}. The subscript G in NG[v] will be omitted when there is no confusion.

2.1 Traditional Domination Problem

We begin by introducing the traditional domination problem, whose preliminary study serves as a basic step to a fundamental greedy technique and is very useful throughout this thesis. A vertex setD is said to be a dominating set if for all vertex v in G, NG[v]∩D 6= φ.

Given a graph, the domination problem asks for a dominating set of minimum cardinality.

A greedy algorithm as well as the concept of the most efficient choice is provided by Johnson et al [7, 15, 19]. In their algorithm they maintain a vertex setU which contains exactly the vertices which are not dominated yet, and iteratively remove the vertices which are newly dominated during each iteration from U . Initially, set U as V . During the iteration the efficiency of a vertex v is defined to be the cardinality of NG[v]∩ U. The proposed algorithm is to iteratively pick the vertex with the most efficiency, sayu, and remove the vertices inU ∩ NG[u] from U until U is empty. Figure 2.1 presents a high

(16)

ALGORITHMLog-Approx-Dominating

1: U ←− V

2: D←− φ

3: whileU 6= φ do

4: Pick a vertex, sayu in V with the most efficiency, i.e.,|NG[u]∩ U| is maximum, and put it intoD.

5: For eache∈ NG[u]∩ U Set price(e) = |NG[u]∩U |1

6: Remove vertices inNG[u]∩ U out of U

7: end while

8: Compute the cardinality ofD and return it as the result.

Figure 2.1: The pseudo-code of the algorithm for the domination problem level description of the algorithm.

The greedy strategy applies naturally to the domination problem. Although the al- gorithm is rather simple, the idea of picking the vertex with the most efficiency plays an important role in the analysis. In iterationj, let OP Tjbe the cardinality of the optimal so- lution for the remaining problem instance. Clearly, it should be bounded above byOP T , the cardinality of the optimal solution of the original problem instance. Let e1, . . . , en

be the vertices in the chronological order of being dominated during the execution of the algorithm. We have following lemma.

Lemma 1. For eachk∈ 1, . . . , n, price(ek)≤ n−k+1OP Tj , whereekis dominated in iteration j

Proof. In the iteration in which element ek was dominated, n − |U| contains at least n− k + 1 elements. In iteration j the optimal solution for the remaining instance, OP Tj, must contain a vertex v which gives the maximum cardinality, |NG[v]∩ U|. Since we always choose the vertex with maximum efficiency, that is, the vertex with the largest number of vertices inU which are adjacent to the selected vertex, the efficiency is no less than that of the vertex chosen inOP Tj. Thus we have price(e1

k) ≤ |NG[v]∩ U|. Therefore we haveprice(ek)≤ OP Tn−|U |jn−k+1OP Tj and the lemma follows.

(17)

Theorem 2. Algorithm Log-Approx-Dominating computes a (ln n)-approximation for dominatig set problem, wheren is the number of vertices.

Proof. Since the cardinality of each vertex picked is distributed among the new ver- tices dominated, the total cardinality of D is equal to Pn

k=1price(ek). By Lemma 1 Pn

k=1price(ek)≤Pn k=1

OP Tj

n−k+1 ≤Pn k=1

OP T

n−k+1 ≤ ln n · OP T

In the study of the domination problem, one may notice that the concept of the most efficient choice is an important idea to obtain aln n-approximation. In fact, the concept of efficiency is also a key to solving the approximation of the capacitated domination problem, which is a generalization of the domination problem.

2.2 Capacitated Domination Problem

In this problem we are given a graphG = (V, E) with tri-weighted vertices, referred to as the cost, the capacity, and the demand of each vertexu ∈ V , denoted by w(u), c(u), and d(u), respectively. The demand of a vertex stands for the amount of service it requires from its closed neighbourhood while the capacity of a vertex represents the amount of service it can provide each time when it’s selected as a server.

LetD denote a multi-set of vertices of V and for any vertex u ∈ V , let xD(u) denote the multiplicity ofu or the number of times of u in D. The cost of D, denoted w(D), is defined to bew(D) =P

u∈Dw(u)·xD(u). The goal of the problem is to find a dominating multi-set and a demand assignment function such that the cost of the multi-set,w(D), is minimized.

The demand assignment functionf : V × V → R+∪ 0 is a function indicating the demand assignment in a solution. In particularf (v, u) denotes the amount of demand of each vertex v ∈ V which is assigned to a vertex u ∈ N[v]. Note that f(v, u) = 0 if (u, v) /∈ E

Definition 1 (Capacitated Dominating Set). A vertex multi-subsetD is said to be a fea- sible capacitated dominating set with respect to a demand assignment functionf if the

(18)

following conditions hold.

• Demand constraint:

P

u∈NG[v]f (v, u)≥ d(v), for each v ∈ V .

• Capacity constraint:

P

u∈NG[v]f (u, v)≤ c(v) · xD(v), for each v ∈ V .

Given a problem instance, the capacitated domination problem asks for a capacitated dominating multi-setD and demand assignment function f such that w(D) is minimized.

In unsplittable demand model we require that f (u, v) is either 0 or d(u) for each edge (u, v)∈ E. Note that since it is already NP-hard1to compute a feasible demand assign- ment function from a given feasible capacitated dominating multi-set when the demand cannot be split, it is natural to require the demand assignment function to be specified, in addition to the optimal vertex multi-set itself.

To demonstrate the difference between the solutions of the domination problem and capacitated domination problem, here are Figure 2.2 and Figure 2.3 which show the solu- tions for one of its instances respectively.

1This is easily verified by making a reduction from simple combinatorial optimization problems such as SUBSETSUM.

(19)

Figure 2.2: An optimal solution of the domination problem.

d=20 c=10 w=100 d=10

c=30 w=10

d=30 c=10 w=100

d=10 c=20 w=5

20

10 30

10

Cost=10∗ 1 + 5 ∗ 2 = 20

Figure 2.3: An optimal solution of capacitated domination problem.

(20)
(21)

Chapter 3

Weighted Unsplittable Demand

In this chapter, we consider the weighted capacitated domination problem with unsplit- table demand and provide a simple greedy algorithm that achieves the approximation guarantee ofln n. First, we recall our earlier definition of unsplittable model and describe the difference of demand assignments between the traditional domination problem and the capacitated domination problem with unsplittable model, which leads to a new def- inition of efficiency. Second, we give a greedy algorithm. Finally, we will discuss the approximation guarantee and the time complexity of the greedy algorithm.

Let us start with the difference between feasible solutions of traditional domination problem and capacitated domination problem. To take an example, please refer to Fig- ure 2.2 and Figure 2.3. For the domination problem once we pick a vertex, we are able to dominate all of vertices in its neighborhood. For capacitated domination problem, on the other hand, we have to consider the capacity and the demand assigning to it. Sometimes we have to take multiple copies of a vertex to satisfy the demand assigning to it, like the bottom right vertex in Figure 2.3. This main difference leads to a problem that we cannot consider the most efficient choice only about taking one vertex, but multiple copies of a vertex. And moreover, we have to consider the demand assigned to the vertex.

(22)

3.1 The Definition of Efficiency

To explain our idea of the most efficient choice, let us, for the moment, consider a simple question: if we need to dominatei neighbors of a vertex, say u, by taking some copies of u, how should we choose the neighbors to be dominated such that the number of copies we need is as few as possible. It’s obvious that no matter how much capacityu has, the best choice is always to select the vertex that dominates thei neighbors with the first i smallest demands. This simple observation indicates an efficient way of dominating i neighbors of a vertex u. There is one further thing that this also indicates the way of demand assignment because thosei neighbors have been identified.

It seems that we can conclude a way of choosing the most cost-efficient demand as- signment together with some copies of one vertex. However, there is another problem. As shown in Figure 3.1 and Figure 3.2 the number of neighbors to be dominated will affect the cost-efficiency of the demand assignment, which means we have to compute the cost- efficiency for all possible numbers of neighbors to dominate, when we determine the best demand assignment. Now we can formally define the efficiency of a vertex in capacitated domination problem for unsplittable model.

Given a graph instance, letU be the set of vertices which are not dominated yet. For each vertex u ∈ V , let Nud[u] = U ∩ N[u] be the set of undominated vertices in the closed neighborhood ofu. Without loss of generality, we shall assume that the elements ofNud[u], denoted by vu,1, vu,2, . . . , vu,|Nud[u]|, are sorted in non-decreasing order of their demands in the remaining chapter.

Here we define the efficiency of a vertexu as

1≤i≤|Nmaxud[u]|

i w(u)· xu(i), where

xu(i) =

 P

1≤j≤id(vu,j) c(u)



is the number of copies ofu selected in order to dominate vu,1, vu,2, . . . , and vu,i. Note that this efficiency not only indicates a number but also a demand assignment with regard

(23)

d=25 c=30 w=1

d=10 c=1 w=100

d=15 c=1 w=100

d=15 c=1 w=100

d=20 c=1 w=100

2

d10+1530 e∗1

= 2

Figure 3.1: The cost-efficiency of a demand assignment with 2 neighbors

d=25 c=30 w=1

d=10 c=1 w=100

d=15 c=1 w=100

d=15 c=1 w=100

d=20 c=1 w=100

3

d10+15+1530 e∗1

= 1.5

Figure 3.2: The cost-efficiency of a demand assignment with 3 neighbors

tou.

3.2 The Algorithm for Capacitated Domination Problem with Unsplittable Model

After introducing the definition of efficiency, we are now in a position to present the algorithm which originates and differs slightly from an algorithm proposed by Johnson et al.[7, 15, 19] for the capacitated domination problem with unsplittable model. In each iteration, the algorithm chooses a vertex of the most efficiency fromV of the remaining graph, say u, which accompanies a demand assignment as well as a number of copies ofu. We repeatedly find the most efficient vertex and assign the demands until all the

(24)

ALGORITHMUnsplit-Log-Approx

1: U ←− V

2: whileU 6= φ do

3: Pick a vertex inV with the most efficiency, say u.

4: letk = arg max1≤i≤|Nud[u]| i w(u)·xu(i).

5: Assign the demand of each vertex in {vu,1, vu,2, . . . , vu,k} to u and remove them fromU .

6: end while

7: compute from the assignment the weight of the dominating set, and return the result.

Figure 3.3: The pseudo-code for the weighted unsplittable demand model.

demands of each vertex of the graph have been assigned. A high-level description of this algorithm is presented in Figure 3.3. In Figure 3.4 we demonstrate an example with the result computed by our algorithm.

3.3 Analysis

Now we shall discuss the approximation ratio achieved by our algorithm. Using the def- inition of efficiency we can conclude a lemma very similar to Lemma 1. In iteration j, letOP Tj be the cost of the optimal solution for the remaining problem instance, which is clearly upper bounded by the cost,OP T , of the optimal solution for the input instance.

During the algorithm, we say a vertex is undominated if its demand has not been assigned yet. Let the number of undominated vertices at the beginning of iterationj be nj, and the number of vertices that are newly dominated in iterationj be kj.

Denote bySj the cost in iterationj. Note that Sj = w(u)· xD(u), where u is the most efficient vertex chosen in iterationj. Assume that the algorithm repeats for m iterations.

We have the following lemma.

Lemma 3. For eachj, 1≤ j ≤ m, we have Sjknjj · OP Tj.

(25)

Proof. Let’s considerOP Tj. OP Tj can be expressed asP

v∈V w(v)·xD(v), where xD(v) is the number of copies of v inOP Tj. Then we have following equation:

nj

OP Tj

= K(v1) + K(v2) +· · · + K(vn) xD(v1) + xD(v2) +· · · + xD(vn),

whereK(v) denotes the number of vertices assigned to v. Thus there must exist a visuch that xK(vi)

D(vi)OP Tnjj.

Since we always choose the vertex with the maximum efficiency, the efficiency is no less than that of each vertex chosen inOP Tj, which is no less than xK(vi)

D(vi). Therefore we have Skj

jxK(vD(vii))OP Tnjj and the lemma follows.

Lemma 4. Algorithm Unsplit-Log-Approx returns a (ln n)-approximation for weighted capacitated domination problem with unsplittable demands, where n is the number of vertices.

Proof. To see that the algorithm produces a logarithmic approximation, take the sum over eachSj,1≤ j ≤ m and observe that nj+1 = nj − kj, we have

X

1≤j≤m

Sj ≤ X

1≤j≤m

kj

nj · OP Tj

≤ X

1≤j≤n

1 j

!

· OP T ≤ ln n · OP T

For the time complexity of the algorithm, in each iteration it takesO(n2) time to find the most efficient vertex, and since it repeats for at mostn iterations, the time complexity is inO(n3). We conclude this section with the following theorem.

Theorem 5. Algorithm Unsplit-Log-Approx computes a(ln n)-approximation for weighted capacitated domination problem with unsplittable demands inO(n3) time, where n is the number of vertices.

(26)

d=25 c=30 w=1

d=10 c=1 w=100

d=15 c=1 w=100

d=15 c=1 w=100

d=20 c=1 w=100

Cost = 1 ∗ 3 + 10 ∗ 1 = 13

d=10 c=10 w=10

Figure 3.4: A feasible solution computed by our algorithm.

(27)

Chapter 4

Weighted Splittable Demand

In this chapter, we present an algorithm that produces a(4 ln n + 2)-approximation for the weighted capacitated domination problem with splittable demand. Considering the major difference between unsplittable model and splittable model, which is the way the demand is assigned, we first illustrate the new concept of domination. Second, we modify the definition of efficiency to cope with this model. Then we present a modified greedy algo- rithm to achieve the approximation guarantee. Finally, we discuss the time complexity of our algorithm.

4.1 The Difference of Demand Assignment between Un- splittable Model and Splittable Model

The difference between this model and the previous one is that we can partially assign the demand of a vertex. Figure 4.1 shows an example. In Figure 4.1 we can see a ver- tex whose demand 15 gets partially assigned to the vertex in the bottom. In unsplttable model if we want to assign the demand of a vertex, we must assign the entire demand. In that case we can regard a demand assignment as a domination of the whole vertex. How- ever in splittable model since we can partially assign the demand of a vertex, we need a more general concept of satisfying the demands of vertices. Let’s consider a demand assignment of assigningf (v1, u), f (v2, u),· · · , f(vk, u) of demand from v1, v2,· · · vk to a vertexu. We say that u dominatesP

1≤i≤k f (vi,u)

d(vi) . Let’s take Figure 4.1 as an example

(28)

again. In this demand assignment the vertex dominates 1010 + 1515 + 155 = 213 number of vertices.

4.2 Definition of Efficiency

In the sense of handling demand assignment, we can define the efficiency of a vertex for splittable model now. Given a graph instance the demand of a vertex may be partially served. The unsatisfied portion of the demand is called residue demand. For each vertex u∈ V , let rd(u) be the residue demand of u. rd(u) is set equal to d(u) initially, and will be updated accordingly when certain portion of the residue demand is assigned.u is said to be completely satisfied whenrd(u) = 0.

We also inherit the notation used in the previous chapter. We assume that the elements of Nud[u], written as vu,1, vu,2, . . . , vu,|Nud[u]|, are sorted according to their demands in non-decreasing order.

For each vertexu∈ V , let juwith0≤ ju ≤ |Nud[u]| be the maximum index such that c(u)≥ Pju

i=1rd(vu,i). Let X(u) =Pju

i=1rd(vu,i)/d(vu,i) be the sum of the effectiveness over the vertices whose residue demand could be completely served by a single copy of u. In addition, we let Y (u) = (c(u)−Pju

i=1rd(vu,i))/d(vu,ju+1) if ju < |Nud[u]| and Y (u) = 0 otherwise. The efficiency of u is defined as (X(u) + Y (u))/w(u).

The definition of efficiency for splittable model here seems complicated, but the idea is rather simple. If we pick a copy of a vertex its capacity will be exhausted by the residue demand of vertices in its neighborhood, as in Section 3.1, in the order of their demand.

It’s interesting to note that we only consider one copy of a vertex here. Since we can dominate a portion of demand of a vertex in this model, taking one more copy wouldn’t increase the efficiency.

It may be worth pointing out here that the reason we need to modify our algorithm for splittable model is that the concept of ”the number of undominated vertices” is different.

In the previous chapter, we definenj as the number of undominated vertices, but here it

(29)

d=25 c=30 w=1

d=10 c=1 w=100

d=15 c=1 w=100

d=15 c=1 w=100

d=20 c=1 w=100

1010+1515+155

1

= 2

13

d=10 c=10 w=10

10

15

5

Figure 4.1: A partially demand assignment in splittable model.

would beP

v∈V rd(v)

d(v). This will cause some problems in the analysis, as can be seen in Theorem 4. Sincenj may no longer be integral now, we can’t arrange the sum of the costs into a harmonic series. As a result we will need to develop another greedy approach in the next section to copy with this problem.

4.3 The Algorithm for Capacitated Domination Problem with Splittable Model

In our algorithm for capacitated domination problem for splittable model, we will also perform a greedy approach. That is, in each iteration the algorithm chooses the vertex of the most efficiency fromV , where the efficiency is defined as in the previous section. In addition, we will take care of the following two cases. First, if the demand assignment indicated by the vertex of the most efficiency is unable to satisfy the residue demand of a single vertex, we will replace the demand assignment by the following: If the vertex of the most efficiency isu, we will assign c(u)·j

rd(vu,1) c(u)

k

tou by takingj

rd(vu,1) c(u)

k

copies ofu.

See Figure 4.2 and Figure 4.3 as an example. One can easily see that this replaced demand assignment has the same efficiency. The reason we replace the demand assignment is because of the analysis of approximation radio which will be explained in details in the next section.

Second, in each iteration after we assign demand to the vertex of the most efficiency,

(30)

d=25 c=10 w=1

d=45 c=1 w=100

d=55 c=1 w=100

d=65 c=1 w=100

d=75 c=1 w=100

Efficiency=

10451

=

29

d=10 c=10 w=10

10

Figure 4.2: The demand assignment to be replaced

d=25 c=10 w=1

d=45 c=1 w=100

d=55 c=1 w=100

d=65 c=1 w=100

d=75 c=1 w=100

Efficiency=

10∗b 4510 c 45

b4510c∗1

=

29

d=10 c=10 w=10

40

Figure 4.3: The demand assignment to replace

(31)

we will search for the whole graph. If there exists a vertexu whose residue demand is below half of its original demand, i.e.,0 < rd(u) < 12 · d(u), the algorithm immediately doubles the demand assignment ofu to the set of vertices partially serving u. To do this, during the algorithm we will maintain for each vertexu∈ V a set of vertices, denoted by map(u), which consists of vertices that have been assigned partial demand of u before u is completely satisfied. That is, for eachv ∈ map(u) we have a non-zero demand assign- ment ofu to v. Note that in this way, we can completely satisfy the demand of u. The rea- son is that sinceu’s residue demand is below half of its original demand the assignment in map(u) must have assigned at least half of u’s demand, i.e.,P

v∈map(u)f (u, v) > 12·d(u), doubling the assignment inmap(u) will certainly completely satisfy the residue demand ofu . A high-level description of this algorithm is presented in Figure 4.4 and Figure 4.5 shows a solution computed by our algorithm.

4.4 Analysis

In this section we will analyze the approximation ratio and the time complexity of our algorithm. The modified algorithm provides us some good properties to achieve the afore- mentioned approximation ratio. Together with the processing of the two cases mentioned above, we have the following observation.

Observation 1. After each iteration, the residue demand of each unsatisfied vertex is at least half of its original demand.

Clearly, the observation holds in the beginning when the demand of each vertex is not yet assigned. For later stages, we argue that the algorithm properly maintainsmap so that in our second greedy choice, whenever there exists a vertexu for which 0 < rd(u) <

1

2 · d(u), it’s always sufficient to double the demand assignment f(u, v) of u to v for each v ∈ map(u). If map(u) is only modified under the condition 0 < jv <|Nud[v]|, (line 12 in Figure 4.4), thenmap(u) contains exactly the set of vertices that have partially served u. As mentioned above, since rd(u) < 12 · d(u), it’s sufficient to double the demand

(32)

assignment in this case sod(u) is completely satisfied. If map(u) is reassigned through the conditionjv = 0 for some stage, then we have c(v) < rd(u)≤ d(u). Since we assign this amountc(v)· brd(u)/c(v)c of residue demand of u to v, this leaves at most half of the original residue demand andu will be satisfied by doubling this assignment.

The second useful observation is thatnj − nj+112, which means the decrease ofnj

is at least a half. This will play a central role in bounding the overall cost.

Observation 2. We havenj − nj+112 for each1≤ j ≤ m.

Proof. For iterationj, 1≤ j ≤ m, let u be the vertex of the maximum efficiency. Observe thatvu,1will be satisfied after this iteration. By Observation 1, we haverd(vu,1)/d(vu,1) >

1

2. The lemma follows.

To see that the solution achieves the desired approximation guarantee, let’s consider the cost taken by our algorithm which consists of the cost incurred by picking the vertex of the most efficiency replaced by the first case if necessary and the cost incurred by doubling the demand assignment inmap(u) if needed. Let the former part be S1 and the latter part beS2. The important point to note is thatS2 is bounded above byS1, for what we do is merely to satisfy the residue demand of a vertex, if there exists one, by doubling its previous demand assignment, which is incurred by some vertex of the most efficiency in some iteration.

Now we can start to develop a lemma similar to Lemma 3. For each iterationj, let uj

be the vertex of the maximum efficiency andOP Tj be the cost of the optimal solution for the remaining problem instance. Recall thatnj =P

u∈V rd(u)/d(u). Let S1,j be the cost incurred by the vertex of most efficiency in iterationj. Assume that the algorithm repeats form iterations. We have the following lemma.

Lemma 6. For eachj, 1 ≤ j ≤ m, we have S1,jnj−nnjj+1 · OP Tj, wherenj − nj+1is the effectiveness covered byuj in iterationj.

Proof. This proof is similar to the proof in Lemma 3. The optimality of our choice in each iteration is obvious since we assume that the elements of Nud[u] are sorted according

(33)

to their original demands. Note that only in the case c(u) < rd(vu,1), the algorithm could possibly take more than one copy. In this case the efficiency of our choice remains unchanged since the cost and the effectiveness covered by u grows by the same factor.

Therefore the efficiency of our choice,(nj− nj+1)/S1,j, is always no less than that of the optimal solution, which isnj/OP Tj, and the lemma follows.

By Lemma 6 we havePm j=1S1,j

m−1

X

j=1

nj − nj+1

nj · OP Tj +nm

nm · OP Tm

m−1

X

j=1

dnj− nj+1e bnjc + 1

!

· OP T,

sincebrc ≤ r ≤ dre for any real number r and OP Tj ≤ OP T for each 1 ≤ j ≤ m.

Lemma 7. Pm−1

j=1 dnj − nj+1e / bnjc ≤ 2 ln n

Proof. Note that by Observation 1 and Observation 2, we havenj > 1 for all j < m. We will argue that this series together constitutes at most two harmonic series. By expanding the summand we havednj− nj+1e / bnjc ≤

1

bnjc+ 1

bnjc − 1+ . . . + 1

bnjc − dnj − nj+1e + 1.

Sincebnj+1c = bnj − (nj − nj+1)c ≤ bnjc − bnj − nj+1c ≤ bnjc − dnj − nj+1e + 1, the repetitions only occur at the first term and the last term if we expand the summation.

By Observation 2, the decrease ofnj tonj+1 is at least half. Therefore, the termbnjc − dnj − nj+1e + 1 will never occur more than twice in the expansion. We conclude that Pm−1

j=1 dnj − nj+1e / bnjc ≤ 2 ln n

Since S1 ≤ 2(ln n + 1) · OP T and S2 is bounded above by S1, we conclude the analysis in the following theorem.

Lemma 8. Algorithm Split-Log-Approx returns a (4 ln n + 2)-approximation, where n is the number of vertices, for weighted capacitated domination problem with splittable demands.

(34)

Regarding time complexity it takes linear time to compute the efficiency of a vertex.

Therefore it takesO(n2) time for each iteration. Since the number of iterations is bounded above by2n, the time complexity of the algorithm is O(n3). We can conclude this section by the following theorem.

Theorem 9. Algorithm Split-Log-Approx computes a(4 ln n + 2)-approximation, where n is the number of vertices, for weighted capacitated domination problem with splittable demands inO(n3) time.

(35)

ALGORITHMSplit-Log-Approx

1: rd(u)←− d(u), and map(u) ←− φ for each u ∈ V .

2: while there exist vertices with non-zero residue demand do

3: // Searching for a vertex of the most efficiency

4: Pick a vertex inV with the most efficiency, say u.

5: // Replace the demand assignment if in need

6: ifju equals0 then

7: Assign this amountc(u)·jrd(v

u,1) c(u)

k

of residue demand ofvu,1 tou.

8: map(vu,1)←− {u}

9: else

10: Assign the residue demands of the vertices in{vu,1, vu,2, . . . , vu,ju} to u.

11: ifju <|Nud[u]| then

12: Assign this amountc(u)−Pju

i=1rd(vu,i) of residue demand of vu,ju+1 tou.

13: map(vu,ju+1)←− map(vu,ju+1)∪ {u}

14: end if

15: end if

16:

17: // doubling assignment if in need

18: if there is a vertexu with 0 < rd(u) < 12 · d(u) then

19: Satisfyu by doubling the demand assignment of u to vertices in map(u).

20: end if

21: end while

22: compute from the assignment the cost of the dominating set, and return the result.

Figure 4.4: The pseudo-code for the weighted splittable demand model.

(36)

d=40 c=30 w=1

d=10 c=1 w=100

d=15 c=1 w=100

d=15 c=1 w=100

d=20 c=1 w=100

Cost = 1 ∗ 4 + 10 ∗ 1 = 14

d=10 c=20 w=10

10

15

15 20

10 40 You can see it’s not an optimal

solution

Figure 4.5: A feasible solution computed by our algorithm in splittable model.

(37)

Chapter 5

Unweighted Splittable Demand

In this chapter, we consider the unweighted capacitated domination problem with split- table demand and present a (2 ln n + 1)-approximation. In this special variation, the weightw(v) of each vertex v ∈ V is considered to be uniform and the cost of the ca- pacitated domination multisetD corresponds to the total multiplicity of the vertices in D. First we perform a preprocessing to reduce the demand of each vertex. Second we slightly modify the algorithm to achieve the guarantee ofO(2 ln n + 1).

5.1 The Preprocessing on Problem Instance

For eachu ∈ V , let gu be the vertex inN [u] with the maximum capacity. First, for each u ∈ V , we assign this amount c(gu)·j

d(u) c(gu)

k

of the demand of u to gu. After that we updated(u) as rd(u) to make a new instance.

Interestingly, although in this preprocessing we may reduce the demand greatly, the cost incurred from the preprocessing is rather cheap. Let the cost of the assignment in- curred by the preprocessing beS, we have the following lemma.

Lemma 10. We haveS ≤ OP T , where OP T is the cost of the optimal solution.

Proof. Notice that an optimal solutionO for the relaxation of this problem, where frac- tional copies are allowed, can be obtained by assigning the demandd(u) of u to gu. Since S≤ O andO ≤ OP T , the lemma follows.

(38)

d=10 c=25

d=75 c=20

d=63

c=30 d=63

c=30

d=92 d=55 c=20

c=30 d=22

c=30

d=77 c=30

Figure 5.1: The graph before the greedy reduction.

d=10 rd=10 c=25

d=75 rd=15 c=20

d=63 rd=3 c=30

d=63 rd=3 c=30

d=92 rd=2 c=20 d=55

rd=25 c=30 d=22

rd=22 c=30

d=77 rd=17 c=30

Figure 5.2: The graph after the greedy reduction.

(39)

ALGORITHMUnweighted-Split-Log-Approx

1: For eachu ∈ V , assign c(gu)·jd(u)

c(gu)

k

demands of u to gu, wheregu ∈ N[u] has the maximum capacity.

2: Reset the demands of the instance by settingd(u)←− rd(u) for each u ∈ V .

3: while there exist vertices with non-zero residue demand do

4: Pick a vertex inV with the most efficiency, say u.

5: Assign the residue demands of the vertices in{vu,1, vu,2, . . . , vu,ju} to u.

6: ifju <|Nud[u]| then

7: Assign this amountc(u)−Pju

i=1rd(vu,i) of the residue demand of vu,ju+1 tou.

8: end if

9:

10: if there is a vertexu with 0 < rd(u) < d(u) then

11: Satisfyu by assigning the residue demand of u to gu.

12: end if

13: end while

14: compute from the assignment the cost of the dominating set, and return the result.

Figure 5.3: The pseudo-code for the unweighted splittable demand model.

Note that after the preprocessing, we haved(u) ≤ c(gu) for each u ∈ V , which we will assume to be true in the rest of this Chapter.

Figure 5.1 and Figure 5.2 demonstrate examples of a problem instance before and after the preprocessing.

5.2 The Algorithm for Capacitated Domination Problem with Unweighted Splittable Model

The algorithm presented in Chapter 4 is slightly modified. In particular, when handling the second special case: Wheneverrd(u) < d(u) for some vertex u∈ V , we immediately assign the residue demand ofu to gu.

A high-level description of this algorithm is presented in Figure 5.3.

(40)

5.3 Analysis

The analysis is very similar to what we have in Chapter 4. As a result of the preprocessing we have the following property.

Observation 3. We havenj − nj+1 ≥ 1 for each 1 ≤ j ≤ m.

Proof. Observe that in each iteration, at least one vertex is satisfied and the residue de- mand of each unsatisfied vertex is equal to its original demand.

Clearly, S2 is bounded above by S1, as we always take one copy for the vertex of the most efficiency and at most one copy to satisfy residue demand of a vertex in each iteration. By Observation 3 and the fact thatnj is integral for each1≤ j ≤ m, we have

m

X

j=1

S1,j

m

X

j=1

nj− nj+1

nj · OP Tj ≤ ln n · OP T, andS +Pm

j=1(S1,j+ S2,j)≤ (2 ln n + 1) · OP T.

We conclude the result of this chapter as the following theorem.

Theorem 11. Algorithm Unweight-Split-Log-Approx computes a(2 ln n+1)-approximation for weighted capacitated domination problem with unsplittable demands inO(n3) time, wheren is the number of vertices.

(41)

Chapter 6

Concluding Remarks

In this thesis, we consider the capacitated domination problem, which is a generalization of the well-known domination problem and which models a service-requirement assign- ment scenario. In terms of polynomial time approximations, we have presented logarith- mic approximation algorithms with respect to different demand assignment models for this problem on general graphs. In traditional domination problem there are two kinds of approximation guarantee, ln n and ∆, where ∆ is degree of the input graph. Prior to this work, Kao et al. provided a∆ + 1-approximation [16]. The table below shows that together with previously known results on generally approximating this problem, our work establishes the corresponding approximating results similar to the well-known ap- proximations of the traditional domination problem and closes the problem of generally approximating the optimal solution.

Tabular of Approximation Result

Traditional Domination Problem Capacitated Domination Problem ln n-approximation by Johnson et al.[7, 15, 19] O(ln n)-approximation by this work.

∆-approximation by D.S. Hochbaum[14] ∆ + 1-approximation by Kao et al.[16]

(42)
(43)

Chapter 7 Appendix

An Implementations of Capacitated Domination Problem with GUI for demonstrations can be found in the following URL.

http://homepage.ntu.edu.tw/ r97922104/CDP.rar

This problem is written in Java language. One may need Java Runtime Environment for execution. The Java Runtime Environment can be found in the following URL.

http://www.java.com/en/download/

A snapshot of the problem is shown in Figure 7.1.

(44)

Figure 7.1: A snapshot of the problem.

(45)

Bibliography

[1] J. Alber, H. L. Bodlaender, H. Fernau, T. Kloks, and R. Niedermeier. Fixed param- eter algorithms for dominating set and related problems on planar graphs. Algorith- mica, 33(4):461–493, 2002.

[2] Jochen Alber, Michael R. Fellows, and Rolf Niedermeier. Polynomial-time data reduction for dominating set. J. ACM, 51(3):363–384, 2004.

[3] Brenda S. Baker. Approximation algorithms for np-complete problems on planar graphs. J. ACM, 41(1):153–180, 1994.

[4] Judit Bar-Ilan, Guy Kortsarz, and David Peleg. Generalized submodular cover prob- lems and applications. Theor. Comput. Sci., 250(1-2):179–200, 2001.

[5] H. L. Bodlaender and A. M. C. A. Koster. Combinatorial optimization on graphs of bounded treewidth. The Computer Journal, 51(3), 2008.

[6] Julia Chuzhoy. Covering problems with hard capacities. SIAM J. Comput., 36(2):498–515, 2006.

[7] V´aclav Chv´atal. A greedy heuristic for the set-covering problem. Mathematics of Operations Research, 4(3):233–235, 1979.

[8] Michael Dom, Daniel Lokshtanov, Saket Saurabh, and Yngve Villanger. Capac- itated Domination and Covering: A Parameterized Perspective, volume 5018 of Lecture Notes in Computer Science, pages 78–90. Springer Berlin/Heidelberg, 2008.

(46)

[9] Uriel Feige. A threshold of ln n for approximating set cover. J. ACM, 45(4):634–652, 1998.

[10] Fedor V. Fomin and Dimitrios M. Thilikos. Dominating sets in planar graphs:

Branch-width and exponential speed-up. SIAM J. Comput., 36(2):281–309, 2006.

[11] Sudipto Guha, Refael Hassin, Samir Khuller, and Einat Or. Capacitated vertex cov- ering. J. Algorithms, 48(1):257–270, 2003.

[12] Teresa W. Haynes, Sandra M. Hedetniemi, Stephen T. Hedetniemi, and Michael A.

Henning. Domination in graphs applied to electric power networks. SIAM J. Discret.

Math., 15(4):519–529, 2002.

[13] Teresa W. Haynes, Stephen Hedetniemi, and Peter Slater. Fundamentals of Domi- nation in Graphs (Pure and Applied Mathematics). Marcel Dekker, 1998.

[14] D.S. Hochbaum. Approximation algorithms for the set covering and vertex cover problems. SIAM Journal on Computing, 11(3):555–556, 1982.

[15] David S. Johnson. Approximation algorithms for combinatorial problems. In STOC

’73: Proceedings of the Fifth Annual ACM Symposium on Theory of Computing, pages 38–49, New York, NY, USA, 1973. ACM.

[16] Mong-Jen Kao, Chung-Shou Liao, and D. T. Lee. Capacitated domination problem.

Algorithmica, 2009.

[17] Ton Kloks. Treewidth. Computations and Approximations, volume 842 of Lecture Notes in Computer Science. Springer Berlin/Heidelberg, 1994.

[18] Chung-Shou Liao and Der-Tsai Lee. Power Domination Problem in Graphs, vol- ume 3595 of Lecture Notes in Computer Science, pages 818–828. Springer Berlin / Heidelberg, 2005.

[19] L´aszlo Lov´asz. On the ratio of optimal integral and fractional covers, 1975.

(47)

[20] Fred S. Roberts. Graph Theory and Its Applications to Problems of Society. 1978.

[21] P.-J. Wan, K. M. Alzoubi, and O. Frieder. A simple heuristic for minimum con- nected dominating set in graphs. International Journal of Foundations of Computer Science, 14(2):323–333, 2003.

數據

Figure 2.2: An optimal solution of the domination problem. d=20 c=10 w=100d=10c=30w=10 d=30c=10 w=100 d=10c=20w=520 103010Cost=10∗ 1 + 5 ∗ 2 = 20
Figure 3.1: The cost-efficiency of a demand assignment with 2 neighbors
Figure 3.3: The pseudo-code for the weighted unsplittable demand model.
Figure 3.4: A feasible solution computed by our algorithm.
+7

參考文獻

相關文件

Breu and Kirk- patrick [35] (see [4]) improved this by giving O(nm 2 )-time algorithms for the domination and the total domination problems and an O(n 2.376 )-time algorithm for

However, due to the multi-disciplinary nature of this subject, schools may consider assigning teachers with different expertise to teach this subject at different levels (S4, 5

• Content demands – Awareness that in different countries the weather is different and we need to wear different clothes / also culture. impacts on the clothing

按計算機得到 log 2 的近似值的確是十分簡便,但不免有學生會好奇,以前的數學家 是怎麼求出 log

In this paper, we extend this class of merit functions to the second-order cone complementarity problem (SOCCP) and show analogous properties as in NCP and SDCP cases.. In addition,

We propose a primal-dual continuation approach for the capacitated multi- facility Weber problem (CMFWP) based on its nonlinear second-order cone program (SOCP) reformulation.. The

In this paper, motivated by Chares’s thesis (Cones and interior-point algorithms for structured convex optimization involving powers and exponentials, 2009), we consider

If P6=NP, then for any constant ρ ≥ 1, there is no polynomial-time approximation algorithm with approximation ratio ρ for the general traveling-salesman problem...