7
Information Processing Letters 87 (2003) 301–307 www.elsevier.com/locate/ipl An approximative solution to the Zookeeper’s Problem Håkan Jonsson Department of Computer Science and Electrical Engineering, Luleå University of Technology, SE-971 87 Luleå, Sweden Received 11 July 2002; received in revised form 2 May 2003 Communicated by S. Albers Abstract Consider a simple polygon P containing disjoint convex polygons each of which shares an edge with P . The Zookeeper’s Problem then asks for the shortest route in P that visits all convex polygons without entering their interiors. Existing algorithms that solve this problem run in time super-linear in the size of P and the convex polygons. They also suffer from numerical problems. In this paper, we shed more light on the problem and present a simple linear time algorithm for computing an approximate solution. The algorithm mainly computes shortest paths and intersections between lines using basic data structures. It does not suffer from numerical problems. We prove that the computed approximation route is at most 6 times longer than the shortest route in the exact solution. 2003 Elsevier B.V. All rights reserved. Keywords: Computational geometry; Zookeeper’s Problem; Shortest path 1. Introduction The computation of shortest paths subject to vari- ous constraints is one of the central problem areas in computational geometry [4, Ch. 24]. In this paper, we study the Zookeeper’s Problem, which is stated as fol- lows: Given a simple polygon (the zoo) with a set of k disjoint convex polygons (the cages) inside it, such that each cage shares an edge (an attachment 1 ) with the zoo, find a shortest route in the interior of the E-mail address: [email protected] (H. Jonsson). 1 In [3], a cage might share any number of consecutive edges with the zoo. Without loss of generality, we make the assumption that the attachment is a single edge, as is done in [6]. zoo that touches each cage without entering into their interiors. The route asked for in this problem is called the shortest zookeeper route, i.e., the one the zookeeper should follow to feed all the animals while walking as short a distance as possible [3]. For this problem Tan has given an O(n 2 ) time solution [8]; here—and elsewhere in this paper—n is the sum of the total number of edges of all cages and the number of edges of the zoo that are not shared with a cage. Apart from the general problem formulated above, there is a version of the problem in which a point on the boundary of the zoo (the zookeeper’s chair) is given as part of the input and the zookeeper route starts and ends at this point. Chin and Ntafos showed how an exact solution to this restricted prob- 0020-0190/$ – see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0020-0190(03)00348-X

An approximative solution to the Zookeeper's Problem

Embed Size (px)

Citation preview

Page 1: An approximative solution to the Zookeeper's Problem

l

msical

roximateIt does notshortest

into

Information Processing Letters 87 (2003) 301–307

www.elsevier.com/locate/ip

An approximative solution to the Zookeeper’s Problem

Håkan Jonsson

Department of Computer Science and Electrical Engineering, Luleå University of Technology, SE-971 87 Luleå, Sweden

Received 11 July 2002; received in revised form 2 May 2003

Communicated by S. Albers

Abstract

Consider a simple polygonP containing disjoint convex polygons each of which shares an edge withP . TheZookeeper’sProblemthen asks for the shortest route inP that visits all convex polygons without entering their interiors. Existing algoriththat solve this problem run in time super-linear in the size ofP and the convex polygons. They also suffer from numerproblems.

In this paper, we shed more light on the problem and present a simple linear time algorithm for computing an appsolution. The algorithm mainly computes shortest paths and intersections between lines using basic data structures.suffer from numerical problems. We prove that the computed approximation route is at most 6 times longer than theroute in the exact solution. 2003 Elsevier B.V. All rights reserved.

Keywords:Computational geometry; Zookeeper’s Problem; Shortest path

1. Introduction zoo that touches each cage without entering

ari-s inwe-

he

gestion

their interiors.

heerglem

lges

ve,int

perfosob-

erved

The computation of shortest paths subject to vous constraints is one of the central problem areacomputational geometry [4, Ch. 24]. In this paper,study theZookeeper’s Problem, which is stated as follows:

Given a simple polygon (thezoo) with a set ofkdisjoint convex polygons (thecages) inside it, suchthat each cage shares an edge (anattachment1) withthe zoo, find a shortest route in the interior of t

E-mail address:[email protected] (H. Jonsson).1 In [3], a cage might share any number of consecutive ed

with the zoo. Without loss of generality, we make the assumpthat the attachment is a single edge, as is done in [6].

0020-0190/$ – see front matter 2003 Elsevier B.V. All rights resdoi:10.1016/S0020-0190(03)00348-X

The route asked for in this problem is called tshortestzookeeper route, i.e., the one the zookeepshould follow to feed all the animals while walkinas short a distance as possible [3]. For this probTan has given an O(n2) time solution [8]; here—andelsewhere in this paper—n is the sum of the totanumber of edges of all cages and the number of edof the zoo that are not shared with a cage.

Apart from the general problem formulated abothere is a version of the problem in which a poon the boundary of the zoo (thezookeeper’s chair)is given as part of the input and the zookeeroute starts and ends at this point. Chin and Ntashowed how an exact solution to this restricted pr

.

Page 2: An approximative solution to the Zookeeper's Problem

302 H. Jonsson / Information Processing Letters 87 (2003) 301–307

es).

rted

airer-dsce,lemn.ep-

i-lu-st 6Thes aeensestfor

irs o

tes

onmentsthets

ones is

a zookeeper route at most√

2 times longer than theshortest zookeeper route.

areoreu-

ofurkens,lgo-nt

sec-

inseent

teslongse

isetterich

lled

ch-arte

ed tons

Fig. 1. A zoo with 6 cages together withZopt (straight lines),Zapp (dotted lines), and supporting chains/detours (dashed linAttachments are shown with thick dashed lines.

lem could be computed in O(n2) time [3]. This wassubsequently improved to O(n log2 n) by Hershbergeand Snoeyink [6]. Recently, Bespamyatnikh reporan algorithm that solves the problem in O(n logn)

time [1]. Note that a solution to the version with a chcan be arbitrarily longer than the solution to the vsion without a chair. Also, no non-trivial lower bounare known for either version of the problem. Henwhether the two versions of the Zookeeper’s Probcan be solved in O(n) time or not is an open questio

In this paper, we shed more light on the Zookeer’s Problem by presenting a simple O(n) time algo-rithm for computing an approximate solution to ether version of the Zookeeper’s Problem. Our sotion is a zookeeper route guaranteed to be at motimes longer than the shortest zookeeper route.algorithm is described in Section 3 and produceroute that is a concatenation of shortest paths betwpoints on the cages. The points in question are clopoints to intersections between supporting chainsthe cages (shortest paths between consecutive pacages).

Tan [7] has also given an algorithm that compuan approximative solution in O(n) time. This algo-rithm, however, only works for the restricted versiof the problem. Lets0 denote the chair. The algoriththen considers the cages in the order their attachmoccur during a clockwise scan of the boundary ofzoo starting froms0 and computes the following poin(calledimages) on the cages: The points1 on the firstcage that is closest tos0, the points2 on the secondcage that is closest tos1, the points3 on the third cagethat is closest tos2, and so on. Then the concatenatiof the shortest paths connecting consecutive imag

f

The algorithms that compute exact solutionsbased on the reflection principle and may therefbe far from practical because of problems with nmerical inaccuracy resulting from multiplicationslinear numbers of transformation matrices [6]. Oapproximation algorithm—and Tan’s—does not mathe same explicit use of reflection points of reflectioand does not suffer from these problems. Both arithms should also be relatively simple to implemesince they mainly compute shortest paths and intertions between lines using basic data structures.

2. Zookeeper routes

Let P be the set of points of the zoo that remaafter all attachments and interiors of cages have bremoved. Note thatP is a simple polygon and thaour previous definition ofn makes it equal to thenumber of edges ofP . Among all possible shorteszookeeper routes inP there is always one that touchthe cages in the order their attachments appear athe boundary of the zoo [3, Lemma 2]. We will uZopt to denote this route. Let{P 0, . . . ,P k−1} be theset of cages where the indices2—we usek to denotethe total number of cages inP —indicate the order inwhich the cages are encountered during a clockwscan of the boundary of the zoo (it does not mawhich cage is the first). Fig. 1 shows a zoo in whk = 6.

All edges of a cage except the attachment are cainner edgesand form theinner boundary. A shortestroute inP that has to intersect a cage does so by touing it at least one point in its inner boundary. The pof an inner boundary that the route intersects can b

(1) a vertex,(2) a point in the interior of an inner edge, or(3) a chain of consecutive inner edges.

In the first two cases, we say that the routereflectsonthe cage. Throughout this paper routes are supposbe oriented in a clockwise direction so that reflectio

2 All indices in this paper should be taken modulok.

Page 3: An approximative solution to the Zookeeper's Problem

H. Jonsson / Information Processing Letters 87 (2003) 301–307 303

left

rghe-all

gesightthe

ion

e

nthe

notheandtingved

tionlie

s

3. An approximate solution

hens.

ouldindachside

l

n theuchries

the

andeedo

t

let

e

fer

-our

Fig. 2. The supporting chainSi .

correspond to right turns. If a shortest route turnsat a cage it is said towrap aroundthe cage.

Let vi0, vi1, . . . , vi(ki−1) be the vertices of the inneboundary of cageP i indexed in clockwise order alonP , whereki denotes the number of vertices in tinner boundary ofP i . Note that locally, this is counterclockwise along the boundary of the cage. We cvi0 the start vertexandvi(ki−1) the end vertexof thecage. Thesupporting chainSi is the shortest path inPfrom the start vertex ofP i−1 to the end vertex ofP i .The supporting chain of a pair of consecutive cadetermine where a shortest zookeeper route mtouch the cages. The indices of the vertices wheresupporting chainSi leaves the boundary ofP i−1 andenters the boundary ofP i are denotedb(i−1) andai ,respectively (Fig. 2).

Each supporting chainSi partitions the interiorof the zoo into two regions. We say that the regcontaining the two cagesP i−1 andP i is paved. Thosepoints inP which do not lie in a paved region form thlawn.

Lemma 2.1. A shortest route that visits one point oeach cage in order does not enter the interior oflawn.

Proof. Since supporting chains are shortest pathsshortest path between points which both lie onsame side of a supporting chain can cross over itstill be shortest. Hence, a shortest path connecpoints on consecutive cages is contained in the paregion between the cages. Moreover, by the definiof supporting chains, all pairs of consecutive cagesin a paved region. Then, sinceZopt touches the cagein order, the lemma follows. ✷

To describe our approximative solution to tZookeeper’s Problem we present some definitioThe boundary of the lawn is called thefence. Thesignpostof P i is the point of the intersectionSi ∪Si+1closest to the start point ofP i along Si+1. We saythat the cage is associated with the signpost (we cimagine that the sign on the signpost tells which kof animal is contained in the associated cage). For esignpost, the closest point (in a geodesic sense inP ) on the associated cage is thetouch pointon thatcage. Then, the shortest route inP that intersects altouch points is our approximate solutionZapp to theZookeeper’s Problem.

A consequence of Lemma 2.1 is thatZapp willwrap around cagesP i for whichai < bi . We concludethat these cages can be treated as obstacles oroute rather than cages, since the route will tothem nevertheless, and consider their inner boundaas parts of the boundary ofP . In the following weassume thatai � bi for all i. In Fig. 1, ai � bi fori = 0,1,2,3, and 5, but for cageP 4, ai < bi ; as aresult, when computing an approximation route forzoo in Fig. 1, we disregardP 4.

3.1. The length ofZapp

We bound the length ofZappwith respect toZopt ina series of steps where we introduce other routesrelate their lengths to each other. To do so we nsome notation. First, letzi denote the point common tZopt andP i that is closest to the start point ofP i alongits inner boundary. Let sp(x, y) denote the shortespath in P between the pointsx and y. Then, theshortest zookeeper route is the concatenationZopt =⋃k−1

i=0 sp(zi, zi+1) of shortest paths. Furthermore,fi be the signpost to whichP i is associated, and letpi

denote the touch point onP i . Then, the shortest routfrom fi to pi and back is called adetour. Note thatfi

lie in the interior ofP and not in the inner boundary oP i (sinceai � bi). In Fig. 1, a zoo is depicted togethwith Zopt, Zapp, supporting chains, and detours.

Although the signposts will prove useful for computing the touch points, we do not use them inanalysis. To prove a bound on the length ofZapp wewill instead useextended signpostswhich are pointson the detours. The point on the detour betweenfi

Page 4: An approximative solution to the Zookeeper's Problem

304 H. Jonsson / Information Processing Letters 87 (2003) 301–307

-

-ce,

r--

forion

andte

sely

dt

ths

d

f

the

ma

the

en

Fig. 3. A zoo in whichg2 �= f2.

andpi that is closest tofi and lies in the polygonal region bounded by the three shortest paths sp(zi−1, zi),sp(zi , zi+1), and sp(zi+1, zi−1) is the extended signpostgi . There always exist extended signposts sinby Lemma 2.1, the fence is contained inZopt. Thereare cases wheng2 �= f2 (Fig. 3). However, iffi liein the region bounded by sp(zi−1, zi), sp(zi , zi+1),and sp(zi+1, zi−1), thengi = fi . As was the case fofi , we associate the cageP i with the extended signpostgi . The shortest route inP that connects all extended signposts is theextended fence. The extendedsignposts and the extended fence are introducedthe analysis of the length of our approximate solutonly.

We will use Zext to denote the route inP whichconsists of a single traversal of the extended fencetwice (back and forth) from each extended signposgi

to the touch pointpi along the detours in order as thextended signposts are encountered. More precithe routeZext goes from the extended signpostgi−1 togi , follows the detour fromgi to the touch pointpi onthe associated cageP i and back togi again, heads onto gi+1, then continues along the detour fromgi+1 topi+1 and back togi+1, etc. The length of this route is

|Zext| =k−1∑i=0

(2∣∣sp(gi ,pi)

∣∣ + ∣∣sp(gi , gi+1)∣∣). (1)

Since Zapp and Zext intersect the touch points, anZapp is the shortest route that does so, it follows tha

|Zapp| � |Zext|. (2)

Hence, a bound on the length ofZext in terms ofZoptis also a bound onZapp. To bound the length ofZext,we use the sum

A =k−1∑i=0

(2|sp(gi , zi)| + |sp(zi, gi+1)|

+ |sp(gi , zi+1)|)

, (3)

,

(a) (b) (c)

Fig. 4. Illustration used in Lemma 3.1.

in which the terms are lengths of shortest pabetween extended signposts and points whereZoptintersects the cages. Our first claim aboutA is that it isgreater than the length ofZext. To prove this claim, wefirst observe the following that we will use to bounsome of the terms inA:

Lemma 3.1. For any i, |sp(gi , gi+1)| < |sp(zi, gi+1)|+ |sp(gi , zi+1)|.

Proof. For a certaini, let S be the sub-polygon oP bounded by the two chords ofP that pass throughthe extended signpostsgi andgi+1, respectively, andthat are perpendicular to the first and last edge ofshortest path sp(gi , gi+1). If zi does not lie inS, then|sp(zi , gi+1)| > |sp(gi , gi+1)| and the lemma follows(Fig. 4b). Likewise, ifzi+1 does not lie inS, then|sp(gi , zi+1)| > |sp(gi , gi+1)| and the lemma follows(Fig. 4c). On the other hand, if bothzi and zi+1 liein S, the shortest paths sp(zi, gi+1) and sp(gi , zi+1)

intersect (since cages are disjoint), and the lemfollows from the triangle inequality (Fig. 4(a)).✷

Furthermore, since the extended signposts lie indetours,pi is the closest point onP i not only fromfi along the detour but also fromgi . Therefore, sincethe touch pointspi and the verticeszi of Zopt are allpoints on the cages,

k−1∑i=0

∣∣sp(gi ,pi)∣∣ �

k−1∑i=0

∣∣sp(gi, zi )∣∣.

This, together with Lemma 3.1, Eqs. (1) and (3) thconfirms our first claim about A, which we state:

|Zext| < A. (4)

We have now boundedA from below. To boundA from above and in terms ofZopt we will use thefollowing geometric lemma:

Page 5: An approximative solution to the Zookeeper's Problem

H. Jonsson / Information Processing Letters 87 (2003) 301–307 305

Lemma 3.2. Let x, y, andz be three unique points inP , and letu be a point in the region bounded by the

-

aim

n

that

s:

rst,efor

the

tion

ofgbe

bynsthe

s innetarticesis

ive

shortest pathssp(x, y), sp(y, z), andsp(z, x). Then,

2|sp(u, y)| + |sp(x,u)| + |sp(u, z)||sp(x, y)| + |sp(y, z)| � 3.

Proof. Consider the region bounded by sp(x, y),sp(y, z), and sp(z, x). Sinceu is contained in this region,∣∣sp(x,u)

∣∣ + ∣∣sp(u, y)∣∣ <

∣∣sp(x, z)∣∣ + ∣∣sp(z, y)

∣∣and∣∣sp(z, u)

∣∣ + ∣∣sp(u, y)∣∣ <

∣∣sp(z, x)∣∣ + ∣∣sp(x, y)

∣∣.Also,∣∣sp(x, z)

∣∣ <∣∣sp(x, y)

∣∣ + ∣∣sp(y, z)∣∣.

Adding these inequalities together gives us the clin the lemma. ✷

Consider the three pointszi−1, zi , andzi+1. Sincethe extended signpostgi is contained in the regiobounded by the shortest paths betweenzi−1, zi , andzi+1, by Lemma 3.2,

2∣∣sp(gi, zi )

∣∣ + ∣∣sp(gi , zi−1)∣∣ + ∣∣sp(gi , zi+1)

∣∣< 3

(∣∣sp(zi , zi−1)∣∣ + ∣∣sp(zi, zi+1)

∣∣)= 6|Zopt|. (5)

Since

A =k−1∑i=0

(2|sp(gi , zi)| + |sp(zi, gi+1)|+ |sp(gi, zi+1)|

)

=k−1∑i=0

(2|sp(gi , zi)| + |sp(gi, zi−1)|+ |sp(gi, zi+1)|

)

by rearranging terms, we indeed have, by Eq. (5),

A < 6|Zopt|. (6)

Combining Eqs. (2), (4), and (6), then finally gives u

Lemma 3.3. Zapp is at most a factor of6 times longerthanZopt.

Fig. 5. Computing a signpost.

3.2. Computing an approximate solution

Our approximate solutionZapp to the Zookeeper’sProblem is constructed in two steps. During the fithe touch pointspi are computed. To compute thtouch points, we first compute the signposts, anddoing this, we need the supporting chains. Insecond step, the shortest route inP that intersects thetouch points is computed, and reported as the soluZapp.

3.2.1. Computing the signpostsA signpostfi is the intersection between an edge

the supporting chainSi and an edge of the supportinchainSi+1. Computing the supporting chains candone in O(n) time by first triangulatingP [2] and thensolvingk related shortest path problems inP [3]. Forcomputingfi , let Ri denote the region inP whichis the intersection of the paved regions boundedSi andSi+1. It is a polygon bounded by three chai(shortest paths). One of the chains is the part ofinner boundary ofP i betweenviai andvibi . The othertwo are the part ofSi from viai to fi and the part ofSi+1 betweenvibi andfi (Fig. 5).

The signpostfi can be computed in O(n2) time bychecking for intersections between all pairs of edgeSi andSi+1. However, this computation can be dofaster since the chains contain, apart from their sand end points, reflex vertices only; these are vertwhere the angle insideRi between the edges joinedgreater thanπ .

Let uj andwj denote thej th vertex ofSi andSi+1,respectively, counting fromP i , whereu0 = viai andw0 = vibi . Then, since the vertices ofSi andSi+1 inRi are reflex, the line through a pair of consecutvertices in one of the three chains boundingRi

Page 6: An approximative solution to the Zookeeper's Problem

306 H. Jonsson / Information Processing Letters 87 (2003) 301–307

intersect the other two chains. Furthermore, for anythree consecutive verticesuj , uj+1, anduj+2 in Si

ther

ng

o.rringt to

int

dgeof

thiss inndtedgheirosts a

we

the

,

texhenner

y

ofr

heack

l

lar)theion

n be5].

cane

in

the line throughuj anduj+1 intersectsSi+1 closer tow0 alongSi+1 than the line throughuj+1 anduj+2,and vice versa for the vertices inSi+1. As we consideredges ofSi or Si+1 closer and closer tofi , the pointswhere the lines containing the edges intersect the ochain gradually gets closer tofi as well. We use thismonotonicity to construct an algorithm for computithe signpostfi .

The algorithm traverses the edges ofSi andSi+1from u0 and w0, one edge at a time, until the twintersecting edges are found andfi can be computedSuppose that verticesuju andwjw represent how faSi andSi+1 have been traversed at some step duthe computation. In other words, we are just abouprocess edge[uju, uju+1] of Si and [wjw,wjw+1] ofSi+1. If these two edges intersect,fi is the intersectionpoint, and we are done. If not, we check if the powhere the line throughwjw andwjw+1 intersects withSi is closer tou0 alongSi thanuju+1, in which casewe incrementjw (that is, we traverseSi+1); otherwise,we incrementju (in other words, we traverseSi ).Only one of these cases can occur, unless the eintersect. In either case, we traverse exactly onethe chains, and then continue the process withnew pair of edges. Since we consider the edgeorder, we will eventually find the intersecting pair athereforefi . The supporting chains can be compuin O(n) time [3]. Moreover, since the supportinchains are traversed from their end points, each of tedges are part of a computation of a signpost at monce. We summarize the discussion in the text alemma:

Lemma 3.4. The signposts can be computed inO(n)

time.

3.2.2. Computing the touch pointsTo compute the touch pointpi on P i we use the

techniques presented by Guibas et al. [5]. Firstcompute ashortest path treein Ri from fi ; this is theunion of the shortest paths fromfi to all the verticesof Ri . It has nodes, namely the vertices ofRi , andits edges are straight line segments connectingnodes. This tree is then extended to ashortest pathmapwhich is a partition ofRi into triangular regionseach with a distinguished vertex called theapex, which

s

Fig. 6. A shortest path map.

represents all shortest paths inRi from fi . The regionsare chosen so that the shortest paths fromfi to pointsin a region all turn at the same vertices ofRi . Theapex of the region is the last of these vertices orfi

if the shortest path is a single line segment. A vercan be the apex of more than one region, but tthese regions are bounded by (parts of) different inedges [5]. Fig. 6 shows an example of a polygonRi

and its shortest path map containing 9 regions.Recall thatpi is the point in the inner boundar

of P i for which the length of the shortest path tofi

is minimized. SinceP i is convex,pi is unique andeither (1) a vertex or (2) a point where the last edgethe shortest path fromfi is perpendicular to an interioedge. Letp denote the latter point—should it exist.

To find pi we perform a postorder traversal of tshortest path tree. During the traversal we keep trof the length of the shortest path inRi from fi tothe vertices traversed. This gives us the vertex ofP i

which is closest tofi within Ri . During the traversawe also search for the pointp. For each apex of aregion encountered we compute the (perpendicuprojection of the apex onto the line that containsinner edge that bounds the region. If this projectends up in the inner edge, it is the pointp. Since wego through all apices we will findp, if it exists.

The shortest path tree and map of a polygon cacomputed in time linear in the size of the polygon [Moreover, since all the polygonsRi are disjoint andbounded by cages and supporting chains, theybe computed in O(n) time. Then, by Lemma 3.4, whave:

Lemma 3.5. The touch points can be computedO(n) time.

Page 7: An approximative solution to the Zookeeper's Problem

H. Jonsson / Information Processing Letters 87 (2003) 301–307 307

3.2.3. ComputingZappThe routeZapp is the shortest route inP that

therub-with

ven

ee-te

thatte-erre-n toithg aghs ann-

isom-that

the time complexity of our approximation algorithm,like most other shortest path algorithms, depends on

u-ler

xi-the-ve

e,

rm.

and

jan,ms7)

theuta-

tenalin:

lin,

rm.

intersects the touch pointspi for 0 � i � k − 1in order. Such a route can be computed likesupporting chains in O(n) time [3, Theorem 2] afteP has been triangulated [2], since each of its spaths starts where another ends. This, togetherLemmas 3.3 and 3.5, finally gives us:

Theorem 3.1. A zookeeper route at most6 timeslonger than the shortest zookeeper route with no gistart point can be computed inO(n) time.

4. Conclusion and discussion

We have presented a simple O(n) time algorithmfor computing an approximate solution for the Zookper’s Problem with no restriction on where the roushould start and end, namely a route in the zootouches a point on all cages without entering their inriors with a length of at most a factor of 6 times longthan the shortest route in the exact solution. Oursult can also be used to compute an approximatiothe optimal solution to the version of the problem wa zookeeper’s chair. This is done by simply placinpoint-sized cage where the chair is located. Althousuch a cage is somewhat degenerate in that it lackinterior, all our arguments in the text are still essetially valid.

We believe that our approximation algorithmmore practical than the algorithms presented that cpute exact solutions. One should note, however,

the ingenious but rather involved linear-time trianglation algorithm by Chazelle [2]. In practice, a simpand perhaps slower algorithm would be chosen.

A natural question is whether the factor of appromation can be improved or not. We conjecture thatratio between the length ofZapp and the optimal solution is considerably lower than 6 in practice. We hanot been able to construct instances in whichZapp iseven

√2 times longer thanZopt.

References

[1] S. Bespamyatnikh, An O(n logn)-algorithm for the Zoo-keeper’s Problem, Comput. Geom. 24 (2) (2002) 63–74.

[2] B. Chazelle, Triangulating a simple polygon in linear timDiscrete Comput. Geom. 6 (1991) 485–524.

[3] W.-P. Chin, S. Ntafos, Optimum zookeeper routes, InfoSci. 63 (1992) 245–259.

[4] J.E. Goodman, J. O’Rourke (Eds.), Handbook of DiscreteComputational Geometry, CRC Press LLC, 1997.

[5] L.J. Guibas, J. Hershberger, D. Leven, M. Sharir, R.E. TarLinear-time algorithms for visibility and shortest path probleinside triangulated simple polygons, Algorithmica 2 (198209–233.

[6] J. Hershberger, J. Snoeyink, An efficient solution tozookeeper’s problem, in: Proc. 6th Canadian Conf. Comptional Geometry, 1994, pp. 104–109.

[7] X. Tan, Approximation algorithms for the watchman rouand zookeeper’s problems, in: The 7th Annual InternatioComputing and Combinatorics Conference (COCOON),Lecture Notes in Comput. Sci., Vol. 2108, Springer, Ber2001.

[8] X. Tan, Shortest zookeeper’s routes in simple polygons, InfoProcess. Lett. 77 (1) (2001) 23–26.