1 / 28

The Sensor Cover Problem

The Sensor Cover Problem. Alon Efrat (U. Arizona) Adam Buchsbaum (AT&T Labs) Shaili Jain (Harvard) Suresh Venkatasubramanian (AT&T Labs) Ke Yi (AT&T Labs). Sensors. Low-power devices with sensing capabilities Sensors monitoring regions

avi
Télécharger la présentation

The Sensor Cover Problem

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. The Sensor Cover Problem Alon Efrat (U. Arizona) Adam Buchsbaum (AT&T Labs) Shaili Jain (Harvard) Suresh Venkatasubramanian (AT&T Labs) Ke Yi (AT&T Labs) AT&T Labs

  2. Sensors • Low-power devices with sensing capabilities • Sensors monitoring regions • We would like to cover a given region for as long as possible • Since sensors have limited life, we need to schedule sensor uptime to maximize coverage time AT&T Labs

  3. Preemptive and Non-preemptive • Preemptive: Sensors can be turned on and off multiple times, and the total duration is constrained by battery • Non-preemptive: Each sensor can be turned on only once, and then it runs till death AT&T Labs

  4. Problem Definition • A sensor s is defined by a regionR(s)  U and a durationd(s). • A schedule for a sensor is an assignment of a start time t(s), so that the sensor is active for all t(s)tt(s) + d(s). • A point xU is covered at time t if there is some active sensor s at time t such that x  R(s). • Problem: Given n sensors defined by (Ri , di), i [n], schedule all sensors so that U is covered for all 0  t T, and T is maximized. AT&T Labs

  5. Prior Work • Previous work assumes that U is an arbitrary finite set, Ri’s are arbitrary subsets of U, and di = 1 (Set Cover Packing) • (log n)-approximation [Feige et al. 02] • Various heuristics in the networks community Does geometry help? AT&T Labs

  6. 1-D: Restricted Strip Covering • Each sensor covers an interval • Problem: Slide rectangles up and down to cover a rectangular area of maximum height LoadL = 5 3 3 2 2 5 5 3 4 5 2 4 AT&T Labs

  7. Restricted Strip Covering: Related Results • Packing instead of covering: The dynamic storage allocation problem • (2+)-approx. [Buchsbaum et al. ’04] • Further allow rectangles to move both vertically and horizontally: Strip packing • (1+)-approx. [Kenyon and Remila ’00] AT&T Labs

  8. Our Results   AT&T Labs

  9. An Easy Start: Uniform Duration • A greedy algorithm can achieve optimal solution of duration L AT&T Labs

  10. Variable Durations: NP-hard O(log n) 2004 O(log log n) 2005 O(log log log n) 2006 AT&T Labs

  11. Roadmap to “Triple-Log” • Dynamic programming for small L • Find the optimal schedule in O(nLO(L)) time • Poly time for L = O(log n / log log n) • (1+)-approx. for L < c1dmin log n / log log n • The “grouping” technique for large L • (1+)-approx. for L > c2dmax log n • Combine the two techniques to get an O(log log log n)-approx. for L in between AT&T Labs

  12. Dynamic Programming i=1 i=2 • Check if T is achievable • Try all T=1,2,…,L • At any x-coordinate i, consider all possible schedules of sensors covering i. • Mark a state “valid” if there is previous compatible valid state  …   AT&T Labs

  13. Dynamic Programming Analysis i=1 i=2 • A crude analysis yields an nO(n) bound • Observation 1: at most 2T sensors in any state • Observation 2: can skip x-coordinates where there are >5T sensors • # states per step: • total running time is O(nLO(L)).  …   AT&T Labs

  14. Dynamic Programming Analysis • An exact solution for L = O(log n / log log n) • (1+)-approx. for L < c1dmin log n / log log n (by truncating) • Replace di by • New L’ < c1/  ∙ log n / log log n • Run the dynamic program AT&T Labs

  15. Roadmap to “Triple-Log” • Dynamic programming for small L • Solves the problem in O(nLO(L)) time • (1+)-approx. for L < c1dmin log n / log log n • The “grouping” technique for large L • (1+)-approx. for L > c2 / 5 ∙dmax log n • Combine the two techniques to get an O(log log log n)-approx. for L in between AT&T Labs

  16. The Grouping Algorithm • Basic idea: group short sensors into longer sensors, then apply the greedy algorithm • Need to bound the amount wasted wasted AT&T Labs

  17. Grouping Sensors Stabbed by a Common Anchor AT&T Labs

  18. Grouping Sensors Stabbed by a Common Anchor Lnew(x) = Lold(x) / (1+) - 4D/ D: height of new sensors AT&T Labs

  19. Partitioning • A -grouping is a partition of sensors into a number of subsets such that: • Sensors in a subset are stabbed by a common anchor • For any x-coordinate i, the set of sensors live at i are drawn from no more than  subsets • Lemma: We can group a set of unit-duration sensors into sensor with duration D such that Lnew(x) > Lold(x) / (1+) - O(D / ) AT&T Labs

  20. Partitioning for a Set of Intervals •  = (log n) for a general set of intervals •  = 2 for non-nested intervals AT&T Labs

  21. The Algorithm AT&T Labs

  22. The Algorithm • By repeatedly applying the lemma to make all sensors have equal duration • Theorem: For sufficiently small positive , there is a poly-time algorithm that gives a schedule of duration at least L/(1 + ) - O(dmax / 4). • Corollary: There is a constant c2, such that the algorithm gives a schedule of duration at least L/(1 + ) when L > c2dmax / 5. AT&T Labs

  23. Roadmap to “Triple-Log” • Dynamic programming for small L • Solves the problem in O(nLO(L)) time • (1+)-approx. for L < c1dmin log n / log log n • The “grouping” technique for large L • (1+)-approx. for L > c2dmax/ 5 ( = O(log n)) • Combine the two techniques to get an O(log log log n)-approx. for L in between AT&T Labs

  24. Putting Pieces Together • Consider the case when  = O(1). • Fix parameter  = 5/(c2). Partition sensors into blue set of those with duration >L (large) and red set of the rest (small). • For each x-coordinate, one of the sets has load at least L/2. Use each set to cover those x-coordinates where it has the load. • Dynamic programming for the blue set gives solution of duration L/(2(1 + )). • Grouping for the red set gives same result. • Putting solutions together gives a schedule of duration L/(2 + 2). AT&T Labs

  25. The General Case • Set h = L log log n / log n; fix parameter l. • Partition sensors: • R0 gets large sensors, of duration > h. • Ri for i = 1, …, l gets middle sensors, of duration  [h/2i, h/2i-1); truncate to h/2i . • R +1 gets small sensors, of duration < h/2l = L log log n/(2l log n). • For each x-coordinate, one of the sets has load at least L/(l + 2). Use each set to cover those x-coordinate where it has the load. • Dynamic programming for R0 gives solution of durationL/((1 + )(l + 2)). • Greedy on the middle Ri ’s gives solution of duration L/(2(l + 2)). • Grouping for Rl +1 with  = 1 gives solution of duration Choose l= O(log log log n) AT&T Labs

  26. Conclusion and Open Problems • 1D: • For non-nested intervals, (2 + )-approx. • General case: O(log log log n)-approx. We conjecture that constant approx is possible. • 2D: • O(log(ndmax / L))-approx. • Not much better than the O(log n)-approx. for the arbitrary-set version • Can we improve? AT&T Labs

  27. More Open Problems • Preemptive Schedules • 1D: Can be solved exactly using max-flow • Load = Duration of optimal preemptive schedule • 2D: NP-hard • No approximation known • Sensor networks connectivity AT&T Labs

  28. Thank you! AT&T Labs

More Related