ebook img

A Polynomial Time Algorithm to Compute an Approximate Weighted Shortest Path PDF

0.85 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview A Polynomial Time Algorithm to Compute an Approximate Weighted Shortest Path

A Polynomial Time Algorithm to Compute an Approximate Weighted Shortest Path R. Inkulu Sanjiv Kapoor ∗† ‡ 6 1 0 Abstract 2 c We devise a polynomial-time approximation scheme for the classical geometric problem of e findinganapproximateshortpathamidweightedregions. Inthisproblem,atriangulatedregion D comprisingofnvertices,apositiveweightassociatedwitheachtriangle,andtwopointssand 7 tPthat belong to are given as the input. The objective is to find a path whose cost is at most P (1+(cid:15))OPT where OPT is the cost of an optimal path between s and t. Our algorithm initiates ] adiscretized-Dijkstrawavefrontfromsourcesandprogressesthewavefronttillitstrikest. This G resultisaboutacubicfactor(inn)improvementovertheMitchellandPapadimitriou’91result C [8], which is the only known polynomial time algorithm for this problem to date. Further, with s. polynomial time preprocessing of , a map is computed which allows answering approximate c weighted shortest path queries in pPolynomial time. [ 3 1 Introduction v 0 4 The problem of computing a shortest path in polygonal subdivisions is important and well-studied 3 0 duetoitsapplicationsingeographicinformationsystems, VLSIdesign, robotmotionplanning, etc. 0 A survey of various shortest path problems and algorithms may be found in Mitchell [9]. In this . 1 paper, we devise an algorithm for the weighted shortest path problem [8]: given a triangulation 0 P with O(n) faces, each face associated with a positive weight, find a path between two input points 5 1 s and t (both belonging to ) so that the path has minimum cost among all possible paths joining P : s and t that lie on . The cost of any path P is the sum of costs of all line segments in P, whereas v P i the cost of a line segment is its Euclidean length multiplied by the weight of the face on which it X lies. The weighted shortest path problem helps in modeling region specific constraints in planning r a motion. To compare the time complexities of various algorithms in the literature, we use the following notation - n: number of vertices defining ; l : length of the longest edge bounding any face max P of ; N: maximum coordinate value used in describing ; w : maximum non-infinite weight max P P associated with any triangle; w : minimum weight associated with any triangle; θ : minimum min min among the internal face angles of ; and, µ: ratio of w to w . (Note that the same notation max min P is used in later parts of the paper as well.) Mitchell and Papadimitriou [8] presented an algorithm that finds an approximate weighted shortest path in O(n8lg nNµ) time. Their algorithm essentially builds a shortest path map for s by (cid:15) progressing continuous-Dijkstra wavefront in using the Snell’s laws of refraction. By introducing P R. Inkulu’s research was supported in part by NBHM under grant 248(17)2014-R&D-II/1049. ∗ †Department of Computer Science & Engineering; IIT Guwahati, India; [email protected] ‡Department of Computer Science; IIT Chicago, USA; [email protected] 1 m equi-spaced Steiner points on each edge of and building a graph spanner over these points, P Mata and Mitchell [7] devised a preprocessing algorithm to construct a graph spanner in O(kn3) time, where k = O( µ ), on which (1+(cid:15))-approximate weighted shortest path queries are per- (cid:15)θmin formed. Lanthier et al. [6] independently devised an O(n5) time approximation algorithm with an additive error of O(l w ) by choosing m = n2. Instead of uniform discretization (as in [7]), max max Aleksandrov et al. [2, 3] used logarithmic discretization and devised an O(nN2 lg(NW)lg n lg 1) √(cid:15) w (cid:15) (cid:15) time approximation algorithm. Sun and Reif [10] provided an approximation algorithm, popularly known as BUSHWHACK, with time complexity O(nN2 lg(Nµ)lg n lg 1). Their algorithm dynam- (cid:15) (cid:15) (cid:15) ically maintains for each Steiner point v, a small set of incident edges of v that may contribute to an approximate weighted shortest path from s to t. More recently, Cheng et al. [4] devised an approximation algorithm that takes O(kn+k4lg(k/(cid:15)) lg2 ρn) time, where k is the smallest integer (cid:15) (cid:15) such that the sum of the k smallest angles in is at least π. The query version of this problem is P addressed in [2, 3, 10, 8, 5, 1]. Further, algorithms in Cheng et al. [5] handle the case of measuring the cost of path length in each face with an asymmetric convex distance function. Our contribution The time complexities of each of the above mentioned solutions, except for [8], are polynomial in n as well as in parameters such as (cid:15),θ ,N and µ. Hence, strictly speaking, these algorithms are not min polynomial. Like [8], this paper devises an algorithm that is polynomial in time complexity. The time complexity of our algorithm is O(n5(lg n)(lg µ )), which is about a cubic factor improvement (cid:15) √(cid:15) from [8]. As established in [8], there are Ω(n4) events that need to be handled in order to find the interaction of shortest path map with the . Our algorithm takes first steps to provide a solution P that is sub-quadratic in the number of events. This result uses several of the characterizations from [8] in order to design a simple and more efficient algorithm. Every ray is a simple path in . Our approach discretizes the wavefront in P the continuous-Dijkstra’s approach by a set S of rays whose origin is source s. These rays are distributed uniformly around s. As the discrete wavefront propagates, a subset of the rays in S are progressed (traced) further while following the Snell’s laws of refraction. Each of these subsets of rays is guided by two extreme rays from that subset, i.e., all the rays in that subset lie between these two special rays. Essentially, each such subset represents a section of the wavefront and is called a bundle. For any vertex v in , whenever such a section of the wavefront strikes a vertex P w, we initiate another discrete-wavefront (set of rays) from w. We continue doing this until the wavefront (approximately) strikes t. In summary our contributions are: 1. A discretized approach to propagating wavefronts using bundles. 2. An algorithm that computes an (1+(cid:15))-approximate weighted shortest path from s to t in O(n5(lg n)(lg µ )) time. (cid:15) √(cid:15) 3. Further,wepreprocess inO(n5(lg n)(lg µ )(lgN))timetocomputeadatastructureforan- P (cid:15) √(cid:15) swering single-source approximate weighted shortest path queries in O(n4(lg n)(lg µ )(lgN)) (cid:15) √(cid:15) time. Section 2 lists relevant propositions from [8] and [10], and defines terminology required to describe the algorithm. Section 3 outlines the algorithm while introducing few structures used in thealgorithm. InSection4,weboundthenumberofrays. Thedetailsofthealgorithmareprovided 2 in Section 5. Section 6 describes an interpolation scheme to improve the time complexity of the algorithm. Section 7 argues for the correctness and analyzes the time complexity of the algorithm. And, the conclusions are given in Section 8. 2 Preliminaries We define the problem using the terminology from [8]. We assume a planar subdivision , that is polygonal and specified by triangular faces. Each P face f has a weight w associated with it. We denote the weight of a face f (resp. edge e) with w f f (resp. w ). For an edge e shared by faces f and f , the weight of e is defined as min(w ,w ). e (cid:48) (cid:48)(cid:48) f f (cid:48) (cid:48)(cid:48) A path is a continuous image of an interval, say [0,1], in the plane. A geodesic path is a path that is locally optimal and cannot, therefore, be shortened by slight perturbations. An optimal path is a geodesic path that is globally optimal. The general form of a weighted geodesic path is a simple (that is, not self-intersecting) piecewise linear path that goes through zero or more vertices while possibly crossing a zero or more edges. The Euclidean length of a line segment l is denoted by l . Let P be a geodesic path with line segments l ,l ,...,l such that l lies on face f , for 1 2 k i i (cid:107) (cid:107) every i in [1,k]; then the weighted Euclidean distance (also termed the cost) of path P is defined as (cid:80) the l w . i(cid:107) i(cid:107) fi Weighted Shortest Path problem: Given a finite triangulation in the plane with two points P s (source) and t (destination) located on , an assignment of positive integral weights to faces of P , and an error tolerance (cid:15), the approximate weighted shortest path problem is to determine a path P P from s to t that lies on such that the cost of P is at most (1+(cid:15)) times the cost of an optimal P path from s to t. We assume that all input parameters of the problem are specified by integers. In particular, all vertices have non-negative integer coordinates. Further, we assume that s and t are two vertices of . A ray in our algorithm is a piecewise linear simple path in such that endpoints of each of P P the line segments that it contains lie on the edges of . Let f be the first face traversed by a ray (cid:48) P r and let f be the first face traversed by a ray r . The angle between r and r is defined as the (cid:48) (cid:48)(cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) angle between the vectors induced by f r and f r . Unless specified otherwise, all angles are (cid:48) (cid:48) (cid:48)(cid:48) (cid:48)(cid:48) ∩ ∩ acute. Let v , v and v be three unit vectors that originate from a point a in R2 such that the →− →−1 →−2 vectors v ,v lie in the same half-plane defined by the line induced by v . The cone C(a,v ,v ) is →−1 →−2 →− →−1 →−2 the set comprising of all the points that are positive linear combinations of v and v . →−1 →−2 A few facts from the literature First we list few propositions, definitions and descriptions from Mitchell and Papadimitriou [8] tailored for our purpose. A sequence of edge-adjacent faces is a list, (f ,f ,...,f ), of two or more faces such that, 1 2 k+1 for every i, face f shares edge e with face f . Further, the corresponding sequence of edges i i i+1 = (e ,e ,...,e ) is referred as an edge sequence. When a geodesic path P crosses edges in in 1 2 k E E the order specified by and without passing through any vertex, then is the edge sequence of E E path P. A geodesic path p ,p ,...,p in , is termed a ray r as it behaves similar to a ray of light. 0 1 k P Further, when the geodesic path is extended to add a point p in , by the line segment p p , k+1 k k+1 P 3 the ray r is said to be traced (or, progressed) to p . Any point or line segment in from which k+1 P at least one ray is initiated is termed a source. Let f and f be two faces with shared edge (cid:48) (cid:48)(cid:48) →− e(v ,v ). (See Fig. 1.) Let l ,l be two suc- v (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) →− r cessive line segments along a ray r with l lying f(cid:48)(cid:48) θ(cid:48)(cid:48) v(cid:48)(cid:48) (cid:48) v(cid:48) v(cid:48)(cid:48) on face f(cid:48) and l(cid:48)(cid:48) lying on face f(cid:48)(cid:48) with point f(cid:48) →−v(cid:48)θ(cid:48) y e y l l e. Let →−v be a vector entering y and (cid:48) (cid:48)(cid:48) (cid:48) ∈ ∩ ∩ Figure 1: Illustrating refraction containing l and let →−v be a vector with origin (cid:48) (cid:48)(cid:48) y and containing l . Also, let v be a vector (cid:48)(cid:48) →− normal to edge e, passing through point y to some point in face f . The angle θ between v and (cid:48)(cid:48) (cid:48) →− →−v is known as the angle of incidence of r onto e. And, the angle θ between v and →−v is known (cid:48) (cid:48)(cid:48) →− (cid:48)(cid:48) as the angle of refraction of r from e. When w > w , the critical angle of e, f f denoted by θc(cid:48)(f(cid:48),f(cid:48)(cid:48))(cid:48)(cid:48)is sin−1(wwf(cid:48)(cid:48)). (When f(cid:48) f(cid:48)(cid:48) →−v θc(f(cid:48),f(cid:48)(cid:48)) and f(cid:48)(cid:48) are understood from thfe(cid:48) context, the v(cid:48) f(cid:48) y(cid:48) e y(cid:48)(cid:48) v(cid:48)(cid:48) critical angle of e is also denoted by θ .) (See r(cid:48)(cid:48) c r(cid:48) Fig. 2.) If θ < θ (f ,f ), then the angles θ (cid:48) c (cid:48) (cid:48)(cid:48) (cid:48) and θ are related by Snell’s law of refraction (cid:48)(cid:48) Figure 2: Illustrating critical reflection with w sinθ = w sinθ . Since there does f (cid:48) f (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) notexistageodesicweightedshortestpathwith θ > θ (f ,f ), we only need to consider the case in which θ equals to θ (f ,f ). Let y be the (cid:48) c (cid:48) (cid:48)(cid:48) (cid:48) c (cid:48) (cid:48)(cid:48) (cid:48) point of incidence of ray r from face f onto e with angle of incidence θ (f ,f ). Also, let v be a (cid:48) (cid:48) c (cid:48) (cid:48)(cid:48) →− vector normal to edge e, passing through point y to some point in face f . Then the geodesic path (cid:48) (cid:48)(cid:48) travels along −y−→v for some positive distance before exiting edge e back into face f , say at a point (cid:48) (cid:48)(cid:48) (cid:48) y located in the interior of y v , while making an angle θ (f ,f ) with v . We say that the path (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) c (cid:48) (cid:48)(cid:48) →− − P is critically reflected by edge e and the line segment y y is termed a critical segment of path P (cid:48) (cid:48)(cid:48) on e. Sometimes, we also say y v is a critical segment corresponding to the critcial incidence of a (cid:48) (cid:48)(cid:48) ray at y from face f . The point y (the closer of the two points y ,y to s) is known as a critical (cid:48) (cid:48) (cid:48) (cid:48) (cid:48)(cid:48) { } point of entry of path P to edge e and y is known as the corresponding critical point of exit of (cid:48)(cid:48) path P from edge e. The following propositions from the literature are useful for our algorithm. Proposition 1 (Lemma 3.7, [8]) Let P be a geodesic path. Then either (i) between any two consecutive vertices on P, there is at most one critical point of entry to an edge e, and at most one critical point of exit from an edge e (possibly equal to e); or (ii) the path P can be modified in such (cid:48) a way that case (i) holds without altering the length of the path. Let f and f be two faces with shared edge e. For any point x e, a locally f -free path strikes (cid:48) (cid:48)(cid:48) (cid:48) ∈ x from the exterior of face f and is locally optimal. (cid:48) Proposition 2 (Lemma 7.1, [8]) For a face f of , let P be a shortest locally f-free path. Let P P be a sub-path of P such that P goes through no vertices or critical points. Then, P can cross (cid:48) (cid:48) (cid:48) an edge e at most O(n) times. Thus, in particular, the cardinality of any edge sequence of path P is O(n2). Proposition 3 (Lemma 7.4, [8]) There are at most O(n) critical points of entry on any given edge e. 4 Finally we have a proposition that provides us the non-crossing property of (weighted) shortest paths. Proposition 4 (Lemma 1, [10]) Any two geodesic shortest paths that originate from the same point in cannot intersect in the interior of any weighted region of . P P 3 Algorithm outline In our algorithm, we progress a discretized-Dijkstra wavefront, as the traditional approach of pro- gressing a continuous-Dijkstra wavefront results in a complicated algorithm, This wavefront is de- fined and expanded using rays. Every ray is a geodesic path in from its point of origin to a point P on the wavefront. The wavefront that defines the locus of points at weighted Euclidean distance d from the source is identified by points on the the rays that are at weighted Euclidean distance d from the source. Note that geodesic paths in are piece-wise linear. We initiate a set (s) of rays P R whose origin is s. The rays in (s) are ordered according to their counterclockwise angle with the R positive x-axis and are uniformly distributed around s. These rays together describe a (discrete) wavefront initiated at s. Let r and r be two rays in (s). Two rays are termed successive when (cid:48) (cid:48)(cid:48) R they are adjacent in the ordering of rays around any point from which those rays are initiated. The number of rays in (s) is defined by the angle δ between successive rays; by expressing the value R of δ in terms of (cid:15) later (in Section 4), our algorithm ensures an (1+(cid:15))-approximation. When the wavefront strikes any vertex v, an ordered set (v) of rays are initiated from v, unless vertex v is R the destination t itself. 3.1 Types of rays We next discuss the types of rays that form part of our wavefront. Only a subset of the rays that have been initiated are used in the propagation of the wavefront; a ray that is considered for propagation is said to have been traced. We propagate the rays as described below: let e = (v ,v ) (cid:48) (cid:48)(cid:48) be a common edge between faces f and f . Consider a ray r (v) that is traced along face f (cid:48) (cid:48)(cid:48) (cid:48) ∈ R and suppose it strikes e at a point y e. (cid:48) ∈ If the angle of incidence of r onto e is less than θ (f ,f ), then r refracts onto face f with the c (cid:48) (cid:48)(cid:48) (cid:48)(cid:48) angle of refraction defined by Snell’s law of refraction. The case in which the angle of incidence of r onto e is greater than θ (f ,f ) occurs only when w > w . In this case, we do not propagate c (cid:48) (cid:48)(cid:48) f f (cid:48) (cid:48)(cid:48) r further as r would not be part of a weighted shortest path to t. If the angle of incidence of r onto e is equal toθ (f ,f ),thenaweightedshortestpaththat c (cid:48) (cid:48)(cid:48) f(cid:48)(cid:48) uses the ray r propagates along e for a pos- v(cid:48) e y(cid:48) κ v(cid:48)(cid:48) itive distance before critically reflecting back r into face f itself. Let κ = y v be the critical (cid:48) (cid:48) (cid:48)(cid:48) θc(f(cid:48),f(cid:48)(cid:48)) f(cid:48) segment corresponding to this critical incidence Figure 3: Illustrating critical reflection of r onto e where y is the point of incidence of (cid:48) r on e. Since a weighted shortest path can be reflected back from any point on the critical segment κ of e, our algorithm initiates rays from a discrete set of evenly spaced points on κ. The number and position of points from which these rays are generated is again a function of (cid:15). Let v be a vector normal to edge e, passing through point →− y to some point in face f . These rays critically reflect from e back into face f while making an (cid:48) (cid:48)(cid:48) (cid:48) 5 angle θ (f ,f ) with v . (See Fig. 3.) We let (κ) be the ordered set of rays that originate from c (cid:48) (cid:48)(cid:48) →− − R κ, and are ordered by the distance from y . Two rays r and r in (κ) are successive whenever (cid:48) (cid:48) (cid:48)(cid:48) R there is no ray in (κ) that occurs between r and r in the linear ordering along κ. (cid:48) (cid:48)(cid:48) R Wenextintroduceanadditionalcategoryof rays. To account for the divergence of rays and e(cid:48)(cid:48) to ensure that the wavefront is adequately rep- e(cid:48) f(cid:48)(cid:48) →−v 2 resented, we further initiate an angle ordered setofSteiner rays, denotedbyR(y(cid:48)), fromeach v(cid:48) ryθ(cid:48) e yθ(cid:48)(cid:48) r2 r3 v(cid:15)(cid:48)(cid:48)(cid:48) critical point of entry y(cid:48) onto face f(cid:48)(cid:48). (See K Fig. 4.) Hence, a critical point of entry is r(cid:48) f(cid:48) also termed as a critical source. These rays are motivated as follows: a pair of successive rays whentracedalonganedgesequencecandiverge Figure 4: Illustratingraysinitiatedfromacriticalsource y and the corresponding sibling pair r,r non-uniformly, with the divergence being large (cid:48) 3 especially at angles close to critical angles. To establish an approximation bound, instead of having a set of rays that is more dense from every source, we fill the gaps by generating Steiner rays from critical points of entries. This helps in reducing the overall time complexity. Let v and v be the endpoints of e. For any source u, let (cid:48) (cid:48)(cid:48) r,r be successive rays in (u) such that r is refracted and r is critically reflected. Let y (resp. (cid:48) (cid:48) R y ) be the point at which r (resp. r ) is incident to e = (v ,v ). Let θ be the angle of refraction (cid:48) (cid:48) (cid:48) (cid:48)(cid:48) (cid:48) of r. Also, let v be a vector with origin at y and that makes an angle θ with v . As a result of →−2 (cid:48) (cid:48) →− discretization, there may not exist rays in (u) that intersect the cone C(y ,−y−→v ,v ). Hence, to (cid:48) (cid:48) (cid:48)(cid:48) →−2 R account for this region devoid of rays, an ordered set (y ) of rays are initiated from y that lie (cid:48) (cid:48) R in the cone C(y ,−y−→v ,v ), ordered by the angle each ray makes with respect to v . Every ray in (cid:48) (cid:48) (cid:48)(cid:48) →−2 →− (y ) is termed a Steiner ray. (cid:48) R To recapitulate, there are three sets of rays that are used to define the discrete wavefront: (v) v • {R | ∈ P} (κ) κ is a critical segment obtained when a ray r (v) strikes an edge e at a critical • {R | ∈ R angle } (y ) y is a critical point of entry for a ray r (v) for some v (cid:48) (cid:48) • {R | ∈ R ∈ P} 3.2 Ray bundles We approximate the expansion of the continuous-Dijkstra wavefront by tracing rays in pairs (angle between the rays being less than π) so that each pair represents a section of the continuous- Dijkstra wavefront that lies between the pair at corresponding distance d along the chosen pair of rays. Appropriately chosen pairs suffice to represent the behavior of this section. The rays could be initiated from either of these: (i) a vertex v, (ii) a critical source c, or (iii) a critical segment κ. Let o be one such source of rays. We partition the set of rays with origin o as follows: Let B be a maximal set of successive rays in (o) such that all rays in B cross the same edge sequence when R E traced from the source to the current state of the discrete wavefront. Then B is said to be a ray bundle of (o). Furthermore, is the edge sequence associated with B. Let r and r be two rays (cid:48) (cid:48)(cid:48) R E in B intersecting an edge e such that the line segment defined by the points of intersection ∈ E of r and r with e intersects every other ray from B (when traced). Then the rays r and r are (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) 6 extremal rays of the bundle and are termed as the sibling pair of ray bundle B. For any ray bundle B, instead of tracing all the rays in B, we trace only the sibling pair of B. This helps in reducing the number of event points, hence the time complexity. The ray bundles and corresponding sibling c pairs are updated as the rays progress further. For the sibling pair r ,r of ray bundle B, when (cid:48) (cid:48)(cid:48) b the sequence of edges intersected by r changes a (cid:48) r from the sequence of edges intersected by r(cid:48)(cid:48) for r0 r10 00 r the first time, we need to split the bundle of 100 rays into two and determine new sibling pairs. Figure 5: Split of a ray bundle A binary search among the rays in B is used to trace the appropriate rays across the edge sequence of B and form new sibling pairs. Let abc be a face f in . (See Fig. 5.) Suppose rays r and r (cid:48) (cid:48)(cid:48) P are siblings in a bundle B before they strike edge ab of f. However, when they are traced further, suppose r strikes edge ac and r strikes edge bc. At this instance of wavefront progression, the (cid:48) (cid:48)(cid:48) sequence of edges that are intersected by r and r differ for the first time, and hence r and r do (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) not belong to the same bundle from there on. Using binary search over the rays in B, a pair of successive rays, say r and r , are found to determine new sibling pairs: r ,r and r ,r . Further, 1(cid:48) 1(cid:48)(cid:48) (cid:48) 1(cid:48) (cid:48)(cid:48) 1(cid:48)(cid:48) the ray bundle B is split accordingly. And, the wavefront is said to strike c. The details of the algorithm to find rays r and r is described later. 1(cid:48) 1(cid:48)(cid:48) The sets of rays in (y ) and (κ), where y is a critical point of entry and κ is a critical (cid:48) (cid:48) R R segment, are handled similarly. The rays in (κ) have the characteristic that the paths of any two R rays in (κ) are parallel between any two successive edges in the edge sequence associated with R the corresponding ray bundle. 3.3 Tree of rays Let v be a vertex in . And let (v) be the set of rays initiated from v. A ray may lead to the P R initiation of critical sources as described before. Let S be the set of critical sources such that for 1 any source q in S , Steiner rays are initiated from q when the discrete wavefront that originates at 1 v strikes q. Further, let S ,...,S ,S ,...,S be the sets of critical sources such that for every 2 i 1 i k − q S and 2 i k, critical source q is initiated due to the critical incidence of a Steiner ray (cid:48) i (cid:48) ∈ ≤ ≤ from a source in S . We organize the sources in the set (v) = v ( S ) into a tree of rays, i 1 j j − S { }∪ ∪ denoted by (v). Each node of (v) corresponds to a source in (v): more specifically, v is the R R T T S root node and every other node in (v) is a distinct critical source from S . For any two nodes R j j T ∪ u S ,w S in (v), u is the parent of w in (v) if and only if the critical source w, located i 1 i R R ∈ − ∈ T T on an edge e, is initiated when a ray from u strikes e at the critical angle for edge e (and the point of critical incidence is w). The in-order traversal of the tree (v) provides a natural order R T on the set of rays. A subset S of rays are termed successive whenever rays in S are a contiguous subsequence of the ordered set of rays 3.4 Ray Bundles and Sibling Pairs In order to partition the rays in (v), where v is a vertex, or in (κ), where κ is a critical segment, R R we generalize the definitions of sibling pair and ray bundles. We consider the rays in (v). Let = e ,e ,...,e be an edge sequence. For any j [1,k], 1 2 k R E { } ∈ we say e ,...,e is a suffix of edge sequence . Two rays belonging to (v) are siblings whenever j k R E T the edge sequence associated with one of them is a suffix of the edge sequence of the other. A 7 maximal set S of successive rays initiated from the nodes of (v) that are siblings to each other is R T a ray bundle. For two rays r ,r belonging to a ray bundle B and points p = r e ,p = r e , (cid:48) (cid:48)(cid:48) (cid:48) (cid:48) k (cid:48)(cid:48) (cid:48)(cid:48) k ∩ ∩ the rays r and r are termed as the sibling pair of B whenever the line segment pp intersects (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) every ray in B. A similar definition holds for rays in (κ). R Therefore, there are two kinds of sibling pairs possible: Either (i) both the rays in a sibling pair originate from the same source or the sources of both the rays in a sibling pair belong to a tree of rays, (v) or (iii) both the rays in a sibling pair originate from the same critical segment. A ray R T bundle of the first category is denoted as a ray bundle of (v). R T Let r ,r be a sibling pair of rays in a bundle B in (v). Let u,w (v) be the respective (cid:48) (cid:48)(cid:48) R R T ∈ T origins of r and r . Also, let v be the least common ancestor of u and w in (v). We define v to (cid:48) (cid:48)(cid:48) (cid:48) R (cid:48) T be the root of B. The path P in tree (v) from v to u comprising of a sequence of critical sources R (cid:48) T is the critical ancestor path of r with respect to r . Note that the critical ancestor path of a ray is (cid:48) (cid:48)(cid:48) always defined with respect to a sibling pair. Given that rays in the bundle B are successive rays, nodes on the critical ancestor paths from u and w to v in the subtree (v) provide all the rays in (cid:48) R T the bundle B. We next show a property of the rays in a bundle. We define two rays to be pairwise divergent during traversal of an edge sequence if they do not intersect each other during the traversal. A E bundle of rays is divergent during traversal of if all rays in the bundle are pairwise divergent E during the traversal. Lemma 3.1 Let B be a ray bundle of (v) and let be the edge sequence associated with rays in R T E B. The rays in B are pairwise divergent whey they traverse across the edge sequence . E Proof: Let v be the root of a bundle. The rays in B that start from v , termed R(v ), clearly (cid:48) (cid:48) (cid:48) diverge during the traversal of the sequence of edges , since divergence is preserved on refraction. E Additionally, consider rays in B that are generated from a critical source, w, termed R(w). Each pair of rays, a steiner ray r originating at w and a ray in R(v ), are pairwise divergent, by con- (cid:48) struction. Similarly, every pair of ray in R(w) is pairwise divergent. These rays remain pairwise divergent after refraction during propagation across edges in the sequence . In general, let R be E a bundle of rays that is divergent during traversal of a subsequence of . These rays are generated E from a vertex and/or a set of critical sources. Suppose the rays in the bundle strike an edge e j ∈ E and refract, and also generate a critical source w on e . Then R R(w ), where R(w ) is the set (cid:48) j (cid:48) (cid:48) ∪ of Steiner rays generated from w , is a set of rays with every pair of rays being pairwise divergent (cid:48) during traversal of since every steiner ray inR(w ) is pairwise divergent from each ray in R. Thus (cid:48) E these rays will not intersect each other as they strike edges e ...e . j+1 k (cid:116)(cid:117) The consequence of this Lemma is that rays in a bundle B can be angle ordered. As described later, this ordering and the critical ancestor path of a ray will be useful in efficiently splitting a sibling pair of (v). R T 4 Bounding the number of initiated and traced rays Before detailing the algorithm, we bound the number of initiated and traced rays in . An ap- P proximate weighted shortest path from source s to t can be split into sub-paths such that each such sub-path goes between a pair of vertices. Further, each of these sub-paths are classified into following types: 8 a Type-I path from one vertex to another vertex that does not use any critical segment in • between, and a Type-II path from one vertex to another vertex that critically reflects and uses at least one • critical segment in-between. We next bound the approximation achieved for both of these types of paths by establishing properties regarding the rays. We show that given a Type-I (resp. Type-II) weighted shortest path P from a vertex, say u, to another vertex, say v, there exists a Type-I (resp. Type-II) path P (cid:48) using only rays in our discretization such that P closely approximates P. We first consider the (cid:48) divergence of successive rays that are within the same bundle. This divergence is due to refraction of rays. Lemma 4.1 Let r ,r be two successive rays in a bundle in (u). Also, let q and q be points (cid:48) (cid:48)(cid:48) R (cid:48) (cid:48)(cid:48) T on rays r and r respectively, at weighted Euclidean distance d from s and lying on the same face. (cid:48) (cid:48)(cid:48) If the angle between rays r and r is upper bounded by 1 ((cid:15))n2(cid:15), then the weighted Euclidean (cid:48) (cid:48)(cid:48) 2µ (cid:48) (cid:48) distance of the line segment joining q and q is upper bounded by d(cid:15). Here, (cid:15) is a small constant (cid:48) (cid:48)(cid:48) (cid:48) (cid:48) (expressed in terms of input parameters). Proof: We first show a bound on the di- vergence between a pair of successive rays in ei R(u). Letthesiblingpairofraysr(cid:48),r(cid:48)(cid:48)in R(u) θi(cid:48) θi+1 T T r(cid:48) traverse across the (same sequence of) faces f ,f ...f with weights w ,w ,...,w re- 1 2 p+1 1 2 p+1 spectively. Let δ be the angle between r(cid:48) and θi(cid:48)+δi(cid:48) θi+1+δi+1 r(cid:48)(cid:48) r . Let e ,e ,...e be the edge sequence as- (cid:48)(cid:48) 1 2 p sociated with this sibling pair, with e being i Figure 6: Illustratingtheangleofrefractions the edge adjacent to faces fi and fi+1 for ev- of rays r(cid:48) and r(cid:48)(cid:48) ery i p. Let θ ,θ ,...,θ be the angles at ≤ 1(cid:48) 2(cid:48) p(cid:48) which the ray r is incident on edges e ,e ,...,e respectively. (See Fig. 6.) Let θ ,θ ,...,θ (cid:48) 1 2 p 2 3 p+1 be the angles at which the ray r refracts at edges e ,e ,...,e respectively. Similarly, let (cid:48) 1 2 p θ + δ ,θ + δ ,...,θ + δ be the angles at which the ray r is incident on edges e ,e ,...,e 1(cid:48) 1(cid:48) 2(cid:48) 2(cid:48) p(cid:48) p(cid:48) (cid:48)(cid:48) 1 2 p respectively. And, let θ +δ ,θ +δ ,...,θ +δ be the angles at which the ray r refracts 2 2 3 3 p+1 p+1 (cid:48)(cid:48) at edges e ,e ,...,e respectively. (See Fig. 7.) For every i, if a critical angle exists for edge e , 1 2 p i assume that both θ and θ +δ are less than that critical angle. Further, for every i, assume that δ i(cid:48) i(cid:48) i(cid:48) i is a small positive number less than (cid:15) (we will justify this assumption later). We will first provide (cid:48) a bound on δ in terms of δ . p 1 For every integer i [1,p], using Snell’s law, ∈ w sinθ = w sinθ (1) i i(cid:48) i+1 i+1 and w sin(θ +δ ) = w sin(θ +δ ). i i(cid:48) i(cid:48) i+1 i+1 i+1 Since δ = δ , i(cid:48) i w sin(θ +δ ) = w sin(θ +δ ). i i(cid:48) i i+1 i+1 i+1 9 Both δ and δ are assumed to be very small; thus we approximate sinδ ,cosδ ,sinδ , and i i+1 i i i+1 cosδ with the first term of the series expansion (an analysis with higher order terms reveals no i+1 additional benefit) and thus: w sinθ +w δ cosθ = w sinθ +w δ cosθ i i(cid:48) i i i(cid:48) i+1 i+1 i+1 i+1 i+1 w δ cosθ = w δ cosθ (from(1)) ⇒ i i i(cid:48) i+1 i+1 i+1 w cosθ δ = i i(cid:48) δ (2) i+1 i ⇒ w cosθ i+1 i+1 Letting max cosθi(cid:48) = β, the above leads to 1≤i≤p cosθi+1 w δ 1 βpδ , p 1 (3) p+1 1 ≤ w ≥ p+1 Let θi be the critical angle corresponding to faces f and f . If θ is close to the critical angle c i i+1 i(cid:48) θc then β grows unbounded. We thus restrict θ to θi K(cid:15), where K is a constant defined as miax ( wi+1 ). And, we note that K is upper boi(cid:48)undedc −by µ2(cid:48). This ensures that every refracted i wisinθci ray is at an angle less than π (cid:15) with respect to the normal at edge e . Thus β 1 1. 2 − (cid:48) i ≤ cos(π2−(cid:15)(cid:48)) ≤ (cid:15)(cid:48) The error introduced due to this assumption will be bounded later. r 0 q 0 d02 d2 r p 00 fi+1 d01 01 dˆ2 q00 d ei p1 de p02 02 f i d 1 d 01 p 2 Figure 7: Illustrating the construction in proving Lemma 4.1 (Exceptforde,allthedistances’showninthefigureare weightedEuclideandistances.) TocomputetheweightedEuclideandistancebetweentwopointsatweightedEulcideandistance d from the source, first we restrict our attention to two points that are on successive rays in the same bundle at weighted Eulcidean distance d from the source and that lie on the same face. Let thetwopoints, q andq , bothonthesamefacef , besuchthatthey(i)lieonapairofsuccessive (cid:48) (cid:48)(cid:48) i+1 rays r and r in the same bundle in (u), and (ii) are at equal weighted Euclidean distance from (cid:48) (cid:48)(cid:48) R T u. Let p be the point of incidence of r on an edge e (which is common to f and f ) with an 1 (cid:48) i i i+1 angle of incidence θ and let it refract from p at an angle of refraction θ . Further, let the ray i(cid:48) 1 i+1 r be incident on e at p with an angle of incidence θ + δ and refract from p at an angle of (cid:48)(cid:48) i (cid:48)2 i(cid:48) i(cid:48) (cid:48)2 refraction θ +δ . (See Fig. 7.) W.l.o.g., assume that the weighted Euclidean distance from i+1 i+1 vertex u to p is larger than the distance from u to p . Consider an additional point p located on (cid:48)2 1 2 ray r such that both p and p are in the face f , and the weighted Euclidean distance from u to (cid:48)(cid:48) 1 2 i either of these points is d. Let d be the weighted Euclidean distance between p and p . Also, (cid:48) 1 1 2 points q ,q are located on rays r ,r respectively such that q ,q are in the region f with weight (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) (cid:48) (cid:48)(cid:48) i+1 w . Further, we let d be the weighted Euclidean distance from u to either of these points and let i+1 d be the weighted Euclidean distance between q and q . 2 (cid:48) (cid:48)(cid:48) 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.