1 / 59

Improved Approximation Algorithms for Relay Placement

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.  r. Introduction: The Relay Placement Problem. Input :

haruko
Download Presentation

Improved Approximation Algorithms for Relay Placement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improved Approximation Algorithms for Relay Placement AlonEfrat, SándorP.Fekete, PoornanandaR.Gaddehosur, Joseph S.B.Mitchell, Valentin Polishchuk, and JukkaSuomela Amir Menczel and RotemMairon

  2.  r 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 additional communication device) Objective: To place a minimum number of relays to ensure the connectivity of a sensor network.

  3.  r Introduction: The Relay Placement Problem Two versions of the relay replacement problem: In both versions: 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

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

  5. 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.).

  6. Outline • Definitions and background. • A 6.73 approximation alg. for the one-tier version • A 3.11 approximation alg. for the one-tierversion

  7. 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!

  8. Definitions and background 1. Blobs and Clouds • Let B denote the set of all blobs.A blobbBis 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 cloudcCis the union of unit disks centered at the sensors that belong to one connected component of F. b2 b1 b4 b5 b3 c1 c2

  9. 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 cloudc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. b2 b1 b4 b5 b3 c1 c2

  10. 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: Distance between neighbor blobs  2

  11. Definitions and background 2. Stabs and Hubs Using stabs only, It is necessaryand 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. b2 b1 b4 b5 b3 c1 c2

  12. Definitions and background 2. Stabs and Hubs 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 commonpoint: s1={b1,b2} s2={b2,b3} s3={b3,b4} s4={b5}. find a minimum set of stabs to cover U. s1 s3 s2 b2 b1 b5 b4 b3 c1 c2

  13. 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. ForExample: 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 s2 b2 b1 b4 b3 c1

  14. Definitions and background 2. Stabs and Hubs 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. 1. Switch off communication between stabs, thus turning them into hubs. 2. This breaks H into k connected components. s1 s2 b2 b1 s1 s2 b4 b3 c1

  15. 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 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. s1 Hubs required: |S|+k-1  2|S|-1 s2 b2 b1 b4 b3 c1

  16. 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. p1, p2 are adjacent if G has a vertex in both p1 and p2 and a path between the vertices.

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

  18. 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]).

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

  20. 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. • 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

  21. 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, , 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|

  22. Outline • Definitions and background. • A 6.73 approximation alg. for the one-tier version • A 3.11 approximation alg. for the one-tier version • There is no PTAS for the one-tier version • A PTAS for the two-tier version

  23. A 6.73 approximation alg. (one-tier ver.) • Step 1. For each cloud: • 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’|  cC|Rc|  cC137|Stab(Bc)|/30-1=137|Stab(B)|/30-|C|

  24. 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 lemma2: |R|=|R’|+|R’’|  137|Stab(B)|/30 - |C|+ 2|C| + |MSFN(C)| / r  [137/30 + 1 + (2/√3)]|R*| = 6.73|R*|

  25. Outline • Definitions and background. • A 6.73 approximation alg. for the one-tier version • A 3.11 approximation alg. for the one-tierversion

  26. 3.11 approximation Overview. The basic steps of the algorithm: Compute optimal stabbings for clouds which can be stabbed with few relays. Connect the blobs in each of these clouds, using Lemma 1. Greedily connect all blobs in each of the remaining clouds (“stitching”). Greedily connect clouds into clusters, using 2 additional relays per cloud. Connect the clusters by a spanning forest.

  27. 3.11 approximation • Ar - “red” relays (connecting blobs in a cloud). • Ag - “green” relays (two per cloud). • Ay - “yellow” relays (outside of sensor range). b5 b2 b1 b4 b3 c2 c1

  28. 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| b5 b2 b1 b4 b3 c2 c1

  29. Clouds with few stubs • Ci – Set of clouds where the minimum number of stabs is i. • 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.

  30. 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)\Tis 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,…}

  31. Stitching a Cloud from Ck+ • 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 b1 b0 b3 b2 c1

  32. 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 cthat we are able to connect to Tj using another relay. • Each iteration increases the size of Tjby 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.

  33. 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”. b5 b2 b1 2 new relays 1 less connected component b4 b3  r c2 c1

  34. Green Relays and Cloud Clusters • Repeatedly place 4 “green” relays and interconnect clouds from three different clusters. c2 b3 c1 b2 b1  r  r 4 new relays 2 less connected component  r b4 b5 c3

  35. Green Relays and Cloud Clusters • Repeat this for 6 “green” relays which interconnect 4 clusters. c2 b3 c1 b2 b1  r  r 6 new relays 3 less connected component  r  r  r b4 c3 b5 c4 b6 b7

  36. 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.

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

  38. Analysis: Red and Green Relays • By lemma 1: We have at most 2i–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.

  39. 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’.

  40. 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.  r

  41. 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.

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

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

  44. 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. Opt. Algo.

  45. 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)

  46. 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.

  47. 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. 2 2 2 2 0 w2 4w1 + 5w0 2 1 2 2 2 2

  48. 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

  49. 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.

  50. 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| 

More Related