Sublinear Geometric Algorithms Sublinear Geometric Algorithms B. - - PowerPoint PPT Presentation

sublinear geometric algorithms sublinear geometric
SMART_READER_LITE
LIVE PREVIEW

Sublinear Geometric Algorithms Sublinear Geometric Algorithms B. - - PowerPoint PPT Presentation

Sublinear Geometric Algorithms Sublinear Geometric Algorithms B. Chazelle, D. Liu, A. Magen B. Chazelle, D. Liu, A. Magen Princeton University / University of Princeton University / University of Toronto Toronto STOC 2003 STOC 2003 CS 468


slide-1
SLIDE 1

Sublinear Geometric Algorithms Sublinear Geometric Algorithms

  • B. Chazelle, D. Liu, A. Magen

Princeton University / University of Toronto STOC 2003

  • B. Chazelle, D. Liu, A. Magen

Princeton University / University of Toronto STOC 2003

CS 468 Geometric Algorithms Seminar Winter 2005/2006

slide-2
SLIDE 2

2 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Overview Overview

What is this paper about? Sublinear geometric algorithms, for convex polygons (2D) and convex polyhedra (3D):

  • Intersection
  • Ray shooting
  • Volume approximation
  • Shortest path approximation

What is this paper about? Sublinear geometric algorithms, for convex polygons (2D) and convex polyhedra (3D):

  • Intersection
  • Ray shooting
  • Volume approximation
  • Shortest path approximation
slide-3
SLIDE 3

3 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Sublinear Algorithms Sublinear Algorithms

What means sublinear?

  • Not reading the complete input
  • Hence: No preprocessing
  • Assuming “standard” input formats
  • Randomized Las-Vegas algorithms
  • No wrong answers, but run time may vary
  • Expected runtimes are sublinear

What means sublinear?

  • Not reading the complete input
  • Hence: No preprocessing
  • Assuming “standard” input formats
  • Randomized Las-Vegas algorithms
  • No wrong answers, but run time may vary
  • Expected runtimes are sublinear
slide-4
SLIDE 4

4 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Overview Overview

Overview:

  • Basic technique
  • Sublinear search algorithm
  • Optimality
  • Polygons / polyhedra intersection
  • Ray shooting & applications
  • Volume approximation
  • Shortest path approximation

Overview:

  • Basic technique
  • Sublinear search algorithm
  • Optimality
  • Polygons / polyhedra intersection
  • Ray shooting & applications
  • Volume approximation
  • Shortest path approximation
slide-5
SLIDE 5

5 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Overview Overview

Overview:

  • Basic technique
  • Sublinear search algorithm
  • Optimality
  • Polygons / polyhedra intersection
  • Ray shooting & applications
  • Volume approximation
  • Shortest path approximation

Overview:

  • Basic technique
  • Sublinear search algorithm
  • Optimality
  • Polygons / polyhedra intersection
  • Ray shooting & applications
  • Volume approximation
  • Shortest path approximation

each new technique builds upon previous techniques each new technique builds upon previous techniques

slide-6
SLIDE 6

6

Basic Technique Basic Technique

slide-7
SLIDE 7

7 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Search Problem Search Problem

Successor Search:

  • Given a sorted doubly-linked list of numbers
  • And a search value k
  • Find first element greater than k
  • List stored in continuous memory block

(allowing sampling of list elements) Successor Search:

  • Given a sorted doubly-linked list of numbers
  • And a search value k
  • Find first element greater than k
  • List stored in continuous memory block

(allowing sampling of list elements)

slide-8
SLIDE 8

8 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Data Structure Data Structure

Looks like this: Memory Layout: Looks like this: Memory Layout:

1 3 7 8 9 1 3 9 7 8

slide-9
SLIDE 9

9 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

The Search Algorithm The Search Algorithm

Search Algorithm:

  • Pick √n random list elements
  • Determine closest predecessor and successor
  • f k (within the random sample)
  • Perform plain, linear search towards k

(starting from these two elements) Search Algorithm:

  • Pick √n random list elements
  • Determine closest predecessor and successor
  • f k (within the random sample)
  • Perform plain, linear search towards k

(starting from these two elements)

slide-10
SLIDE 10

10 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

The Search Algorithm (2) The Search Algorithm (2)

Looks like this: Looks like this:

  • list -
  • random sample -

succ(k)

  • linear search -
slide-11
SLIDE 11

11 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Analysis Analysis

The Algorithm:

  • Takes expected O(√n ) time.
  • This is optimal.

The Algorithm:

  • Takes expected O(√n ) time.
  • This is optimal.
slide-12
SLIDE 12

12 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Why? Why?

Runtime: Runtime:

Sampling: Good case: Bad case:

slide-13
SLIDE 13

13 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Runtime Runtime

Runtime Analysis Runtime depends on “empty” block around succ(k) Probability of no hit within Factor c√n of target is O(exp(-c)) Hence: Expected distance O(√n ) after √n trials. Runtime Analysis Runtime depends on “empty” block around succ(k) Probability of no hit within Factor c√n of target is O(exp(-c)) Hence: Expected distance O(√n ) after √n trials.

factor c away

slide-14
SLIDE 14

14 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Optimality Optimality

Why can’t we do O(any better)? The proof employs Yao’s minimax principle:

The expected running time of an optimal deterministic algorithm for any chosen input distribution is a lower bound

  • n the expected running time of the optimal Las Vegas

randomized algorithm.

Why can’t we do O(any better)? The proof employs Yao’s minimax principle:

The expected running time of an optimal deterministic algorithm for any chosen input distribution is a lower bound

  • n the expected running time of the optimal Las Vegas

randomized algorithm.

slide-15
SLIDE 15

15 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Constructing the Bound Constructing the Bound

A Lower Bound for an Opt. Determ. Algorithm Choose the following scenario:

  • Input: Random permutation
  • Search for last element

What can the algorithm do?

  • Op. “A”: Visit neighbor of known node
  • Op. “B”: Go to unknown node in memory

A Lower Bound for an Opt. Determ. Algorithm Choose the following scenario:

  • Input: Random permutation
  • Search for last element

What can the algorithm do?

  • Op. “A”: Visit neighbor of known node
  • Op. “B”: Go to unknown node in memory
slide-16
SLIDE 16

16 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

( )

b

n b a n n ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + + − ≥ 1 " elem. last not saw " Pr

Constructing the Bound (2) Constructing the Bound (2)

Random input:

  • Consider the question: How likely is it, to

discover one of the last √n elements?

  • With every newly visited node, the chance of

discovery increases

  • After a A-Op’s and b B-Op’s:

Random input:

  • Consider the question: How likely is it, to

discover one of the last √n elements?

  • With every newly visited node, the chance of

discovery increases

  • After a A-Op’s and b B-Op’s:
slide-17
SLIDE 17

17 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Constructing the Bound (3) Constructing the Bound (3)

Looks like this: Looks like this:

( )

b

n b a n n ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + + − ≥ 1 " elem. last not saw " Pr

A A B B A A A B A B unknown target: last √n

n a b

b

Pr(“no discovery”) new random choice no-go

slide-18
SLIDE 18

18 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Constructing the Bound (3) Constructing the Bound (3)

Number of B-Ops:

  • Expected value of A and B-op’s until visiting
  • ne of the last √n is O(√n).
  • If last √n elements have not been visited

⇒ √n more A-Ops necessary Number of B-Ops:

  • Expected value of A and B-op’s until visiting
  • ne of the last √n is O(√n).
  • If last √n elements have not been visited

⇒ √n more A-Ops necessary

slide-19
SLIDE 19

19 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

What’s next? What’s next?

Now: Construct sublinear geometric algorithms

  • Similar basic idea
  • All with O(√n ) time complexity
  • Some problems are “more general” than

successor-searching Thus: run-time also optimal Now: Construct sublinear geometric algorithms

  • Similar basic idea
  • All with O(√n ) time complexity
  • Some problems are “more general” than

successor-searching Thus: run-time also optimal

slide-20
SLIDE 20

20

Polygon I ntersection Polygon I ntersection

slide-21
SLIDE 21

21 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Problem Statement Problem Statement

Polygon Intersection:

  • Given two polygons A, B
  • Encoded as densely stored

linked lists of vertices (same as before)

  • Do they intersect?
  • If so, report one intersection point.

Polygon Intersection:

  • Given two polygons A, B
  • Encoded as densely stored

linked lists of vertices (same as before)

  • Do they intersect?
  • If so, report one intersection point.

A B

slide-22
SLIDE 22

22 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

I dea of the Algorithm I dea of the Algorithm

Idea: Employ the same sampling approach Idea: Employ the same sampling approach

two input polygons simplified by random subsampling

slide-23
SLIDE 23

23 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

I dea of the Algorithm I dea of the Algorithm

Two step Approach: Two step Approach:

(I) test for simplified polys intersection (II) test potentially overlapping remaining region

slide-24
SLIDE 24

24 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

First Step First Step

First Step:

  • Random subsampling
  • Choose O(√n ) sample points
  • Compute intersection in linear time

First Step:

  • Random subsampling
  • Choose O(√n ) sample points
  • Compute intersection in linear time

A B

slide-25
SLIDE 25

25 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

First Step (2) First Step (2)

First Step:

  • If no intersection found:
  • Compute separating plane
  • Go to step 2

First Step:

  • If no intersection found:
  • Compute separating plane
  • Go to step 2

A B

slide-26
SLIDE 26

26 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step Second Step

Second Step:

  • Compute expected O(√n ) vertices of A

exceeding separating plane

  • Test intersection with simplified B

Second Step:

  • Compute expected O(√n ) vertices of A

exceeding separating plane

  • Test intersection with simplified B

A B

slide-27
SLIDE 27

27 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step (2) Second Step (2)

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

A B

slide-28
SLIDE 28

28 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step (3) Second Step (3)

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

A B

slide-29
SLIDE 29

29 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step (4) Second Step (4)

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

Second Step:

  • If no intersection is found:
  • Compute new separating plane
  • Test against corresponding part of B

A B

slide-30
SLIDE 30

30 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step (5) Second Step (5)

Second Step:

  • Report intersection if found
  • Otherwise repeat second step

with A and B exchanged for final answer Second Step:

  • Report intersection if found
  • Otherwise repeat second step

with A and B exchanged for final answer

A B

slide-31
SLIDE 31

31

Polyhedra I ntersection Polyhedra I ntersection

slide-32
SLIDE 32

32 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Polyhedral I ntersection Polyhedral I ntersection

Intersection of Two Convex Polyhedra

  • Same approach as for polygons
  • Some additional technical problems...

Intersection of Two Convex Polyhedra

  • Same approach as for polygons
  • Some additional technical problems...
slide-33
SLIDE 33

33 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

First Step First Step

First Step:

  • Simplify Polyhedra
  • Take O(√n ) sample vertices

First Step:

  • Simplify Polyhedra
  • Take O(√n ) sample vertices
slide-34
SLIDE 34

34 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

First Step First Step

First Step:

  • Test for intersection (lin. programming)
  • If no intersection: Compute separating plane

First Step:

  • Test for intersection (lin. programming)
  • If no intersection: Compute separating plane
slide-35
SLIDE 35

35 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step Second Step

Second Step:

  • Compute full resolution part of B

which exceeds separating plane

  • Test with simplified A

Second Step:

  • Compute full resolution part of B

which exceeds separating plane

  • Test with simplified A

A B

slide-36
SLIDE 36

36 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step Second Step

Second Step:

  • If no intersection is found:

Compute new supporting plane... Second Step:

  • If no intersection is found:

Compute new supporting plane...

A B

slide-37
SLIDE 37

37 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Second Step Second Step

Second Step:

  • Test for intersection with full resolution piece of A
  • n B-side of plane
  • If no intersection found: repeat second step with

A and B swapped (as for polygons) Second Step:

  • Test for intersection with full resolution piece of A
  • n B-side of plane
  • If no intersection found: repeat second step with

A and B swapped (as for polygons)

A B

slide-38
SLIDE 38

38 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Additional Problem Additional Problem

Additional Problem for 3D-Polyhedra

  • How compute full resolution

cut-off pieces?

  • Start at a low-res point
  • Adjacency search
  • Problem: Starting vertex

with large out-degree Additional Problem for 3D-Polyhedra

  • How compute full resolution

cut-off pieces?

  • Start at a low-res point
  • Adjacency search
  • Problem: Starting vertex

with large out-degree

slide-39
SLIDE 39

39 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Solution Solution

Handle Vertices with Large Out-Degree

  • First, sample O(√n ) edges randomly from

polyhedron (only global sampling possible!)

  • If out-degree larger than O(√n ), then one can

expect to find some of those edges

  • Hence: Start linear search at edges closest

to plane (c.f. successor search)

  • Otherwise (small out-degree): All edges can be

searched linearly Handle Vertices with Large Out-Degree

  • First, sample O(√n ) edges randomly from

polyhedron (only global sampling possible!)

  • If out-degree larger than O(√n ), then one can

expect to find some of those edges

  • Hence: Start linear search at edges closest

to plane (c.f. successor search)

  • Otherwise (small out-degree): All edges can be

searched linearly

slide-40
SLIDE 40

40 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Complexity Complexity

Complexity

  • The cut-off caps are O(√n )
  • Intuition: Similar to successor searching
  • Formal proof: See paper
  • All other steps are also O(√n )
  • Yields O(√n ) overall complexity
  • The problem is a generalization of successor
  • searching. Hence: Optimal complexity.

Complexity

  • The cut-off caps are O(√n )
  • Intuition: Similar to successor searching
  • Formal proof: See paper
  • All other steps are also O(√n )
  • Yields O(√n ) overall complexity
  • The problem is a generalization of successor
  • searching. Hence: Optimal complexity.
slide-41
SLIDE 41

41

Ray Shooting & Applications Ray Shooting & Applications

slide-42
SLIDE 42

42 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Ray Shooting Ray Shooting

Same Technique Can Handle Ray Shooting:

  • Rays are very skinny polyhedra
  • Can use the same algorithm
  • Computes intersections in O(√n ) time
  • This is also optimal

Same Technique Can Handle Ray Shooting:

  • Rays are very skinny polyhedra
  • Can use the same algorithm
  • Computes intersections in O(√n ) time
  • This is also optimal
slide-43
SLIDE 43

43 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Applications Applications

Point Location

  • Point location in Delaunay triangulations
  • Shoot vertical ray towards

convex hull of (x, y, x2 + y2)

  • Similar construction also works for Voronoi

Diagrams

  • Yields point location algorithms with optimal

O(√n ) complexity Point Location

  • Point location in Delaunay triangulations
  • Shoot vertical ray towards

convex hull of (x, y, x2 + y2)

  • Similar construction also works for Voronoi

Diagrams

  • Yields point location algorithms with optimal

O(√n ) complexity

slide-44
SLIDE 44

44 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Other Applications Other Applications

Nearest Neighbor Search:

  • Find nearest neighbor in polyhedron to a

given point in space in O(√n ) time

  • Uses (slightly) modified polyhedron

intersection algorithm Nearest Neighbor Search:

  • Find nearest neighbor in polyhedron to a

given point in space in O(√n ) time

  • Uses (slightly) modified polyhedron

intersection algorithm

slide-45
SLIDE 45

45 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Other Applications (2) Other Applications (2)

Direction Search

  • Find point with maximum

projection on a line

  • Find point with maximum

projection on a line restricting input polyhedron to a plane

  • Both in O(√n )

Direction Search

  • Find point with maximum

projection on a line

  • Find point with maximum

projection on a line restricting input polyhedron to a plane

  • Both in O(√n )
slide-46
SLIDE 46

46

Volume Approximation Volume Approximation

slide-47
SLIDE 47

47 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Volume Approximation Volume Approximation

The Task:

  • Determine volume of polyhedron
  • With accuracy up to factor ε

Main Idea:

  • Dudley approximation
  • Non-uniform rescaling to be able

to guarantee ε-precision The Task:

  • Determine volume of polyhedron
  • With accuracy up to factor ε

Main Idea:

  • Dudley approximation
  • Non-uniform rescaling to be able

to guarantee ε-precision

slide-48
SLIDE 48

48 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Dudley Approximation Dudley Approximation

Dudley Approximation of Convex Polyhedra

  • Given a convex

polygon /polyhedron enclosed in a unit sphere

  • An approximation of

complexity O(1/ε (d-1)/2) with max. Hausdorff-distance ε can be constructed Dudley Approximation of Convex Polyhedra

  • Given a convex

polygon /polyhedron enclosed in a unit sphere

  • An approximation of

complexity O(1/ε (d-1)/2) with max. Hausdorff-distance ε can be constructed

slide-49
SLIDE 49

49 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Dudley Approximation (2) Dudley Approximation (2)

Dudley Approximation of Convex Polyhedra Dudley Approximation of Convex Polyhedra O(1/ε (d-1)/2) uniformely distributed sample points O(1/ε (d-1)/2) uniformely distributed sample points

slide-50
SLIDE 50

50 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Dudley Approximation (3) Dudley Approximation (3)

Dudley Approximation of Convex Polyhedra Dudley Approximation of Convex Polyhedra find nearest neighbor of each point find nearest neighbor of each point

slide-51
SLIDE 51

51 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Dudley Approximation (4) Dudley Approximation (4)

Dudley Approximation of Convex Polyhedra Dudley Approximation of Convex Polyhedra convex hull of “supporting” planes convex hull of “supporting” planes

slide-52
SLIDE 52

52 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Dudley Approximation (5) Dudley Approximation (5)

Dudley Approximation of Convex Polyhedra Dudley Approximation of Convex Polyhedra convex hull of “supporting” planes convex hull of “supporting” planes

maximum error: ε (with respect to unit sphere)

slide-53
SLIDE 53

53 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Volume Approximation Volume Approximation

Volume Approximation using Dudley Construction

  • Observation: All steps in Dudley Construction

can be peformed in O(√n ) time

  • Remaining problem: Poor approximation

for skinny polyhedra Volume Approximation using Dudley Construction

  • Observation: All steps in Dudley Construction

can be peformed in O(√n ) time

  • Remaining problem: Poor approximation

for skinny polyhedra

bounded absolute error larger relative volume error

slide-54
SLIDE 54

54 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Rescaling Rescaling

Solution: Non-Uniform Rescaling Solution: Non-Uniform Rescaling

1 2 3 4

  • riginal polyhedron

main axis transform helper polyhedron

vol.

c· original vol.

enclosed ellipsoid

slide-55
SLIDE 55

55 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Result Result

Rescaling:

  • Enclosed ellipsoid has

volume ≥ c·original volume

  • Volume can be measured with arbitrary,

constant accuracy by rescaling Overall:

  • Sublinear operations only
  • Overall: O(ε -1√n ) running time for

ε -approximation of volume Rescaling:

  • Enclosed ellipsoid has

volume ≥ c·original volume

  • Volume can be measured with arbitrary,

constant accuracy by rescaling Overall:

  • Sublinear operations only
  • Overall: O(ε -1√n ) running time for

ε -approximation of volume

slide-56
SLIDE 56

56

Shortest-Path Approximation Shortest-Path Approximation

slide-57
SLIDE 57

57 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

  • Approx. Shortest Path
  • Approx. Shortest Path

The Task:

  • Compute shortest path between

two surface points on convex polyhedron

  • Approximate up to factor ε
  • Allow path to leave surface of polyhedron

(otherwise, any path might be

  • f complexity Ω(n))

The Task:

  • Compute shortest path between

two surface points on convex polyhedron

  • Approximate up to factor ε
  • Allow path to leave surface of polyhedron

(otherwise, any path might be

  • f complexity Ω(n))
slide-58
SLIDE 58

58 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

How does it work? How does it work?

Main Idea:

  • Same basic idea: Dudley approximation
  • Construct simplified polyhedron
  • Constant number of faces

⇒ Can then use standard algorithm to compute shortest path

  • Problem: Guaranteeing accuracy (again)
  • Solution: Clipping to O(path-length)-Box

Main Idea:

  • Same basic idea: Dudley approximation
  • Construct simplified polyhedron
  • Constant number of faces

⇒ Can then use standard algorithm to compute shortest path

  • Problem: Guaranteeing accuracy (again)
  • Solution: Clipping to O(path-length)-Box
slide-59
SLIDE 59

59 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Using the Dudley Approx. Using the Dudley Approx.

Dudley Approximation:

  • Simplify polyhedron (Dudley)
  • Build path along simplified w. std. method

Dudley Approximation:

  • Simplify polyhedron (Dudley)
  • Build path along simplified w. std. method
  • riginal

simplified approximate path

slide-60
SLIDE 60

60 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

The Problem The Problem

Remaining Problem: Relative Accuracy

  • ε-approx for long paths
  • Larger relative error for short paths

Remaining Problem: Relative Accuracy

  • ε-approx for long paths
  • Larger relative error for short paths

long path – smaller relative error short path – large relative error

ε ε

slide-61
SLIDE 61

61 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Solution Solution

Clipping before Dudleying

  • Estimate length of shortest

path up to factor 8

  • Place box of side length

16·est around start point

  • Clip simplified polyhedron to box (additional

constraints during computation)

  • By scaling ε correspondingly, this guarantees

ε-approximation of shortest path Clipping before Dudleying

  • Estimate length of shortest

path up to factor 8

  • Place box of side length

16·est around start point

  • Clip simplified polyhedron to box (additional

constraints during computation)

  • By scaling ε correspondingly, this guarantees

ε-approximation of shortest path

new ε

slide-62
SLIDE 62

62 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Result Result

Overall result:

  • Can approximate shortest path

up to factor (1+ε)

  • Using time O(ε -5/4 √n ) + f(ε -5/4)

where f is time for exact solution

  • Known: f(k) ∈ O(k log2 k)
  • Authors use modified Dudley construction to

achieve given bounds; see paper for details. Overall result:

  • Can approximate shortest path

up to factor (1+ε)

  • Using time O(ε -5/4 √n ) + f(ε -5/4)

where f is time for exact solution

  • Known: f(k) ∈ O(k log2 k)
  • Authors use modified Dudley construction to

achieve given bounds; see paper for details.

slide-63
SLIDE 63

63

Conclusions Conclusions

slide-64
SLIDE 64

64 CS 468 – Geometric Algorithms Seminar – Winter 2005/2006

Conclusions Conclusions

Sublinear Algorithms for Geometric Problems

  • Convex polygons / polyhedra intersection
  • Ray shooting (convex P’s, and similar problems)
  • Volume approximation (convex P’s)
  • Shortest path approximation (convex P’s)

Properties

  • All in O(√n )
  • Techniques are generalizations of

the successor searching algorithm Sublinear Algorithms for Geometric Problems

  • Convex polygons / polyhedra intersection
  • Ray shooting (convex P’s, and similar problems)
  • Volume approximation (convex P’s)
  • Shortest path approximation (convex P’s)

Properties

  • All in O(√n )
  • Techniques are generalizations of

the successor searching algorithm