a constant greedy approximation factor for 1.5d terrain guarding by yoav srebrnik

23
A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Upload: annis-kelley

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

A Constant Greedy Approximation Factor for 1.5D Terrain Guarding

by Yoav Srebrnik

Page 2: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

What will we see?

● Introduction & Motivation● "The Fall" of the greedy algorithm.● Notation & Terminology● Upward-Looking Case● Ben-Moshe's Algorithm● King's Algorithm● Opppsite-Side Greedy Algorithm● Summary

Page 3: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Motivation – why solve 1.5D?

● Terrain Guarding is useful in determining where to place Cellular-Antenna's and Surveillance equipment (Home-Land Security).

● Solving 1.5D efficiently may give us a good heuristic to solve the more general and difficult problem of 2.5D.

Page 4: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Problem's Description

Page 5: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Problem's Description

● A chain of straight lines between k vertices, defines the terrain – T.

● G – the group of guards that are spread over T.● Goal: Find a minimal sub-group of G that can

guard every point in G.● If the 'Line of Sight' between two guards doesn't

cut the terrain T, then they can see eachother.

Page 6: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

The greedy algorithm

The basic Greedy algorithm will look similar to :

– While there exist un-guarded guards– Add to G' the not-chosen guard which can see the

most other not-chosen guards.– End While

This Algorithm results in an unbounded approximation factor.

Page 7: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

The Greedy Alg. (Cont)

Page 8: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Notation & Terminology

● Convex-Hull (CH) – Similar to polygons, chain of lines between (some of) T's maxima-points.

● L(p) – The leftmost guard which can see p.● R(p) – The rightmost guard which can see p.● Guard x dominates y - x can see every guard that

y can see.

Page 9: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

The Upward-Looking Case

● In the Upward-Looking Case , for a guard x to see y, the 'line of sight' connecting them can't cut T, and x is not higher than y.

● This problem is similar to a Dominating-Set (famous NP-Hard problem) over DAG.

● A simple algorithm by King – While There exist an un-guarded p

● A = { L(p), p, R(p) } ● G' = G' ∪ A

● Approximation Factor : 2-Θ(1/n)

Page 10: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

The General case – Can we solve in parts?● In the general case, the demand of x to be not

higher than y is dropped.● We can use CH(T), to cut the problems into

different sub-sections, and solve the problem on them. (i.e – one sub-section of T, can't guard another sub-section of T)

● It is always useful to place guards on CH(T) (if possible) because they see two adjacent sub-sections.

Page 11: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Ben-Moshe's algorithm

● Given a terrain T, compute its CH, and place guards at its vertices (if possible). Then solve each sub-section seperatly.

● Given a sub-section T', Partition it into maximal sub-sections that can be guarded from outside the section, and place guards at end-points of T', and R(al), R(ar), L(bl) & L(br) .

● The remaining guards, handle seperatly.

First algorithm to show a constant approximation factor.

Page 12: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

King's Algorithm

● The algorithm repetedly finds the two leftmost unguarded vertices.

● In case they both are in CH(T), it place one guard to guard them both.

● Otherwise, the algorithm calls a recursive function that can:– place 4 guards to dominate section T. or– Recursively call GuardRight / GuardLeft over T.

● The algorithm got his name from the property of placing guards which look right.

Page 13: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

King's Algorithm cont'd

● The GuardRight function chooses how to place the guards by evaluating the sub-terrain to cover.

● If the sub-terrain contains vertices that can't be guarded from the right, it calls a "mirror-like" function : GuardLeft.

Page 14: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

King's Algorithm cont'd

Page 15: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Opposite-side Greedy Algorithm

● The algorithm classifies each guard into 2 groups – Left & Right guards.

● We have a visibility graph which is a "quasi-bisided" graph.

● An Edge between x and y, means x sees y.● On that graph we can define 2 different degrees –

number of edges to all vertices in the graph D1, number of edges to opposite-side vertices D2.

Page 16: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Opposite-side Greedy Alg – Cont'd● The algorithm:

– Build Ĝ – the quasi-bisided graph.– While T is not covered

● Order the vertices list by descending D2 value, and then by descending D1 value.

● Choose the 1st vertex in the list.● Update Ĝ, D1 and D2 for every remaining vertices.

● The algorithm complexity is O(n²logn)

But what is the approximation-factor ?

Page 17: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

O.S Greedy Algorithm - example

Page 18: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

O.S Greedy Algorithm - example

Page 19: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Opposite-side Greedy Alg – Cont'd

Page 20: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Opposite-side Greedy Alg – cont'd

● Every terrain can be broken into simple/stair-like pockets, and planar sub-sections.

● For every simple pocket, both the Optimal and the Greedy will put 1 guard.

● For a stair-like pocket, |Ĝ| <= 1.5 G'-optimal.● For each planar sub-section, the O.S.Greedy

algorithm puts up to 1 guards.

Total: Approximation factor = 2.5

Page 21: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Opposite-side Greedy alg – Cont'd

Page 22: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

Summary

● We have seen a constant-factor approximation factor alg for "Upward Looking Case".

● We have seen 3 constant-factor approximation factor alg's for the general problem.

● We saw that a Greedy heuristic can produce good results in 1.5D terrain guarding.

Page 23: A Constant Greedy Approximation Factor for 1.5D Terrain Guarding by Yoav Srebrnik

The End