Download presentation
Presentation is loading. Please wait.
1
AT&T Labs1 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)
2
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
3
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
4
AT&T Labs 4 Problem Definition A sensor s is defined by a region R(s) U and a duration d(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 (R i, d i ), i [n], schedule all sensors so that U is covered for all 0 t T, and T is maximized.
5
AT&T Labs 5 Prior Work Previous work assumes that U is an arbitrary finite set, R i ’s are arbitrary subsets of U, and d i = 1 (Set Cover Packing) (log n)-approximation [Feige et al. 02] Various heuristics in the networks community Does geometry help?
6
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 Load L = 5 3 5 2 3 2 5 4 5 2 4 3
7
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]
8
AT&T Labs 8 Our Results Sensor shapeUniform durationVariable duration IntervalsExact in PNP-hard O(log log log n)-approx. (2+ )-approx. for non-nested intervals DisksNP-hard O(log(nd max /L))-approx. O(log(L max /L))-approx. when congruent NP-hard O(log n)-approx. Arbitrary sets (log n)-approx. [Feige et al. ’02] (log n)-approx.
9
AT&T Labs 9 An Easy Start: Uniform Duration A greedy algorithm can achieve optimal solution of duration L
10
AT&T Labs 10 Variable Durations: NP-hard O(log n) 2004 O(log log n) 2005 O(log log log n) 2006
11
AT&T Labs 11 Roadmap to “ Triple-Log ” Dynamic programming for small L Find the optimal schedule in O(nL O(L) ) time Poly time for L = O(log n / log log n) (1+ )-approx. for L < c 1 d min log n / log log n The “grouping” technique for large L (1+ )-approx. for L > c 2 d max log n Combine the two techniques to get an O(log log log n)-approx. for L in between
12
AT&T Labs 12 Dynamic Programming 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 i=1i=2 …
13
AT&T Labs 13 Dynamic Programming Analysis A crude analysis yields an n O(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(nL O(L) ). i=1i=2 …
14
AT&T Labs 14 Dynamic Programming Analysis An exact solution for L = O(log n / log log n) (1+ )-approx. for L < c 1 d min log n / log log n (by truncating) Replace d i by New L’ < c 1 / ∙ log n / log log n Run the dynamic program
15
AT&T Labs 15 Roadmap to “ Triple-Log ” Dynamic programming for small L Solves the problem in O(nL O(L) ) time (1+ )-approx. for L < c 1 d min log n / log log n The “grouping” technique for large L (1+ )-approx. for L > c 2 / 5 ∙ d max log n Combine the two techniques to get an O(log log log n)-approx. for L in between
16
AT&T Labs 16 Basic idea: group short sensors into longer sensors, then apply the greedy algorithm Need to bound the amount wasted The Grouping Algorithm wasted
17
AT&T Labs 17 Grouping Sensors Stabbed by a Common Anchor
18
AT&T Labs 18 Grouping Sensors Stabbed by a Common Anchor L new (x) = L old (x) / (1+ ) - 4D/ D: height of new sensors
19
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 L new (x) > L old (x) / (1+ ) - O( D / )
20
AT&T Labs 20 Partitioning for a Set of Intervals = (log n) for a general set of intervals = 2 for non-nested intervals
21
AT&T Labs 21 The Algorithm
22
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( d max / 4 ). Corollary: There is a constant c 2, such that the algorithm gives a schedule of duration at least L/(1 + ) when L > c 2 d max / 5.
23
AT&T Labs 23 Roadmap to “ Triple-Log ” Dynamic programming for small L Solves the problem in O(nL O(L) ) time (1+ )-approx. for L < c 1 d min log n / log log n The “grouping” technique for large L (1+ )-approx. for L > c 2 d max / 5 ( = O(log n)) Combine the two techniques to get an O(log log log n)-approx. for L in between
24
AT&T Labs 24 Putting Pieces Together Consider the case when = O(1). Fix parameter = 5 /(c 2 ). 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 ).
25
AT&T Labs 25 The General Case Set h = L log log n / log n; fix parameter l. Partition sensors: R 0 gets large sensors, of duration > h. R i for i = 1, …, l gets middle sensors, of duration [h/2 i, h/2 i-1 ); truncate to h/2 i. R +1 gets small sensors, of duration < h/2 l = L log log n/(2 l 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 R 0 gives solution of duration L/((1 + )( l + 2)). Greedy on the middle R i ’s gives solution of duration L/(2( l + 2)). Grouping for R l +1 with = 1 gives solution of duration Choose l = O(log log log n)
26
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(nd max / L))-approx. Not much better than the O(log n)-approx. for the arbitrary-set version Can we improve?
27
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
28
AT&T Labs28 Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.