ON THE COMPLEXITY OF BARRIER RESILIENCE FOR FAT REGIONS Matias - - PowerPoint PPT Presentation
ON THE COMPLEXITY OF BARRIER RESILIENCE FOR FAT REGIONS Matias - - PowerPoint PPT Presentation
ON THE COMPLEXITY OF BARRIER RESILIENCE FOR FAT REGIONS Matias Korman Maarten Lffler Rodrigo Silveira Darren Strash INTRODUCTION Let t be a desirable point in the plane. Let t be a desirable point in the plane. t Let t be a desirable point
SLIDE 1
SLIDE 2
INTRODUCTION
SLIDE 3
Let t be a desirable point in the plane.
SLIDE 4
Let t be a desirable point in the plane.
t
SLIDE 5
Let t be a desirable point in the plane. Let G be a set of guards.
t
SLIDE 6
Let t be a desirable point in the plane. Let G be a set of guards.
G t
SLIDE 7
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
t
SLIDE 8
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
t
SLIDE 9
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
t
SLIDE 10
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
t
SLIDE 11
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
!!! t
SLIDE 12
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region.
t
SLIDE 13
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region. Let R be the set of guarded regions.
t
SLIDE 14
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region. Let R be the set of guarded regions.
R t
SLIDE 15
Let t be a desirable point in the plane. Let G be a set of guards.
G
Each guard can detect movement in a given region. Let R be the set of guarded regions.
R
We say R guards t if every path to t passes through one of the regions.
t
SLIDE 16
t
Sometimes, guards fail.
SLIDE 17
t
Sometimes, guards fail.
SLIDE 18
t
Sometimes, guards fail. When they do, t may no longer be guarded!
SLIDE 19
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 20
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 21
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 22
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 23
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 24
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 25
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 26
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 27
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 28
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t.
SLIDE 29
t
Sometimes, guards fail. When they do, t may no longer be guarded! The resilience of R is the smallest number of guards that need to fail before R no longer guards t. Can we compute the resilience?
SLIDE 30
KNOWN & NEW RESULTS
SLIDE 31
When guarding a strip, the resilience can be computed in polynomial time.
[Kumar, Lai & Arora, 2005]
SLIDE 32
When guarding a strip, the resilience can be computed in polynomial time.
[Kumar, Lai & Arora, 2005]
The resilience of unit disks in the plane can be 5
6-approximated.
[Bereg & Kirkpatrick, 2009]
SLIDE 33
When guarding a strip, the resilience can be computed in polynomial time.
[Kumar, Lai & Arora, 2005]
The resilience of unit disks in the plane can be 5
6-approximated.
[Bereg & Kirkpatrick, 2009]
Computing the resilience of line segments in the plane is NP-hard.
[Cabello, Giannopoulos & Knauer, 2011] [Tseng & Kirkpatrick, 2011]
SLIDE 34
We can compute the resilience r of n unit disks in O(2f(r)n3) time.
SLIDE 35
We can compute the resilience r of n unit disks in O(2f(r)n3) time. We can ε-approximate the resilience
- f unit disks of ply δ in O(2f(δ,ε)n7) time.
SLIDE 36
We can compute the resilience r of n unit disks in O(2f(r)n3) time. We can ε-approximate the resilience
- f unit disks of ply δ in O(2f(δ,ε)n7) time.
These results extend to β-fat regions.
SLIDE 37
We can compute the resilience r of n unit disks in O(2f(r)n3) time. We can ε-approximate the resilience
- f unit disks of ply δ in O(2f(δ,ε)n7) time.
These results extend to β-fat regions. Computing the resilience of β-fat regions is NP-hard.
SLIDE 38
FIXED PARAMETER ALGORITHM
SLIDE 39
Consider two points s and t and a set
- f unit disks R.
SLIDE 40
Consider two points s and t and a set
- f unit disks R.
s t
SLIDE 41
Consider two points s and t and a set
- f unit disks R.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 42
Consider two points s and t and a set
- f unit disks R.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 43
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 44
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 45
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 46
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 47
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
LEMMA: The thickness is at most twice the resilience.
[Bereg & Kirkpatrick, 2009]
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 48
Consider two points s and t and a set
- f unit disks R.
This path gives an upper bound on the resilience.
s t
LEMMA: The thickness is at most twice the resilience.
[Bereg & Kirkpatrick, 2009]
The thickness or R is half the shortest path from s to t in the arrangement.
SLIDE 49
Let r be our estimated resilience.
SLIDE 50
Let r be our estimated resilience.
t s
SLIDE 51
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t.
t s
SLIDE 52
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t.
t s
SLIDE 53
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t.
W t s
SLIDE 54
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t. LEMMA: There exists a path π from s via t to the boundary of W that goes through at most O(r) disks.
W t s
SLIDE 55
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t. LEMMA: There exists a path π from s via t to the boundary of W that goes through at most O(r) disks.
W t π s
SLIDE 56
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t. LEMMA: There exists a path π from s via t to the boundary of W that goes through at most O(r) disks.
W
We guess which of these are in the solution: only 2O(r) possibilities.
t π s
SLIDE 57
Let r be our estimated resilience. We only need to consider the part of R within distance O(r) from s and t. LEMMA: There exists a path π from s via t to the boundary of W that goes through at most O(r) disks. We guess which of these are in the solution: only 2O(r) possibilities.
W t π s
SLIDE 58
IDEA: Cut open the domain along π.
W t π s
SLIDE 59
IDEA: Cut open the domain along π.
W t s
SLIDE 60
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W t s
SLIDE 61
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W
. . . but, the optimal solution may still cross π . . .
t s
SLIDE 62
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W
. . . but, the optimal solution may still cross π . . .
t s
SLIDE 63
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W
. . . but, the optimal solution may still cross π . . . LEMMA: There are only 2O(r) possible crossings patterns.
t s
SLIDE 64
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W
. . . but, the optimal solution may still cross π . . . LEMMA: There are only 2O(r) possible crossings patterns.
- So. . . we just try them all.
t s
SLIDE 65
IDEA: Cut open the domain along π. Now the problem looks almost like computing the resilience of a strip!
W
. . . but, the optimal solution may still cross π . . . LEMMA: There are only 2O(r) possible crossings patterns.
- So. . . we just try them all.
t s
SLIDE 66
Now we have a nice, clean problem.
W t s
SLIDE 67
Now we have a nice, clean problem. Given a simply connected region with pairs of points on the boundary, remove the smallest number of disks such that all pairs are connected.
W t s
SLIDE 68
Now we have a nice, clean problem. Given a simply connected region with pairs of points on the boundary, remove the smallest number of disks such that all pairs are connected.
W t s
OBSERVATION: The geometry no longer matters.
SLIDE 69
Now we have a nice, clean problem. Given a simply connected region with pairs of points on the boundary, remove the smallest number of disks such that all pairs are connected. OBSERVATION: The geometry no longer matters.
t s W
SLIDE 70
t s W
Consider the intersection graph.
SLIDE 71
t s
Consider the intersection graph.
SLIDE 72
t s
Add special terminal vertices for pieces of boundary (at most O(r)). Consider the intersection graph.
SLIDE 73
t s
Add special terminal vertices for pieces of boundary (at most O(r)). Consider the intersection graph.
SLIDE 74
t s
Add special terminal vertices for pieces of boundary (at most O(r)). We want to cut this graph “along the dotted lines”. Consider the intersection graph.
SLIDE 75
t s
Add special terminal vertices for pieces of boundary (at most O(r)). We want to cut this graph “along the dotted lines”. OBSERVATION: This is the same as cutting between all pairs of terminal vertices that are separated by at least one dotted line. Consider the intersection graph.
SLIDE 76
t s
Add special terminal vertices for pieces of boundary (at most O(r)). We want to cut this graph “along the dotted lines”. OBSERVATION: This is the same as cutting between all pairs of terminal vertices that are separated by at least one dotted line. Consider the intersection graph.
SLIDE 77
t s
Add special terminal vertices for pieces of boundary (at most O(r)). We want to cut this graph “along the dotted lines”. OBSERVATION: This is the same as cutting between all pairs of terminal vertices that are separated by at least one dotted line. Consider the intersection graph.
SLIDE 78
t s
Add special terminal vertices for pieces of boundary (at most O(r)). We want to cut this graph “along the dotted lines”. OBSERVATION: This is the same as cutting between all pairs of terminal vertices that are separated by at least one dotted line. Consider the intersection graph.
SLIDE 79
This is known as vertex multicut.
SLIDE 80
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
SLIDE 81
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
SLIDE 82
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
SLIDE 83
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
SLIDE 84
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
t s
SLIDE 85
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
s
SLIDE 86
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
s
SLIDE 87
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
W t s
SLIDE 88
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
s t
SLIDE 89
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
s t
SLIDE 90
This is known as vertex multicut. PROBLEM: Given a graph G = (V, E) and a set of forbidden pairs of vertices L, compute the smallest subset D ⊂ V such that all pairs in L are disconnected in G \ D.
[Xiao, 2010]
An optimal vertex multicut can be computed in O(2f(|D|,|L|)n3) time.
s t
SLIDE 91
ε-APPROXIMATION ALGORITHM
SLIDE 92
The ply δ of a point is the total number of regions that contain it.
SLIDE 93
The ply δ of a point is the total number of regions that contain it.
SLIDE 94
The ply δ of a point is the total number of regions that contain it.
δ = 1 δ = 3
SLIDE 95
The ply δ of a point is the total number of regions that contain it.
δ = 1 δ = 3
The ply ∆ of R is the maximum ply
- ver all points in the plane.
SLIDE 96
The ply δ of a point is the total number of regions that contain it.
δ = 1 δ = 3 ∆ = 4
The ply ∆ of R is the maximum ply
- ver all points in the plane.
SLIDE 97
Let k = ⌈4∆/ε2⌉.
SLIDE 98
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 99
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 100
s t
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 101
s t r = 1
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 102
t s
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 103
t s r = 1
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 104
s r = 2 t
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 105
s t r = 1
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 106
s t
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 107
s t r =?
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm.
SLIDE 108
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges.
SLIDE 109
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges.
SLIDE 110
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges.
SLIDE 111
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges.
SLIDE 112
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges.
SLIDE 113
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges. Compute the shortest path in the resulting graph.
SLIDE 114
Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges. Compute the shortest path in the resulting graph.
SLIDE 115
CLAIM: This is a 1 + ε approximation. Let k = ⌈4∆/ε2⌉. Compute all pairs of resilience at most k exactly, using the FPT algorithm. Augment the dual graph of R with extra edges. Compute the shortest path in the resulting graph.
SLIDE 116
CONCLUSIONS
SLIDE 117
We show that resilience for unit disks is FPT, and leads this to an EPTAS.
SLIDE 118
We show that resilience for unit disks is FPT, and leads this to an EPTAS. On the other hand, resilience of many classes of regions is NP-hard.
SLIDE 119
We show that resilience for unit disks is FPT, and leads this to an EPTAS. On the other hand, resilience of many classes of regions is NP-hard. It seems all hardness reductions require regions to cross each other.
SLIDE 120
We show that resilience for unit disks is FPT, and leads this to an EPTAS. On the other hand, resilience of many classes of regions is NP-hard. It seems all hardness reductions require regions to cross each other. OPEN QUESTION: Can the resilience
- f unit disks be computed in
polynomial time?
SLIDE 121