Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

41
Establishing Establishing Alternate Routes in Alternate Routes in Networks and Routes Networks and Routes Between Polygons in Between Polygons in 2D Space 2D Space Amit M Bhosle Amit M Bhosle Department of Computer Science Department of Computer Science University of California, Santa University of California, Santa Barbara Barbara

description

Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space. Amit M Bhosle Department of Computer Science University of California, Santa Barbara. Overview. Bridges connecting polygons Euclidean bridges: Definition and Results Geodesic bridges: Definition and Algorithm - PowerPoint PPT Presentation

Transcript of Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Page 1: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Establishing Alternate Establishing Alternate Routes in Networks and Routes in Networks and

Routes Between Polygons Routes Between Polygons in 2D Spacein 2D Space

Amit M BhosleAmit M BhosleDepartment of Computer ScienceDepartment of Computer Science

University of California, Santa BarbaraUniversity of California, Santa Barbara

Page 2: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

OverviewOverview

► Bridges connecting polygonsBridges connecting polygons Euclidean bridges: Definition and ResultsEuclidean bridges: Definition and Results Geodesic bridges: Definition and AlgorithmGeodesic bridges: Definition and Algorithm

► Transient failures and proactive recovery schemesTransient failures and proactive recovery schemes

► Single Single linklink / / node node failure recovery (SLFR/SNFR): Problem failure recovery (SLFR/SNFR): Problem definitions and our resultsdefinitions and our results

► Distributed Algorithm: SNFR, SLFR and othersDistributed Algorithm: SNFR, SLFR and others

► Open ProblemsOpen Problems

Page 3: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Bridges Connecting Simple Bridges Connecting Simple PolygonsPolygons

Page 4: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Bridge Connecting Simple PolygonsBridge Connecting Simple Polygons

►Two islands, to be connected by a bridgeTwo islands, to be connected by a bridge Flyover-Flyover-like bridges, and end points need not be like bridges, and end points need not be

visible from each othervisible from each other

►Instead of a bridge, we may want to find the Instead of a bridge, we may want to find the route for a ferry that connects the two islandsroute for a ferry that connects the two islands The (non-amphibian) ferry needs to stay in the The (non-amphibian) ferry needs to stay in the

water water !!

Page 5: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Bridge Connecting Simple PolygonsBridge Connecting Simple Polygons

► P & Q P & Q are two simple, disjoint polygonsare two simple, disjoint polygons

► Bridge (Bridge (p, qp, q), with ), with p p є ρρ ((PP), ), qq є ρρ ((QQ)) ρρ () defines the region enclosed by the boundary of the polygon() defines the region enclosed by the boundary of the polygon

► Weight of the bridge (Weight of the bridge (p,qp,q)) is:is: w w ((p,qp,q) = ) = gdgd((p, Pp, P) + ) + ΦΦ((p,qp,q) + ) + gdgd((q, Qq, Q))

gdgd((x, Xx, X): Geodesic distance between ): Geodesic distance between x x and its geodesic furthest and its geodesic furthest neighbor in neighbor in XX

ΦΦ((p,qp,q): ): dd((a,ba,b) or ) or gdgdee((p,qp,q), depending on the problem.), depending on the problem.

► Problem asks to find a bridge connecting Problem asks to find a bridge connecting P P and and Q Q which has which has minimum weightminimum weight

Page 6: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Simple Polygons: Euclidean BridgesSimple Polygons: Euclidean Bridges

q’p’

qp

QP

w(p,q) = gd(p,P) + d(p,q) + gd(q,Q)

gd(p,P) = gd(p,p’)gd(q,Q) = gd(q,q’)

Page 7: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Simple Polygons: Geodesic BridgesSimple Polygons: Geodesic Bridges

q’p’

qp

QP

gd(p,P) = gd(p,p’)gd(q,Q) = gd(q,q’)

w(p,q) = gd(p,P) + gde(p,q) + gd(q,Q)

Page 8: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Visible BridgesVisible Bridges

P

y

x

y

z

Q

w(opt visible bridge) ~ 2x + 2y

x >> y >> z

w(opt bridge) ~ x + 2y

An opt bridge’s end points may not be mutually visible: a restriction imposed/assumed in earlier results on the bridge problem

Opt visible bridge can be found in O(n log3 n) time. Tan [IJCGA ’02]

Page 9: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Opt Bridge has End Points on the Polygon BoundariesOpt Bridge has End Points on the Polygon Boundaries

qp

Q

Pr

r’q’

• Bridge (p,r) can be shown to be no worse than the bridge (p,q)• gd(r,r’) ≤ d(r,q) + gd(q,q’)

• Proof holds for geodesic bridges as well

gd(q,Q) = gd(q,q’)gd(r,Q) = gd(r,r’)

Page 10: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Optimal Bridges: Simple PolygonsOptimal Bridges: Simple Polygons

► We narrow the set of points that can support an optimal bridge We narrow the set of points that can support an optimal bridge to to OO((nn22) ) anchors anchors on each polygon’s boundaryon each polygon’s boundary

► These These OO((nn22) anchors can be found in ) anchors can be found in OO((nn2 2 log nlog n) time) time

► Geodesic furthest point Voronoi Diagram answers the Geodesic furthest point Voronoi Diagram answers the gdgd((x,Xx,X) ) queries in queries in OO((log nlog n) time (can also use Suri’s algorithm [JCCS ) time (can also use Suri’s algorithm [JCCS ’89] to precompute these)’89] to precompute these)

Page 11: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Optimal Euclidean Bridges: ResultsOptimal Euclidean Bridges: Results

► An An OO((nn22 log n log n) time algorithm for the Optimal ) time algorithm for the Optimal Euclidean bridge problemEuclidean bridge problem

► The point to Polygon version of the Euclidean bridge The point to Polygon version of the Euclidean bridge problem can be solved in problem can be solved in OO((n log nn log n) time) time

► Approximately optimal bridge, within a factor of Approximately optimal bridge, within a factor of 1+2/1+2/((k+1k+1) of the optimal, in ) of the optimal, in OO((kn log nkn log n) time) time

► An FPTAS for the Euclidean bridge problemAn FPTAS for the Euclidean bridge problem

Page 12: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Geodesic Bridges: Point to PolygonGeodesic Bridges: Point to Polygon

p

Q• O(n2) candidate bridge end points on Q • Build the SP tree of p to all the OO((nn22)) points in O(n2 log n) time using Hershberger and Suri’s algorithm [SIAM J. ’99]

• Precompute geodesic furthest neighbors of each of the O(n2) points in O(n2 log n) time

Works. But for the 2 polygon case, will need ~ O(n4) time (since we have O(n2) anchors on each polygon)

qq’

Page 13: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Geodesic Bridges: Point to PolygonGeodesic Bridges: Point to Polygon

p

Q

• OR• The 2nd last vertex of gd(p,q) (q0 in fig) is a vertex of Q.• And, (q0 ,q) is optimal visible bridge from q0 to Q (sub-path optimality)

• Either (p,q) is a visible bridge• Can be found in O(n log n) time

q0

q

q

Page 14: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Optimal Geodesic Bridge: Point to Optimal Geodesic Bridge: Point to PolygonPolygon

► From From p p and each vertex of and each vertex of QQ, precompute the optimal visible , precompute the optimal visible bridge to bridge to Q Q in in OO((nn2 2 log nlog n) total time) total time

► From From pp, find the shortest paths to all , find the shortest paths to all vertices vertices of of QQ: : OO((n log nn log n) time) time

► Select best among Select best among visvis((p,Qp,Q) and ) and

MIN MIN q q єє V(Q)V(Q) {{gdgd((p,qp,q) + ) + visvis((q,Qq,Q)})}

► Total of Total of OO((nn2 2 log nlog n) time) time

Page 15: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Geodesic Bridges: Simple PolygonsGeodesic Bridges: Simple Polygons

qp

QP

Case I: (p,q) is a one-link bridge => (p,q) is a visible bridge.

An optimal visible bridge between P and Q can be found in O(n log3 n) time using Tan’s algorithm.

Page 16: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Geodesic Bridges: Simple PolygonsGeodesic Bridges: Simple Polygons

qp

QP

Case II: (p,q) is a two-link bridge, pivoted at a vertex, say x- (x, p) is an optimal visible bridge from x to P- (x, q) is an optimal visible bridge from x to Q

- There are a total of 2n such bridges, that can be found in O(n2 log n) total time

x

Page 17: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Geodesic Bridges: Simple PolygonsGeodesic Bridges: Simple Polygons

q

p

QP

Case III: (p,q) is a multi-link bridge- the second and second-last vertices of gde(p,q), p0 and q0 , are vertices of P and/or Q- (p0 , p) is an optimal visible bridge from p0 to P- (q0 , q) is an optimal visible bridge from q0 to Q

- There are a total of O(n2) such bridges, that can be found in O(n2 log n) total time

p0

q0

Page 18: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Optimal Geodesic Bridges: Simple Optimal Geodesic Bridges: Simple PolygonsPolygons

► Each of the three types of bridges, one-link, two-link and multi-link, can be Each of the three types of bridges, one-link, two-link and multi-link, can be found in found in OO((nn22 log n log n) time or less. The best among them is an optimal ) time or less. The best among them is an optimal geodesic bridge between the two polygons.geodesic bridge between the two polygons. Therefore, we can find an optimal geodesic bridge in Therefore, we can find an optimal geodesic bridge in OO((nn22 log n log n) time) time

► The time bound matches our bound for finding an optimal Euclidean The time bound matches our bound for finding an optimal Euclidean bridge between two simple polygonsbridge between two simple polygons

► The point to Polygon version of the geodesic bridge problem can be The point to Polygon version of the geodesic bridge problem can be approximated to a factor of approximated to a factor of 1+2/1+2/((k+1k+1) in ) in OO((kn log nkn log n) time) time

Page 19: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Some Open Problems Related to BridgesSome Open Problems Related to Bridges

►Faster exact algorithms for the optimal Faster exact algorithms for the optimal Euclidean bridge and optimal geodesic bridge Euclidean bridge and optimal geodesic bridge problems?problems?

►oo((nn22)-time approximation algorithms for the )-time approximation algorithms for the geodesic bridge problem?geodesic bridge problem?

Page 20: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Finding Alternate Paths in Finding Alternate Paths in NetworksNetworks

Page 21: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Failures in IP BackbonesFailures in IP Backbones

► Five 9s availability (99.999% uptime) is highly desirableFive 9s availability (99.999% uptime) is highly desirable VOIP, VPN, Banking, Multimedia Conferencing, Shopping, … VOIP, VPN, Banking, Multimedia Conferencing, Shopping, …

► Failures occur quite frequentlyFailures occur quite frequently Faulty interfaces, router/link failures, maintenance activityFaulty interfaces, router/link failures, maintenance activity

► Markopolu, et al. (INFOCOM 2004) characterized the failures in IP backbonesMarkopolu, et al. (INFOCOM 2004) characterized the failures in IP backbones

► About 20% failures due to planned activity (e.g. maintenance)About 20% failures due to planned activity (e.g. maintenance)

► Most Most unplanned unplanned failures in communication networks are failures in communication networks are transienttransient and affect a and affect a single single elementelement 46% last less than 1 minute46% last less than 1 minute 86% last less than 10 minutes86% last less than 10 minutes 85% of all failures affect a 85% of all failures affect a single single link or nodelink or node

► Handling transient single node or link failures is key to ensuring high availabilityHandling transient single node or link failures is key to ensuring high availability

Page 22: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Proactive Recovery SchemesProactive Recovery Schemes

► Popular technique of handling transient failuresPopular technique of handling transient failures

► Precompute alternate paths that avoid the failed elementPrecompute alternate paths that avoid the failed element

► When a failure actually occursWhen a failure actually occurs Suppress the failure, instead of the traditional approach of Suppress the failure, instead of the traditional approach of

advertising it across the network (and hope that it is a transient advertising it across the network (and hope that it is a transient issue)issue)

Use the precomputed alternate paths to reroute traffic (and Use the precomputed alternate paths to reroute traffic (and survive the failure)survive the failure)

Page 23: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Single Link Failure Recovery (SLFR)Single Link Failure Recovery (SLFR)

► Given an edge weighted graph Given an edge weighted graph G G ((V,EV,E), and the shortest paths ), and the shortest paths tree tree TTss = = {{ee1 1 , e, e2 2 ,…, e,…, en-1n-1}} of a node of a node s, s, wherewhere e eii= = {{xxi i , y, yii} and } and xxi i is is the parent of the parent of yyii in in TTss

► For For 1 1 ≤ ≤ i i ≤ ≤ n-1n-1, find the shortest path from , find the shortest path from yyii to to s s in the graph in the graph

GG-i-i = = G G \ \ eeii GG-i -i is obtained from is obtained from G G by deleting the edge by deleting the edge eeii

► G G assumed to be 2-edge-connected, and undirectedassumed to be 2-edge-connected, and undirected

Page 24: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Single Node Failure Recovery (SNFR)Single Node Failure Recovery (SNFR)

► Given an edge weighted graph Given an edge weighted graph GG((V,EV,E), and the shortest paths ), and the shortest paths tree tree TTss of a node of a node s, s, where where CCxx= = {{xx1 1 , x, x2 2 , x, x3 3 ,…, x,…, xkk}} denote the denote the children of children of x x in in TTss

► For each node For each node x x єє G G, and , and x x ≠≠ s s, find a path from each , find a path from each xxii єє CCxx to to ss in the graph in the graph GG-x-x = ( = (V V \ \ x, E x, E \\ E Exx)) GG-x-x is obtained from is obtained from G G by deleting the node by deleting the node xx and all its edges and all its edges

► G G assumed to be 2-node-connected, and undirectedassumed to be 2-node-connected, and undirected

Page 25: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SLFR SNFRSLFR SNFR

s

y

x

s

x

xjxi xk

Page 26: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SLFR, SNFR: Naïve AlgorithmSLFR, SNFR: Naïve Algorithm

► Recompute the shortest paths tree of Recompute the shortest paths tree of s s separately in each of separately in each of

the the n-1 failure n-1 failure graphs (graphs (GG-i-i graphs for SLFR problem, and graphs for SLFR problem, and

GG-x-x graphs for SNFR problem)graphs for SNFR problem)

► Time Complexity: Since we have Time Complexity: Since we have OO((nn)) failure graphs, the failure graphs, the naïve algorithm requires naïve algorithm requires OO((nn((m+nm+n log log nn)))) timetime

► Simple, but inefficient (at least for undirected graphs)Simple, but inefficient (at least for undirected graphs)

Page 27: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SLFR, SNFR: Our Results SLFR, SNFR: Our Results (Centralized Algorithms)(Centralized Algorithms)

► SLFR: SLFR: OO((m + nm + n log log nn)) time for computing optimal alternate pathstime for computing optimal alternate paths Undirected, planar graphs: linear timeUndirected, planar graphs: linear time Undirected, integer edge weights: Undirected, integer edge weights: OO((m + Tm + Tsortsort((nn)))) Some improvements for replacement-paths problemSome improvements for replacement-paths problem

► Given an Given an s-t s-t shortest path, find alternate shortest path, find alternate s-t s-t paths if each edge of the original s-t paths if each edge of the original s-t shortest path fails, one at a timeshortest path fails, one at a time

► SNFR: SNFR: OO((m m log log nn)) time algorithm time algorithm Computes Computes good good alternate paths – within alternate paths – within 15% 15% of optimal for randomly of optimal for randomly

generated graph with generated graph with 100 – 1000 100 – 1000 nodes, and an average degree of nodes, and an average degree of 10 – 3010 – 30

► Protocols: A new proactive recovery scheme that uses the paths Protocols: A new proactive recovery scheme that uses the paths computed by these algorithms to recover from transient single computed by these algorithms to recover from transient single element failureselement failures

Page 28: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SNFR Algorithm: Empirical EvaluationSNFR Algorithm: Empirical Evaluation

Page 29: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Single Node Failure Recovery:Single Node Failure Recovery:A Distributed Algorithm?A Distributed Algorithm?

► All previous algorithms, including our earlier algorithms, are centralized All previous algorithms, including our earlier algorithms, are centralized algorithm that need complete information of the Network graph as input to algorithm that need complete information of the Network graph as input to the algorithmsthe algorithms

Resource intensive – need a single computer with enough processing power, and Resource intensive – need a single computer with enough processing power, and memory to deal with potentially huge network graphsmemory to deal with potentially huge network graphs

Manually intensive Manually intensive ► Need a consistent snapshot of the networkNeed a consistent snapshot of the network► Results of the computation need to be deployed to the corresponding hostsResults of the computation need to be deployed to the corresponding hosts

Especially desirable if the other steps performed at the Network setup are Especially desirable if the other steps performed at the Network setup are distributed algorithmsdistributed algorithms

► Thesis proposal question – can our ideas from the centralized algorithms be Thesis proposal question – can our ideas from the centralized algorithms be used for designing a distributed algorithm for computing alternate paths?used for designing a distributed algorithm for computing alternate paths?

Page 30: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SNFR: Key PropertiesSNFR: Key Properties

s

► Green Green edges (e.g. edges (e.g. ggii, , ggjj) have one end point outside the subtree of ) have one end point outside the subtree of xx..

ggii and and ggjj can be used by can be used by xxii and and xxjj respectively to reach respectively to reach ss..

x

bpbq

gj

gi

x1

xjxi

► Blue edges (e.g. Blue edges (e.g. bbpp, , bbqq) run between subtrees of siblings. ) run between subtrees of siblings. Together with green edges, they can offer a valid alternate paths. Together with green edges, they can offer a valid alternate paths. E.g. E.g. bbpp offers an alternate path to offers an alternate path to xx11 (either (either bbqq ggjj, or directly using , or directly using ggii).).

G

Page 31: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SNFR: Constructing SNFR: Constructing RRxx

sx

bpbq

gj

gi

x1xjxi

y1yi yj

sx

y1 yi yj

sx

TsxRx

G

Page 32: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

SNFRSNFR

► Each node needs the following informationEach node needs the following information Cheapest green edge for each child nodeCheapest green edge for each child node Blue edges among the subtrees of the child nodesBlue edges among the subtrees of the child nodes

► An edge is green for a node if it has one end point in An edge is green for a node if it has one end point in the node’s subtree, and the other outside the node’s the node’s subtree, and the other outside the node’s parent’s subtreeparent’s subtree

► An edge is blue in An edge is blue in RRxx if if x x is the nearest-common-is the nearest-common-ancestor of the two end points of the edgeancestor of the two end points of the edge

Page 33: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

DFS Start / End LabelsDFS Start / End Labels

► Assign Assign start start and and end end labels to nodes as a depth-first-search traversal of the tree labels to nodes as a depth-first-search traversal of the tree starts or ends at the nodestarts or ends at the node

v

u

(1,14)

(2,11)

(3,4)

(8,9)(6,7)

(5,10)

(12,13)w

► A node A node vv belongs to the subtree of belongs to the subtree of u u iff iff dfsStartdfsStart((uu) < ) < dfsStartdfsStart((vv) < ) < dfsEnddfsEnd((vv) < ) < dfsEnddfsEnd((uu))

► Green edges have exactly one end point in the node’s subtreeGreen edges have exactly one end point in the node’s subtree

Page 34: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Distributed SNFR: Gathering Information to Distributed SNFR: Gathering Information to Construct Construct RRxx

s

x

b

xjxi

uv

(3,50)

(2,101)

(51,100)

(102, 199)

(1,200)

(80,91)(10,21)

M(u,v): • (10,21) – (80,91)• loop weight: d(s,u) + cost(u,v) + d(v, s)

Page 35: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Distributed SNFR: Gathering Information to Distributed SNFR: Gathering Information to Construct Construct RRxx

s

x

bg

xjxi

uv

y

z

(3,50)

(2,101)

(51,100)

(102, 199)

(110,151)

(1,200)

(60,71)

M(y,z): • (60,71) – (110,151)• loop weight: d(s,y) + cost(y,z) + d(z, s)

Forward a child node’s edge to your parent if and only if it is a green edge

Page 36: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Distributed SNFR AlgorithmDistributed SNFR Algorithm► DFS labels computed using the algorithm by Fraigniaud, et. al. [PODC ’00]DFS labels computed using the algorithm by Fraigniaud, et. al. [PODC ’00]

► The root node, The root node, ss, initiates the SNFR algorithm by sending a control message to all , initiates the SNFR algorithm by sending a control message to all nodes – asking them to start forwarding their non-tree edgesnodes – asking them to start forwarding their non-tree edges

► After a leaf node has forwarded all its non-tree edges, it sends a special After a leaf node has forwarded all its non-tree edges, it sends a special DONEDONE message to its parent to indicate that it has finished fwd’ing all non-tree edgesmessage to its parent to indicate that it has finished fwd’ing all non-tree edges

► An intermediate node sends a An intermediate node sends a DONE DONE message to its parent after it is done, and it message to its parent after it is done, and it has received has received DONE DONE from all its childrenfrom all its children

► Once a node Once a node xx has received has received DONE DONE from all its children, it has enough information from all its children, it has enough information to construct to construct RRxx locally, and finish the remaining steps of the alternate path locally, and finish the remaining steps of the alternate path computation algorithmcomputation algorithm

Page 37: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Distributed SNFR Algorithm: SummaryDistributed SNFR Algorithm: Summary

► First distributed algorithm for computing alternate pathsFirst distributed algorithm for computing alternate paths

► Based on request-response model – does not need any Based on request-response model – does not need any global global coordination coordination among the nodesamong the nodes

► Requires Requires OO((m+nm+n)) messages to be transmitted among the nodes, messages to be transmitted among the nodes, and has a space complexity of and has a space complexity of OO((m+nm+n)) across across all all nodes nodes ((asymptotically asymptotically optimal)optimal)

► Can be generalized to the Single Link Failure Recovery and a Can be generalized to the Single Link Failure Recovery and a few other related problems.few other related problems.

Page 38: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Some Open Problems Related to Some Open Problems Related to SLFR/SNFRSLFR/SNFR

► Faster algorithm and/or better alternate paths for SNFR problemFaster algorithm and/or better alternate paths for SNFR problem Our solution runs in Our solution runs in OO((m log nm log n) time, and does not compute optimal alternate ) time, and does not compute optimal alternate

pathspaths Naïve upper bound for computing optimal alt paths: Naïve upper bound for computing optimal alt paths: OO((nn((m + n log nm + n log n)) ))

► Directed graphsDirected graphs Our upper bounds are strictly for undirected graphsOur upper bounds are strictly for undirected graphs ((mm n n) lower bound holds for directed graphs in path comparison model (as ) lower bound holds for directed graphs in path comparison model (as

long as long as m = Om = O((nn n n) )) ) Recently, replacement paths problem solved in Recently, replacement paths problem solved in OO((n logn log33 nn) time for directed ) time for directed

planarplanar graphs [EPR ’08] graphs [EPR ’08]

► Multiple failuresMultiple failures Failure of any two links or nodes in the network?Failure of any two links or nodes in the network? We presented an We presented an OO((nn33) algorithm for computing alternate ) algorithm for computing alternate s-t s-t paths when the 2 paths when the 2

failed links or nodes are on the original failed links or nodes are on the original s-t s-t pathpath Trivial lower bound of Trivial lower bound of ( (nn22))

Page 39: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Thank YouThank You

Page 40: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

OO((n log nn log n)) Algorithm for Optimal Algorithm for Optimal Vertex BridgeVertex Bridge

► Vertex bridge is between the vertices of the 2 polygonsVertex bridge is between the vertices of the 2 polygons

► Additively weighted nearest-point Voronoi diagramAdditively weighted nearest-point Voronoi diagram Each Voronoi point Each Voronoi point u u has an associated weight has an associated weight wwvv

Query for point Query for point p p returns a point returns a point v v such thatsuch that

dd((p, vp, v)) + w + wvv = MIN = MIN u u єє V V {{dd((p,up,u)) + w + wuu}} Can be built in Can be built in OO((n log nn log n) time [Aurenhammer-Imai ’88]) time [Aurenhammer-Imai ’88] Query can be answered in Query can be answered in OO((log nlog n) time) time

► Geodesic furthest neighbors of all vertices of a simple polygon Geodesic furthest neighbors of all vertices of a simple polygon can be found in can be found in OO((n log nn log n) time [Suri ’89]) time [Suri ’89]

Page 41: Establishing Alternate Routes in Networks and Routes Between Polygons in 2D Space

Optimal Vertex Bridge (Contd.)Optimal Vertex Bridge (Contd.)

► For each vertex For each vertex q q єє Q Q, assign weight , assign weight wwqq = = gdgd((q, Qq, Q)) OO((n log nn log n) total time) total time

► For each vertex For each vertex p p єє P P, find the vertex , find the vertex q q єє Q Q with minimum with minimum dd((p, qp, q)) + w + wqq This would be the best vertex bridge with This would be the best vertex bridge with p p as one end pointas one end point Each query in Each query in OO((log nlog n) time) time

► Check all vertices of Check all vertices of P P for the optimal vertex bridgefor the optimal vertex bridge

► Total time Total time OO((n log nn log n))