Improved Approximation Algorithms for Relay Placement Alon Efrat

  • Slides: 59
Download presentation
Improved Approximation Algorithms for Relay Placement Alon Efrat, Sándor P. Fekete, Poornananda R. Gaddehosur,

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

Introduction: The Relay Placement Problem Input: • A set of sensors: Identified with their

Introduction: The Relay Placement Problem Input: • A set of sensors: Identified with their locations in the plane. • A number r 1: the communication range of a relay (an relay additional communication device) Objective: To place a minimum number of relays to ensure the connectivity of a sensor network. r 2

Introduction: The Relay Placement Problem Two versions of the relay replacement problem: In both

Introduction: The Relay Placement Problem Two versions of the relay replacement problem: In both versions: 1 A sensor and a relay can communicate if the distance between them is at most 1. r Two relays can communicate if the distance between them is at most r 1. r 3

Introduction: The Relay Placement Problem Two versions of the relay replacement problem: one-tier version:

Introduction: The Relay Placement Problem Two versions of the relay replacement problem: one-tier version: 1 • 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. 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. 4

Introduction: The Relay Placement Problem Previous work One tier version: • approximation ratio of

Introduction: The Relay Placement Problem Previous work 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. ). 5

Outline 1. Definitions and background. 2. A 6. 73 approximation alg. for the one-tier

Outline 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 6

Definitions and background 1. Blobs and Clouds V: A set of sensors (points in

Definitions and background 1. Blobs and Clouds V: A set of sensors (points in the plane). G=(V, EG) : A unit disk graph where EG={(u, v): |uv| 1} F=(V, EF) : A unit disk graph where EF={(u, v): |uv| 2} An edge in G is also an edge in F! 7

Definitions and background 1. Blobs and Clouds • Let B denote the set of

Definitions and background 1. Blobs and Clouds • Let B denote the set of all blobs. A blob b B 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 c C is the union of unit disks centered at the sensors that belong to one connected component of F. b 1 b 2 b 4 b 5 b 3 8 c 1 c 2

Definitions and background 1. Blobs and Clouds • Sensors in a blob can communicate

Definitions and background 1. Blobs and Clouds • Sensors in a blob can communicate with each other without relays, while the ones in a cloud might not. • Each cloud c C consists of one or more blobs b B where B is the set of all blobs. • We use Bc to denote the blobs that form the cloud c. b 1 b 2 b 4 b 5 b 3 9 c 1 c 2

Definitions and background 2. Stabs and Hubs • A stab is a relay with

Definitions and background 2. Stabs and Hubs • 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: 10 Distance between neighbor blobs 2

Definitions and background 2. Stabs and Hubs Using stabs only, It is necessary and

Definitions and background 2. Stabs and Hubs 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. b 1 b 2 b 4 b 5 b 3 11 c 2

Definitions and background 2. Stabs and Hubs Stab placement is equivalent to the set

Definitions and background 2. Stabs and Hubs Stab placement is equivalent to the set cover problem: The universe is the set of blobs: U={b 1, b 2, b 3, b 4, b 5}. The subsets are sets of blobs with a common point: s 1={b 1, b 2} s 2={b 2, b 3} s 3={b 3, b 4} s 4={b 5}. find a minimum set of stabs to cover U. s 1 b 1 s 2 b 3 12 s 3 b 4 c 1 b 5 c 2

Definitions and background 2. Stabs and Hubs Using hubs only, It is necessary, but

Definitions and background 2. Stabs and Hubs 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 c 1. To replace the two stabs by hubs, an additional hub is required to “stitch” the blobs together. s 1 b 1 s 2 b 3 13 b 4 c 1

Definitions and background 2. Stabs and Hubs Lemma 1: Lemma 1 A solution S

Definitions and background 2. Stabs and Hubs Lemma 1: Lemma 1 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 : 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. 1. Switch off communication between stabs, thus turning them into hubs. 2. This breaks H into k connected components. s 1 b 1 s 2 b 2 s 1 b 3 14 b 4 c 1 s 2

Definitions and background 2. Stabs and Hubs 3. There must be a stab in

Definitions and background 2. Stabs and Hubs 3. There must be a stab in each connected component. Thus, |S| k. 4. By the def. of a cloud, there 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. s 1 b 2 b 3 15 Hubs required: |S|+k-1 2|S|-1 s 2 b 4 c 1

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods P : A collection

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods P : A collection of planar subsets called neighborhoods. G : A plane graph. GP = (P, EG) : The vertices are neighborhoods. p 1, p 2 are adjacent if G has a vertex in both p 1 and p 2 and a path between the vertices. 16

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods The Minimum Steiner Forest

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods The Minimum Steiner Forest With Neighborhoods on P (MSt. FN[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

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods Consider a complete graph

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods 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

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods It is known that

Definitions and background 3. Steiner and Spanning Forests with Neighborhoods It is known that |MSFN(P)| (2/√ 3)|MSt. FN(P)| for a point set P. The following lemma generalizes this to neighborhoods. Lemma 2: Lemma 2 For any P, |MSFN(P)| (2/√ 3)|MSt. FN(P)|. Proof : Proof If P is erased, Mst. FN(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

Definitions and background 4. Lower bounds on the number of required relays R* :

Definitions and background 4. Lower bounds on the number of required relays R* : An optimal set of relays R : 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 20 |R*| |R’| / r |MSt. FN(C)| / r

Definitions and background 4. Lower bounds on the number of required relays R* :

Definitions and background 4. Lower bounds on the number of required relays R* : An optimal set of relays R : 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, |R*| |Stab(B)| , 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, |R*| |C| , where C is the total number of clouds. 21

Outline 1. Definitions and background. 2. A 6. 73 approximation alg. for the one-tier

Outline 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 22

A 6. 73 approximation alg. (one-tier ver. ) Step 1. For each cloud: 1.

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 Lemma 1, Lemma 1 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’| c C |Rc| c C 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 6. 73 approximation alg. (one-tier ver. ) Step 2. Find MSFN(C) and place a set of relays R’’ along its edges. • For each edge e of the forest, place 2 relays at its ends. • Place |e| / r relays every r units along e. Since the # of edges in MSFN(C) is |C|-1, |R’’|=2(|C|-1) + e |e| / r < 2|C|+|MSFN(C)|/r By the lower bound on |R*| and lemma 2: |R|=|R’|+|R’’| 137|Stab(B)|/30 - |C| + 2|C| + |MSFN(C)| / r 24 [137/30 + 1 + (2/√ 3)]|R*| = 6. 73|R*|

Outline 1. Definitions and background. 2. A 6. 73 approximation alg. for the one-tier

Outline 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 25

3. 11 approximation Overview. The basic steps of the algorithm: 1. Compute optimal stabbings

3. 11 approximation 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. 26

3. 11 approximation Ø Ar - “red” relays (connecting blobs in a cloud). Ø

3. 11 approximation Ø Ar - “red” relays (connecting blobs in a cloud). Ø Ag - “green” relays (two per cloud). Ø Ay - “yellow” relays (outside of sensor range). b 1 b 5 b 2 b 4 b 3 c 2 c 1 27

3. 11 approximation Ø R* - Optimal solution. Ø R * = R *d

3. 11 approximation Ø 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| b 1 b 5 b 2 b 4 b 3 c 2 c 1 28

Clouds with few stubs Ø Ci – Set of clouds where the minimum number

Clouds with few stubs Ø Ci – Set of clouds where the minimum number of stabs is i. o All blobs can be connected using 2 i – 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. 29

Stitching a Cloud from Ck+ Ø We focus on one cloud c Ck+. Ø

Stitching a Cloud from Ck+ Ø We focus on one cloud c Ck+. Ø B(y) = { b Bc : y b } 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 30 = {yj : j = 1, 2, …}

Stitching a Cloud from Ck+ Ø Within c, we place a set of red

Stitching a Cloud from Ck+ Ø Within c, we place a set of red relays Arc = {yj : j = 1, 2, …} Ø 1. Choose arbitrary B 0 BC. Initialize j 1, Tj {B 0} Ø 2. While Tj BC : Ø yj maxy { |S(Tj, y)| : B(y) Tj } Ø Sj S(Tj, yj) Ø Tj+1 Tj Sj Ø j j+1 b 0 b 1 b 3 b 2 c 1 31

Stitching a Cloud from Ck+ Ø After each iteration, there exists a path through

Stitching a Cloud from Ck+ Ø 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. Ø Ar. C |Bc| - 1 (each iteration we add a “red” relay). Ø Result: Sensors within any cloud can communicate. 32

Green Relays and Cloud Clusters Ø Set of clouds is interconnected, if with the

Green Relays and Cloud Clusters Ø 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”. 2 new relays b 1 b 5 b 2 b 4 r b 3 1 less connected component 33 c 1 c 2

Green Relays and Cloud Clusters Ø Repeatedly place 4 “green” relays and interconnect clouds

Green Relays and Cloud Clusters Ø Repeatedly place 4 “green” relays and interconnect clouds from three different clusters. c 1 c 2 b 3 b 1 r r r b 4 c 3 34 b 5 4 new relays 2 less connected component

Green Relays and Cloud Clusters Ø Repeat this for 6 “green” relays which interconnect

Green Relays and Cloud Clusters Ø Repeat this for 6 “green” relays which interconnect 4 clusters. c 1 c 2 b 3 b 1 r b 5 3 less connected component r r c 3 b 4 6 new relays r r c 4 35 b 6 b 7

Green Relays and Cloud Clusters Ø On average, 2 “green” relays were added every

Green Relays and Cloud Clusters Ø 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. 36

Interconnecting the Clusters Ø Goal: Interconnecting the clusters by MSFN. Ø For each edge

Interconnecting the Clusters Ø 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 |2 C| “green” relays. r cluster 1 cluster 3 cluster 2 r 37

Analysis: Red and Green Relays Ø By lemma 1: We have at most 2

Analysis: Red and Green Relays Ø By lemma 1: We have at most 2 i– 1 red relays per c Ci Ø By lemma 3 (to be proved…): We have no more than 37/12| R*d c| - 1 red relays per c Ck+ Ø R *d (at least k required per cloud) Ø Total of 2|C| green relays used for clouds interconnections. 38

Analysis: Yellow Relays Ø Let R be the communication graph on the optimal set

Analysis: Yellow Relays Ø Let R be the communication graph on the optimal set R* of relays (without sensors). Ø R’ is a forest which makes the clusters interconnected. Ø Let R’’ be the relays that are vertices in R’. 39

Analysis: Yellow Relays Ø R’’ is partitioned into “black” relays R*b and “white” relays

Analysis: Yellow Relays Ø 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. 40 r

Analysis: Yellow Relays A “white” relay can’t be adjacent to 3 or more “black”

Analysis: Yellow Relays 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. 41

Lemma 4 Ø There is a spanning forest with neighbourhoods on cloud clusters that

Lemma 4 Ø There is a spanning forest with neighbourhoods on cloud clusters that requires at most 42

Lemma 4 – Proof Sketch: Ø Let D be the set of cloud clusters.

Lemma 4 – 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. 43

Lemma 4 - Proof Ø Trees with only one white relay (and exactly 2

Lemma 4 - Proof Ø Trees with only one white relay (and exactly 2 white relays) Ø Spanning forest needs only one edge with one yellow relay Opt. Algo. Ø 44 T contains at least two white relays.

Lemma 4 - Proof Ø For each white relay with two black neighbours, arbitrarily

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 – grey path.

Lemma 4 - Proof Ø There is no grey – 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. Ø 46 Maximum degree of a white relay is 5.

Lemma 4 - Proof Ø Claim: (b + g)/w 9/5 Ø w 2 –

Lemma 4 - Proof Ø Claim: (b + g)/w 9/5 Ø w 2 – Number of white relays with a grey and a black neighbour. Ø w 1 – Number of white relays with a black neighbour but no grey neighbour. Ø w 0 – Number of white relays without a black neighbour. 2 2 47 2 1 2 2 w 2 4 w 1 + 5 w 0 2 2 2

Lemma 4 - Proof Ø Claim: (b + g)/w 9/5 1. w 2 4

Lemma 4 - Proof Ø Claim: (b + g)/w 9/5 1. w 2 4 w 1 + 5 w 0 = 4 w 1 + 5(w – w 2 – w 1) 2. 5 w 6 w 2 + w 1 1 3. We know that w w 1 + w 2 2 4. from (2) w (1/5)(6 w 2 + w 1) 5. (9/5)w = w + (4/5)w (1/5)(6 w 2 + w 1) + (4/5)(w 1 + w 2) = (w 2 + w 1) + w 2 = b + g 48 (9/5)w b + g

Lemma 4 - Proof Ø Consider the subtree T induced by the black and

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 Ø 49 White relays are used as Steiner points.

Lemma 4 - Proof Ø Yellow relays required on edges Ø Each pair of

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 2 r Ø One yellow relay is enough From the claim, we have that g (9/5)w - b Ø |Ay| 50

Lemma 3 For each cloud c Ck+, the number of red relays in c

Lemma 3 For each cloud c Ck+, the number of red relays in c is |Arc| (37 |R*d c| / 12) -1 51

Lemma 3 proof sketch For each cloud c Ck+, the number of red relays

Lemma 3 proof sketch For each cloud c Ck+, the number of red relays in c is |Arc| (37 |R*d c| / 12) -1 We focus on one cloud c Ck+ Step 1 : w(b) = |Arc| +1 Step 2 : b w(b) 1 U(z) Step 3 : b w(b) 1/V(z)+1/(V(z)-1)+…+1/1 V(z) 52

Lemma 3 proof Step 1 : w(b) = |Arc| +1 • For each b

Lemma 3 proof Step 1 : w(b) = |Arc| +1 • For each b B we define w(b)=1/|Sj|. We also set w(b 0)=1. • We have: w(b) = w(b) + … + 1 b S 1 b S 2 |S 1| times 1/|S 1|=1 W(b 0)|=1 c| +1 • We have 1 for each set Sj. Therefore w(b) = |A r 53

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0 Bc. Init: j 1 Tj 0 2. While Tj Bc: yj maxy {|S(Tj, y)| : B(y) Tj } Sj S(Tj, yj) ; Tj+1 Tj Sj ; j j+1 • 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 B 0 B(z), l =1. Otherwise, yl-1 is the first relay to pierce a blob in B(z) Tl -1 54 Tl Sl -1

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0 Bc. Init: j 1 Tj 0 2. While Tj Bc: yj maxy {|S(Tj, y)| : B(y) Tj } Sj S(Tj, yj) ; Tj+1 Tj Sj ; j j+1 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) V(z) Tl -1 U(z) 55 Tl Sl -1

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0

Lemma 3 proof Step 2 : b w(b) 1 U(z) 1. Choose b 0 Bc. Init: j 1 Tj 0 2. While Tj Bc: yj maxy {|S(Tj, y)| : B(y) Tj } Sj S(Tj, yj) ; Tj+1 Tj Sj ; j j+1 • If l =1 then B 0 B(z), U(z)={B 0} and b U(z)w(b)= w(b 0) = 1. • If l >1 then U(z) Sl -1 and for each b U(z): w(b) = 1/|Sl -1| 1/|U(z)| • Therefore, b U(z)w(b) |U(z)| * 1/|U(z)| = 1. B(z) V(z) Tl -1 U(z) 56 Tl Sl -1

Lemma 3 proof 1. Choose b 0 Bc. Init: j 1 Tj 0 2.

Lemma 3 proof 1. Choose b 0 Bc. Init: j 1 Tj 0 2. While Tj Bc: yj maxy {|S(Tj, y)| : B(y) Tj } Sj S(Tj, yj) ; Tj+1 Tj Sj ; j j+1 Step 3 : w(b) 1/V(z)+1/(V(z)-1)+…+1/1 b V(z) • 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 Tj U(z) 57 Tj+1 Sj

Lemma 3 proof Step 3 : b w(b) 1/V(z)+1/(V(z)-1)+…+1/1 V(z) • Whenever placing the

Lemma 3 proof Step 3 : b w(b) 1/V(z)+1/(V(z)-1)+…+1/1 V(z) • Whenever placing the relay yj makes |S(Tj, z)|, decrease by k, exactly k blobs of V(z) get connected to Tj. not-yet-added blobs who cover z • Each of them is assigned the weight w(b) = 1/|Sj| 1/|S(Tj, z)| • k 1, k 2, …, 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). w(b) k 1/(k 1+k 2+…+kn) + k 2/(k 2+k 3+…+kn) +…+ kn/kn b V(z) • The max value of the sum is attained when ki=1. 58

Lemma 3 proof Finally, we have: w(b) = |Arc| +1 w(b) 1 b U(z)

Lemma 3 proof Finally, we have: w(b) = |Arc| +1 w(b) 1 b U(z) w(b) 1/V(z)+1/(V(z)-1)+…+1/1 b V(z) • Since |B(z)| 5 and U(z) , we have |V(z)| 4. • W(z)= b U(z)w(b) + b V(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 * 59