Online Polygon Search by a Seven-State Boundary 1

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.