446 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 Online Polygon Search by a Seven-State Boundary 1-Searcher Tsunehiko Kameda, Masafumi Yamashita, Member, IEEE, and Ichiro Suzuki Abstract—Polygon search is the problem of finding mobile intruders who move unpredictably in a polygonal region. In this paper, we consider a special case of this problem, called boundary search, where the searcher is allowed to move only along the boundary of the polygon. We concentrate on a single searcher with one flashlight (called a 1-searcher), but it is known that a single boundary 1-searcher has the same searching power as a single boundary searcher with 360 vision. Our main result is that the movement of the searcher can be controlled by a finite-state machine having only seven states. This automaton has no built-in information about the input polygon and, for any given polygon , if can be searched by a boundary searcher at all, then this automaton will successfully search , no matter where on the it is initially placed. All information about boundary of is acquired by the automaton online, as it searches . We also show that if can be searched by a boundary searcher, then our automaton searches it by circling its boundary less than three times. Index Terms—Boundary search, intruder, 1-searcher, polygon search, pursuit evasion, visibility. I. INTRODUCTION P OLYGON search is the problem of finding intruders who move unpredictably in a polygonal region , using one or more mobile searchers having various levels of vision. Both the searcher(s) and the intruders are represented by points that can move continuously and freely within the region, where the latter can move arbitrarily faster than the former. Different models for searchers have been considered in the past [1]. , a -searcher’s vision is limited to For any integer the beams emanating from her position (this is like having flashlights), while an -searcher has full 360 vision. By default, a searcher is allowed to move freely inside polygon , while a boundary searcher is allowed to move only along . In this paper, we concentrate on a the polygon boundary boundary 1-searcher, since it is shown in [2] that if a polygon can be searched by a boundary -searcher, then it can be searched by a boundary 1-searcher. Manuscript received January 10, 2005. This paper was recommended for publication by Associate Editor F. Y. Wang and Editor S. Hutchinson upon evaluation of the reviewers’ comments. This work was supported in part by the Natural Science and Engineering Research Council of Canada, and in part by the Scientific Grant in Aid by the Ministry of Education, Sports, Culture and Technology of Japan. T. Kameda is with the School of Computing Science, Simon Fraser University, Burnaby, BC V5A 1S6, Canada (e-mail: [email protected]). M. Yamashita is with Kyushu University, Fukuoka 812-8581, Japan (e-mail: [email protected]). I. Suzuki is with the University of Wisconsin, Milwaukee, WI 53211 USA (e-mail: [email protected]). Digital Object Identifier 10.1109/TRO.2006.870640 The polygon search problem was first introduced in [1] as a dynamic version of the well-known art gallery problem [3]. Since the problem neatly captures the key issues in various robotic applications, such as surveillance, security enforcement, target detection, and tracking, a large number of papers has appeared lately in both the computational geometry and robotics literature, in conjunction with the recent advances in mobile robots and distributed robotics technology. Despite its seeming simplicity, the problem has proven quite challenging. In fact, until recently, the exponential time (and space) algorithm given in [4] that uses state-space enumeration was the only complete algorithm in the literature for generating a schedule to search a given polygon by one -searcher. A longstanding conjecture in [1] that any polygon searchable by a single -searcher is also searchable by a single 2-searcher having two flashlights, was finally settled in the affirmative [5]. An time algorithm [6] for generating a schedule for a 2-searcher can now be used to generate a schedule of an -searcher, where is the number of sides of the given polygon. Due to the difficulty of the original general problem, a number of special cases has been discussed in the literature. For instance, if the region to be searched is either a “corridor” (a polygon with two “doors”) or a “room” (a polygon with one “door”), then 1) if polygon is searchable by a single -searcher, then it is also searchable by a single 2-searcher [7], [8], and 2) a schedule for a 2-searcher can be generated in polynomial time; for a corridor and for a room, where is in the number of sides of . time algorithms for generating a schedule of a 1-searcher for searching a room [9] and a general -sided polygon [10] are also known. (A 1-searcher need or need not stay on the polygon boundary at all times, depending on the definition of visibility within a polygon.) Finally, the problem of computing the minimum number of searchers needed to search a given region is discussed in [11] and [12]. Other related problems include sweeping a polygon with multiple mobile guards [13], and the searchlight problem [14]. Most of the results in the literature assume that the geometry of polygon to be searched is known in advance, and hence, a searcher’s schedule can be computed offline. The first series of work that departed from this framework and considered an online algorithm for searching an unknown simple (not necis found in [15] and [16] for a essarily polygonal) region single -searcher equipped with a “gap sensor” for detecting discontinuities in the visible portion of the region boundary. The approach proposed is to interleave map building and searching; during a map-building phase, a partially constructed map of is extended by exploration, and in a searching phase, an exponential time (and space) offline algorithm of [4] is applied to the map in an attempt to compute a schedule. Ultimately, a global map of 1552-3098/$20.00 © 2006 IEEE KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER may have to be constructed, and although the map itself is a graph if is a polygon with sides, the overall time and of size space requirement is exponential in in the worst case. (This can using the result in [5] mentioned above.) be improved to In this paper, we present an online algorithm for searching an unknown polygonal region by a single boundary 1-searcher. The algorithm does not construct any global map of , either explicitly or implicitly. Our 1-searcher executing the algorithm attempts to search using a greedy strategy. Except for a small fixed amount of memory about what she has seen in the past, her action at any moment is based solely on the locally available information on the geometry of in the vicinity of her location and the beam of the flashlight. Most importantly, the algorithm can be described by a simple finite-state machine (FSM) having only seven states, under certain assumptions on the searcher’s sensing and operational capabilities (see Section VII for details). We prove that the algorithm searches polygon successfully whenever is searchable by a single boundary 1-searcher. If is not searchable by a single boundary 1-searcher, however, the searcher will run forever without ever “realizing” that cannot be searched. This is inevitable, because our searcher has only a bounded number of states, while the geometry of (unknown) can be arbitrarily complex. The algorithm is developed, and its correctness proved, using a 2-D diagram, called the V-diagram, that represents certain key visibility information within a given polygon . The task of generating a searcher’s schedule that successfully searches then reduces to that of finding a certain directed path within the diagram. Note that since is unknown, its V-diagram is unknown, as well. We use the V-diagram only for the purpose of explaining our algorithm, and the searcher does not construct it. The general approach of representing the visibility information as a 2-D diagram was first introduced by LaValle et al. [10] (see visibility obstruction diagram (VOD) [10] and boundary visibility map (BVM) [2]). Characterization of searchable polygons tends to be much more transparent in this approach than when one deals directly with the geometry of . We formalize the polygon search problem in Section II, and introduce the V-diagram and its properties in Sections III and IV. Section V discusses our online algorithm and its correctness in terms of the V-diagram. In Section VI, we present an implementation of the algorithm as a simple FSM. In Section VII, we then briefly touch on the sensing capability of the searcher that is adequate for our algorithm to work. Concluding remarks are found in Section VIII. II. PRELIMINARIES Let be a simple polygonal region (or just a polygon, for of , which is a simple polygonal loop short). The boundary on the plane, is considered to be part of . Two points are said to be visible from each other if and only if (iff) , where denotes the line segment connecting and .1 A boundary 1-searcher (or just a searcher, for short) is a point , emitting a single beam of that moves continuously along light (i.e., a maximal ray in shot from her position) whose 2 1Some authors, e.g., [10], define that two points a; b P are visible from P @ P . Most of our results are valid for this kind of each other iff ab visibility, as well. n 447 Fig. 1. Schedule to search a polygon. Thick lines show the cleared section of the boundary. (a) Both searcher s and beam head f start at vertex 6 (shown by a dot) and move in opposite directions. (b) The beam hits a reflex vertex 4 on its left. (c) The invisible section near 4 becomes recontaminated as the beam head jumps over that section. f is discontinuous between (b) and (c). s and f continue to sweep the boundary in (d) and (e). (f) Search ends when s and f meet at vertex 5 (shown by a dot) and the entire boundary has been cleared. direction can be changed continuously. A point that lies on the beam is said to be illuminated. Using a normalized interval of time [0,1], her motion is given by two functions and , where: is a continuous function giving her posi• tion; and is a piecewise-continuous function giving • the point at which she aims the beam and are mutually visible at any time where points . Discontinuities of position occur when the beam head jumps over a section of not visible from her position. [See Fig. 1(b) and (c).] We call the pair of functions a schedule. For any points that are mutually visible, denotes a visible configuration in which the searcher is located at and is aiming the beam at . ( and may not be the that are illuminated in configuration , only points in because the beam can extend beyond , and multiple vertices can be in contact with the beam simultaand sections of neously.) Thus is her configuration at in in which schedule . We allow degenerate configurations she aims the beam at her own location and the beam reduces to a single point . 448 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 An intruder is any continuous function .A detects at time if is illumischedule nated at . is said to be searchable if there exists a schedule that detects all intruders at some time. during the execution of schedule , a part At time of a polygon is said to be clear if there can be no undetected is clear at if every intruder there. Technically, a point is dectected at some time . intruder such that is clear if every point in is clear. A point or A region a region is contaminated if it is not clear. We use “ detects all intruders” synomymously with “ is clear under at time 1” and “ clears .” Since we employ only one searcher to search , in the following, we assume, without loss of generality [2], that intruders , i.e., every intruder is a continuous funcmove only along . Consequently, our goal now is to search tion . and clear Fig. 1(a)–(f) show a schedule that clears a polygon. Note that is discontinuous between (b) and (c) when the beam head jumps over a section of the boundary that is not visible from the searcher. In the following, we assume, without loss of generality, that satisfy the following minimality condiall schedules only if or . To justify this, suppose tion: for some . Then at , that is either entirely clear, or entirely contaminated except for point . In the former case, the search can be terminated at . In the latter case, the search can be started at . We close this section by introducing another notation; for , denotes the clockwise closed section of points from to . If , then we write . Fig. 2. Visibility space (j@P j = 1). Points p and p are symmetric to point p. III. VISIBILITY DIAGRAM Without loss of generality, assume that the length of is as the origin, and measure 1. We fix an arbitrary point on clockwise from the origin. Every real all distances along represents the point on that is at distance number from the origin, where is the fractional part of . In the following, this point is often referred to as . Note that there are infinitely many real numbers that rep. resent a single point on is a Given the above interpretation, a schedule pair of real-valued functions , where is continuous and is piecewise-continuous. By the minimality condition, without loss of generality, we can limit the range of to for any . Thus, can , be viewed as a piecewise-continuous directed path , in the infinite area of the plane between and (the start line ) and (the including the lines goal line ). See Fig. 2. We call this area the visibility space (V-space for short), and denote it by . We partition into and , where consists of those , such that and are mutually visible (subscript for “visible”), and consists such that and are not mutually visible of those (subscript for “invisible”). The visibility diagram (V-diagram for short) for is a drawing of in , where the points in Fig. 3. (a) Polygon P and (b) its V-diagram. When presenting polygons, we name the vertices 0, 1, 2, . . . clockwise around the boundary. There should be no confusion between vertex names and reals that represent points on the boundary. are shown in gray. 2 Fig. 3 shows a polygon and the section of and . Obviously, the its V-diagram bounded by gray patterns in a V-diagram are both: • periodic, in the sense that iff ; and • symmetric, in the sense that iff . 2Our V-diagram contains essentially the same information as the VOD [10] (except for the difference in the definition of visibility), and the BVM [2]. We find the V-diagram easier to use for our purposes. KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER For points and , if , then we is higher (lower) than or to the north (south) of say that . (We sometimes refer to the -coordinate of a point as its , then we say that is to the left latitude.) Similarly, if . (right) or east (west) of We now explore the relationship between a polygon and its V-diagram in more detail. We use the following notation. For a vertex , the vertices preceding and succeeding (in the cirand , cular, clockwise order) are denoted by denotes the point on immerespectively. Symbol denotes the diately after (before) and arbitrarily close to . . We asso(clockwise) distance from the origin to along ciate with each reflex vertex two points (“forward” and “back. ward” points) on the boundary : The first point clockwise from , such that • , and , , and are colinear. : The first point counterclockwise from • such that , and , , and are colinear. and are shown in Fig. 3(a). For example, We are interested in the set of points in the V-diagram that of the gray areas . Since is an open form the boundary on is “just set by the definition of visibility, a point outside” , and hence and are mutually represents a configuration in visible. In fact, every which point is “critically visible” from the searcher located at , in the sense that the line of sight touches a reflex vertex on its left, on its right, or both, so that an infinitesimal displacement of and/or along can cause to go outside near that in Fig. 3(a). vertex, making invisible from . See that represent a configuraThe set of points touches a reflex vertex on its left is called tion in which .3 For example, we have the SE-barrier at , denoted by for boundary points and shown in Fig. 3(a), where and can respectively lie between 1 and (1), and touches vertex 1 between (1) and 1, in such a way that surrounds an entire gray area on its left. Note that in Fig. 3(b), where is an L-shaped area that almost touches and extends southeast, whose eastern and southern boundaries correspond to configurations in which and , respectively. An SE-barrier such as that does not intersect other barriers always has a curved section on its southeast, called the southeast slope, while its other sections are straight-line segments, called the north, west, south, and east walls. The west and north walls (i.e., the line segments extending south and east from ) form a part of the boundary of the “south wing” and the “east wing,” respectively, of . Symmetrically, we define the NW-barrier at , denoted by , to be the set of points that represent a configuration in which touches a reflex vertex on its right. constitutes the boundary of the L-shaped For instance, in Fig. 3(b) that almost touches gray area and extends northwest. Note that is a symmectic image of . has a curved section on its northwest, called the northwest slope, and four straight-line segments that are part of the boundary of the “wings” of that extend north and west. 3Copies of SE (v ) appear along S at regular intervals. We refer to an arbitrary one of them simply as SE (v ) when no confusion arises. 449 Fig. 4. (a) Beam head jumps over (b; c) at the moment the beam touches reflex vertex b on its left, and the path in the V-diagram makes a westward jump over the gray area bounded by SE (b). (b) Beam head jumps over (b; c) at the moment the beam touches reflex vertex c on its right, and the path makes a eastward jump over the gray area bounded by N W (c). In contrast, both and consist of several disjoint curves and line segements, and their union constitutes the . Note that and total boundary of another gray area intersect each other, because the arrow touches both belongs to reflex vertices 9 and 11 on its left (and hence, , , , and both). In fact, they intersect at that form the corner points of an imaginary rectangle. This is true, in general, for any two barriers that intersect. Symmetand together make up the boundary rically, . They intersect because touches both 9 and 11 on its of right. touches reflex vertex 4 on its right and reflex Finally, and intersect vertex 7 on its left, and hence, and three other points that form the corner points of at and together consitute a rectangle. Note that and the total boundary of gray area . Symmetrically, intersect and form the boundary of . Let be the piecewise-continuous path in the V-diagram that . (That is, is the trajectory represents a schedule as increases from 0 to 1.) Each maximal of point continuous segment of travels within , and discontinuities of occur when it “jumps” over . Specifically, is discontinuous exactly when is discontinuous, and that occurs when the of beam head jumps instantaneously over a section not visible from the searcher’s location , where . See Fig. 4. In terms of the V-diagram, such a jump can be interpreted as an instantaneous horizontal displacement across , eito [Fig. 4(a)], or eastward from ther westward from to [Fig. 4(b)]. That is, a continuous section of the (or ) on the boundary of a barrier, and path ends at the next continuous section starts on the opposite side of the 450 Fig. 5. A continuous path that represents the schedule illustrated in Fig. 1. It crosses (or “jumps” over) V westward once. When it does so, it crosses two bridges (shown by dashed lines), one of which is formed by SE (4) and NW (11). same barrier at (or ) after a westward (or eastward) jump across that barrier. In the following, we adopt a convenand by a horizontal line segment for tion to connect every such jump, so that path that represents is a single continuous directed path that crosses always horizontally, either eastward or westward. (However, we shall continue to refer to as “jumps”.) Fig. 5 shows horizontal segments of across the V-diagram of the polygon of Fig. 1 and a continuous path that represents the schedule illustrated in that figure. Note that the path crosses a gray region horizontally westward. Suppose that in Fig. 4(a) and (b), the clockwise section from the searcher’s location to the beam head is clear before the respective jumps, while the rest of the boundary is contamfrom the searcher inated. Then in Fig. 4(a), the section to the beam head remains clear after the westward jump over . This is because points and the gray area bounded by remain illuminated when the jump occurs, and hence, no inwithout being detected. In contruder can enter the section trast, in Fig. 4(b), the entire boundary except points and becomes contaminated after the eastward jump over the gray area , because an undetected intruder hiding in bounded by can enter the section when the jump occurs. This indicates that if the cleared section lies to the left of the beam, then westward jumps over are acceptable (in fact, sometimes necessary, as the reader can verify in the example of Fig. 1), but eastward jumps are not. Given the above observation and the minimality condition, we define a search path to be a continuous directed path in the horizontally due west V-diagram from to that crosses (but never east) whenever it crosses , and never visits or except at the beginning and the end. The path shown in Fig. 5 is a search path. From the discussion in the preceding paragraph, is the it is easy to see that if is a search path and schedule that represents, then has the left invariant property of is clear at (LIP) [10]: the clockwise section any time . For instance, the schedule illustrated in Fig. 1 has IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 LIP, since the clockwise section of the boundary from to is always clear. Note that LIP implies that at the end of when reaches , the entire from to is clear. Therefore, if there exists a search path in the V-diagram for polygon , then is searchable. The following result shows that the converse is also true. Here, we remark that a search path in the V-diagram for is exactly the same as a cut in the BVM for introduced in [2]. is searchable iff there exists a Proposition 1: Polygon search path in the V-diagram for . (The equivalence of a schedule and a path in a VOD was recognized first by LaValle et al. [10] under a slightly different definition of visibility. See footnote 1.) Proof: The claim follows from the equivalence of the following, established in [2]: is searchable by a single boundary 1-searcher; • is searchable by a single boundary -searcher; • • there exists a cut in the BVM for . IV. CELLS, BRIDGES, AND TRAPS We call a maximal connected component of a cell. That is, every maximal connected “white” area in Fig. 3(b) and Fig. 5 is a cell. A cell whose boundary includes a section of line (or ) is said to be adjacent to (or ). (By definition, a cell does not include points of or .) Note that a search path starts at a point in and immediately enters a cell adjacent to . After a westward jump over , it may enter another cell. A search path ends when it reaches while traveling inside a cell adjacent to . See the search path in Fig. 5. All cells shown in Fig. 3(b) and Fig. 5 have a finite area, because some SE-barriers intersect NW-barriers, creating and . Specifically, for reflex vertices “bridges” between and such that and intersect each other, and is the bridge connecting the shortest path between them within , where denotes the closure of open set . See Fig. 5. Obviously, a bridge is a polygonal chain of two line segments each having a negative slope, and it divides the V-diagram into the “upper” and “lower” sides. Since a search path can cross a bridge only during a westward jump over , it is then immediate that we have the following proposition. Proposition 2: A search path never crosses a bridge from the lower side to the upper side. If no SE-barrier intersects any NW-barrier, then exactly one cell in the V-diagram has infinite area. This infinite cell, denoted , extends infinitely both southwest and northeast. See Fig. 6. Its “upper” (or northwest) boundary consists of sections of SE-barriers (and possibly ), and its “lower” (or southeast) boundary consists of sections of NW-barriers (and possibly ). and Let and be reflex vertices such that intersect. For example, and in Fig. 5. The maximal surrounded by , and a section of subarea of is called an SE-trap defined by and . Note that an SE-trap can consist of multiple cells, and there can be an SE-trap within an SE-trap. For example, in Fig. 5, the SE-trap defined and contains two cells, one of which is the by and . Symmetrically, The SE-trap defined by maximal subarea of surrounded by , , and a KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER 451 SE-barriers and . This means that every point in is on the is not boundary of some SE-trap, and hence, by Lemma 2 is adjacent searchable, a contradiction. It thus follows that to , and by symmetry, is also adjacent to . Before continuing, let us state a useful proposition. Proposition 3: Suppose that a search path leaves a cell by a westward jump over a barrier . Then during the jump crosses a bridge that defines, necessarily from its upper side to the lower side. (See Fig. 5.) Proof: Suppose, on the contrary, that does not cross any bridge during the jump. Then either is an SE-barrier that does not intersect any NW-barrier, in which case, is in an SE-trap after the jump, a contradiction to Lemma 1, or is an NW-barrier that does not intersect any SE-barrier, in which case, is in an NW-trap before the jump, again a contradiction to Lemma 1. V. SEARCH STRATEGY Fig. 6. (a) Polygon P and (b) its V-diagram containing an infinite cell C that is adjacent to both lines S and G. A path generated by 5 starting at vertex 14 is shown. section of line is called an NW-trap defined by and . Lemma 1: No search path travels inside an SE-trap or an NW-trap. Proof: Since by definition a search path never revisits line and ends as soon as it reaches line , the only possible action for a path to leave an SE-trap or enter an NW-trap is a westward jump across . However, it is obvious that no such jump can take a path traveling inside an SE-trap outside, or take a path traveling outside an NW-trap inside. Lemma 2: If every point in line is on the boundary of some SE-trap, then polygon is not searchable. Proof: A search path, if it existed, would start at a point in and immediately enter an SE-trap. This contradicts Lemma 1. Lemma 3: Suppose that polygon is searchable. If ’s V-diis adjacent to both lines agram has an infinite cell , then and . is not adjacent to . Then every cell Proof: Suppose adjacent to is either an SE-trap by itself or is contained in one, since it is a finite region bounded entirely by sections of Our goal in this paper is to design an FSM that explores an unknown polygon and tries to search it if possible. To design such an automaton, it is helpful to consider search in terms of the V-diagram. To devise a strategy for the automaton, we want to find a search path from line to line , if one exists, for the automaton to follow in the V-space. Let us consider the following procedure , consisting of two phases. Phase 1 is where we attempt to find a path from to an enNW-barrier or to . When an NW-barrier is reached, ters Phase 2, where basically we move along the cell boundaries clockwise (seen from the interior of the cell), looking for a passage to . By Lemma 3, this simple traversal is all that is needed, if indeed we have reached the lower boundary of an infinite cell in Phase 1. However, if the current cell is not infinite and does not touch , then a westward jump across may have to be made to leave the current cell. In procedure we use the greedy westward jump (GWJ) strategy for determining when to make such a jump (see below for details). If we reach in Phase 2 while traversing a cell boundary, then we start a new . round of traversal by proceeding southward from , where Procedure : The initial configuration is is an arbitrary point on . The term “current cell” refers to the cell that the path is passing through. Initially, the cell having on its boundary is the current cell. The path must not enter , except when it jumps westward across in Phase 2. [Phase 1] Move east as far as possible without entering . The path need not stay on the boundary of the current cell. Whenever the west wall of an SE-barrier is reached while moving east, move south along the wall until a point is reached at which an eastward move becomes possible, and then start moving east again. Continue this process until one of the following events occurs: is reached, then a search path has been 1.1) if line found; stop; 1.2) if an NW-barrier is reached, then go to Phase 2; 1.3) otherwise, the southeast corner of an SE-trap and the east bounded by the south wing of wing of , , has been reached. In this case, terminate the current search in failure by , moving due west along the north wall of passing through (or “jumping over”) any barrier 452 encountered, until is reached, where almost touches line . Begin a new search by extending the path by restarting Phase 1 at southward along the west wall of . [Phase 2] (Start of a new round) Stay on and move along the boundary of the current cell clockwise, until one of the following events occurs: 2.1) if is reached, then a search path has been found; stop; 2.2) (GWJ) if, while moving southwest along the northwest slope of an NW-barrier, the path encounters the east wall of an NW-barrier or the southeast slope of an SE-barrier, then pass through (or “jump over”) the barrier and start traversing the cell boundaries on the other side again starting from the point in of the barrier. (The path may enter a new cell when the jump takes place.); 2.3) if, while moving south along the west wall of an SE-barrier or southwest along the northwest slope of an NW-barrier, the path reaches the north wall , then terminate the curof an SE-barrier rent round in failure by moving due west along that wall, passing through (or “jumping over”) any baris reached where rier encountered, until almost touches line . Begin a new round by and traversing clockwise restarting Phase 2 at the boundary of the cell that lies immediately to the . (The traversal begins with a southsouth of .) ward move along the west wall of Procedure generates a single continuous path in the V-diagram, starting from a given point in , that may revisit line a number of times. (Note that is continuous, even when westward in Cases 1.3, 2.2 (GWJ), and 2.3). If it crosses eventually reaches line , then the portion of between its last visit to and is a search path. Fig. 6(b) shows a path from to generated by procedure in the V-diagram of the polygon in Fig. 6(a). Path returns to four times in Case 1.3, and its last stretch from to is a search path. Note that the V-diagram has an infinite cell , and crosses it eastward in Phase 1. Fig. 7 shows a path from to generated by procedure in the V-diagram of the polygon in Fig. 1. Path returns to once, and its last stretch from to is a search path. Note that the V-diagram has bridges, and hence, every cell has finite area. Fig. 8 illustrates a case in which path returns to twice in Case 2.3. Lemma 4: Suppose that polygon is searchable. For an arbitrary starting point in , procedure generates in Phase 1 a path that reaches either line or an NW-barrier. Proof: Let be the path that generates in Phase 1. Supnor an NW-barrier. Then, since pose reaches neither cannot continue to proceed only south and east indefinitely, it must be the case that the search fails in Case 1.3 and Phase 1 restarts, and each time the search restarts, it fails again in Case 1.3 when path reaches the southeast corner of a trap. Note that in this situation (in which the search continues to fail in Case 1.3), the search restarts in every cell adjacent to line (except possibly in those cells that are contained in another such cell). IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 Fig. 7. Path generated by 5 for the example in Fig. 1. Fig. 8. Path generated by line S twice in Case 2.3. 5 for a polygon (not shown). The path returns to Hence, every point in lies on the boundary of some trap, and by Lemma 2, no search path can exist. This contradicts the assumption that polygon is searchable. Lemma 5: Suppose that polygon is searchable and its V-diagram has an infinite cell . For an arbitrary starting point in , procedure generates a path that reaches line . Proof: Let be the path that procedure generates. By Lemma 4, path reaches or an NW-barrier. Let be the first such point. If is on , then we are done. So assume is on an NW-barrier, which is part of the lower boundary of . Path now starts a clockwise traversal of (Phase 2 of ). During the traversal of , every westward jump due to the GWJ strategy serves only as a shortcut to skip a portion of that does not is adjacent to contain any point in line . Therefore, since by Lemma 3, eventually reaches a point in . KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER To discuss the case in which there exist bridges in the V-diagram, let us make a few simple observations about procedure . Proposition 4: Suppose that polygon is searchable and its V-diagram does not have any infinite cell (therefore, it has bridges). Then the path generated by procedure has the following properties: 1) whenever enters a new cell by a westward jump over a barrier due to the GWJ strategy, it crosses a bridge that the barrier defines, necessarily from its upper side to the lower side (see Fig. 7); 2) path does not cross a bridge from its lower side to the upper side; 3) if path does not reach line , then it extends to the south indefinitely. Proof: 1) This is similar to Proposition 3. Suppose that jumps while proceeding southwest along the over a barrier NW-slope of an NW-barrier . If does not cross any bridge that defines during the jump, then since inmust be an NW-barrier that tersects NW-barrier , does not intersect any SE-barrier. This means that immediately before the jump, path is inside a cell bounded entirely by NW-barriers (and possibly ). Thus is inside an NW-trap before the jump, which is impossible because never enters one. 2) This is similar to Lemma 1. 3) Suppose that path never reaches line , enters Phase 2 (Lemma 4), and remains in the upper side of some horizontal line across the V-diagram. Then (in Phase 2) is an infinite path running along the cell boundaries (of finite total length) lying in the region sandwiched between and some bridge lying to the north of (see 2) above). Thus path self-intersects and passes through a point, say on the boundary of some cell , infinitely many times. By 1) and 2) above, cannot leave a cell by a westward jump in Case 2.2 between successive visits to point . Furthermore, path cannot revisit in different rounds, since , never revisits any once a new round starts at of the points it visited in the previous rounds. This means visits infinitely often without leaving . This is impossible, since path eventually leaves any cell it enters, in Case 2.2 or 2.3. Lemma 6: Suppose that polygon is searchable and its V-diagram does not have any infinite cell. Let be a search path that . If path that propasses through cell and finishes at cedure generates enters in Phase 2, then reaches at a latitude not lower than that of point . is adjacent to line and path Proof: Case 1: Cell enters at in Case 2.3. Cell is finite and adjacent to both lines and , and thus its “upper boundary” runs continuously from to , starting at along an SE-barrier and ending at a point on along an NW-barrier. Thus lies on the lower side of the bridge formed by a pair of intersecting SE- and NW-barriers, each forming a section of the upper boundary of . Since cannot cross this bridge from its lower side to the upper side (Proposition 2), it can reach line only at a point on or below the bridge. It thus 453 Fig. 9. Illustration for Case 1 in the proof of Lemma 6. In this and subsequent figures, barriers are shown schematically as L-shaped polygonal lines. suffices to show that path reaches at the highest point on the boundary of that is in . We shall now prove this. During the clockwise traversal of the boundary of cell starting at , path eventually reaches an NW-barrier. Let be the first point on an NW-barrier that reaches. Since can reach line only after it has reached an NW-barrier, the clockwise section of the boundary of from to does not contain a point on . Thus the remaining section of the boundary of clockwise from to contains a point on , and hence, if no westward jump occurs during the traversal, path reaches , which is the first point on the boundary of clockwise from that is on . Clearly, is the highest point on the boundary of that is on . Now we show that path always reaches , even if westward jumps take place. Suppose that path jumps over a barrier from point to point while proceeding southwest along the NW-slope of an NW-barrier . If is an SE-barrier, then is the southwest corner of cell , and hence, the boundary of cannot include a point in . (In this case, the westward jump takes outside , i.e., is not in .) See Fig. 9(a). Thus, must be an NW-barrier. above line segment , If barrier intersects an SE-barrier then again is the southwest corner of cell , and the boundary of cannot include a point on . (Again, in this case, is not intersects an NW-barrier above in .) See Fig. 9(b). If , then is in the NW-trap defined by and that path could not have entered (Lemma 1), a contradiction. See Fig. 9(c). does not intersect any barrier above , and Thus, barrier hence, is on the boundary of , and the portion of (and ) from to that path skips by the jump does not contain a point on line . See Fig. 9(d). Therefore, never “misses” a point on during a jump by the GWJ strategy. This means that path eventually reaches , even if westward jumps take place. Case 2: Cell is adjacent to line and path enters at by a westward jump in Case 2.2. Let be a westernmost point on the boundary of cell . Let be the first point on the boundary of clockwise from that 454 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 Fig. 11. Illustration for Case 3 in the proof of Lemma 6. Fig. 10. Illustration for Case 2 in the proof of Lemma 6. is on line . Clearly, is the highest point on the boundary of that is on . Note that , , and are all distinct. We first show that point lies in the clockwise section of the boundary of cell from to , as shown in Fig. 10(a). Suppose, on the contrary, that lies in the clockwise section of the boundary of from to . Let be the clockwise section of the boundary from to . Since path jumps over a bridge when it enters (Proposition 4(1)), cannot run to the north of point , or equivalently, must lie on the upper side of within the “wedge” delimited by and the vertical line through . See Fig. 10(b). This is impossible, however, since cell , and thus as well, must lie on the lower side of , and hence, as is shown in Fig. 10(b), the boundary of would not be simple. Thus, point must lie in the clockwise section of the boundary of from to . Therefore, during the clockwise traversal of the boundary of starting at , path eventually reaches if no westward jump takes place. Now, arguing as in Case 1, we can show that westward jumps during the traversal serve only as “shortcuts” around NW-barriers, and hence, reaches point even if such jumps take place. We omit the details. Case 3: Cell is not adjacent to line . Since path does not revisit line , it must leave by a westward jump across a barrier at a point on ’s boundary. By Proposition 3, crosses a bridge that defines during the jump from its upper side to the lower side, and hence, by Proposition 2, it must reach on the lower side of . By the GWJ strategy, path also leaves cell by a westward jump, from the first point that encounters during the clockwise traversal of ’s boundary at which such a jump takes outside . As we argued in Case 1, is the southwest corner of , and hence, ’s latitude is no higher than that of . Let be the point that path reaches by the jump from , and let be the horizontal line segment in the V-diagram between and line . See Fig. 11. Since path must reach line on the lower side of , it must cross before reaching after passing through , and it must cross southward when it crosses it for the last time. This means that path at is on the upper side of . Thus, if paths and never enter a common cell again, then (from on) remains in the region sandwiched between barrier and , and hence, by Proposition 4(3), must reach line in this region, at a point with a latitude higher than that of . If, on again, then the the other hand, and enter a common cell above argument can be used to show that either path reaches at a latitude no lower than that of if is adjacent to , or is on the upper side of when it exits . By repeating the same argument, we conclude that reaches at a latitude no lower than that of . Lemma 7: Suppose that polygon is searchable and its V-diagram does not have any infinite cell. For an arbitrary generates a path that starting point on line , procedure reaches line . Proof: Let be a search path. Note that there are infinitely many copies of in the V-diagram. If path never reaches , then by Proposition 4(3) it eventually enters, in Phase 2, a cell that a copy of passes through. Then, by Lemma 6, eventually reaches line at a point no lower than the finishing point of . This is a contradiction. The following theorem summarizes the above results. Theorem 1: Suppose that polygon is searchable. For an arbitrary starting point on line , procedure generates a path that contains a search path. Proof: The theorem follows from Lemmas 5 and 7. Assuming that the given polygon is searchable, let us try to that the searcher establish an upper bound on the range along needs to traverse in searching the polygon if she follows the search path generated by procedure . Theorem 2: Using procedure , any searchable polygon can be searched by traversing, on the boundary , a range of size: if the V-diagram contains an infinite 1) less than cell ; and if all cells are finite. (Recall that we 2) less than .) assume Proof: Here we prove the theorem for the case where the . The argument for the V-diagram contains an infinite cell case where all cells are finite is found in the Appendix. , where is the We divide path into two parts, subpath generated while Phase 1 is repeated until we reach a point that is on the boundary of , for some reflex vertex . Obviously, is the highest point on line that is on the boundary of at or below the starting point, and is less than 1. Let us consider the vertical range of subpath that starts at . Observe that subpath is on the boundary of by symmetry, and hence, so is , since the V-diagram is periodic. Thus, when KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER Fig. 12. Automatic beam extension. Phase 1 is (re-)started at , subpath eventually reaches a point that is on either line or an NW-barrier at a latitude . Phase 2 then starts at point and finishes not lower than that is not lower than . Obviously, at a point , and the subpath always stays on or above the line vertical range of is at most 1. Therefore, the vertical range of path is less than 2. VI. STATE TRANSITION DIAGRAM In this section, we describe a seven-state (Mealy) automaton4 for an online boundary 1-searcher, making use of the results in the previous sections. As in the previous section, we use and to denote the location of the searcher and the end of the cleared area, respectively, and sometimes refer to as the beam head. When illustrating configurations in polygon , we use the convention that the beam extends automatically in its current direction whenever possible (just like a physical beam), but only is the maxto the point , such that the clockwise section imum cleared section of starting at the searcher’s position . (Recall that we clear while maintaining LIP.) For instance, if the beam touches a reflex vertex on its left and the clockwise section is clear but is not, then we assume that the beam head “stops” at (whereas a physical beam would extend beyond ). See Fig. 12 for an example in which the searcher is moving counterclockwise, while keeping the beam pointed at reflex vertex , and the area to the left of the beam is clear. The beam head remains at until points , , and become collinear, at which moment extends to . Later we will discuss how an actual searcher may keep track of such a point while clearing polygon . Fig. 13 shows “critical” configuration types (a)–(k) that our searcher may encounter while attempting to clear polygon according to procedure . The searcher performs five types of moves, named (1)–(5), which are depicted as paths in the V-space in the figure. Fig. 14 shows the state transition diagram of a FSM representing the searcher. Each state is labeled with the name of the motion (without parentheses) that the searcher executes while being in that state. Since there are two states in which the searcher executes motion (1), one is labeled by 1, and 4Unlike the Moore machine [17], the output (move in our context) of a Mealy machine [18] is a function of the input as well as the current state. 455 the other by 1 . Similarly, the searcher executes motion (2) in both states 2 and 2 . Fig. 14 includes illustrations of the moves as actions in polygon . Moves (1)–(5) are as follows. (1) Move the beam head clockwise (eastward move in the V-space). (2) Searcher moves counterclockwise (southward move in the V-space). As shown in Fig. 13, if this motion is started with the beam head aimed at a reflex vertex from such an angle that is not visible from [configuration of type (b)], then the beam head extends automatically to the vertex next to and clockwise from when that vertex and point become collinear. (3) Searcher moves counterclockwise toward reflex vertex , while keeping the beam in contact with on its right viewed from (downward move along the slope of an NW-barrier in the V-diagram). As depicted in Fig. 15, point may change as new reflex vertices appear on the right between the current pivot and the searcher position . When reaches a reflex vertex beyond which the searcher cannot continue to move counterclockwise without losing the cleared portion (configuration type (f) with respect to the reflex vertex , Case 2.3 of ), then the searcher discards the cleared region and starts a new by setting . round at this reflex vertex (4) Searcher moves clockwise toward reflex vertex , while keeping the beam in contact with on its left (upward move along the slope of an SE-barrier in the V-diagram). As depicted in Fig. 15, point may change as new reflex vertices appear on its left between the current pivot and . Thus, this move is similar but opposite to move (3), in the sense that clockwise (instead of counterclockwise) movement is used around a left (instead of right) reflex vertex. counterclockwise (westward (5) Move the beam head move in the V-space). This move is opposite to move (1). Suppose either searcher or beam head is on a reflex vertex in such a way that the line segment can be extended beyond within the polygon. Then we say that the beam touches on its left (right) if the extended segment touches on its left (right). In the following list of configuration types, some pairs [e.g., (f) and (j), or (d) and (h)] are “opposite” of each other in the sense that one is obtained from the other by changing the side (left or right) of the beam the reflex vertex involved is touching. (a) b (c) The searcher is directing the beam at the position where . she is located, i.e., The beam head hits a reflex vertex while moving clockwise during move (1) from such an angle that the current move cannot be continued without violating LIP. (We use b , instead of (b), to mean that this configuration reflects a new reflex vertex that the beam comes in contact with. Similarly for d , f , etc., we describe in the following.) The head portion of the beam shines along an edge that the beam touches on its left. If edge belongs to a concave area and (c) is reached during motion (2), then the beam head extends from to (but not beyond, as explained above in connection with Fig. 12). 456 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 Fig. 13. Critical configuration types (a)–(k) encountered during search. (1)–(5) correspond to various moves of the searcher illustrated in Fig. 14. Fig. 14. State transition diagram of a FSM M for a searcher and her motion in each state. KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER Fig. 15. Pivot can change during motions (3) and (4). d (e) f g h (i) The beam (not the beam head) comes in contact with a new reflex vertex on its left during motion (3), (4), or (5). If it happens during motion (4), then it does not trigger a state transition, but the pivot vertex changes, as shown in Fig. 15. If it happens during motion (5), then the searcher switches to motion (4), where the beam is rotated clockwise using vertex as the pivot. If it happens during motion (3), then the beam (automatically) jumps (shrinks) across a gap, losing some ground which had been cleared before (recontamination). As mentioned earlier, this corresponds to a westward jump across in the V-diagram. Move (3) is continued after the jump, as indicated by a loop labeled d on state 3 in Fig. 14. This configuration type is reached from configuration type (d) when the searcher, in executing move (4), reaches the reflex vertex toward which it has been moving. This configuration type is reached during motion (2), (2 ), or (3). In each case, the searcher reaches a reflex vertex while moving counterclockwise and “gets stuck” (in Case 1.3 if we are in state 2, and in Case 2.3 if we are in state 2 or 3). So the searcher discards the cleared region and starts a new search at this reflex vertex by setting . This configuration type is encountered during motion (3) in Phase 2. The searcher continues to move counterclockwise, keeping the beam in contact with the current pivot, and causes recontamination of a region beyond the new reflex vertex. This corresponds to a westward jump across in the V-diagram. The beam (not the beam head) comes in contact with a new reflex vertex on its right. It may be encountered in Phase 1 during move (1) or (2), and in Phase 2 during move (1 ) or (4). This configuration type is “opposite” to (e). This configuration type is “opposite” to f . The entire beam shines along an edge counterclockwise. Search is complete when this configuration type is reached. In Fig. 14, states 1 and 2 implement Phase 1 of procedure , and the remaining states implement Phase 2. Let us now examine some details of the diagram. Phase 1: State 1 is the initial state. Intuitively, the searcher gives priority to move (1) over (2), and tries to stay in, or move to, state 1 whenever possible. (k) 457 Assume that the searcher is placed somewhere on the boundary of the given polygon with the beam pointed at her own location [Fig. 13(a)], and starts with move (1). Since move (1) has priority over (2), the searcher, while remaining stationary, rotates the beam clockwise as far as it can go without violating LIP. When configuration (b) is reached [Fig. 13(b)], the searcher switches moves from (1) to (2). Once configuration (c) is reached, the searcher switches back to move (1), and so forth. These actions are summarized in Fig. 14 as several transitions involving states 1 and 2. Configuration type (k), in which the beam is directed at the searcher, signifies the end of a successful search and takes the searcher’s state out of Phase 1. (We consider “done” is not part of Phase 1.) When either configuration type (h) or (i) is reached, the searcher enters Phase 2 in state 3 or 1 , respectively. Phase 2: We introduce five states in this phase, named 1 , 2 , 3, 4, and 5. In each of these states, the searcher performs the corresponding move. Although the searcher enters Phase 2 in state 1 or 3, it is convenient to describe the searcher’s action beginning in state 2 where subsequent rounds start. Each new round starts in configuration type (a), with the searcher in state 2 executing move (2). One major difference between Phases 1 and 2 is what the searcher does when configuration type (c) is reached. See Fig. 13(c). In Phase 1, she simply carries out move (1). In contrast, in Phase 2, the searcher initiates move (4), to traverse the cell boundary clockwise (in the V-space). She continues to move clockwise through moves (4) or (5), until the beam encounters a reflex vertex on its right in configuration or . Configuration type triggers move (3) in type state 3, during which westward jumps can take place at the time configuration type or is reached. (The searcher can , in which case “get stuck” in state 3 with configuration type she gives up on the partially cleared area so far and starts a new round in state 2 .) In state 1 , the searcher either finishes the search successfully when configuration type (k) is reached during move (1), or returns to state 3 when the beam hits another reflex vertex on its right. VII. IMPLEMENTATION ISSUES Let us briefly discuss the operational and sensing capabilities that a searcher (e.g., physical robot) must have, in order to search polygon according to the FSM of Fig. 14. Only two types of actions are required. 1) Moves (1) and (5) are simple rotations of the beam while the searcher remains stationary. 2) All other moves are instances of a general action in which the searcher moves clockwise or counterclockwise along , while aiming the beam at a fixed point the boundary on . (A physical beam always extends as far as possible in polygon .) The fixed point serves as the pivot about which the searcher moves. For instance, motions (2) and (3) are essentially similar, both requiring the searcher to move counterclockwise while aiming the beam at a reflex vertex . The difference is that in (2), the searcher knows that the frontier of the cleared region is , while in (3), it is a point on the beam beyond point . 458 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 The following sensing capabilities are sufficient for recognizing the critical configurations and updating the location of . 1) When the searcher reaches a polygon vertex in either the clockwise or counterclockwise direction, she can determine if the vertex is a reflex vertex. 2) The searcher can detect every contact point between the . Furthermore, for each contact beam and the boundary point , she knows whether is a reflex vertex that the beam is touching on its left, or is a reflex vertex that the beam is touching on its right. VIII. CONCLUDING REMARKS We have presented an online algorithm for searching an unknown polygonal region by one boundary 1-searcher. We have shown that if is searchable by a boundary -searcher, then our procedure always successfully searches it using a boundary 1-searcher. Moreover, it does so circling the polygon boundary less than two or three times (depending on the polygon). We also implemented the algorithm in the form of an FSM having only seven states. Note that if polygon is not searchwill continue to run forever, without able, then procedure ever discovering that no search path exists. Of course, this is inevitable with any searcher having only a finite amount of memory. One way to ensure that our finite-state searcher always comes to a halt for any unknown polygon and never fails to find a search path when one exists, is to allow her to drop a token in the polygon that she can recognize later [16]. In fact, dropping a single token to mark the starting point on the polygon boundary (so that the searcher knows when she has traversed the entire polygon boundary three times) is enough to turn procedure into a complete algorithm that always halts. Our discussion used a newly introduced V-diagram that represents certain key visibility information among the points on the boundary of polygon . For future work, it would be interesting to investigate if there exists a similar finite-state online search algorithm for an -searcher in an unknown polygonal region that, unlike the one discussed in [15] and [16], does not construct a global map of the region. Extending our work for the case of curved environments having a piecewise-analytic boundary [19] is another interesting topic. APPENDIX The following is a proof of Theorem 2 for the case in which there exist bridges in the V-diagram, and hence, all cells have finite area. Let be a searchable polygon whose V-diagram has bridges. Let be the path that generates, starting at point . We consider two cases, depending on the number of rounds Phase 2 has. • Case 1: Phase 2 has just one round. — Case 1a: is not on any cell boundary just before Phase 2 is entered. — Case 1b: is on a cell boundary just before Phase 2 is entered. Fig. 16. Illustration for Case 1a. • Case 2: Phase 2 has more than one round, so that is in Phase 2 when leaves line in the last round. be the last SE-barrier such that proCase 1a. Let was in Phase 1 when left its boundary from its cedure southern tip.5 See point in Fig. 16. Let be the NW-barrier upon which enters Phase 2, and let be for the first time. Let the point where touches , and be the copies of , , and , respectively, dis. Since never intersects ( placed downwards by would be infinite if it did), it never reaches the northwest slope (if it did, then it inevitably intersects of ). Thus reaches at a latitude no lower than . In order to bound the vertical range of , we observe the following. 1) The vertical range of from to is less than , i.e., . This is because if did not leave , then would line for the last time within never reach . 2) , where is the vertical distance between and , and is the vertical distance between and . This is because the south wing of must be to the west of . 3) The vertical distance between and is . 4) does not go further north than after leaving . Thus, the total vertical range of is less than the sum of the . three distances above, i.e., Case 1b. See Fig. 17, where . The proof that the vertical is similar to Case 1a, and is thus range of is less than omitted. , then Case 2. See Fig. 18. (There is no .) If passes through both and while still in Phase 1, a contradiction, as that would imply is infinite. . In this case, passes through Suppose while still in Phase 1. Let be the cell that enters when the last round of ’s Phase 2 starts at . Let 5We write S E (a; a) instead of SE (v ), v = (a; a). KAMEDA et al.: ONLINE POLYGON SEARCH BY A SEVEN-STATE BOUNDARY 1-SEARCHER 459 . (All the entire boundary of any finite cell is less than cells are finite, since we assume there are bridges in the V-dia. gram.) Thus, the vertical range of is less than Finally, suppose . The argument for this case is similar to Case 1a. never reaches the northwest slope of , and hence, the vertical range of after is at most . Thus, the vertical range leaving of is less than . This completes the proof of the theorem. ACKNOWLEDGMENT The authors are indebted to Y. Tazoe who first suggested the idea of using a finite-state automaton to search a polygon. They also thank Z. Zhang of the Department of Computing Science, University of Lethbridge, Lethbridge, AB, Canada, for providing them with a Java program that generates the V-diagram for a given polygon. This tool turned out to be invaluable in the research reported in this paper. They also wish to thank the anonymous referees for their helpful comments. Fig. 17. Illustration for Case 1b. Fig. 18. Illustration for Case 2. be the copy of displaced upwards by . [ enat .] cannot be (a part of) an SE-trap, ters as that would imply returns to after leaving . Now is adjacent to . If was not adjacent to , we show that is not a part of any SE-trap) would encounter then (since ( then enters Phase an NW-barrier while traveling inside 2) and exit by a westward jump, at point , which is the copy of point on the boundary of at which exits by a westward jump. Since reaches without reaching after , the initial part of before reaching would leaving also reach after leaving without visiting at , a conis adjacent to , and hence, is adjacent tradiction. Thus to as well, and reaches while traversing the boundary . Therefore the vertical range of after of after leaving leaving is less than , since the vertical range of REFERENCES [1] I. Suzuki and M. Yamashita, “Searching for a mobile intruder in a polygonal region,” SIAM J. Comput., vol. 21, pp. 868–888, 1992. [2] I. Suzuki, Y. Tazoe, M. Yamashita, and T. Kameda, “Searching a polygonal region from the boundary,” Int. J. Computat. Geom. Appl., vol. 11, pp. 529–553, 2001. [3] J. O’Rourke, Art Gallery Theorems and Algorithms. Oxford, U.K.: Oxford Univ. Press, 1987. [4] L. J. Guibas, J.-C. Latombe, S. M. LaValle, D. Lin, and R. Motwani, “Visibility-based pursuit-evasion in a polygonal environment,” in WADS ’97 Algorithms and Data Structures (LNCS 1272), F. Dehne, Ed. et al. Berlin, Germany: Springer, 1997, pp. 17–30. [5] S.-M. Park, J. H. Lee, and K.-Y. Chwa, “Visibility-based pursuit-evasion in a polygonal region by a searcher,” in Proc. 28th ICALP, Crete, Greece, 2001, vol. 2076, Lecture Notes in Computer Science, pp. 456–468. [6] J. H. Lee, S.-M. Park, and K.-Y. Chwa, “Simple algorithms for searching a polygon with flashlights,” Inf. Process. Lett., vol. 81, pp. 265–270, 2002. [7] D. Crass, I. Suzuki, and M. Yamashita, “Searching for a mobile intruder in a corridor—The open edge variant of the polygon search problem,” Int. J. Computat. Geom. Appl., vol. 5, pp. 397–412, 1995. [8] J. H. Lee, S. Y. Shin, and K.-Y. Chwa, “Visibility-based pursuit evasion in a polygonal room with a door,” in Proc. ACM Symp. Computat. Geom., Miami Beach, FL, 1999, pp. 281–290. [9] J. H. Lee, S.-M. Park, and K.-Y. Chwa, “Searching a polygonal room with a door by a 1-searcher,” Int. J. Computat. Geom. Appl., vol. 10, pp. 201–220, 2000. [10] S. M. LaValle, B. H. Simov, and G. Slutzki, “An algorithm for searching a polygonal region with a flashlight,” in Proc. ACM Symp. Computat. Geom., Hong Kong, 2000, pp. 260–269. [11] I. Suzuki, M. Yamashita, H. Umemoto, and T. Kameda, “Bushiness and a tight worst-case upper bound on the search number of a simple polygon,” Inf. Process. Lett., vol. 60, pp. 49–52, 1998. [12] M. Yamashita, H. Umemoto, I. Suzuki, and T. Kameda, “Searching for mobile intruders in a polygonal region by a group of mobile searchers,” Algorithmica, vol. 31, pp. 208–236, 2001. [13] A. Efrat, L. J. Guibas, S. Har-Peled, D. C. Lin, J. S. B. Mitchell, and T. M. Murali, “Sweeping simple polygons with a chain of guards,” in Proc. 11th ACM-SIAM Symp. Discr. Algorithms, 2000, pp. 927–936. [14] K. Sugihara, I. Suzuki, and M. Yamashita, “The searchlight scheduling problem,” SIAM J. Comput., vol. 19, pp. 1024–1040, 1990. [15] S. Sachs, S. Rajko, and S. M. LaValle, “Visibility-based pursuit-evasion in an unknown planar environment,” Int. J. Robot. Res., vol. 23, pp. 3–26, 2004. [16] S. Rajko and S. M. LaValle, “A pursuit-evasion BUG algorithm,” in Proc. IEEE Int. Conf. Robot. Autom., 2001, pp. 1954–1960. 460 IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 3, JUNE 2006 [17] E. F. Moore, “Gedanken experiments on sequential machines,” in Automata Studies, Annals of Mathematical Studies. Princeton, NJ: Princeton Univ. Press, 1956, pp. 129–153. [18] G. H. Mealy, “A method for synthesizing sequential circuits,” Bell Syst. Tech. J., vol. 34, pp. 1045–1079, Sep. 1955. [19] S. M. LaValle and J. E. Hinrichsen, “Visibility-based pursuit-evasion: The case of curved environments,” in Proc. IEEE Int. Conf. Robot. Autom., Detroit, MI, 1999, pp. 1677–1682. Tsunehiko Kameda received the B.E. and M.E. degrees from the University of Tokyo, Tokyo, Japan, in 1961 and 1963, respectively, and the Ph.D. degree in electrical engineering from Princeton University, Princeton, NJ, in 1968. From 1967 to 1981, he was with the Department of Electrical Engineering, University of Waterloo, Waterloo, ON, Canada. In 1981, he joined the Department of Computing Science, Simon Fraser University, Burnaby, BC, Canada, where he is currently Professor Emeritus. He has had several visiting appointments with Kyushu University and Kyoto University in Japan. He has also held visiting professorships at several institutions in Germany, including the Universities of Erlangen-Nuernberg, Karlsruhe, and Frankfurt, and Gesellschaft für Mathematische Datenverarbeitung (GMD). His current research interests include algorithms, distributed systems, computational geometry, and media-on-demand. Masafumi Yamashita (M’99) received the B.E. and M.E. degrees from Kyoto University, Kyoto, Japan, in 1974 and 1977, respectively, and the Doctor of Engineering degree from Nagoya University, Nagoya, Japan, in 1981. From 1980 to 1985, he was with the Department of Information and Computer Sciences, Toyohashi University of Technology, Aichi, Japan. In 1985, he joined the Faculty of Engineering, Hiroshima University, Hiroshima, Japan, as an Associate Professor, and was a Professor from 1992 to 1998. In 1998, he joined the Department of Computer Science and Communication Engineering, Kyushu University, Fukuoka, Japan, where he is currently a Professor. He has held visiting appointments several times with Simon Fraser University, Burnaby, BC, Canada, and the University of Wisconsin, Milwaukee. His research interest includes distributed algorithms/systems, parallel algorithms, and cooperative systems. Dr. Yamashita is a member of the Institute of Electronics, Information and Communication Engineers of Japan, the Information Processing Society of Japan, SIAM Japan, and ACM. Ichiro Suzuki received the D.E. degree in information and computer sciences from Osaka University, Osaka, Japan, in 1983. He is currently a Professor of Computer Science with the University of Wisconsin, Milwaukee, WI. He has held visiting positions at Osaka University and Kyushu University. His research interests include distributed/concurrent systems and computational geometry. Dr. Suzuki is a member of the Association for Computing Machinery.
© Copyright 2025 Paperzz