Improved Approximation Algorithms for Relay Placement Alon Efrat, Sándor P.Fekete, Poornananda...

59
Improved Approximation Algorithms for Relay Placement Alon Efrat, Sándor P.Fekete, Poornananda R.Gaddehosur, Joseph S.B.Mitchell, Valentin Polishchuk, and Jukka Suomela Amir Menczel and Rotem Mairon 1
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    1

Transcript of Improved Approximation Algorithms for Relay Placement Alon Efrat, Sándor P.Fekete, Poornananda...

Improved Approximation Algorithms for Relay Placement

Alon Efrat, Sándor P.Fekete, Poornananda R.Gaddehosur, Joseph S.B.Mitchell, Valentin Polishchuk, and Jukka Suomela

Amir Menczel and Rotem Mairon

1

Input :

• A set of sensors: Identified with their locations in the plane.

• A number r 1: the communication range of a relay (an additional communication device)

Objective:

To place a minimum number of relays to ensure the connectivity of a sensor network.

r

Introduction: The Relay Placement Problem

2

A sensor and a relay can communicate if the distance between them is at most 1.

1

Two relays can communicate if the distance between them is at most r 1.

r

r

Two versions of the relay replacement problem:

In both versions:

Introduction: The Relay Placement Problem

3

one-tier version:

• Two sensors can comm. if the distance between them 1.

• Place a min number of relays so that between every pair of sensors there exists a path through sensors and/or relays.

1

two-tier version:

• Sensors do not communicate with each other, no matter how close they are.

• Place a min number of relays so that between every pair of sensors there exists a path through relays.

Two versions of the relay replacement problem:

Introduction: The Relay Placement Problem

4

One tier version:

• approximation ratio of 7 (Lloyd & Xue).

Two tier version:

• (5 + ε)-approximation algorithm for r ≥ 1 (Lloyd & Xue).

• (4+ε)-approximation for the case r ≥ 2 (Srinivas et al.).

Previous work

Introduction: The Relay Placement Problem

5

1. Definitions and background.

2. A 6.73 approximation alg. for the one-tier version

3. A 3.11 approximation alg. for the one-tier version

Outline

6

1. Blobs and Clouds

Definitions and background

F=(V,EF) :

A unit disk graph where EF={(u,v):|uv|2}

An edge in G is also an edge in F!

V :A set of sensors (points in the plane).

G=(V,EG) :

A unit disk graph where EG={(u,v):|uv|1}

7

1. Blobs and Clouds

Definitions and background

• Let B denote the set of all blobs. A blob bB is the union of unit

disks centered at the sensors that belong to one connected

component of G.

• Let C denote the set of all clouds. A cloud cC is the union of

unit disks centered at the sensors that belong to one connected

component of F.

b1 b2

b3

b4 b5

c1 c28

1. Blobs and Clouds

Definitions and background

• Sensors in a blob can communicate with each other without

relays, while the ones in a cloud might not.

• Each cloud cC consists of one or more blobs bB where B is the

set of all blobs.

• We use Bc to denote the blobs that form the cloud c.

b1 b2

b3

b4 b5

c1 c29

2. Stabs and Hubs

Definitions and background

• A stab is a relay with infinite communication range (r = infinity).

Can easily connect two distant blobs:

• A hub is a relay without the ability to communicate with the other

relays. Can easily connect two neighbor blobs in the same cloud:

Distance between neighbor blobs 2

10

2. Stabs and Hubs

Definitions and background

b1 b2

b3

b4 b5

c1 c2

Using stabs only, It is necessary and sufficient to have one in each

blob to ensure communication between all sensors:

Necessary: Each blob must have one to link with sensors outside

the blob.

Sufficient: The stubs in every blobs can communicate with each

other.

11

2. Stabs and Hubs

Definitions and background

Stab placement is equivalent to the set cover problem:

The universe is the set of blobs: U={b1,b2,b3,b4,b5}. The subsets are

sets of blobs with a common point: s1={b1,b2} s2={b2,b3} s3={b3,b4}

s4={b5}. find a minimum set of stabs to cover U.

s1

s2

s3

b1 b2

b3b4

c1 c2

b5

12

2. Stabs and Hubs

Definitions and background

Using hubs only, It is necessary, but not sufficient, to have one in

each blob to ensure communication between sensors within one

cloud. For Example: Two stabs are sufficient to “pierce” each blob

in c1. To replace the two stabs by hubs, an additional hub is required

to “stitch” the blobs together.

s1

s2b1 b2

b3b4

c113

2. Stabs and Hubs

Definitions and background

Lemma1: A solution S to stab placement on bc induces a solution to

hub placement on bc with 2|S|-1 hubs (obtained in polynomial time).

Proof : Let H be a graph whose nodes are the sensors in the cloud c and

the stabs in S. an edge connects u and v if either both are stabs or |uv|1.

s1

s2b1 b2

b3b4

c1

s1

s2

1. Switch off communication between stabs, thus turning them into hubs.

2. This breaks H into k connected components.

14

2. Stabs and Hubs

Definitions and background

s1

s2b1 b2

b3b4

c1

3. There must be a stab in each connected component. Thus, |S| k.

4. By the def. of a cloud, there are at least two sensors from two different

connected components of H that are within distance 2 from each other.

5. Placing a hub between them decreases the number of connected components by at least 1.

6. After placing at most k-1 additional hubs, all connected components will merge into 1.

Hubs required: |S|+k-1 2|S|-1

15

3. Steiner and Spanning Forests with Neighborhoods

Definitions and background

P : A collection of planar subsets called neighborhoods.

G : A plane graph.

GP = (P,EG) : The vertices are neighborhoods. p1, p2 are adjacent if G has a vertex in both p1 and p2 and a path between the vertices.

16

3. Steiner and Spanning Forests with Neighborhoods

Definitions and background

The Minimum Steiner Forest With Neighborhoods on P

(MStFN[P]): A minimum length plane graph G, such that GP=(P,EG)

is connected. We only count the part of the G outside P for its

length.

17

3. Steiner and Spanning Forests with Neighborhoods

Definitions and background

Consider a complete graph whose vertices are the neighborhoods

in P and whose edge weights are the shortest distances between

them. A minimum spanning tree in the graph is called The

Minimum Spanning Forest with Neighborhoods on P

(MSFN[P]).

18

3. Steiner and Spanning Forests with Neighborhoods

Definitions and background

It is known that |MSFN(P)| (2/√3)|MStFN(P)| for a point set P. The

following lemma generalizes this to neighborhoods.

Lemma2: For any P, |MSFN(P)| (2/√3)|MStFN(P)|.

Proof : If P is erased, MstFN(P) falls into a forest, each tree of

which is a minimum Steiner tree on its leaves. Its length is within

the Steiner ratio of minimum spanning tree length.

19

4. Lower bounds on the number of required relays

Definitions and background

R* : An optimal set of relaysR : A communication graph on R* alone (no sensors). Relays u and v are connected |uv| r.

1. There is a forest R’ in R that spans all clouds. R’ has: • m edges of length at most r• v |R*| vertices• k trees.

|R’| mr = (|R*|-k)r |R*|r |R*| |R’| / r |MStFN(C)| / r

20

4. Lower bounds on the number of required relays

Definitions and background

R* : An optimal set of relaysR : A communication graph on R* alone (no sensors). Relays u and v are connected |uv| r.

2. Since there must be a relay in every blob, ,

where Stab(B) is the minimum set of stabs that stab each blob

in B (the set of all blobs).

3. Since there must be a relay in every cloud, , where

C is the total number of clouds.

|R*| |Stab(B)|

|R*| |C|

21

1. Definitions and background.

2. A 6.73 approximation alg. for the one-tier version

3. A 3.11 approximation alg. for the one-tier version

4. There is no PTAS for the one-tier version

5. A PTAS for the two-tier version

Outline

22

A 6.73 approximation alg. (one-tier ver.)

Step 1. For each cloud:

1. Find an approximately optimal stab placement.

• Max number of blobs pierced is 5

• The greedy heuristic has app. ratio of:

1+1/2+1/3+1/4+1/5 = 137/60

2. Turn stab placement into hub placement

• Applying Lemma1, we can |Rc| hubs, where:

|Rc| = 2|S|-1 137|Stab(Bc)|/30-1

Let |R’| denote the number of relays placed this way.

|R’| cC |Rc| cC 137|Stab(Bc)|/30-1=137|Stab(B)|/30-|C|

23

A 6.73 approximation alg. (one-tier ver.)

Step 2. Find MSFN(C) and place a set of relays R’’ along its edges.

Since the # of edges in MSFN(C) is |C|-1,

|R’’|=2(|C|-1) + e |e| / r < 2|C|+|MSFN(C)|/r

• Place |e| / r relays every r units along e.

By the lower bound on |R*| and lemma2:

|R|=|R’|+|R’’| 137|Stab(B)|/30 - |C| + 2|C| + |MSFN(C)| / r

[137/30 + 1 + (2/√3)]|R*| = 6.73|R*|

• For each edge e of the forest, place 2 relays at its ends.

24

1. Definitions and background.

2. A 6.73 approximation alg. for the one-tier version

3. A 3.11 approximation alg. for the one-tier version

Outline

25

Overview. The basic steps of the algorithm:

1. Compute optimal stabbings for clouds which can be stabbed with few relays.

2. Connect the blobs in each of these clouds, using Lemma 1.

3. Greedily connect all blobs in each of the remaining clouds (“stitching”).

4. Greedily connect clouds into clusters, using 2 additional relays per cloud.

5. Connect the clusters by a spanning forest.

3.11 approximation

26

Ar - “red” relays (connecting blobs in a cloud).

Ag - “green” relays (two per cloud).

Ay - “yellow” relays (outside of sensor range).

3.11 approximation

b1 b2

b3

b4

b5

c1

c2

27

R* - Optimal solution.

R* = R*d R*

l

R*d

- “dark” relays (within reach of sensors).

R*l - “light” relays (outside of sensor range).

(|Ar| + |Ag|) < 3.11 * |R*d|

|Ay| < 3.11 * |R*l|

3.11 approximation

b1 b2

b3

b4

b5

c1

c2

28

Ci – Set of clouds where the minimum number of stabs is i.

o All blobs can be connected using 2i – 1 red relays (lemma 1)

Ck+ - Set of clouds that need at least k stabs.

Given a constant k it can be checked in polynomial time

whether all blobs in a cloud can be stabbed with i<k stabs.

Clouds with few stubs

29

We focus on one cloud c Ck+.

B(y) = { bBc : yb } is the set of blobs that contain y, a point in the plane.

For any T Bc , S(T, y)=B(y)\T is the set of blobs that contain y that are not in T.

V(T) is the set of sensors that form the blobs in T.

Within c, we place a set of red relays = {yj : j = 1, 2,…}

Stitching a Cloud from Ck+

rcA

30

Within c, we place a set of red relays Arc = {yj : j = 1, 2,…}

1. Choose arbitrary B0 BC. Initialize j 1, Tj {B0}

2. While Tj BC :

yj maxy { |S(Tj, y)| : B(y) Tj }

Sj S(Tj, yj)

Tj+1 Tj Sj

j j+1

Stitching a Cloud from Ck+

b0 b1

b2

b3

c1

31

After each iteration, there exists a path through sensors/relays between any pair of sensors in V(Tj).

Can be proved by induction on j.

Inside a cloud, all blobs are at most at distance 2 from each other.

We can find other blobs from c that we are able to connect to Tj using another relay.

Each iteration increases the size of Tj by at least 1.

The algorithm terminates in at most |Bc| - 1 iterations.

ArC |Bc| - 1 (each iteration we add a “red” relay).

Result: Sensors within any cloud can communicate.

Stitching a Cloud from Ck+

32

Set of clouds is interconnected, if with the current placement of relays, the sensors in the clouds can communicate with each other.

Goal: Interconnecting the clouds.

Each cloud is assigned to its own cluster.

Interconnect two close clusters by placing one relay within each of the two clusters. These relays are coloured “green”.

Green Relays and Cloud Clusters

2 new relays

1 less connected component

b1 b2

b3

b4

b5

c1

c2 r

33

Repeatedly place 4 “green” relays and interconnect clouds from three different clusters.

Green Relays and Cloud Clusters

b1

b2

b3c1

c2

r

b4

b5

c3

r

r

4 new relays

2 less connected component

34

Repeat this for 6 “green” relays which interconnect 4 clusters.

Green Relays and Cloud Clusters

b1

b2

b3c1

c2

r

b4

b5c3

b6 b7

c4

r

r

r

r

6 new relays

3 less connected component

35

On average, 2 “green” relays were added every time the

number of connected components in the communication

graph on sensors plus relays decreases by 1.

Total number of “green” relays placed so far is twice the

number of clouds that have been interconnected into the

clusters.

Green Relays and Cloud Clusters

36

Goal: Interconnecting the clusters by MSFN.

For each edge e of the forest, we place 2 “green” relays at its endpoints and |e| / r “yellow“ relays every r units.

2 “green” relays per 1 connected component that is decreased. Total use of |2C| “green” relays.

Interconnecting the Clusters

cluster 1

cluster 2

cluster 3

r

r

37

By lemma 1: We have at most 2i–1 red relays per cCi

By lemma 3 (to be proved…): We have no more than 37/12| R*d c| - 1 red relays per cCk+

R*d (at least k required per cloud)

Total of 2|C| green relays used for clouds interconnections.

Analysis: Red and Green Relays

kCC

gr RAA |C|2 |C|1) - (2i 1) - /12|C | (37||||1-k

1i

id

*

1

1

1

1

kid

* ||)12(|C| |)C|||(12/37k

i

ik

i

CiiR

||11.3|R|1/k)(3.084 |C|||12/37 **d

kd

*dRR

1

1

||||k

i

ik CiCk

38

Let R be the communication graph on the optimal set R* of relays (without sensors).

Analysis: Yellow Relays

R’ is a forest which makes the clusters interconnected.

Let R’’ be the relays that are vertices in R’.

39

R’’ is partitioned into “black” relays R*b and “white” relays R*

w

R*b = R’’ R*

d (inside clusters)

R*w = R’’ R*

l (outside clusters)

2 “black” relays cannot be adjacent in R’’.

The algorithm must have interconnected

these 2 clusters using 2 “green” relays.

There can’t be 2 such clusters.

Analysis: Yellow Relays

r

40

A “white” relay can’t be adjacent to 3 or more “black” relays in R’’:

The algorithm must have interconnected

these 3 clusters using 4 “green” relays.

There cannot be a pair of adjacent “white” relays such that both of them are adjacent to 2 “black” relays.

The algorithm must have interconnected

these 4 clusters using 6 “green” relays.

Analysis: Yellow Relays

41

There is a spanning forest with neighbourhoods on cloud

clusters that requires at most

Lemma 4

| | 11 . 3 | | ) 5/ 4 3 / 4(* *w wR R

42

Proof Sketch:

Let D be the set of cloud clusters.

R’ is partitioned into edge disjoint trees.

D’D is a subset of clusters interconnected by a single tree, T.

It is enough to show that for each T there is a spanning forest on the clusters it interconnects, D’ , such that the number of yellow relays on its edges is at most 3.11 times the number of white relays in T.

Lemma 4 – Proof Sketch

43

Lemma 4 - Proof

Trees with only one white relay (and exactly 2 white relays)

Spanning forest needs only one edge with one yellow relay

T contains at least two white relays.

Algo.

Opt.

44

Lemma 4 - Proof

For each white relay with two black

neighbours, arbitrarily choose one of

the black relays and change it into a “grey”.

Let w be the number of white relays.

Let b be the number of remaining “black” relays.

Let g be the number of “grey” relays in T.

b w (first bullet)

45

Lemma 4 - Proof

There is no grey – white – white – grey path.

Originated from a scenario that would

have been eliminated in the algorithm.

No such two clusters exists.

Each white relay is adjacent to another

white relay.

Maximum degree of a white relay is 5.

46

Lemma 4 - Proof

Claim: (b + g)/w 9/5

w2 – Number of white relays with a grey and a black neighbour.

w1 – Number of white relays with a black neighbour but no grey neighbour.

w0 – Number of white relays without a black neighbour.

12

2

2

2

02

2

2

2

2w2 4w1 + 5w0

47

Lemma 4 - Proof

Claim: (b + g)/w 9/5

1. w2 4w1 + 5w0 = 4w1 + 5(w – w2 – w1)

2. 5w 6w2 + w1

3. We know that w w1 + w2

4. from (2) w (1/5)(6w2 + w1)

5. (9/5)w = w + (4/5)w (1/5)(6w2 + w1) + (4/5)w

(1/5)(6w2 + w1) + (4/5)(w1 + w2) = (w2 + w1) + w2 = b + g

(9/5)w b + g

1

2

48

Lemma 4 - Proof

Consider the subtree T induced by the black and white relays.

Grey relays are ignored (positioned at end of edges)

E(T) b + w (T is a tree with b + w nodes).

Every edge length in T at most r.

By lemma 2, there is a spanning forest on the black relays with total length less than

White relays are used as Steiner points.rwb ))(3/2(

49

Lemma 4 - Proof

Yellow relays required on edges Each pair of black relays in T is connected.

We only need to connect the grey relays to the spanning tree.

Each grey relay will be connected to the nearest black relay

Distance is at most 2r

One yellow relay is enough

From the claim, we have that g (9/5)w - b

|Ay|

))(3/2( wb

wwgwb )5/14(2)13/2())(3/2(

ww 11.3)5/43/4( 50

Lemma 3

For each cloud cCk+, the number of red relays in c is

|Arc| (37 |R*d c| / 12) -1

51

Lemma 3 proof sketch

We focus on one cloud cCk+

Step 2 : w(b) 1bU(z)

Step 1 : w(b) = |Arc| +1b 𝑩𝒄

Step 3 : w(b) 1/V(z)+1/(V(z)-1)+…+1/1 bV(z)

For each cloud cCk+, the number of red relays in c is

|Arc| (37 |R*d c| / 12) -1

52

Lemma 3 proof

• For each bB we define w(b)=1/|Sj|. We also set w(b0)=1.

• We have: w(b) = w(b) + w(b) + … + 1

• We have 1 for each set Sj. Therefore

|S1| times 1/|S1|=1 W(b0)|=1

bS1b 𝐵𝑐 bS2

w(b) = |Arc| +1b 𝑩𝒄

Step 1 : w(b) = |Arc| +1b 𝑩𝒄

53

• Consider a relay . z is a dark relay and thus

must be covered by some blob.

• Find the smallest l where Tl B(z)

• if B0B(z), l =1. Otherwise, yl-1 is the first relay to pierce

a blob in B(z)

Step 2 : w(b) 1bU(z)

cRz d *

B(z)Tl -1

Sl -1

Tl

1. Choose b0 Bc. Init: j1 Tj02. While Tj Bc:

yj maxy {|S(Tj,y)| : B(y) Tj }Sj S(Tj,yj) ; Tj+1 Tj Sj ; j j+1

Lemma 3 proof

54

Step 2 : w(b) 1bU(z)

We partition the set B(z) into:

• U(z) = Tl B(z) : blobs that cover z at iteration l.

• V(z) = B(z) \ U(z) : blobs that do not.

B(z)Tl -1

Sl -1

Tl

U(z)

V(z)

1. Choose b0 Bc. Init: j1 Tj02. While Tj Bc:

yj maxy {|S(Tj,y)| : B(y) Tj }Sj S(Tj,yj) ; Tj+1 Tj Sj ; j j+1

Lemma 3 proof

55

Step 2 : w(b) 1bU(z)

• If l =1 then B0 B(z), U(z)={B0} and bU(z)w(b)= w(b0) = 1.

• If l >1 then U(z) Sl -1 and for each bU(z):

w(b) = 1/|Sl -1| 1/|U(z)|

• Therefore, bU(z)w(b) |U(z)| * 1/|U(z)| = 1.B(z)

Tl -1

Sl -1

Tl

U(z)

V(z)

1. Choose b0 Bc. Init: j1 Tj02. While Tj Bc:

yj maxy {|S(Tj,y)| : B(y) Tj }Sj S(Tj,yj) ; Tj+1 Tj Sj ; j j+1

Lemma 3 proof

56

• At iterations j ≥ l , the alg. may place yj at z.

• We yj maximizes |S(Tj,yj)|, hence |Sj| = |S(Tj,yj)| ≥ |S(Tj,z)|.

• Furthermore, S(Tj,z)\S(Tj+1,z) = B(z)Sj = V(z)Sj

Step 3 :

w(b) 1/V(z)+1/(V(z)-1)+…+1/1 bV(z)

1. Choose b0 Bc. Init: j1 Tj02. While Tj Bc:

yj maxy {|S(Tj,y)| : B(y) Tj }Sj S(Tj,yj) ; Tj+1 Tj Sj ; j j+1

Tj

Sj

Tj+1

U(z)

Lemma 3 proof

57

• Whenever placing the relay yj makes |S(Tj,z)|, decrease by k,

exactly k blobs of V(z) get connected to Tj.

• Each of them is assigned the weight w(b) = 1/|Sj| 1/|S(Tj,z)|

• k1,k2,…,kn : # of blobs from V(z) pierced at different iterations.

• On removing ki blobs from V(z), |S(Tj,z)|=(ki+…+kn) remain in V(z).

• The max value of the sum is attained when k i=1.

Step 3 : w(b) 1/V(z)+1/(V(z)-1)+…+1/1 bV(z)

not-yet-added blobs who cover z

bV(z) w(b) k1/(k1+k2+…+kn) + k2/(k2+k3+…+kn) +…+ kn/kn

Lemma 3 proof

58

Finally, we have:

• Since |B(z)| 5 and U(z) , we have |V(z)| 4.

• W(z)= bU(z)w(b) + bV(z)w(b) 1+1/4+1/3+1/2+1/1 = 37/12

• The sets B(z), where z R*d c form a cover of Bc

(same blob may be counted twice for the same z).

• Therefore: |Arc|+1 = w(b) w(z) 37|R*d c|/12

b 𝑩𝒄 z 𝑹𝒅*

w(b) 1bU(z)

w(b) = |Arc| +1b 𝑩𝒄

w(b) 1/V(z)+1/(V(z)-1)+…+1/1 bV(z)

Lemma 3 proof

59