pursuit/evasion voronoi diagrams€¦ · pursuit/evasion voronoi diagrams∗ warren cheung and...

25
Pursuit/Evasion Voronoi Diagrams * Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract In typical 2D Voronoi diagrams, the dis- tance from a site to a point in the plane is unaf- fected by the existance of other sites. In 2D pur- suit/evasion Voronoi diagrams, the distance from an evader to a point is the length of the shortest path to that point that avoids all pursuers. Since pursuers can move, the paths that evaders follow to reach certain points in the plane can be quite complicated. We consider the problem of calculat- ing the 2D pursuit/evasion Voronoi diagram, in the presence of obtacles, using the L 1 distance metric. 1 Introduction Let P be the set of m pursuers. Let there be an evader e. For each site p (one of the pursuers or the evader in the set P ∪{e}), we will provide a starting point p, a speed v p and a starting time t p . Let O be the set of line segment obstacles with n vertices that block the movement of both pursuers and evaders. The task is to partition the plane into regions reach- able by the evader without any chance of capture by the pursuer and regions where capture by the pursuers is possible. Each region reachable by the evader includes a description of how the evader can reach the points in the region. This partition will be called the pursuit-evasion Voronoi diagram. We can view the evader as a robber, escaping the scene of a jewelry heist, and the pursuers as the cops. The robber can compute the pursuit-evasion Voronoi diagram, where the evader starting posi- tion is the location of the jewelry store and the pursuer starting positions are the nearby police sta- tions. The obstacles model regions with no streets such as parks and rivers. The evader starting time is the amount of time it takes the robber to load a car full of ill-gotten gains, and the starting time for each of the pursuers is the delay for the cops at that police station to wake up and get into their cars. * This research was supported in part by an NSERC Re- seach Grant. The pursuit-evasion Voronoi diagram computes “safe” regions. For any point in a “safe” region, the point can be reached by the robber without danger of capture by any of the cops, and the diagram de- scribes a path to the point for the robber. The rob- ber may wish to ensure a safe haven or the border crossing into another country lies within a “safe” region. This does not mean that paths that pass through the regions not marked “safe” guarantee capture, but only that the possibility for capture exists along these paths. For example, there may be many cops leaving each police station taking different paths, whereupon following “safe” paths may be a better choice. However, there may be very few cops on duty, whereupon the robber may be un- molested even when taking paths that pass through the regions not marked “safe” in the pursuit-evasion Voronoi diagram. Therefore, the pursuit-evasion Voronoi diagram provides a diagram which separates “safe” escape routes from risky ones, leaving the actual decisions to the user. As well, the robber can recompute the pursuit-evasion Voronoi diagram during the escape, as the position of the robber changes and new in- formation about the positions of the cops becomes available, resulting in a new pursuit-evasion Voronoi diagram. We also propose a method to merge the pursuit- evasion Voronoi diagram for several evaders. We shall refer to the set E be the set of s evaders. We can combine the pursuit-evasion Voronoi diagram of several evaders to obtain a combined diagram that identifies the points in the plane reachable by some evader, and a shortest path without capture that reaches the points in each region. Alterna- tively, given the set E of evaders and the pursuit- evasion Voronoi diagram for each evader, we provide a method to compute the region reachable by all the evaders. We now give several precise mathematical defini- tions that will enable us to specify the exact mean- 1

Upload: others

Post on 30-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

Pursuit/Evasion Voronoi Diagrams∗

Warren Cheung and William EvansDepartment of Computer Science, University of British Columbia

Abstract In typical 2D Voronoi diagrams, the dis-tance from a site to a point in the plane is unaf-fected by the existance of other sites. In 2D pur-suit/evasion Voronoi diagrams, the distance froman evader to a point is the length of the shortestpath to that point that avoids all pursuers. Sincepursuers can move, the paths that evaders followto reach certain points in the plane can be quitecomplicated. We consider the problem of calculat-ing the 2D pursuit/evasion Voronoi diagram, in thepresence of obtacles, using the L1 distance metric.

1 Introduction

Let P be the set of m pursuers. Let there be anevader e. For each site p (one of the pursuers or theevader in the set P ∪{e}), we will provide a startingpoint p, a speed vp and a starting time tp. Let O bethe set of line segment obstacles with n vertices thatblock the movement of both pursuers and evaders.The task is to partition the plane into regions reach-able by the evader without any chance of captureby the pursuer and regions where capture by thepursuers is possible. Each region reachable by theevader includes a description of how the evader canreach the points in the region. This partition willbe called the pursuit-evasion Voronoi diagram.

We can view the evader as a robber, escaping thescene of a jewelry heist, and the pursuers as thecops. The robber can compute the pursuit-evasionVoronoi diagram, where the evader starting posi-tion is the location of the jewelry store and thepursuer starting positions are the nearby police sta-tions. The obstacles model regions with no streetssuch as parks and rivers. The evader starting timeis the amount of time it takes the robber to load acar full of ill-gotten gains, and the starting time foreach of the pursuers is the delay for the cops at thatpolice station to wake up and get into their cars.

∗This research was supported in part by an NSERC Re-seach Grant.

The pursuit-evasion Voronoi diagram computes“safe” regions. For any point in a “safe” region, thepoint can be reached by the robber without dangerof capture by any of the cops, and the diagram de-scribes a path to the point for the robber. The rob-ber may wish to ensure a safe haven or the bordercrossing into another country lies within a “safe”region.

This does not mean that paths that pass throughthe regions not marked “safe” guarantee capture,but only that the possibility for capture exists alongthese paths. For example, there may be manycops leaving each police station taking differentpaths, whereupon following “safe” paths may bea better choice. However, there may be very fewcops on duty, whereupon the robber may be un-molested even when taking paths that pass throughthe regions not marked “safe” in the pursuit-evasionVoronoi diagram.

Therefore, the pursuit-evasion Voronoi diagramprovides a diagram which separates “safe” escaperoutes from risky ones, leaving the actual decisionsto the user. As well, the robber can recompute thepursuit-evasion Voronoi diagram during the escape,as the position of the robber changes and new in-formation about the positions of the cops becomesavailable, resulting in a new pursuit-evasion Voronoidiagram.

We also propose a method to merge the pursuit-evasion Voronoi diagram for several evaders. Weshall refer to the set E be the set of s evaders. Wecan combine the pursuit-evasion Voronoi diagramof several evaders to obtain a combined diagramthat identifies the points in the plane reachable bysome evader, and a shortest path without capturethat reaches the points in each region. Alterna-tively, given the set E of evaders and the pursuit-evasion Voronoi diagram for each evader, we providea method to compute the region reachable by all theevaders.

We now give several precise mathematical defini-tions that will enable us to specify the exact mean-

1

Page 2: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

ing of capture and evasion.

Definition Given a speed v, the travel time for apath with length l is l/v. Therefore, if we are givena starting time t, the absolute arrival time for apath length l, given speed v and starting time t, islv + t.

An evader e can reach a point p via an evasivepath if there exists a path φ from e to p such thatfor every point q along the path, the arrival timefor the evader e along the path to q is shorter thanthe shortest arrival time for any pursuer to q. Tomake this more precise, let us consider a path φ,and points x and y on the path φ. Let dφ(x,y)be the distance along the subpath of φ from x toy, where dφ(x,y) = ∞ if the subpath of φ fromx to y crosses an obstacle in O. For convenience,let dφ = dφ(x,y) if φ is a path from x to y. Letd(a,p) = minρ∈Φ(a,p) dρ(a,p), where Φ(a,p) is theset of all paths from a to p. In other words, d(a,p)is the length of the shortest obstacle-avoiding pathfrom a to p if such a path exists, or ∞ otherwise.

Definition A path φ from e to p is an evasive pathfor the evader e if and only if

∀q ∈ φ, dφ(e,q)/ve + te ≤ minf∈P

d(f ,q)/vf + tf

Let d∗(e,p) be the length of the shortest evasivepath to p for evader e if such a path exists, or ∞otherwise.

Definition An evader e can reach a point p if thereis an evasive path from e to p for the evader e.

Definition A point p belongs to the region forevader e if and only if

d∗(e,p)/ve + te ≤ minj∈P

d(j,p)/vj + tj

Definition A point p belongs to the region for pur-suer q iff

d(q,p)/vq + tq ≤ minj∈P

d(j,p)/vj + tj

We call the partition of the plane into regionsbelonging to each pursuer or evader the pursuit-evasion Voronoi diagram. This partition will de-scribe all the points which can be reached by theevader without being captured by the pursuer, andwill also give a shortest path to reach these points.

In the following sections, we propose an algorithmto calculate the pursuit-evasion Voronoi diagramthat runs in polynomial time under the L1 distancemetric (See Figure 1 for an example of a pursuit-evasion Voronoi diagram). We also note that thispartition can be used to upper and lower bound theL2 diagram, and provide methods of merging thediagrams of multiple evaders.

2 Related Work

The pursuit-evasion Voronoi diagram is a variationof the traditional Voronoi diagram that integratesmany properties of several other well-known vari-ations of the Voronoi diagram. In particular, weshall show that the pursuit-evasion Voronoi diagramincorporates elements of the compoundly weightedand the constrained Voronoi diagrams[3, 12], whileadding restrictions similar to the crystal growthVoronoi diagram[15, 14].

In a traditional Voronoi diagram in two dimen-sions, we are given a set of generator points, alsoknown as sites. The plane is partitioned into re-gions, where all points in a region are closer to onesite than any other site, with distance being calcu-lated using a particular distance metric, such as L2.We can note that although the distance to a pointis used to partition the plane, this is equivalent tousing the arrival time along a straight line path, ifwe consider all sites as having a speed of 1.

The compoundly weighted Voronoi diagrams [4,12] allow sites to have both an additive weight and amultiplicative weight. We can model starting timeand (the inverse of) speed in the context of arrivaltime using additively weighted and multiplicativelyweighted sites. The Voronoi diagram partitions theplane into regions, where a point is in the regionfor a site if the arrival time of a straight line pathfrom the site is the earliest out of the arrival timesof straight line paths from all the sites.

In an additively weighted Voronoi diagram, ev-ery site is assigned an additive weight. Again, if weconsider all sites to have speed 1, the travel timealong a straight line will be equivalent to the dis-tance. Therefore, the arrival time at a point from asite is the distance between the point and the siteplus the additive weight associated with the site.

In a multiplicatively weighted Voronoi diagram,every site is assigned a multiplicative weight. Thetravel time of the straight line path to a point from asite, in this case, is the distance between the site and

2

Page 3: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

e

q

t1

t2

t3

Re

R2

R1

t4

R3

t5

R5

t6

R6

t7

t8

t9

Figure 1: A simple example of the pursuit-evasionVoronoi diagram in L1 for the evader e and the pur-suer q, where the evader e has twice the speed of thepursuer. The thick black lines represent obstacles.Points in the region Re can be reached the evadertaking a straight line path from e to the point in Re.Points in R1 can be reached by the evader taking apath from e to t1 and then to the point in R1, andso on. Some points, such as t4, t7, t8 and t9 can bereached but do not have regions of their own.

the point multiplied by the multiplicative weightassociated with the site. Therefore, we can considerthe multiplicative weight to be the inverse of thespeed for a site.

In a compoundly weighted Voronoi diagram, wedefine the arrival time at a point from a site asthe distance given by the distance function multi-plied by the multiplicative weight, plus the additiveweight. This is equivalent to assigning each site astarting time and speed, and considering the arrivaltime of straight line paths to points.

The constrained Voronoi diagram [8, 2, 3] intro-duces a set of edges, also known as obstacles. Thedistance from a site to a point is defined to be thelength of the shortest obstacle-avoiding path fromthe site to the point. We can view constrainedVoronoi diagrams as a partition of the plane intoregions. A point is in the region for a site if the ar-rival time to the point from the site, along a shortestobstacle-avoiding path, is the earliest of all the ar-rival times of obstacle-avoiding paths to the pointfrom a site.

The multiplicatively weighted crystal growthVoronoi diagram introduces another constraint onthe paths taken to the points in the region for asite — paths cannot pass through points passedthrough earlier by another site. This models theregion obtained where each site represents a crystaland each crystal grows outwards simultaneously atthe constant speed associated with the respectivesite. The crystals may only grow on empty space,and therefore must grow around the regions estab-lished by other sites. Schaudt and Drysdale[15, 14]detail an numerical expanding wavefront method toconstruct the crystal Voronoi diagram in L2, as wellas an event-driven expanding wavefront algorithmfor computing the crystal Voronoi diagram for con-vex polygon distance functions, including L1.

The pursuit-evasion Voronoi diagram problemwill handle the presence of obstacles and allow sitesto be assigned velocities (multiplicative weights)and starting times (additive weights). In addition,our definition of evasive path distance treats pointswhere the pursuer can capture the evader as ad-ditional obstacles the evader cannot pass through.However, rather than requiring every site’s pathto avoid every other site’s region (as is the casefor crystal Voronoi diagrams), we require that theevaders avoid the pursuers’ regions, and allow pur-suers to move freely through evaders’ regions.

3

Page 4: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

3 Motivation

Unlike most variations of the Voronoi diagram, wehave asymmetry in the manner in which sites aredealt with, as we classify sites as either pursuersor evaders. Pursuers behave in a manner simi-lar to sites in a constrained, compoundly weightedVoronoi diagram, considering all paths avoiding ob-stacles, whereas evaders behave similarly to sites ina constrained, compoundly weighted crystal growthVoronoi diagram, considering only paths that avoidboth obstacles and capture by pursuers.

A natural way to view the pursuit-evasionVoronoi diagram is as the diagram obtained by thegrowth of two types of agents. Commonly-usedexamples in other Voronoi diagrams include thespread of bacteria in a petri dish or the growth ofcrystals[15, 14, 3]. In this case, one agent (mod-elled by the pursuer) is not limited by anythingother than its speed, but the other (modelled bythe evader) may only grow into clear space. Forexample, we can consider two bacterial strains, onestrain that can be killed by the presence of an an-tibiotic, and the other strain producing that par-ticular antibiotic and being immune to its effects.The first strain cannot grow into regions occupiedby the second, as it would be killed by the presenceof the antibiotic being produced, whereas the sec-ond strain does not have this problem. In a moregeneralised setting, we could also consider approx-imating other asymmetric populations of predatorsand prey.

Another setting which considers the growth oftwo types of agents is the spread of a biologicalor chemical agent. The pursuer in this case rep-resents a counter-agent that controls the spread ofthe agent. The evader region describes the area thatis contaminated by the agent before the arrival ofthe counter-agent. For example, the spread of theBlack Death in Europe and the spatial spread ofrabies among foxes[11] have both been modelled asepidemics with wavefronts which expand outwardsat constant rate.

The pursuit-evasion Voronoi diagram can also beviewed in the context of worst-case motion plan-ning. For example, we can consider the agent weare moving to be the evader, and moving objectsin the world to be the pursuers. In this simplifi-cation, we consider the pursuers and the evadersas points moving in a plane. Interception by apursuer, in this example, corresponds to the po-

tential of collision between the agent and an ob-ject. For any point in the evader’s reachable region,there is a path guaranteed to be free of collisionsfor the agent. Instead of modelling the behaviourof the other agents, we assume the worst possiblecase. This allows us to generate paths which cannever be intercepted, given the specified constraints.Many real-world motion planning applications, suchas those which involve danger to human life, can-not tolerate collisions. For example, traffic con-trol, camera operation in telesurgery and other vir-tual presence applications[10] are situations whereany possibility of collision is unacceptable. OtherVoronoi diagrams have also been used in this con-text — Kobayashi and Sugihara[9] use the an ap-proximation of the crystal Voronoi Diagram to finda worst-case optimal path for an arbitrarily shapedevader among circular pursuers.

The concepts of growth and motion planning canalso be combined. There are pathfinding applica-tions that, in addition to fixed obstacles, also incor-porate the idea of growing impediments. We canuse the pursuit-evasion Voronoi diagram to deter-mine the regions that can be reached before beingrendered impassible by some expanding impedimentto movement, such as the spread of a forest fire[13]or inundation by an expanding body of water. Inthis case, we treat the pursuer sites as a growingsource which the evaders must avoid.

We shall show that Euclidean distance (the L2

metric), although arguably the most natural mea-sure of distance in the plane, results in diagramswhich can involve circular arcs and spirals. We ulti-mately use the L1 distance metric in our algorithm.L1 distance is also known as rectilinear distance,and can be used to model distance travelled alongcity streets, when the streets run either North-South or East-West[1]. We shall also show a methodto approximate the L2 pursuit-evasion Voronoi dia-gram using the L1 pursuit-evasion Voronoi diagram.

4 Voronoi Diagrams

The distance between two points will be defined us-ing a distance metric. A distance metric d(x,y)satisfies three properties:

• d(x,y) is always non-negative, and is zero ifand only if x = y

• d(x,y) = d(y,x) (reflexivity)

4

Page 5: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

• d(x,y) ≤ d(x, z) + d(z,y) (triangle inequality)

Common distance metrics are the Lk distancemetrics, where given points a and b with Eu-clidean coordinates (xa, ya) and (xb, yb), d(a,b) =k√

(|xa − xb|)k + (|ya − yb|)k.

Definition A compoundly weighted Voronoi dia-gram for two points a and b, with multiplicativeweights va and vb, additive weights ta and tb, is apartition of the plane into a region for a and a re-gion for b, where a point p is in the region for a ifand only if d(a,p)/va + ta ≤ d(b,p)/vb + tb.

In the remainder of this section, we shall in-vestigate several simple examples of the pursuit-evasion Voronoi diagram, and show the relationshipbetween the pursuit-evasion Voronoi diagram andother kinds of Voronoi diagrams.

4.1 Pursuit-Evasion Voronoi Diagram for a sin-gle Pursuer and a single Evader

Let us consider the case when there is one pursuera and one evader b with no obstacles. We shall notethe differences between the use of the L2 norm andthe L1 norm. To simplify, we shall consider whenboth the pursuer and evader start at the same time(ta = tb) and in the absence of obstacles.

If the speed of the pursuer is equal to the speedof the evader, the pursuit-evasion Voronoi diagramis a normal Voronoi diagram. Note that by defini-tion, the boundary between the regions belongs tothe pursuer. In the L2 norm, this partitions theplane into two regions separated by a straight line,the perpendicular bisector of the line ab (See Fig-ure 2). We note that the asymmetry between thepursuer and evader does not impact the diagram inthis case as all the paths taken by the evader arestraight line paths that cannot be intercepted bythe pursuer, and all the points owned by the pur-suer cannot be reached by any path by the evaderin a shorter amount of time.

For the L1 norm, the pursuit-evasion Voronoidiagram is the normal L1 Voronoi diagram. Leta = (xa, ya) and b = (xb, yb). Within the boxbounded by x = xa, x = xb, y = ya, y = yb, wehave a separator slanted at a 45 degree angle. Oncethe boundary intersects this bounding box, it willchange direction. If the separator intersects the topor bottom edge of the bounding box, the separatorcontinues as a vertical line. If the separator inter-sects the left or right sides of the bounding box, it

a

b

RB

Figure 2: Pursuit-evasion Voronoi diagram in L2

for the pursuer a and the evader b when the pur-suer and evader have the same speed. The solidline separates the region for a from the region forb (Same as the standard Voronoi diagram for twosites in L2). The evader region is Rb, and consistsof points which are all reachable via a straight linepath from the evader start point b.

continues as a horizontal line (See Figure 3). Notethat if it intersects with a corner of the boundingbox, we can have a region of equality in addition toa boundary line of equality, which is owned by thepursuer (See Figure 4). Again, all the points in theevader region are reachable by straight line pathsthat cannot be intercepted by the pursuer.

If the pursuer is faster than the evader, thepursuit-evasion Voronoi diagram is a multiplica-tively weighted Voronoi diagram. In L2, the bound-ary is formed by an Apollonius circle[4, 12, 15, 14](See Figure 5 for an example). Without loss of gen-erality, let us translate and rotate the diagram suchthat b is at the origin and a lies on the positivex-axis at (xa, 0), with the pursuer starting at a andthe evader starting at b. The multiplicative weightsfor sites a and b will be 1

vaand 1

vbrespectively, with

va > vb. We get a circle such that the two points( xavb

va+vb, 0) and (−xavb

va−vb, 0) are opposite ends of the

diameter of the circle. We note that the region forthe evader in the pursuit-evasion Voronoi diagramis always contained in the corresponding region in amultiplicatively weighted Voronoi diagram, as cap-ture by the pursuer is ignored the multiplicativelyweighted Voronoi diagram. However, all the pathstaken by the evader b in this example are straight

5

Page 6: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

b

a

Rb

Figure 3: Pursuit-evasion Voronoi diagram in L1 forthe pursuer a and the evader b when the pursuer andthe evader have the same speed. It is composed ofa line at 45 degrees and vertical lines (Same as thestandard Voronoi diagram for two sites in L1). Theevader region is Rb, and consists of points whichare all reachable via a straight line path from theevader start point b.

b

a

Rb

Figure 4: Another example of the pursuit-evasionVoronoi diagram in L1 for the pursuer a and theevader b when the pursuer and the evader have thesame speed. The solid line and the grey region rep-resent the region where the distance from a is thesame as the distance from b, and therefore belongsto the pursuer a. Again, the boundaries are thesame as in the standard Voronoi diagram for twosites in L1. Rb is the region reachable by the evader,and consists of points that are all reachable via astraight line path from the evader start point b.

b a

Rb

Figure 5: Pursuit-evasion Voronoi diagram in L2 forthe pursuer a and the evader b, where the pursuer isfaster than the evader (Same as the multiplicativeVoronoi diagram in L2). Rb is the region reachableby the evader, and consists of points that are allreachable via a straight line path from the evaderstart point b.

line paths to the circle boundary, with the earli-est interception point at the circle boundary. As nopaths extend beyond the circle boundary, the evaderregion in the pursuit-evasion Voronoi diagram is thecorresponding multiplicatively weighted Voronoi re-gion.

If the evader is faster than the pursuer, theboundary between the pursuer and the evader inthe pursuit-evasion Voronoi diagram is the bound-ary in a multiplicatively weighted crystal growthVoronoi diagram. In multiplicatively weighted crys-tal growth diagrams, the evader treats all points inthe pursuer’s region as obstacles, which is equivalentto the constraint for the pursuit-evasion Voronoi di-agram. As well, in multiplicatively weighted crystalgrowth diagrams, the pursuer treats the points inthe evader’s region as obstacles, but this does notaffect the diagram as the pursuer cannot reach anypoint in the evader region via a straight line pathbefore the evader can reach it. In L2, the boundaryis partly an Apollonius circle, same as in the multi-plicatively weighted Voronoi diagram, and partly alogarithmic spiral[15, 14] (See the example in Fig-ure 6).

The points in the evader region that can bereached by straight line paths, unstopped by thepursuer, lie in the region Ra. They form a bound-ary that incorporates part of the circular boundaryfrom the multiplicatively weighted Voronoi diagram(see the portion of the boundary of the region Ra

between the points t1 to t2 and closer to a in Fig-ure 6). Note that the rest of the circular bound-

6

Page 7: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

a b

t1

t2

R1

R2

Rb

Figure 6: Pursuit-evasion Voronoi diagram in L2 forthe pursuer a and the evader b, where the evader isfaster than the pursuer (Same as the crystal growthVoronoi diagram in L2). The region Ra consist ofpoints whose shortest evasive path is a straight linepath from a. The region R1 consists of points whoseshortest evasive path is a straight line to the pointt1, following the solid line boundary and then astraight line to the destination (Similarly for R2).The dotted circle inside is the circular boundaryfrom the multiplicative Voronoi diagram, for com-parison with the boundary which is composed oftwo logarithmic spirals starting at t1 and t2, andintersecting at the boundary between R1 and R2.

ary (the dashed boundary in Figure 6), obtained bypaths from the evader that pass through the pur-suer controlled region, is not valid, as these evaderpaths can be intercepted by the pursuer. However,a valid evader path would be for the evader to runto a point tangent to the circular boundary (such ast1 or t2 in the example), and then to follow a paththat is just outside the reach of the pursuer. Thepoints along this path have the property that thedistance along the path is proportional to the dis-tance to the pursuer starting point, which describesa logarithmic spiral (See the solid portions of theboundary for the regions R1 and R2).

In general, shortest evasive paths can also leavethe spiral boundary and continue in a straight linefashion towards their destination, possibly interact-ing with other pursuer points and forming more

complex curves. Considering the L2 norm as thedistance function, if there exist pursuers or evaders(in other words, i and j in P ∪ E) with differ-ing speeds (vi 6= vj), or in the presence of obsta-cles (O 6= ∅), there can be boundaries between re-gions that are formed by second degree curves[12].We obtain hyperbolic curves at the boundaries be-tween points with differing additive weights, whichcan also occur with the addition of obstacles. Asseen in the previous examples, we can also get cir-cular arcs when multiplicative weights differ, andsections of logarithmic spirals are possible when thespeed of an evader exceeds that of a pursuer. Aswe are unaware of general closed form solutions forthe boundaries in the L2 multiplicatively weightedcrystal growth Voronoi diagram[15, 14], it is likelythat the boundaries in the pursuit-evasion Voronoidiagram can be equally complex and would requirenumerical methods to compute.

We can note that when we are working in theL1 metric, the solution for the curves which formthe multiplicatively weighted Voronoi diagram fortwo points are straight lines. When we have a pur-suer that is faster than the evader, the boundary ofthe pursuit-evasion Voronoi diagram is the same asthe boundary for the corresponding multiplicativelyweighted Voronoi diagram. When solving for theboundary of the multiplicatively weighted Voronoidiagrams in general for two points a and b, we aresolving the equation

d(x,a)/va = d(x,b)/vb

Without loss of generality, we can consider thespeed of b to be 1, a to lie at the origin, and b tolie in the first quadrant. Therefore, in L1, we areconsidering

(|x|+ |y|)/va = (|xb − x|+ |yb − y|)However, we can note that this can be broken

up into nine cases. We have three possible kindsof values for x: x ≤ 0, 0 ≤ x ≤ xb and x ≥ xb.Similarly, there are three kinds of values for y: y ≤0, 0 ≤ y ≤ yb and y ≥ yb. Therefore, the aboveequation reduces to nine possible lines in each ofthe nine regions. Of course, not every region willhave a valid solution — we obtain a polygon thatsurrounds the slower site. This gives us, like thediagram in L2, the pursuit-evasion Voronoi diagramin L1 when the evader is slower than the pursuer,if we note that all paths taken by the evader follow

7

Page 8: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

straight lines to the boundary without entering thepursuer’s region.

For the crystal growth Voronoi diagram in L1,the boundary is again composed of straight linesegments and will only bend when it reaches theboundary of the nine regions we mentioned before.We refer to Schaudt[14], which details a generalalgorithm for computing the boundary of crystalgrowth Voronoi diagrams for L1 (and other dis-tance functions). Just as in the L2 case, we needto carefully consider which points can be reachedvia straight line paths. Therefore, when va > 1, wewill have part of the diagram that is identical tothe multiplicative Voronoi diagram. However, thelogarithmic spiral in L2 simplifies to a series of linesin L1. We can note the solution to the compoundlyweighted Voronoi diagram in L1 is very similar tothat of the multiplicatively weighted Voronoi dia-gram, with boundaries composed of straight linesegments. When we consider the paths which needto bend around the pursuer region in the crys-tal growth Voronoi diagram, we can compute theportion that bends around the pursuer region (thepart which corresponds to the logarithmic spiral inL2) using the solution to the compoundly weightedVoronoi diagram — we can consider a site at thepoint where the path turns, and has the same speedas the original site but a starting time equal to thetime it takes the original site to reach the turn. Inthis manner, we can follow the boundary around thepursuer region. Otherwise, by similar arguments asthe L2 case, the crystal growth Voronoi diagram inL1 also describes the L1 pursuit-evasion Voronoi di-agram when the evader is faster than the pursuer(See Figure 7 for an example).

5 Pursuit-Evasion Voronoi Diagram

We shall begin with defining several terms usefulin describing the pursuit-evasion Voronoi diagramand proving properties of the structures discoveredby our algorithm.

Definition The crystal around an obstacle vertexor pursuer start point p with respect to the evadere (and the set P of pursuers and the set O of ob-stacles) is the set of points

C = {q|mina∈P

(d(a,p)/va + ta + dpq/va

) ≤ (d∗(e,q)/vb + tb)}

a

b

Rb

R1

t1

t2

t3

R2

R3

R23

Figure 7: Pursuit-evasion Voronoi diagram in L1 forthe pursuer a and the evader b, where the speed ofthe evader is greater than the speed of the pursuer.Rb is the region of points reachable via a straightline path from b. R1 is the region of points reachablevia a path from b to t1 and then via a straight line tothe destination, and similarly for R2 and R3 (whichis reached via t1). Note that there is a degeneratesituation in the region R23, between the points t2and t3. This is a region of equality, where paths viat2 are equal in distance to paths via t1, similar tothe situation in Figure 4.

8

Page 9: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

The crystal is the region around p that no evasivepath can pass through without being intercepted bya pursuer path that passes through p. Note thatthis also implies that, for all points q in a crystal,all paths from the evader starting position will beintercepted en route to q.

Note The union of the crystals around every ob-stacle vertex and the pursuer start point is the pur-suer’s region.

Definition The vertices on the boundary of a crys-tal C are crystal vertices.

Definition A shortest path tree for an evader eis a tree whose root is e and whose other nodesare obstacle vertices or crystal vertices (with re-spect to E = {e}) such that if any point p 6= eis reachable by e then there exists a shortest eva-sive path (e, . . . ,p′,p), where (e, . . . ,p′) is a pathin the shortest path tree.

Definition The nodes in the shortest path tree foran evader e are called e’s tree nodes and consistof the evader starting point, obstacle vertices andcrystal vertices.

Lemma 1 If a shortest obstacle avoiding path inL1 from p to q exists, there must exist a short-est obstacle avoiding path from p to q consistingof straight line segments with endpoints at obstaclevertices, p and q.

This result was shown by Clarkson et al.[6].

Lemma 2 If a shortest evasive path from p to qexists for evader e, there exists a shortest evasivepath consisting of straight line segments with end-points at the evader’s starting point, crystal verticesand obstacle vertices.

Proof. We can consider the boundary of the crys-tals as obstacles — no evasive path can pass throughthe crystal boundary, effectively blocking motionjust like an obstacle. Also, there exists an evasivepath to every point not in a crystal. Therefore,we can consider the problem of finding a shortestobstacle avoiding path, considering both the crys-tal boundaries and the original obstacles as ob-stacles. Therefore, Lemma 2 is a special case ofLemma 1. ¤

As tree nodes are the vertices of the pursuerboundary region and the vertices of the obstacles,a shortest path can be found that passes only viatree nodes and p and q. Therefore, a shortest pathtree must exist for any evader, set of pursuers andset of obstacles.

Definition We define a path π = (x0, . . . ,xk) asthe path consisting of the sequence of straight linesegments x0x1, x1x2, . . ., xk−1xk.

Definition Given a path π = (x0, . . . ,xk), we de-fine the ’◦’ operator as π ◦ y = (x0, . . . ,xk,y)

We shall exploit the property shown in Lemma 2in our algorithm for computing the pursuit-evasionVoronoi diagram in a plane with the presence ofobstacles, which will run in polynomial time whenusing the L1 distance metric.

6 Computing the Pursuit-Evasion Voronoi Dia-gram

6.1 Overview of the Algorithm

At first glance, it might seem feasible to consider thediagram for each pursuer and evader independently,and then stitch these diagrams together. However,when considering shortest evasive paths, it is nec-essary to consider all pursuers, as a path is evasiveonly if it is not intercepted by any pursuer at anypoint along the path. For example, a point reach-able by the evader when we consider two pursuersindependently may not be reachable when both pur-suers are considered simultaneously (See Figure 8).

The approach we take during the algorithm is torepeatedly take an unprocessed tree node from a setof discovered points, and process the node by find-ing any new tree nodes reachable from the node tobe processed. When all the tree nodes are found,the algorithm terminates. We can view the algo-rithm as being similar to a Dijkstra-style searchfor shortest paths from a single source in a visi-bility graph. In this case, in addition to consideringobstacle vertices, we also need to consider crystalvertices, which are not known in advance. How-ever, given a tree node, we will describe an op-eration that will find all its children in the short-est path tree (among other vertices) using geomet-ric union, difference and intersection, and by com-puting the compoundly weighted Voronoi diagramfor two points. As Dijkstra’s algorithm only needs

9

Page 10: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

p1

q

p2

e

(a) Part of the pursuit-evasionVoronoi diagram for the evader ewith respect to pursuer p1. Theregion in grey is part of the re-gion owned by p1. There existsan evasive path from e to q.

p1 p2

q

e

(b) Same situation as 8(a), ex-cept we only consider the evadere and the pursuer p2.

p2p1

e

(c) When we consider both p1 and p2,there no longer exists an evasive path toq.

Figure 8: An example demonstrating how an evadere may be able to reach a point q when consideringthe pursuers p1 and p2 independently, but is unableto reach q if both pursuers are considered together.

information about the successors of the processednodes, we can implement Dijkstra’s shortest pathsearch without knowing the entire graph in advance,as long as we guarantee that by the time a node isprocessed, we can guarantee that it is a tree node,and has a correct shortest path distance estimate(See Algorithm 1 for an outline).

Algorithm 1 Outline of pursuit-evasion Voronoidiagram computation

while there exist unprocessed potential treenodes do

find an unprocessed tree node p to process.compute the region reachable from the treenode p.update the interim pursuit-evasion Voronoi di-agram.check for new potential tree nodes.remove any points that can be determined tonot be potential tree nodes.

end while

As tree nodes are processed, we discover regionsreachable via shortest evasive paths through thetree node processed. Using these regions, we con-tinually update a partition of the plane, where eachregion is associated with a processed path node.Each region for a tree node corresponds to the set ofpoints where the shortest path to a point in the re-gion is the path to the tree node (from the root) andthe straight line path from the path to the point,out of all paths in the tree to a tree node concate-nated with a straight line from that tree node tothe point.

As the shortest obstacle-avoiding path for a pur-suer to a point in the plane is independent of theevaders, we can compute the shortest path distancesfrom each pursuer to each obstacle without consid-ering the evaders.

Let O∗ be the set of the obstacle vertices of allthe obstacles in O. We note that d(a,o), for pursuera ∈ P and o ∈ O∗, is the shortest path from a to oin the visibility graph of O∗ ∪ a, where an edge inthe graph between vertices x and y has weight dxy.

Definition The set S is defined to be

S =

{ ⋃

a∈P

o∈O∗

{(o, va, d(a,o)/va + ta

}}∪ P

10

Page 11: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

where P =⋃

p∈P (p, vp, tp).

For each pursuer p ∈ P and obstacle vertex o ∈O∗, we create a triple (o, vx, tx) in S, where vx isthe speed of p and tx is the shortest arrival time of pat o. Therefore, for any point x, we can consider allof the obstacle vertices o ∈ O∗ and pursuers p ∈ Pand compute the shortest path distance for each pwith a path via each o to x. By Lemma 1, if thereexists a finite length shortest path to x it must beone of the paths considered. Therefore, the shortestarrival time from a pursuer to x can be expressedas

minq∈P

(d(q,x)/vq + tq) = min(s,vs,ts)∈S

(dsx/vs + ts)

In general, we refer to a triple x = (x, vx, tx) ashaving the equivalent of a starting position x, aspeed vx and a starting time tx.

We now consider the task of computing the re-gions associated with the evaders. To do this, werun Evader-Region (see Algorithm 2 for a detailedpseudo-code version of the algorithm). The resultof Evader-Region is P, which is a complete shortestevasive path partition for the evaders E.

Definition Dequeue-Min(Q) returns a point x ∈ Qthat has the minimum value for de[x]. In otherwords, ∀p ∈ Q, de[p] ≥ de[x].

Definition Visible(x, O) is the set of all points psuch that the straight line path xp does not passthrough an obstacle.

Visible(x, O) =⋃

p∈R2

{p|dxp < ∞}

Definition Voronoi-Region(p, q) is the Voronoi re-gion for the triple p in the compoundly weightedVoronoi diagram (without obstacles) for p and q.

Voronoi-Region(p, q) = {x|d(x,p)/vp+tp ≤ d(x,q)/vq+tq}Definition

Control-Region(p, π, R, E) = R−⋃

(x,πx,Rx)∈E(Voronoi-Region(x, p)∩Rx)

(1)

Definition Let Merge-Region(p, π,R, E) be

(x,πx,Rx)∈E{(x, πx, Rx −R)}

∪ {(p, π,R)}

Algorithm 2 Evader-Region

1: de[e] := 0, Pe := ∅, πe[e] := (e), E = ∅2: Enqueue(Q, e)3: while Q not empty do4: p := Dequeue-Min(Q){Note: d∗(e,p) =

de[p]}5: p :=

(p, ve,

d∗(e,p)ve

+ te

)

6: C :=⋃

x∈S

(Voronoi-Region(x, p) ∩Visible(x, O)) {Lemma 4}

7: R := Visible(p, C ∪O) {Lemma 5}8: R := Control-Region(p, πe[p], R, E)

{Definition 6.1,Lemma 6}9: E := Merge-Region(p, πe[p], R, E)

{Definition 6.1,Lemma 7}10: B := R∩(C∪O) {Boundary of R shared with

C and O}11: for all vertices f on the boundary B do12: if de[f ] > d∗(e,p) + dpf then13: de[f ] := d∗(e,p) + dpf

14: πe[f ] := πe[p] ◦ f15: if f /∈ Q then16: Enqueue(Q, f)17: end if18: end if19: end for20: Pe := Pe ∪ {p}21: for all q ∈ Q and q /∈ O∗ do22: if q is strictly inside the region⋃

(x,πx,Rx)∈ERx then

23: Dequeue(Q,q)24: end if25: end for26: end while27: return P

11

Page 12: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

q

t1

e

p

Figure 9: An alternative way of looking at the al-gorithm is to view the processing of each tree nodeas “increasing” the region of certainty. After pro-cessing the evader starting point e, we dequeue pfrom the queue, and therefore all points with short-est path arrival time earlier than p have the correctregions assigned, as shown by the grey region.

q

t2

e

p

t4

t3

t5

Figure 10: After processing p, the algorithm willproceed to process t2. Therefore all points withshortest path arrival time earlier than t2 have thecorrect regions assigned, as shown by the increasedgrey region.

The Evader-Region algorithm iterates over thetree nodes for the evader e. After visiting a treenode, it computes a partial partition E for e withrespect to the tree nodes visited so far by updatinga previously computed partial partition.

Definition We call E a partial (shortest evasivepath) partition for a single evader e if there existsa non-crossing shortest evasive path tree T rootedat e such that for all tuples (p, π, R) ∈ E wherep = (p, vp, tp):

1. p is a tree node

2. π is a shortest evasive path from e to p in T .

3. for all q ∈ R, π ◦q is a shortest evasive path toq among all paths π′ ◦ q with (p′, π′, R′) ∈ E .

Note ∅ is a valid partial partition, and is also theinitial partial partition when the algorithm starts.

We will show that after the algorithm visits allthe tree nodes, we have a complete partition for theevader e.

Definition E is a complete partition for an evadere if E is a partial partition for e, with the additionalconstraint that if p ∈ T then (p, π, R) ∈ E .

The complete partition contains all the regionsand paths for the pursuit-evasion Voronoi diagram,and is the final output of the algorithm.

6.2 Execution and Correctness of the Algorithm

To compute the complete partition for an evader e,the algorithm explores the shortest path tree for e,maintaining a queue of possible tree nodes Q and apartial partition E . Initially, the queue contains e,which is guaranteed to be the root of the tree, andthe partial partition is the empty set.

For every iteration of the algorithm, we shallshow it dequeues a tree node p to process fromthe queue Q by selecting the potential tree nodein the queue with the earliest arrival time. Giventhat p has been correctly identified as a tree node,we wish to determine new regions and new poten-tial tree nodes reachable by the evader via this treenode. We accomplish this by computing the regionR that is reachable by straight line evasive pathsfrom p (via a shortest evasive path to p) and de-termining the subregion of these points where thearrival time from p is earlier than the arrival time

12

Page 13: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

from any other tree node already processed. Wethen investigate the portion of the boundary of theevader reachable region that was discovered by com-puting R, updating the arrival time of the verticeson this part of the boundary and adding to Q anynew vertices as potential tree nodes. We also checkfor potential tree nodes in Q which lie within com-pletely within R, and remove them as they cannotbe tree nodes as they are now known to not lie onthe boundary. Finally, the partial partition E isupdated by adding the tuple for p, and changingthe tuples in E so that the new E is also a partialpartition.

6.2.1 Dequeuing a tree node p

To do this, while the queue contains points, we firstdequeue the point p with the lowest potential ar-rival time from Q.

Lemma 3 The point p is a tree node, and πe[p] isa shortest evasive path to p.

Proof. We shall note that de[p] is nondecreasingfor each point p dequeued from Q. This is becauseat each time we dequeue a point from Q, we de-queue the point with the minimum value. As alldistances in a distance metric are non-negative, anypoint reachable by a shortest evasive path via p thatwe enqueue must have a greater value (See lines 13and 16)

Suppose p is not a tree node. Then there mustexist a tree node such that p lies within the regionof another tree node. However, if it lies within theregion of another tree node, the shortest path to pwill be via this other tree node, and thus π cannotbe the shortest evasive path from e to p.

Suppose π is not a shortest evasive path from eto p in T . Let the shortest evasive path from e top be π′. Let x be the last tree node in π′ such thatfor some πx and Rx, (x, πx, Rx) ∈ E . Let y be thepoint that follows x in the path π′. For y to beon the path π′ to p, de[y] < de[p]. However, thiswould mean y has already been processed and thusthere must exist a tuple (y, πy, Ry) ∈ E . As this is acontradiction, π must be the shortest evasive pathfrom e to p. ¤

6.2.2 Computing the Region R

We then compute C, all the points of potentialpursuer capture that surrounds p. More precisely,

we identify all the points along straight line pathsthat extend from p where a pursuer can interceptthe path. In this case, we notice that intercep-tion occurs where equality between pursuer shortestobstacle-avoiding paths and evader shortest evasivepaths. We then exploit the compoundly weightedVoronoi diagram for two sites and visibility to com-pute C.

Lemma 4 The region C on line 6 is the set of allpoints such that a straight line path from p to thepoint (ignoring obstacles), given a speed of vp and astarting time of tp, can be intercepted by at least oneof the pursuers in P in the presence of the obstaclesO.

Proof. Voronoi-Region(x, p) computes all thepoints in the plane that are closer or equal dis-tance to x than p, in the absence of obstacles. Byintersecting with Visible(x, O), we restrict the re-gion to only include points that are reachable bya straight line path from x. This has the effect ofonly considering straight line paths from x that donot pass through obstacles. Therefore, the regioncalculated comprises the points in the plane wherea straight line path from p (which may or may notpass through obstacles) is intercepted by a pursuervia a straight line path from x (which may not passthrough an obstacle).

Therefore, if we union the regions for all x ∈ S,we know by the construction of S that we will haveconsidered the shortest obstacle-avoiding path byany pursuer to all points in the plane, as such a pathinvolves a straight line from some x ∈ S, and wewill have identified all the points in the plane whosestraight line path from p, ignoring obstacles, can beintercepted by some pursuer (See Figure 11). ¤

Now that we have all possible pursuer intercep-tion points, we can determine the region that canbe reached by an evasive path via p. A straightline path from p is valid until it is intercepted byan obstacle or a pursuer, at which point all pointsfurther along the line are not reachable. This corre-sponds neatly with the concept of visibility. Thisstep therefore computes visibility considering, asobstacles, the region C computed previously (con-taining all points where capture could occur) as wellas the actual obstacles O.

Lemma 5 The region R on line 7 is the set ofpoints that a straight line path from p can reach

13

Page 14: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

without being intercepted by a pursuer in P or beingblocked by an obstacle in O.

Proof. The region Visible(p, O) is the set of allpoints reachable in a straight line from p that donot involve paths that cross an obstacle. The regionVisible(p, C) is the set of all points reachable in astraight line from p that cannot be intercepted by apursuer. We note that both obstacles and intercep-tion points share the property that an evasive pathmay not pass through them. Therefore, the regionVisible(p, O) ∩ Visible(p, C) = Visible(p, O ∪ C) isthe set of all points reachable in a straight line fromp that do not involve paths that cross an obstacleor an interception by a pursuer (See Figure 12). ¤

To compute the region for a tuple in a partialpartition, we need to ensure that not only are all thepoints in the region reachable via some evasive paththrough the tree node p, but that the path is also ashortest evasive path. Therefore, we now introducethe function Control-Region. The purpose of thisfunction is to prune all the points in the region Rwhich have a later arrival time from p than from adiscovered tree node in the partial partition E .

Lemma 6 Assuming E is a partial partition,Control-Region (Definition 6.1) computes the re-gion of points where a path from p has the shortestarrival time with respect to the points in the set ofregions E.Proof. By Lemma 5, the region R consists of allpoints reachable along a straight line path from p.In E , each triple (x, πx, Rx) describes a region wherea point q is in Rx if and only if the arrival time fromx to q is the minimum arrival time over all triplesin E . Therefore, to add the region R to E , we needto remove all the points in R such that the arrivaltime from p is greater than from a discovered treenode in E . This can be calculated by taking, forevery triple (x, πx, Rx) in E , the intersection of Rx

and R and the Voronoi region for x in the diagramfor x and p (See Figure 13). ¤

Once the region for the tree node p has been com-puted, we need to also update the regions for all thetuples in the partial partition E , removing pointswhich no longer satisfy the shortest evasive pathproperty of the partial partition.

Lemma 7 The procedure Merge-Region (Defini-tion 6.1) adds the region R reachable from p viathe path π to the partial partition E.

q

ep

Figure 11: After processing the evader startingpoint e, we process the point in Q with the ear-liest arrival time, p, The outer dotted boundary isthe boundary of Voronoi-Region(q,p), and is com-puted ignoring all the obstacles. The shaded regionis Voronoi-Region(q,p) ∩ Visible(q, O), the regionC where the pursuer could intercept the evader, andconsiders the region inside the outer boundary thatis visible from the pursuer starting point q. Heavyblack lines indicate obstacles. The evader’s startingposition is e and there is a single pursuer starting atq. Note that C does not allow the pursuer to passthrough obstacles, but the evader may pass throughobstacles. Obstacle constraints for the evader willbe dealt with in the next step.

14

Page 15: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

q

ep

Figure 12: Considering the region C and the obsta-cles as occluding visibility, the greyed region indi-cates all the points “visible” from p. In other words,all points in the region can be reached via a straightline evasive path from p.

q

e

p

Figure 13: From p’s reachable region, we removethe set of points that have shortest evasive pathsdescribed in E . In this diagram, those points arethe ones reachable via a straight line path from e.

q

t2

ep

t4

t3

t5

R1

Figure 14: Once the light grey region for tree nodep is merged into the diagram with the dark greyregion for the evader starting position e, we removefrom the queue all potential tree nodes which nolonger satisfy the criteria for a tree node. The largerdotted polygon is the region C computed for p. Thesmaller dotted polygon is the region C computedfor e during the last iteration of the loop, and is re-sponsible for the bend in the boundary of the greyreachable region between t2 and t3. Note that t4is in a degenerate position — although it is an ob-stacle vertex, the evader cannot take any paths viat4 as arrival time of the shortest evasive path forthe evader at t4 is exactly the same as the arrivaltime of the shortest obstacle-avoiding path for thepursuer.

15

Page 16: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

Proof. As the region R contains only points withthe shortest arrival time from p (with respect to thepoints in E), any region in E that overlaps with Rmust be diminished by that overlap before R canbe added as a new tuple, to preserve E as a partialpartition.

The procedure Merge-Region removes the regionR from each existing region in E via set subtractionand then adds the tuple (p, π, R) to E . ¤

We can see the partial partition computed aftertwo iterations of the main algorithm loop in Fig-ure 14. The vertices on the boundary of R1 createnew tree nodes t4 and t5. The unprocessed treenodes t2,t3,t4 and t5 all lie on the boundary for theunion of the grey reachable regions and are there-fore still valid (See line 23).

6.2.3 Updating the Queue Q

At this point, we have the region for point p andwe can compute the section of the boundary thatwas updated by the addition of this region. In theDijkstra algorithm style, we need to update the dis-tance estimates of all the reachable points. For ouralgorithm, this means considering vertices on theboundary as potential tree nodes which need to beupdated. Therefore, any new vertices found on thesection of the boundary updated need to be addedto the queue and old vertices with a shorter distanceestimate also need to be updated. As well, sincethere are points in the queue which may not be treenodes, we remove any points which, given the newregion computed, are no longer on the boundaryand therefore are not tree nodes.

Lemma 8 At line 4, the queue Q, including thepoint to be dequeued, contains all tree nodes thatare on the boundary of the reachable region of E.Proof. We shall show this lemma via induction.

Basis Step At line 1, Q is initialised with theevader starting point e and E is empty. There-fore, the first point processed by the loop ise. As E is empty, after the first iteration of theloop, Q contains all the points on the reachableof the tree node e.

Inductive Step Assume that for some iteration ofthe algorithm loop, at line 4, the lemma holds.Then during the subsequent iteration of theloop, we add a tuple (p, π, R) to E . Only two

situations can arise — new tree nodes on theboundary are discovered and previously discov-ered tree nodes are no longer on the boundary.As seen in Lemma 7, the only change in thereachable region is in the region R. The crys-tal vertices and obstacle vertices on the bound-ary of R are added via line 16, and thus allnew tree nodes are added to Q if not alreadypresent. Similarly, tree nodes which lie com-pletely within the new region R are no longeron the boundary and are removed on line 23.Therefore, Q is updated correctly.

Therefore, every tree node on the boundary of thecurrent reachable region of E is found on the queueQ. ¤

6.2.4 Algorithm Invariant

Lemma 9 E is always a partial partition with re-spect to evader e.

Proof. Initially, E for an evader e is set in line 1 tobe empty, which is a valid partial partition.

Let us consider any tuple (p, π,R) added to E .By Lemma 3, p is a tree node and π is the shortestpath to p. Therefore, by the operation proved byLemma 6, we know that for all q ∈ R, π ◦ q isa shortest evasive path to q among all paths π′ ◦ qwith (p′, π′, R′) ∈ E . Therefore, E is always a partialpartition. ¤

6.2.5 Termination and Final Output

Lemma 10 At line 2, E contains all the tree nodesof a shortest path tree for e. In other words, thereexists a shortest path tree T such that for all p ∈ T ,there exists a region R where (p, π, R) ∈ E and π isthe path to p in the tree T .

Proof. Let us consider the possibility that a reach-able tree node t is not dequeued via the algorithm.Given a shortest path via tree nodes to reach thetree node t from an evader e, let us consider thefirst tree node s in the path not dequeued from Q.As the first point in the path is e, which is guar-anteed to be dequeued, s must have a predecessorr, which by definition of s was processed. Let ustherefore consider the iteration of the loop when rwas processed. We can note that when r is pro-cessed, all tree nodes reachable from r are added toQ on line 16. As s is a tree node reachable from r, it

16

Page 17: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

must have been added to the Q and would thereforebe processed. ¤Lemma 11 The final value for the region E calcu-lated for an evader e is the complete partition forthe evader e.

Proof. As all tree nodes reachable from e are pro-cessed during the execution of the algorithm as seenin Lemma 10, and the region associated with eachtree node is computed as seen in Lemma 6 andadded to the partial partition E as seen in Lemma 7,E is the complete partition for evader e. ¤

Figure 1 shows the complete partition for a singleevader e. Ri is the region for tree node ti, and Re

is the region for the root of the tree e.

7 The Pursuit-Evasion Voronoi Diagram forMultiple Evaders

We now consider the set of evaders E. Given D,the set containing the complete partition for everyevader, we can merge the complete partitions intoa total partition for the evaders.

Definition We call P a total shortest evasive pathpartition for a set of evaders E if:

1. For each tuple (p, π,R) ∈ P, a shortest evasivepath to any q ∈ R from the evaders in E isπ ◦ q starting at an evader e ∈ E and:

(a) e is the first point in π

(b) p = (p, ve, tp) where p is the last point inπ and tp is the arrival time of the evadere at p

2. The set of the regions R in the tuples(p, π, R) ∈ P form a partition of the set of allpoints reachable by the evaders E.

Starting with an empty set of regions, we incre-mentally add each region from each partition foreach evader. After all the regions are processed, wehave the total partition for the evaders E.

Lemma 12 P is a total partition for all evaders Eand describes all points reachable by the evaders.

Proof. P is constructed by applyingControl-Region and Merge-Region to mergeeach region in each complete partition E together.Therefore, P contains the regions associated withevery tree node of every evader processed by thealgorithm with respect to the pursuers. ¤

Algorithm 3 Total-Partition1: for all E ∈ D do2: for all (p, πp, R) ∈ E do3: R := Control-Region(p, πp, R,P)4: P := Merge-Region(p, πp, R,P)5: end for6: end for7: return P

8 Complexity Analysis

We show that the algorithm runs in polynomialtime. First, we demonstrate that there are a poly-nomial number of tree nodes, and that the com-plexity of the complete partition is also polynomial.Given the size of the output is polynomial, we showthat the algorithm runs in polynomial time.

8.1 Size of the Pursuit-Evasion Voronoi Dia-gram

We note that Schaudt[14] shows that the multiplica-tively weighted crystal Voronoi diagram has polyg-onal boundaries in L1, but was unable to show abound on the size of the diagram. They do conjec-ture that the size of the diagram for i sites is O(i).Given that n is the number of obstacle vertices in Oand m is the number of pursuers in P , we show thenumber of tree nodes processed (which includes allthe points that form the boundary of regions) is ofsize O((n + m)2(mn + m)). We show the completepartition for a single evader is O(nT 2 + T 2), whereT is the number of tree nodes. When we consider aset of evaders E, s is the size of that set. The totalpartition for s evaders is O(nT 2s2 + T 2s2).

Lemma 13 There are at most O((n+m)(mn+n))crystal vertices at which shortest evasive paths canbend, and therefore O((n + m)(mn + n)) internaltree nodes.

Proof. We note that internal tree nodes are eitherthe evader start point, obstacle vertices, or crystalvertices. As there is exactly one evader start pointand at most n obstacle vertices that can be inter-nal tree nodes, we shall focus our analysis on thenumber of crystal vertices that can be internal treenodes.

A crystal vertex c is a vertex of the pursuer re-gion. It must have a parent c′, and a shortest eva-sive path to c is via a path to c′ and then to c. c

17

Page 18: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

can only occur when the shortest evasive path viac′ arrives at the same time as the shortest obstacle-avoiding path from the pursuers. Let p be the pur-suer which follows this shortest obstacle-avoidingpath, and o be the last obstacle vertex (otherwise,the starting point p) of this obstacle-avoiding path.Therefore, the boundary at c is defined by the short-est evasive path via c′ by the evader e and the ob-stacle avoiding path via o by the pursuer p.

If c is an internal tree node, there must be a short-est evasive path that bends at c to reach anothertree node, when we restrict our attention to shortestevasive paths that consist of straight line segmentswhich pass through tree nodes and the destinationpoint.

If a shortest evasive path is forced to bend at c,the boundary of the pursuer region at c must alsobend. In L1, changes in direction on the boundarycan only occur when the boundary crosses one ofthe axes centred on c′ or one of the axes centred ono, as the boundary at c is created by the interactionbetween the evader via c′ and the pursuer p via o.

If c occurs on an axis of c′, the boundary mustcross that axis of c′. However, as the path from c′

to c also follows that axis, the boundary will crossthe path and so a shortest evasive path from c′ to ccannot bend around the boundary at c. Therefore,the c must lie on an axis of o.

We shall now consider o, an obstacle vertex or anevader starting point. Let us consider that the ori-gin is at o. We shall count how many times shortestpaths from p via o create crystal vertices on each ofthe four axes. We shall examine the positive x-axis,but the three other axes are symmetrical.

We note that if the pursuer p is faster than theevader, then their meeting point is not an internaltree node. Again, a crystal vertex c is where theshortest evasive path for the evader has the same ar-rival time as the shortest obstacle-avoiding path forthe pursuer. If the pursuer is faster, any path takenby the evader via c can be captured by the pursuerarriving earliest at c following the same path fromc to the destination as the evader. As the pursuerhas a higher speed, the pursuer will arrive earlier.Therefore, in this analysis, we shall only considerpursuers which have speed less than the evader.

We shall divide the positive x-axis into non-overlapping continuous ranges. We associate arange of points with a pursuer-point pair (p′,o′),with p′ being a pursuer and o′ being an obstaclevertex or the starting point for p′, when all points in

this range are reached by a shortest obstacle avoid-ing path from the pursuer p′ and the last pointwhere the path bends (or the starting point oth-erwise) is o′. We shall count the number of crystalvertices which occur in the ranges for all the pairs(p∗,o), where p∗ is any pursuer and o is the obstaclevertex or pursuer starting point we are considering— all the pursuer-point pairs involving o.

Within a continuous range R for (p,o) on thepositive x-axis of o, at most one internal tree nodecan exist. If an internal tree node exists at somex = i on the positive x-axis, then the arrival timefor the pursuer p via o is the same as the arrivaltime for the evader via c′. All the points x > i inthis range cannot be reached by the pursuer beforethe evader, as the evader is faster than the pursuer.Therefore, we have at most one crystal vertex ineach range for (p,o).

Let us now consider the arrival times of short-est obstacle avoiding paths for pursuers via o alongthe positive x-axis. When o is a pursuer startingpoint, only that pursuer will take paths via thispoint. However, for the obstacle vertices, any ofthe pursuers could take paths via that obstacle ver-tex. For any pursuer p, a point at position x on thepositive x-axis via o has arrival time t(x) given bythe linear equation t(x) = to +x/vp, where to is theearliest arrival time of p at o (See Figure 15 for anexample). If we consider the minimum arrival timealong the axis tmin(x), we will the obtain a contin-uous piecewise linear function that is composed ofparts of these linear equations. As we are takingthe minimum, the slope must be positive and non-increasing, and each pursuer p is responsible for atmost one piece of the function, which is where arange (p,o) can occur (See Figure 16 for an exam-ple).

However, we need to also consider ranges thatinvolve points other than o. Note that these rangescan interrupt what would have been a continuousrange for (p,o) into several ranges for (p,o), eachseparated by ranges involving points other than o(and this is the only other method of obtaining moreranges associated with o).

Let (pi,oi) be a pursuer-point pair where oi 6= o.Let us count the number of times ranges assigned tothis pursuer-point pair can interrupt the axis. Thearrival time of pi from oi to the x-axis is given by

18

Page 19: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

t0

distance along axis

arrival time t(x)

Figure 15: An example of the function t(x) thatdescribes the arrival time of a pursuer p along theaxis of an obstacle vertex or pursuer starting pointo, when the pursuer takes a path via o. to is thearrival time of the shortest obstacle-avoiding pathfrom p to o. The slope is the 1

vp. Note that both

the slope and the arrival time must be positive.

the two linear equations:

t′(x) =

{ti + (|yi|+ xi − x)/vi x ≤ xi

ti + (|yi|+ x− xi)/vi x ≥ xi

where ti is the earliest arrival time of pi at oi andvi is the speed of pursuer pi. Note that only one ofthese equations has a positive slope (See Figure 17for an example).

Let us consider when a region R′ for (pi,oi) canlie to the left of a region R for (p∗,o) (for somepursuer p∗ and the point o). The arrival time forpursuer pi via oi is the same as the arrival time forpursuer p∗ via o at the boundary between a regionfor (pi,oi) and (p∗,o), is less than to the left andgreater to the right. Therefore, this can only occurwhen t′(q) intersects tmin(x), with a steeper positiveslope at the intersection point. However, as tmin(x)is a piecewise linear function with positive and non-increasing slope, this can only occur at most once(See Figure 18 for an example).

We have at most n + m obstacle vertices or pur-suer starting points. Each of these have 4 axes.Each axis can have up to O(mn+m) interruptions,one for each of the other pursuer-point pairs, andtherefore at most O(m)+O(mn+m) = O(mn+m)regions — O(mn + m) for the interruptions andO(m) regions for each pursuer via o. Thereforewe have at most (n + m) × O(mn + m) = O((n +m)(mn + n)) internal tree nodes.

¤

distance along axis

arrival time tmin(x)

t1

t0

t2

t3

Figure 16: The thick black line is an example of thefunction tmin(x) that describes the minimum ar-rival time of any pursuer the axis of an obstacle ver-tex or pursuer starting point o, when the pursuerstake paths via o. t0, t1, t2 and t3 are the t(x) ar-rival time functions for four different pursuers. Notethat tmin(x) is a continuous piecewise linear func-tion with non-increasing slope, where each pursuercontributes at most one linear piece. Each piece,from left to right, has a smaller slope but a greaterarrival time. Note that the pursuer line t1 does notcontribute to tmin(x), as that pursuer arrived toolate and was too slow.

19

Page 20: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

ti

distance along axis

arrival time t′(x)

xi

Figure 17: An example of the function t′(x) thatdescribes the arrival time of a pursuer pi along theaxis of an obstacle vertex or pursuer starting pointo, when the pursuer takes a path via a point oi =(xi, yi) 6= o. ti is the arrival time of the shortestobstacle-avoiding path from pi to the x-axis of o,which occurs at x = xi. The slope is ± 1

vp. Note

that the arrival time must be positive.

distance along axis

arrival time

t0(x)

tmin(x)x

Figure 18: An example of when the function t′(x)for a pursuer-point pair (pi,oi) intersects the func-tion tmin(x) for the point o, where o 6= oi. xshows an intersection where we can have a regionfor (pi,oi) to the left of a region for (p∗,o), due tothe slope for t′(x) being greater than the slope fortmin(x). To the left of the intersection point x, t′(x)has an earlier arrival time than tmin(x), indicatinga region that does not belong to a pursuer passingthrough o. To the right of x, tmin(x) has the ear-lier arrival times. Note that t′(x) cannot intersecttmin(x) after x, as tmin(x) has non-increasing slope.

Lemma 14 A shortest evasive path tree containsO((n+m)2(mn+n)) nodes where m is the numberof pursuers and n is the number of obstacle vertices.

Proof. The tree nodes processed by the algorithmconsist of the evader’s starting point, some of theobstacle vertices, and the meeting points of theevader and the pursuers. Note that these meetingpoints are crystal vertices.

We know (by Lemma 13) that there are O((n +m)(mn+n)) internal tree nodes. It remains to countthe leaf tree nodes. Leaf nodes may be obstaclevertices or meeting points of the evader and a pur-suer. The obstacle vertices and the meeting pointsthat could be internal tree nodes are counted in theO((n + m)(mn + n)) bound. It remains to countmeeting points that can only be leaf tree nodes.These points are meeting points that occur on theaxes centred at an internal tree node or the meetingpoint of the evader and a faster pursuer.

A meeting point on an axis centred at an internaltree node arises from a pursuer intercepting a short-est evasive path that follows the axis from the inter-nal tree node. This is a point of capture that blocksthe evader from following the axis any further. Thusthere are no other meeting points along this axiscentred at this internal tree node. Since each in-ternal tree node has four axes, the number of thesemeeting points is at most four times the number ofinternal tree nodes, which is O((n + m)(mn + n)).

A meeting point between the evader and a fasterpursuer results in a leaf tree node as once a fasterpursuer meets the evader, the evader cannot followany path from that point that is evasive. We per-form the following conservative analysis to upper-bound the number of such interactions.

For each point o which is either an obstacle ver-tex or the starting point for a pursuer, we considerhow many times a pursuer taking a path via o canmeet an evader along an axis centred at o. Theevader must come in a straight line from an inter-nal tree node, v, to such a meeting point. At mosttwo straight-line paths from v can create meet-ing points on p’s shortest obstacle avoiding pathfrom o along this axis. This is because we havethe minimum arrival time along the axis by anypursuer via o described by a continuous, piece-wise linear function with positive, non-increasingslope tmin(x), and the arrival time of shortest eva-sive paths from v described by at most two lin-ear equations. Note that we have at most two in-

20

Page 21: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

distance along axis

arrival time

tmin(x)

t1 t2

Figure 19: This shows two examples (t1 and t2)where a function t′(x) for an evader taking a paththrough an internal tree node (as shown by the linest1 and t2) intercepts a function tmin(x) for pursuersgoing through a point o. In both these examples,there are two interception points. For clarity, theinterception points are marked.

tersections described by these equations, and pos-sibly fewer if the evader can be captured beforereaching the point of intersection from v (See Fig-ure 19 for examples). Therefore, there are at most4×2×(n+m)(mn+n)(n+m) = O((n+m)2(mn+n))such meeting points.

As a result, there are O((n + m)2(mn + n)) treenodes. ¤

We shall refer to T as the number of tree nodesin the complete partition.

Theorem 15 The complexity of the complete par-tition for a single evader is O((n + 1)T 2) = O((n +1)(n + m)4(mn + n)2). The complexity of the to-tal partition for the evaders E is O((n + 1)T 2s2) =O((n + 1)(n + m)4(mn + n)2s2).

Proof. All the regions computed are regions com-posed of the crystal vertices on the boundary ofthe pursuer region, or else they are vertices wherea boundary ends against obstacles or vertices onthe boundary between evader regions. There are atmost T crystal vertices on the boundary of the pur-suer region, and therefore at most T 2 edges on thisboundary.

Let us now consider the edges created due to ob-stacles and visibility, and edges separating regionsin the complete partition. Each of the tree nodeshas a region, and each tree node region can interactwith at most every other tree node region. How-ever, Voronoi diagrams between two points clippedby visibility of obstacles are used to generate allthe boundaries, and so each boundary is at mostO(n) + O(1) in size. Therefore, the complexity ofthese boundaries is at most O(T 2×(O(n)+O(1))) =O((n + 1)T 2).

Therefore, by Lemma 14, the complexity of thecomplete partition for a single evader is O(T 2 +O((n + 1)T 2) = O((n + 1)T 2) = O((n + 1)(n +m)4(mn + n)2).

If we consider the total partition for a set of sevaders, this is equivalent to considering s× T treenodes, and will at most consider all of these treenodes and their regions. The complexity of the to-tal partition for the evaders E is therefore O((n +1)(Ts)2) = O((n + 1)(n + m)4(mn + n)2s2) ¤

Note Note that a partial partition consists of asubset of the regions of the total partition, and so isupper-bounded by the complexity of the completepartition.

8.2 Time Complexity of the Algorithm

Let the complexity of the complete partition for anevader be D. Let the complexity of the total parti-tion for a set of evaders be L.

Let Φ(T,D) be the cost of a geometric union, in-tersection, difference or visibility operation on T re-gions with total complexity of at most O(D) edges,with the final partition having complexity of at mostO(D) edges. The union of T regions can be per-formed via T pairwise union steps, where each stepis will take at most O(D log D) time, as each re-gion and the final output is no more complex thanO(D) (See the MapOverlay algorithm in Berg etal.[7]). The visible region (also known as the visibil-ity polygon) can be computed in time O(D log D),as shown by Suri and O’Rourke[16].

Theorem 16 Computing the complete partitionfor an evader takes time O(mn + m)3 × Φ(T, D).To merge complete partitions takes additional timeΦ(sT, L)× s.

Proof. To compute the complete partition, the al-gorithm processes the T tree nodes.

21

Page 22: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

For each iteration of the main loop, a partial par-tition is computed which is no larger than the com-plete partition D. Each step of the algorithm con-siders at set of at most T polygons of complexity atmost O(D) and performs geometric union, intersec-tion, difference and visibility. Note the Voronoi di-agram computations create two point compoundlyweighted Voronoi diagrams which is a constant timeoperation. Therefore, the complete partition can becomputed in time T ×Φ(D) = O(mn+m)3×Φ(D)

A total partition of the evaders processed in-volves merging the complete partition of each of theevaders into a diagram which is smaller or equal tothe size of the total partition for all the evadersusing the same kinds of operations. The total com-plexity of the polygons in this case is L and the num-ber of we need to consider T polygons for each ofthe s evaders. Therefore, time Φ(sT, L)× s is spentcomputing the total partition of all the evaders. ¤

9 Extensions and Future Work

9.1 Reachable Region for All Pursuers

The pursuit-evasion Voronoi diagram gives regionswhere only one evader is guaranteed to reach thetarget location without capture. However, in someapplications, we have a set of evaders E and we maywish to guarantee that none of the evaders are cap-tured en route to the destination. We outline Algo-rithm 4 to compute this all-evader-reachable region.Let D be the set of all complete partitions for theevaders E.

Algorithm 4 All-evader-reachable region modifi-cation

for all E ∈ D doRe :=

⋃(x,πx,Rx)∈E

Rx

P := P ∩Re

end for

Re is the entire region reachable by evader e, andtherefore the union of these regions gives us P, theregion shared by all evaders.

9.2 Bounding the L2 Pursuit-Evasion VoronoiDiagram

Using the L1 pursuit-evasion Voronoi diagram, wecan compute a region R+ and a region R− suchthat R− ⊆ R ⊆ R+, where R is the evader region

in the L2 pursuit-evasion Voronoi diagram for a setof evaders E, pursuers P and obstacles O. If weconsider d′(a,b) to be the L1 distance between aand b, and d(a,b) to be the respective L2 distance,we can note that for any a and b:

d′(a,b) ≥ d(a,b)√2

2d′(a,b) ≤ d(a,b)

We shall also refer to dφ′(a,b) and dφ(a,b) as the

path distance functions in L1 and L2 respectively,and similarly for d′(a,b) and d(a,b). Note that bydefinition, the inequalities above also imply that thefollowing inequalities are true:

dφ′(a,b) ≥ dφ(a,b) (2)

d′(a,b) ≥ d(a,b) (3)√2

2dφ′(a,b) ≤ dφ(a,b) (4)

√2

2d′(a,b) ≤ d(a,b) (5)

We can now compute R+ by underestimating dis-tances with respect to evaders and overestimatingdistances with respect to pursuers. R+ is evader-reachable region in the L1 pursuit-evasion Voronoidiagram with the original pursuers P and modify-ing the speed of each evader in E by multiplyingwith the factor 2√

2.

Theorem 17 The region R+ (using the modifiedpursuit-evasion Voronoi diagram situation in L1)includes all points in R, the evader-reachable re-gions for the original pursuit-evasion Voronoi dia-gram situation in L2.

Proof. If a point is in R, by Definition 1, theremust be a path φ from the evader to that pointsuch that

∀q ∈ φ, dφ(e,q)/ve + te ≤ minf∈P

d(f ,q)/vf + tf

We apply the inequality 4 to obtain:

∀q ∈ φ,

√2

2dφ(e,q)/ve + te ≤ min

f∈Pd(f ,q)/vf + tf

∀q ∈ φ, dφ(e,q)/(

2√2ve

)+ te ≤ min

f∈Pd(f ,q)/vf + tf

22

Page 23: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

We then apply the inequality 3 to show the fol-lowing is also true:

∀q ∈ φ, dφ(e,q)/(

2√2ve

)+te ≤ min

f∈Pd′(f ,q)/vf+tf

(6)As Equation 6 is the definition of the evasive

paths to all the points in the region R+, if the pathφ was a valid evasive path in the original L2 situa-tion, it is also a valid evasive path in the modifiedL1 situation. Therefore, any point in R must alsobe in R+. ¤

Conversely, we can compute R− by overestimat-ing the distances with respect to evaders and un-derestimating distances with respect to pursuers.Specifically, R− is the evader-reachable region inthe L1 pursuit-evasion Voronoi diagram using theevaders E and the set of pursuers obtained by modi-fying the velocity each pursuer in the set of pursuersP by multiplying with the factor 2√

2.

Theorem 18 All the points in R− (using the mod-ified pursuit-evasion Voronoi diagram situation inL1) are points in R, the evader-reachable regions forthe original pursuit-evasion Voronoi diagram situa-tion in L2.

Proof. If a point is in the region R−, there mustexist a path φ from the evader to that point suchthat

∀q ∈ φ, dφ′(e,q)/ve + te ≤ min

f∈Pd′(f ,q)/

(2√2vf

)+ tf

We can manipulate this equation and apply the in-equality 5 to obtain:

∀q ∈ φ, dφ′(e,q)/ve + te ≤ min

f∈P

√2

2d′(f ,q)/vf + tf

∀q ∈ φ, dφ′(e,q)/ve + te ≤ min

f∈Pd(f ,q)/vf + tf

We then also apply the inequality 2 to obtain:

∀q ∈ φ, dφ(e,q)/ve + te ≤ minf∈P

d(f ,q)/vf + tf (7)

Therefore, as Equation 7 describes a valid eva-sive path in the original L2 situation, all the short-est evasive paths in the modified L1 pursuit-evasionVoronoi diagram situation are also evasive paths inthe corresponding L2 situation. This means thatany point in R− must also be a point in R. ¤

9.3 Other Techniques and Optimisations

We can note that the algorithm described here con-siders all tree nodes when computing the pursuit-evasion Voronoi diagram. Some of the crystal ver-tices processed do not have a region associated withthem - all shortest evasive paths via these crystalvertices are intercepted by the pursuers (For exam-ple, t4, t7, t8 and t9 in Figure 1). Running timecould be improved by identifying these nodes be-fore they are processed and removing them fromthe queue.

As well, we can note that the use of geometricprimitive operations of union, intersection, visibil-ity and the two point compoundly weighted Voronoidiagram in our algorithm allows us to show in astraightforward manner that the regions we com-pute have the desired properties. However, it maybe possible to compute the regions and boundariesneeded more directly. For example, we compute theregion R with the properties needed by Lemma 6via several intermediate steps — it may be possibleto do this more efficiently by computing this regionusing some other algorithm in a single step.

For example, a commonly used technique forcomputing boundaries like Voronoi regions are al-gorithms which follow the boundary of regions toconstruct the diagrams[14]. As the queue in our al-gorithm also represents the boundary, it may provepossible to adapt such techniques to more efficientlyfill the queue with tree nodes by performing aboundary following operation as opposed to com-puting entire Voronoi diagram regions. Once thetree nodes have been discovered, we could performVoronoi diagram operations to obtain the regionsfor each tree node. However, it may be necessaryto subdivide the plane into the Voronoi regions forthe pursuer sites, which would involve computingthe constrained compoundly weighted Voronoi dia-gram, which may not have an efficient solution.

Another technique often used in computingVoronoi diagrams is to consider relationships withother geometric constructions. For example, incomputing the multiplicatively weighted Voronoi di-agram, Aurenhammer and Edelsbrunner[5] consideran embedding in three dimensions. Similarly, wehave the classic Voronoi Diagram/Delaunay trian-gulation duality. However, the obstacle and captureavoiding path constraint as well as the asymmetri-cal nature of the sites may make it difficult to findsuch a relationship.

23

Page 24: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

One strength of this work is the fact that thealgorithm can consider obstacles, additive and mul-tiplicative weight while utilising only relatively sim-ple primitive operations — we use geometric union,difference and intersection. We also use the com-poundly weighted Voronoi diagram, but only con-sidering two points. Simplifications such as remov-ing the obstacles, considering pursuers of with thesame speed or only considering one pursuer couldalso make it possible to apply different techniquesor compute the diagram more efficiently. For ex-ample, when all pursuers have the same speed, thenumber of internal tree nodes by the analysis inLemma 13 is reduced to O(mn + m), making thetotal tree nodes in Lemma 14 O((mn + m)2).

9.4 Future Work

The pursuit-evasion Voronoi diagram could be ex-tended to cover the concept of airlift distance[1]. Inthis case, we add to the input an arbitrary graph Aon c points in the plane which represent airports.The edge weights in the graph represent flight du-rations, and need not fulfil the triangle inequality.In addition to moving normally through the plane,paths may also enter and exit the graph via the air-ports. We note that the pursuit-evasion Voronoi di-agram can be extended to include airlift distance byconsidering reachable points in A as potential treenodes, and considering two points connected by anedge in A to be visible from one another. This wouldallow modelling subways and other high-speed tran-sit systems often found in a city setting.

Another interesting extension would be to con-sider computing the pursuit-evasion Voronoi dia-gram in L2 directly, and to determine if methodscould be adapted to compute the pursuit-evasionVoronoi diagram in polynomial time exists in thiscase. L2 is more directly applicable to situationssuch as geographic spread outside of populated re-gions, where the L1 movement restrictions are notin place. Again, we note that a direct applicationof our algorithm is impractical in this case, as ourcurrent representation cannot deal with the bound-aries generated in an efficient manner. Schaudt andDrysdale[15] were forced to resort to numerical tech-niques when computing multiplicatively weightedcrystal Voronoi diagrams in L2, which indicates thatsimilar difficulties may arise for the pursuit-evasionVoronoi diagram in L2.

A natural extension of this work is to consider

metrics whose unit circles are arbitrary convex poly-gon distance functions. The L1 metric is the spe-cial case where the convex polygon is a diamond.If, considering two points, the Voronoi diagram andthe pursuit-evasion Voronoi diagram for a particu-lar distance function are polygons with finite com-plexity, it should be possible to adapt the algo-rithm to compute the pursuit-evasion Voronoi dia-gram for that distance function. Schaudt[14] notesthat the complexity of the boundaries for the mul-tiplicatively weighted crystal Voronoi diagrams arepolygonal for all convex polygon distance functions,which indicates that we may be able to achieve asimilar result for the pursuit-evasion Voronoi dia-gram. If this is possible, we could use convex poly-gon distance functions to obtain better bounds onthe L2 distance function, in a similar manner to themethod mentioned previously using the L1 pursuit-evasion Voronoi diagram. Another potentially re-lated direction for extension would be to considerpolygonal pursuers and evaders, and consideringthe Hausdorff distance functions and working inconfiguration space. In their work on multiplica-tively weighted crystal Voronoi diagrams, Schaudtand Drysdale[15, 14] consider both convex polygondistance functions and L2 distance, although in theabsence of obstacles.

We can also ask the decision problem: Given aset of pursuers, an evader and obstacles, does thereexist an evasive path that can reach a particularpoint? The pursuit-evasion Voronoi diagram can becomputed to answer this problem, and can termi-nate early if the query point falls within a reachableregion — in this case we know a shortest path exists.As well, we can also terminate early if, during thecourse of the algorithm, the point to be processedhas a shortest evasive path with an arrival time af-ter that of the arrival time of the pursuer at thequery point. In this case, no shortest evasive pathcan reach the query point before the pursuer. Inthe worst case, we may need to process all the treenodes for the evaders, and therefore we will haveeffectively computed the complete partition for theevader. However, it may be possible to prune theshortest path tree to achieve a better time complex-ity, or to search backwards from the query point foran evasive path.

24

Page 25: Pursuit/Evasion Voronoi Diagrams€¦ · Pursuit/Evasion Voronoi Diagrams∗ Warren Cheung and William Evans Department of Computer Science, University of British Columbia Abstract

10 Conclusion

In this chapter, we describe the pursuit-evasionVoronoi diagram, which considers a set of pur-suers, a set of evaders and obstacles in the plane.The pursuit-evasion Voronoi diagram computes allpoints reachable by the evaders via paths which arenot intercepted by pursuers. We also give an algo-rithm to compute this diagram, which proceeds ina fashion similar to Dijkstra’s algorithm, exploringshortest paths in the plane and computing partialdiagrams that describe points reachable by evasivepaths in the plane. We show the algorithm we de-scribe runs in polynomial time when we use the L1

distance metric.

References

[1] Oswin Aichholzer, Franz Aurenhammer, andBelen Palop. Quickest paths, straight skele-tons, and the city voronoi diagram. InSCG ’02: Proceedings of the eighteenth annualsymposium on Computational geometry, pages151–159, New York, NY, USA, 2002. ACMPress.

[2] Takao Asano and Tetsuo Asano. Voronoi dia-gram for points in a simple polygon. In Pro-ceedings of the Japan-US Joint Seminar, 1986,Discrete Algorithms and Complexity, pages 51–64, 1987.

[3] F. Aurenhammer. Voronoi diagrams - a sur-vey of a fundamental geometric data struc-ture. ACM Computing Surveys, 23(3):345–405,September 1991.

[4] F. Aurenhammer and H. Edelsbrunner. An op-timal aglorithm for constructing the weightedVoronoi diagram in the plane. Pattern Recog-nition, 17:251–257, 1984.

[5] F. Aurenhammer and H. Edelsbrunner. An op-timal algorithm for constructing the weightedvoronoi diagram in the plane. Pattern Recog-nition, 17(2):251–257, 1984.

[6] K. L. Clarkson, S. Kapoor, and P. Vaidya. Rec-tilinear shortest paths through polygonal ob-stacles in O(n log2 n) time. In Proc. Third An-nual Symposium on Computational Geometry,Waterloo, Ontario, June 1987.

[7] Mark de Berg, Marc van Kreveld, Mark Over-mars, and Otfried Schwarzkopf. Computationalgeometry: algorithms and applications, pages33–40. Springer-Verlag New York, Inc., Secau-cus, NJ, USA, second, revised edition, 2000.

[8] W. Randolph Franklin, Varol Akman, andColin Verrilli. Voronoi diagrams with barriersand on polyhedra for minimal path planning.The Visual Computer, 1(2):133–150, 1985.

[9] Kei Kobayashi and Kokichi Sugihara. Crys-tal voronoi diagram and its applications tocollision-free paths. In ICCS ’01: Proceedingsof the International Conference on Computa-tional Sciences-Part I, pages 738–747, London,UK, 2001. Springer-Verlag.

[10] T. Li and T. Yu. Planning tracking motions foran intelligent virtual camera. In Proc. IEEEInt. Conf. on Robotics and Automation, pages1353–1358, 1999.

[11] J.D. Murray. Mathematical Biology, pages 655–695. Springer, second, corrected edition, 1993.

[12] Atsuyuki Okabe, Barry Boots, Kokichi Sugi-hara, and Sung Nok Chiu. Spatial tessella-tions: Concepts and applications of Voronoidiagrams, pages 128–138. Wiley & Sons, 1992.

[13] Waldir L. Roque and Howie Choset. Thegreen island formation in forest fire modelingwith voronoi diagrams. Abstract for 3rd CGCWorkshop on Computational Geometry, 1998.

[14] Barry Schaudt. Multiplicatively WeightedCrystal Growth Voronoi Diagrams. PhD thesis,Dartmouth College, 1992.

[15] Barry Schaudt and Robert L. (Scot) Drys-dale III. Multiplicatively weighted crystalgrowth Voronoi diagrams (extended abstract).In Symposium on Computational Geometry,pages 214–223, 1991.

[16] Subhash Suri and Joseph O’Rourke. Worst-case optimal algorithms for constructing visi-bility polygons with holes. In SCG ’86: Pro-ceedings of the second annual symposium onComputational geometry, pages 14–23, NewYork, NY, USA, 1986. ACM Press.

25