Computing Shortest Paths in the Plane with Removable Obstacles - - PowerPoint PPT Presentation

computing shortest paths in the plane with removable
SMART_READER_LITE
LIVE PREVIEW

Computing Shortest Paths in the Plane with Removable Obstacles - - PowerPoint PPT Presentation

s t Computing Shortest Paths in the Plane with Removable Obstacles Pankaj K. Agarwal, Neeraj Kumar, Stavros Sintos and Subhash Suri Duke University and UC Santa Barabara Problem Description s t Input: h polygonal obstacles with n vertices,


slide-1
SLIDE 1

Computing Shortest Paths in the Plane

Pankaj K. Agarwal, Neeraj Kumar, Stavros Sintos and Subhash Suri

with Removable Obstacles

s t Duke University and UC Santa Barabara

slide-2
SLIDE 2

s t

Problem Description

Input: h polygonal obstacles with n vertices, source s and target t

slide-3
SLIDE 3

s t

Problem Description

Input: h polygonal obstacles with n vertices, source s and target t An obstacle Pi can be removed by paying cost ci

slide-4
SLIDE 4

s t

Problem Description

Input: h polygonal obstacles with n vertices, source s and target t An obstacle Pi can be removed by paying cost ci Assumption: Obstacles are mutually disjoint and convex

slide-5
SLIDE 5

s t

Problem Description

Input: h polygonal obstacles with n vertices, source s and target t Given a cost budget C, which obstacles should we remove An obstacle Pi can be removed by paying cost ci so that length of path from s to t is minimized? Assumption: Obstacles are mutually disjoint and convex

slide-6
SLIDE 6

Motivation

Classically, we deal with finding shortest path in a fixed network

5/17

slide-7
SLIDE 7

Motivation

Classically, we deal with finding shortest path in a fixed network But what if shortest paths are not good enough!

5/17

slide-8
SLIDE 8

Motivation

Classically, we deal with finding shortest path in a fixed network What if we are allowed to modify the environment What changes should we make?

Desire paths

But what if shortest paths are not good enough!

5/17

slide-9
SLIDE 9

Motivation

Classically, we deal with finding shortest path in a fixed network What if we are allowed to modify the environment What changes should we make? Applications But what if shortest paths are not good enough! Urban Planning Adding ‘shortcuts” to ease congestion

5/17

slide-10
SLIDE 10

Motivation

Classically, we deal with finding shortest path in a fixed network What if we are allowed to modify the environment What changes should we make? Applications Reconfiguring road networks – such as by adding flyovers But what if shortest paths are not good enough!

5/17

slide-11
SLIDE 11

Motivation

Classically, we deal with finding shortest path in a fixed network What if we are allowed to modify the environment What changes should we make? Applications Re-organize Warehouse Layout – Shorten frequent paths for robot But what if shortest paths are not good enough!

5/17

slide-12
SLIDE 12

Path Planning Under Uncertainity

Obstacle Pi is present in input with independent probability βi, not present with probability (1 − βi)

Probability of existence = βi

slide-13
SLIDE 13

Path Planning Under Uncertainity

Obstacle Pi is present in input with independent probability βi, not present with probability (1 − βi)

Probability of existence = βi

π1 π2 Path π1 has probability 1 Path π2 has probability (1 − βi)

slide-14
SLIDE 14

Path Planning Under Uncertainity

Obstacle Pi is present in input with independent probability βi, not present with probability (1 − βi)

Probability of existence = βi

π1 π2 Path π1 has probability 1 Path π2 has probability (1 − βi) What is the shortest s–t path that has probability at least β?

slide-15
SLIDE 15

Path Planning Under Uncertainity

Obstacle Pi is present in input with independent probability βi, not present with probability (1 − βi)

Probability of existence = βi

π1 π2 Path π1 has probability 1 Path π2 has probability (1 − βi) What is the shortest s–t path that has probability at least β? What is the most likely s–t path with length at most L?

(one that has highest probability)

slide-16
SLIDE 16

Path Planning Under Uncertainity

Obstacle Pi is present in input with independent probability βi, not present with probability (1 − βi)

Probability of existence = βi

π1 π2 Path π1 has probability 1 Path π2 has probability (1 − βi) What is the shortest s–t path that has probability at least β? What is the most likely s–t path with length at most L?

(one that has highest probability)

Can reduce to the earlier cost-based model by taking negative logarithms

slide-17
SLIDE 17

Related Work

Computes shortest s–t path in the plane that removes at most k obstacles O(k2n logn) algorithm using Continuous Dijkstra [HKS’17] Shortest Paths in the Plane with Obstacle Violations

slide-18
SLIDE 18

Related Work

Computes shortest s–t path in the plane that removes at most k obstacles O(k2n logn) algorithm using Continuous Dijkstra [HKS’17] Shortest Paths in the Plane with Obstacle Violations Cardinality Model Obstacles have unit cost of removal, budget = k

slide-19
SLIDE 19

Related Work

Computes shortest s–t path in the plane that removes at most k obstacles O(k2n logn) algorithm using Continuous Dijkstra [HKS’17] Shortest Paths in the Plane with Obstacle Violations Cardinality Model Obstacles have unit cost of removal, budget = k We study the more general cost-based model of obstacle removal

slide-20
SLIDE 20

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

slide-21
SLIDE 21

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

An FPTAS inspired from [HKS’17] running in worst case ˜

O(n2h/ϵ) time

Minimum Path length with cost at most (1 + ϵ)C

slide-22
SLIDE 22

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

An FPTAS inspired from [HKS’17] running in worst case ˜

O(n2h/ϵ) time

A faster FPTAS running in worst case ˜

O(nh/ϵ2) time

Minimum Path length with cost at most (1 + ϵ)C Length (1 + ϵ) times optimal, cost at most (1 + ϵ)C

slide-23
SLIDE 23

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

An FPTAS inspired from [HKS’17] running in worst case ˜

O(n2h/ϵ) time

A faster FPTAS running in worst case ˜

O(nh/ϵ2) time

Minimum Path length with cost at most (1 + ϵ)C Length (1 + ϵ) times optimal, cost at most (1 + ϵ)C

Data structures for fixed source approximate shortest path queries in

O(log2 n/ϵ) time, two-point queries in O(log2 n/ϵ2) time

slide-24
SLIDE 24

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

An FPTAS inspired from [HKS’17] running in worst case ˜

O(n2h/ϵ) time

A faster FPTAS running in worst case ˜

O(nh/ϵ2) time

Minimum Path length with cost at most (1 + ϵ)C Length (1 + ϵ) times optimal, cost at most (1 + ϵ)C

Data structures for fixed source approximate shortest path queries in

O(log2 n/ϵ) time, two-point queries in O(log2 n/ϵ2) time

Simple reduction from Partition

slide-25
SLIDE 25

Our Results

Problem of computing a path of length at most L and cost at most C is

NP-HARD even for vertical segment obstacles.

An FPTAS inspired from [HKS’17] running in worst case ˜

O(n2h/ϵ) time

A faster FPTAS running in worst case ˜

O(nh/ϵ2) time

Minimum Path length with cost at most (1 + ϵ)C Length (1 + ϵ) times optimal, cost at most (1 + ϵ)C

Data structures for fixed source approximate shortest path queries in

O(log2 n/ϵ) time, two-point queries in O(log2 n/ϵ2) time

Simple reduction from Partition

Rest of the talk

slide-26
SLIDE 26

A Simple FPTAS

s t Observations

slide-27
SLIDE 27

A Simple FPTAS

s t Observations

The desired path π must ‘cross’ all the obstacles that were removed Since π has minimum length, it must only turn at obstacle vertices

slide-28
SLIDE 28

A Simple FPTAS

s t Observations

The desired path π must ‘cross’ all the obstacles that were removed Since π has minimum length, it must only turn at obstacle vertices

Define cost(π) = sum of costs of all obstacles crossed

slide-29
SLIDE 29

A Simple FPTAS

s t Observations

The desired path π must ‘cross’ all the obstacles that were removed Since π has minimum length, it must only turn at obstacle vertices

Define cost(π) = sum of costs of all obstacles crossed What is the shortest s–t path that has cost at most C?

slide-30
SLIDE 30

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles

9/17

slide-31
SLIDE 31

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices

9/17

slide-32
SLIDE 32

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices – Edges : between any pair of vertices (u,v) such that cost(uv) is at most C

c1

9/17

c2 c3

Cost of red edge is c1 + c2 + c3

slide-33
SLIDE 33

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices – Edges : between any pair of vertices (u,v) such that cost(uv) is at most C An edge e has two parameters: Euclidean length ℓe and cost of the edge ce

c1

9/17

c2 c3

slide-34
SLIDE 34

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices – Edges : between any pair of vertices (u,v) such that cost(uv) is at most C An edge e has two parameters: Euclidean length ℓe and cost of the edge ce

c1

Mimics the notion of visibility graphs, we call it a viability graph

9/17

c2 c3

slide-35
SLIDE 35

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices – Edges : between any pair of vertices (u,v) such that cost(uv) is at most C An edge e has two parameters: Euclidean length ℓe and cost of the edge ce Find shortest s–t path in this graph such that the cost of the path is at most C

c1

Mimics the notion of visibility graphs, we call it a viability graph

9/17

c2 c3

slide-36
SLIDE 36

A Simple FPTAS

Scale all costs such that budget C = h, the number of obstacles Model as a graph problem: – Nodes : s, t, obstacle vertices – Edges : between any pair of vertices (u,v) such that cost(uv) is at most C An edge e has two parameters: Euclidean length ℓe and cost of the edge ce Find shortest s–t path in this graph such that the cost of the path is at most C

c1

Mimics the notion of visibility graphs, we call it a viability graph

(1 + ϵ)-approximation using Dijkstra’s algorithm in ˜ O( n2h ϵ ) time by creating O( h ϵ ) copies of vertices and edges

9/17

c2 c3

slide-37
SLIDE 37

A Faster FPTAS

Key idea is to construct a sparse Viability Graph

slide-38
SLIDE 38

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – trade a factor (1 + ϵ) in path length for efficiency

slide-39
SLIDE 39

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – trade a factor (1 + ϵ) in path length for efficiency

slide-40
SLIDE 40

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – Create O( 1

ϵ ) copies of VG1, one per direction and combine them to obtain VGϵ

– trade a factor (1 + ϵ) in path length for efficiency

Preserves pairwise distances within a factor of (1 + ϵ)

slide-41
SLIDE 41

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – Create O( 1

ϵ ) copies of VG1, one per direction and combine them to obtain VGϵ

– trade a factor (1 + ϵ) in path length for efficiency

Preserves pairwise distances within a factor of (1 + ϵ)

– Run the modified Dijkstra on O(n

ϵ logn) size viability graph VGϵ

slide-42
SLIDE 42

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – Create O( 1

ϵ ) copies of VG1, one per direction and combine them to obtain VGϵ

– trade a factor (1 + ϵ) in path length for efficiency

Preserves pairwise distances within a factor of (1 + ϵ)

– Run the modified Dijkstra on O(n

ϵ logn) size viability graph VGϵ

Primary challenge is to construct the graph VG1

slide-43
SLIDE 43

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87]

slide-44
SLIDE 44

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u

Do not need all O(n) edges adjacent to u

slide-45
SLIDE 45

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u

slide-46
SLIDE 46

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u Take projections on a ‘split line’ ℓ

slide-47
SLIDE 47

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u Take projections on a ‘split line’ ℓ

slide-48
SLIDE 48

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u Take projections on a ‘split line’ ℓ

u v

slide-49
SLIDE 49

Also need at most four projections on neighboring obstacles

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u Take projections on a ‘split line’ ℓ

u v Total size: O(n logn)

slide-50
SLIDE 50

Also need at most four projections on neighboring obstacles

A Sparse Viability Graph

Inspiration: L1 Visibility Graphs : [Clarkson-Kapoor-Vaidya’87] Main Idea: u v

Do not need all O(n) edges adjacent to u Take projections on a ‘split line’ ℓ

u v Total size: O(n logn) We show how to construct O(n logn) size L1 Viability Graphs

edges can go through obstacles

slide-51
SLIDE 51

Algorithm Overview

Will reuse idea of taking split line projections for [CKV’87]

slide-52
SLIDE 52

Algorithm Overview

Will reuse idea of taking split line projections for [CKV’87]

can be naturally extended to edges of viability graph

slide-53
SLIDE 53

Algorithm Overview

Will reuse idea of taking split line projections for [CKV’87]

can be naturally extended to edges of viability graph However, taking projections on four neighboring obstacles is not sufficient

slide-54
SLIDE 54

Algorithm Overview

Will reuse idea of taking split line projections for [CKV’87]

can be naturally extended to edges of viability graph However, taking projections on four neighboring obstacles is not sufficient We circumvent this problem by adding “bypass vertices” Using this model we give an arguably simpler proof

  • f correctness for the more general viability graphs
slide-55
SLIDE 55

Algorithm Overview

Will reuse idea of taking split line projections for [CKV’87]

can be naturally extended to edges of viability graph However, taking projections on four neighboring obstacles is not sufficient We circumvent this problem by adding “bypass vertices” Using this model we give an arguably simpler proof

  • f correctness for the more general viability graphs

Next we describe an algorithm for constructing an L1 viability graph VG1

slide-56
SLIDE 56

Obstacles with Costs ⇒ Segments with Costs

slide-57
SLIDE 57

Obstacles with Costs ⇒ Segments with Costs

π1 π2 Obstacles are convex and disjoint ⇒ Shortest paths intersect zero or exactly two sides of an obstacle

slide-58
SLIDE 58

Obstacles with Costs ⇒ Segments with Costs

π1 π2 Obstacles are convex and disjoint ⇒ Shortest paths intersect zero or exactly two sides of an obstacle Assign cost ci/2 to all segments of an obstacle that has cost ci

slide-59
SLIDE 59

Obstacles with Costs ⇒ Segments with Costs

π1 π2 Obstacles are convex and disjoint ⇒ Shortest paths intersect zero or exactly two sides of an obstacle Assign cost ci/2 to all segments of an obstacle that has cost ci Allows us to reason about geometry of line segments

slide-60
SLIDE 60

Algorithm Description

v w

slide-61
SLIDE 61

Algorithm Description

v w ℓ

Find the split line ℓ that splits vertices into equal sized sets Vl and Vr

slide-62
SLIDE 62

Algorithm Description

v w ℓ v′ w′

Find the split line ℓ that splits vertices into equal sized sets Vl and Vr Let v′ be the projection of v on this split line ℓ

– Add vertex v′ and edge vv′ with cost c(vv′) – Cost of projection segment is the sum of

costs of all obstacle segments that it intersects

slide-63
SLIDE 63

Algorithm Description

v w ℓ w2 v′ w′ v1 w1 v2

Find the split line ℓ that splits vertices into equal sized sets Vl and Vr Let v′ be the projection of v on this split line ℓ

– Add vertex v′ and edge vv′ with cost c(vv′)

Find first segment s′ of positive slope that intersects ℓ

– Add two bypass vertices v1,v2 and edges vv′ and v1v2 – Bypass edges v1v2 have cost c(v1v2) = 0 – Cost of projection segment is the sum of

costs of all obstacle segments that it intersects

slide-64
SLIDE 64

Algorithm Description

v w ℓ w2 v′ w′ v1 w1 v2

Find the split line ℓ that splits vertices into equal sized sets Vl and Vr Let v′ be the projection of v on this split line ℓ

– Add vertex v′ and edge vv′ with cost c(vv′)

Find first segment s′ of positive slope that intersects ℓ

– Add two bypass vertices v1,v2 and edges vv′ and v1v2

Connect consecutive vertices on ℓ and obstacle boundary

slide-65
SLIDE 65

Algorithm Description

v w ℓ w2 v′ w′ ℓ v w v1 w1 v2

Find the split line ℓ that splits vertices into equal sized sets Vl and Vr Let v′ be the projection of v on this split line ℓ

– Add vertex v′ and edge vv′ with cost c(vv′)

Find first segment s′ of positive slope that intersects ℓ

– Add two bypass vertices v1,v2 and edges vv′ and v1v2

Connect consecutive vertices on ℓ and obstacle boundary Repeat for a horizontal split line. Recurse on sets Vl and Vr .

slide-66
SLIDE 66

Correctness

Suffices to show: for any pair of obstacle vertices p,q there exists a path πpq such that the L1 length ∥πpq∥1 ≤ ∥pq∥1 and cost c(πpq) ≤ c(pq) Proof Idea:

slide-67
SLIDE 67

Correctness

Suffices to show: for any pair of obstacle vertices p,q there exists a path πpq such that the L1 length ∥πpq∥1 ≤ ∥pq∥1 and cost c(πpq) ≤ c(pq) Proof Idea: p q

slide-68
SLIDE 68

Correctness

Suffices to show: for any pair of obstacle vertices p,q there exists a path πpq such that the L1 length ∥πpq∥1 ≤ ∥pq∥1 and cost c(πpq) ≤ c(pq) Proof Idea: p sy sx Define a region (clipped rectangle) Rpq q

slide-69
SLIDE 69

Correctness

Suffices to show: for any pair of obstacle vertices p,q there exists a path πpq such that the L1 length ∥πpq∥1 ≤ ∥pq∥1 and cost c(πpq) ≤ c(pq) Proof Idea: p sy sx Define a region (clipped rectangle) Rpq q Proof by induction on number of vertices in Rpq – If Rpq contains an obstacle vertex – If Rpq does not contains an obstacle vertex

slide-70
SLIDE 70

Correctness

Suffices to show: for any pair of obstacle vertices p,q there exists a path πpq such that the L1 length ∥πpq∥1 ≤ ∥pq∥1 and cost c(πpq) ≤ c(pq) Proof Idea: p sy sx Define a region (clipped rectangle) Rpq q Proof by induction on number of vertices in Rpq – If Rpq contains an obstacle vertex – If Rpq does not contains an obstacle vertex (Induction Step) (Base Case)

slide-71
SLIDE 71

Induction Step

p q lr r

slide-72
SLIDE 72

Induction Step

p q lr r We show how to find an intermediate vertex r such that

slide-73
SLIDE 73

Induction Step

p q lr r We show how to find an intermediate vertex r such that such that ∥pr∥1 + ∥rq∥1 ≤ ∥pq∥1 and cost c(pr) + c(rq) ≤ c(pq)

slide-74
SLIDE 74

Induction Step

p q lr r We show how to find an intermediate vertex r such that such that ∥pr∥1 + ∥rq∥1 ≤ ∥pq∥1 and cost c(pr) + c(rq) ≤ c(pq) Details are technical, relies heavily on disjointness of obstacle segments

slide-75
SLIDE 75

Base Case

ℓ B C Identify three types of edges A, B and C p A q

slide-76
SLIDE 76

Base Case

ℓ B C Identify three types of edges A, B and C Identify three types of edges A, B and C – Type B and C edges cannot co-exist p A q

slide-77
SLIDE 77

Base Case

ℓ B C Identify three types of edges A, B and C Identify three types of edges A, B and C – Type B and C edges cannot co-exist Type B edge + vertical split line ≡ Type C edge + horizontal split line p A q

slide-78
SLIDE 78

Base Case

ℓ B Identify three types of edges A, B and C Identify three types of edges A, B and C – Type B and C edges cannot co-exist Type B edge + vertical split line ≡ Type C edge + horizontal split line Exists a path πpq in VG1 using projection and bypass vertices p A q

slide-79
SLIDE 79

Base Case

ℓ B Identify three types of edges A, B and C Identify three types of edges A, B and C – Type B and C edges cannot co-exist Type B edge + vertical split line ≡ Type C edge + horizontal split line Exists a path πpq in VG1 using projection and bypass vertices Easy to verify that πpq has same L1 length and cost as the segment pq p A q

slide-80
SLIDE 80

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – Create 1/ϵ copies of VG1, one per direction and combine them to obtain VGϵ – trade a factor (1 + ϵ) in path length for efficiency

Preserves pairwise distances within a factor of (1 + ϵ)

– Run the slower FPTAS on O(n

ϵ logn) size viability graph VGϵ

Primary challenge is to construct the graph VG1

slide-81
SLIDE 81

A Faster FPTAS

Key idea is to construct a sparse Viability Graph Roadmap – Construct an O(n logn) size viability graph VG1 preserving L1 distances – Create 1/ϵ copies of VG1, one per direction and combine them to obtain VGϵ – trade a factor (1 + ϵ) in path length for efficiency

Preserves pairwise distances within a factor of (1 + ϵ)

– Run the slower FPTAS on O(n

ϵ logn) size viability graph VGϵ

Primary challenge is to construct the graph VG1

slide-82
SLIDE 82

In Summary

slide-83
SLIDE 83

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

slide-84
SLIDE 84

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard.

slide-85
SLIDE 85

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard. A simple (1 + ϵ)-approximation follows using the idea of viability

graphs (an extension of visibility graphs)

slide-86
SLIDE 86

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard. A simple (1 + ϵ)-approximation follows using the idea of viability

graphs (an extension of visibility graphs)

Obtain a faster approximation by constructing a sparse viability graph

slide-87
SLIDE 87

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard. A simple (1 + ϵ)-approximation follows using the idea of viability

graphs (an extension of visibility graphs)

Obtain a faster approximation by constructing a sparse viability graph Obtained data structures for approximate shortest path queries running

in polylogarithmic time

slide-88
SLIDE 88

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard. A simple (1 + ϵ)-approximation follows using the idea of viability

graphs (an extension of visibility graphs)

Obtain a faster approximation by constructing a sparse viability graph Obtained data structures for approximate shortest path queries running

in polylogarithmic time

Applied these results to solve a shortest path problem in a stochastic

model of obstacles

slide-89
SLIDE 89

In Summary

Motivated by applications, we study the problem of computing shortest

path among removable obstacles

We show that computing such a path exactly is NP-hard. A simple (1 + ϵ)-approximation follows using the idea of viability

graphs (an extension of visibility graphs)

Obtain a faster approximation by constructing a sparse viability graph Obtained data structures for approximate shortest path queries running

in polylogarithmic time

Applied these results to solve a shortest path problem in a stochastic

model of obstacles

Thanks!

slide-90
SLIDE 90

Backup : NP-Hardness

Simple reduction from Partition ai t Gi a1 an . . . . . . s A is a set of integers, ai corresponds to group Gi

slide-91
SLIDE 91

Backup : NP-Hardness

Simple reduction from Partition ai t Gi a1 an . . . . . . s A is a set of integers, ai corresponds to group Gi

Go through the middle obstacle by paying cost ai Go around it by adding a detour of length ai

Path must go through the channel

slide-92
SLIDE 92

Backup : NP-Hardness

Simple reduction from Partition ai t Gi a1 an . . . . . . s A is a set of integers, ai corresponds to group Gi

Go through the middle obstacle by paying cost ai Go around it by adding a detour of length ai

An s–t path with length at most L = 1

2 ∑ai and cost at most C = 1 2 ∑ai exists

Path must go through the channel

if and only if set A can be partitioned into two equal groups.