8
Autonomous Algorithms for Terrain Coverage Metrics, Classification and Evaluation Jonathan Mason, Ronaldo Menezes Abstract—Terrain coverage algorithms are quite common in the computer science literature and for a good reason: they are able to deal with a diverse set of problems we face. From Web crawling to automated harvesting, from spell checking to area reconnaissance by Unmanned Aerial Vehicles (UAVs), a good terrain coverage algorithm lies at the core of a successful approach to these and other problems. Despite the popularity of terrain coverage, none of the works in the field addresses the important issue of classification and evaluation of these algorithms. It is easy to think that all algorithms (since they are all called terrain coverage) deal with the same problem but this is a fallacy that this paper tries to correct. This paper presents a summary of many algorithms in the field, classifies them based on their goals, introduces metrics to evaluate them, and finally performs the evaluation. I. I NTRODUCTION T HE term terrain coverage refers to the idea of using a set of agents to explore a terrain. This area of research has applications where agents are required to: perform tasks such as vacuuming or harvesting, perform searches for targets, or simply, explore a particular terrain. There are numerous algorithms describing methods for covering a given terrain. However, descriptions of metrics on how well these algorithms perform is currently lacking. In particular, there are few metrics that can be used to compare algorithms against each other and to determine how well they perform in different situations. Accordingly, claims of performance should be taken with a grain of salt since very few proposals go beyond a comparison with one other approach in the field. This paper tries to remedy this situation by describing mech- anisms for comparing these algorithms. In order to achieve this, the paper: (i) proposes metrics for evaluation of terrain coverage algorithms, and (ii) perform extensive experiments that show how well the different algorithms perform according to the proposed metrics. But what is a terrain? From the point of view of this paper a terrain is seen as a two-dimensional lattice where each cell has exactly 8 neighbors. The choice for this is not arbitrary and relates to the visualization of the algorithms and the fact that real terrains are generally two-dimensional. We have implemented an elaborate simulator for these algorithms and a two-dimensional lattice does provide the best form of visualization (see Figure 3). However, it should be noticed J. Mason is with the Department of Computer Science, Florida Institute of Technology, Melbourne, FL 32901, USA (email: jonma- [email protected]). R. Menezes (IEEE Member) is with the Department of Computer Sciences, Laboratory for Bio-Inspired Computing, Florida Institute of Technology, Melbourne, FL 32901, USA (e-mail: rmenezes@cs.fit.edu). the metrics proposed here have no direct relation to the representation of the terrain. If necessary, terrains could be represented as a graph, or any N-dimensional lattice. In fact, any graph representation could be trivially transformed into a lattice representation. Before delving into the evaluation of terrain coverage algo- rithms we must discuss a few differences between the types of algorithms that deal with terrain coverage. They can be seen as belonging to three classes: centralized, distributed and autonomous. Here, we deal with the last class but the introduction of the classificaiton below helps the understanding the class of algorithms we deal with in this paper. Centralized control refers to cases where a centralized decision maker or a planner controls the agents. This class of algorithms is similar to planning algorithms [1], [2]. The second approach is also similar to planning but the algorithms are distributed. In distributed control, we have a set of dis- tributed agents which are in charge of making the decisions. Normally they are aware of the entire terrain (global planning) causing them to be very efficient. However, as the terrain size increases and the characteristics of the terrain changes from uniform to non-uniform terrains [3], planning becomes more complex and costly. The last type of algorithm for terrain coverage is called autonomous because each agent in the terrain coverage answers only to its own decisions which are taken in response to local information available to each agent. This paper concentrates on these kinds of algorithms evaluating them on diverse metrics. In addition to the types above, the goal of terrain cover- age algorithms could be classified according to their tempo- ral/spatial properties. In Bullen and Menezes [4] we introduced the concept of temporal terrain coverage and showed why it is different from spatial coverage. Some of the metrics described in Section III consider the temporal characteristics of the algorithms (for more information about spatial vs. temporal coverage refer to [4]). Last, but certainly no less important, is the distinction of terrain coverage algorithms and target location algorithms. While the former refers to the task of using agents to traverse the entire extension of the terrain, the latter focuses on locating a target within the terrain. Note that target location is not interested whether the coverage of the terrain is good. In this paper we study some algorithms originally proposed for target location but with a modification: the target does not exist. Without the target, agents are forced to maximize terrain coverage in an (futile) attempt to locate the target. With this modification, we were able to implement more algorithms in our simulator (described in Section IV). 1641 978-1-4244-1823-7/08/$25.00 c 2008 IEEE

[IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

  • Upload
    ronaldo

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Autonomous Algorithms for Terrain Coverage

Metrics, Classification and Evaluation

Jonathan Mason, Ronaldo Menezes

Abstract—Terrain coverage algorithms are quite common inthe computer science literature and for a good reason: theyare able to deal with a diverse set of problems we face. FromWeb crawling to automated harvesting, from spell checking toarea reconnaissance by Unmanned Aerial Vehicles (UAVs), agood terrain coverage algorithm lies at the core of a successfulapproach to these and other problems. Despite the popularityof terrain coverage, none of the works in the field addressesthe important issue of classification and evaluation of thesealgorithms. It is easy to think that all algorithms (since they areall called terrain coverage) deal with the same problem but thisis a fallacy that this paper tries to correct. This paper presents asummary of many algorithms in the field, classifies them basedon their goals, introduces metrics to evaluate them, and finallyperforms the evaluation.

I. INTRODUCTION

THE term terrain coverage refers to the idea of using a set

of agents to explore a terrain. This area of research has

applications where agents are required to: perform tasks such

as vacuuming or harvesting, perform searches for targets, or

simply, explore a particular terrain.

There are numerous algorithms describing methods for

covering a given terrain. However, descriptions of metrics on

how well these algorithms perform is currently lacking. In

particular, there are few metrics that can be used to compare

algorithms against each other and to determine how well

they perform in different situations. Accordingly, claims of

performance should be taken with a grain of salt since very few

proposals go beyond a comparison with one other approach

in the field.

This paper tries to remedy this situation by describing mech-

anisms for comparing these algorithms. In order to achieve

this, the paper: (i) proposes metrics for evaluation of terrain

coverage algorithms, and (ii) perform extensive experiments

that show how well the different algorithms perform according

to the proposed metrics.

But what is a terrain? From the point of view of this

paper a terrain is seen as a two-dimensional lattice where

each cell has exactly 8 neighbors. The choice for this is not

arbitrary and relates to the visualization of the algorithms and

the fact that real terrains are generally two-dimensional. We

have implemented an elaborate simulator for these algorithms

and a two-dimensional lattice does provide the best form of

visualization (see Figure 3). However, it should be noticed

J. Mason is with the Department of Computer Science, FloridaInstitute of Technology, Melbourne, FL 32901, USA (email: [email protected]).

R. Menezes (IEEE Member) is with the Department of Computer Sciences,Laboratory for Bio-Inspired Computing, Florida Institute of Technology,Melbourne, FL 32901, USA (e-mail: [email protected]).

the metrics proposed here have no direct relation to the

representation of the terrain. If necessary, terrains could be

represented as a graph, or any N-dimensional lattice. In fact,

any graph representation could be trivially transformed into a

lattice representation.

Before delving into the evaluation of terrain coverage algo-

rithms we must discuss a few differences between the types

of algorithms that deal with terrain coverage. They can be

seen as belonging to three classes: centralized, distributed

and autonomous. Here, we deal with the last class but the

introduction of the classificaiton below helps the understanding

the class of algorithms we deal with in this paper.

Centralized control refers to cases where a centralized

decision maker or a planner controls the agents. This class

of algorithms is similar to planning algorithms [1], [2]. The

second approach is also similar to planning but the algorithms

are distributed. In distributed control, we have a set of dis-

tributed agents which are in charge of making the decisions.

Normally they are aware of the entire terrain (global planning)

causing them to be very efficient. However, as the terrain

size increases and the characteristics of the terrain changes

from uniform to non-uniform terrains [3], planning becomes

more complex and costly. The last type of algorithm for

terrain coverage is called autonomous because each agent in

the terrain coverage answers only to its own decisions which

are taken in response to local information available to each

agent. This paper concentrates on these kinds of algorithms

evaluating them on diverse metrics.

In addition to the types above, the goal of terrain cover-

age algorithms could be classified according to their tempo-

ral/spatial properties. In Bullen and Menezes [4] we introduced

the concept of temporal terrain coverage and showed why it is

different from spatial coverage. Some of the metrics described

in Section III consider the temporal characteristics of the

algorithms (for more information about spatial vs. temporal

coverage refer to [4]).

Last, but certainly no less important, is the distinction of

terrain coverage algorithms and target location algorithms.

While the former refers to the task of using agents to traverse

the entire extension of the terrain, the latter focuses on locating

a target within the terrain. Note that target location is not

interested whether the coverage of the terrain is good. In

this paper we study some algorithms originally proposed for

target location but with a modification: the target does not

exist. Without the target, agents are forced to maximize terrain

coverage in an (futile) attempt to locate the target. With this

modification, we were able to implement more algorithms in

our simulator (described in Section IV).

1641

978-1-4244-1823-7/08/$25.00 c©2008 IEEE

Page 2: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

II. ALGORITHMS

Random Walk [4] is a naıve approach to terrain coverage,

but one that can be used as basis for comparison with others.

As most brute-force approaches, random walk works on any

terrain (although not efficiently). The approach consists of

agents randomly choosing a direction and moving one step in

that direction covering that cell. This process is repeated until

the goal is reached (e.g., cover all the cells in the terrain). It is

expected that each of the other algorithms will perform better

than this one, because this algorithm does nothing to try and

optimize the behavior of the agents.

The node-counting algorithm [5] takes a deterministic ap-

proach to terrain coverage since the choice of place to move

always considers the cell with the fewest number of visits.

At each time step, each agent moves from its current location

(cell) in the terrain to one of the adjacent cells. The adjacent

cell chosen to be visited is the one with the fewest number

of visits by all agents. In the case where several cells tie for

the fewest number of visits, any one of the cells from this set

may be chosen at random.

Recency [6] is an algorithm where each agent bases its

choice of movement on the time since each adjacent cell has

been visited. It was proposed as a means of comparison for

other approaches to terrain coverage. It is similar to node

counting, but the count is in time units rather than number

of visits. Thus the neighboring cell that has been visited

least recently would be the best choice for an agent’s next

location, regardless of how many times it has been visited.

This algorithm is also deterministic.

Alarm [7] is an algorithm based on Ant Colony Opti-

mization (ACO) [8]. ACO is a heuristic where each agent

is able to choose its next location by evaluating the amount

of pheromone in the neighboring cells. They choose the

next location to move to proportional to the concentration

of pheromone in that location. Each agent will also leave

some pheromone in each cell that it visits. This pheromone

may be affected by environmental factors such as evaporation.

The Alarm approach to terrain coverage uses the presence of

pheromone as a repellent to agents. Thus with this algorithm,

an agent’s choice is to move to cells with less pheromone, or

away from the source of the alarm. Alarm is a probabilistic

approach meaning that the pheromone in each cell represents

a chance of that cell (not) being chosen as the next cell to

move to.

LRTA* [9] is a deterministic target location algorithm that

updates the amount of pheromone1 for the current cell location

during each step. In this algorithm, the pheromone acts as a

repellent for each agent. As each agent moves, it will update

the value of the current cell by taking the minimum amount

of pheromone of the neighboring cells and incrementing it

by the distance from the current cell to the neighboring cell.

1Note that the pheromone in LRTA*, OMA and Wagner represents someinformation left on the terrain but not necessarily pheromones as understoodby Swarm-based algorithms. The reason for using the term relates to the factthat in the simulator, all information left on the environment is referred to aspheromone.

Therefore, over time, cells that have not been visited will have

the pheromone evaporate, and thus be more attractive to the

agents. After a cell has been visited, the agent will recalculate

the amount of pheromone for the cell before moving. The

difference between this algorithm and Alarm is that the amount

of pheromone deposited in a cell is not uniform, but rather

depends on the amount of pheromone in neighboring cells.

OMA [6] is a deterministic terrain coverage algorithm that

is similar to LRTA*, except that there is a guarantee that the

pheromone will be incremented for each visited cell during

each step. In the case that neighboring cells have much lower

pheromone levels, the level of pheromone in the current cell

will still be increased, which is not always the case with

LRTA*. With LRTA*, there is the possibility that if the

neighbors have lower pheromone levels, the current cell can

have its pheromone level lowered. This will not happen using

OMA, which causes it to exhibit behaviors of both Node

Counting and LRTA*.

Wagner [10] is a deterministic terrain coverage algorithm

that updates the pheromone level in the current cell only if it

is less than that of the neighboring cell to which the agent is

moving. In the event the current cell has a higher pheromone

level than the cell to which the agent is moving to, no update to

the current pheromone level will occur. This algorithm is quite

similar to both the LRTA* and the OMA algorithms, except

that the update is conditional, and will not always occur.

III. METRICS

This section describes the metrics used in measuring the

performance of terrain coverage algorithms. For these algo-

rithms, it is assumed that during each unit of time, each agent

moves from one cell location in the terrain to an adjacent one.

A. Time to Full Coverage

The time required for each section of terrain to be visited

at least once by an agent is the most common measurement

of how well a terrain coverage algorithm performs. Whereas,

algorithms that cover all of the terrain for a given problem

can be considered to perform equally well in the spatial sense,

moving the algorithm to the temporal case and using a time

constraint gives a way to compare algorithms to determine

which ones can cover a given terrain in less time.

This metric is useful for measuring how well an algorithm

is at automating a task such as vacuuming, painting, or

harvesting. In general this metric applies to any application

where all of the terrain needs to be visited at least once, and

multiple visits do not produce negative consequences.

B. Sensitivity to the Number of Agents

This metric measures the scalability of the algorithms with

regards to the number of agents. When physical constraints are

assumed (e.g. two agents cannot occupy the same space), the

increase on the number of agents may not translate directly

into gain in terrain coverage; it may be possible that a terrain

with too many agents cannot be covered as efficiently since

agents are not able to visit/move to certain locations. Similarly,

1642 2008 IEEE Congress on Evolutionary Computation (CEC 2008)

Page 3: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

algorithms that were developed for working with few agents

may not perform well in environments with too many agents.

C. Sensitivity to the Terrain

Like the previous approach, scalability can also be measured

in terms of the size of the environment. Some algorithms may

perform better in large environments while others perform

better in smaller terrains. In our experiments we have used 2D

lattices of sizes from 20×20 cells and 50×50 cells. In addition

to the size (which is very similar to the metric in Section

III-B above), the configuration of the terrain has an effect on

the performance. In this paper we measure three approaches.

First we assume non-obstructed terrains which are standard

in most algorithms. Second, we use obstructed terrains where

some barriers are placed on the environment. Finally, we want

to find out the ability of the algorithms to handle complicated

special features which may require the agents to move through

narrow paths.

(a) Non-Obstructed (b) Obstructed (c) Special Feature

Fig. 1. Three types of terrain used in our experiments. In (a) we have anopen terrain, in (b) a terrain obstructed by some walls, and in (c) we have aterrain with a special feature representing a hard-to-access location.

Figure 1 shows the three scenarios used. Note that Figure

1(c) has a very narrow corridor to be covered. In some terrain

coverage algorithms, this feature may be hard to be covered

given the limitation in the number of neighbors the positions

have. That is, cells inside the corridor have 2 neighbors as

opposed to 8 neighbors of other cells in the terrain.

These terrains were not chosen at random, they are repre-

sentations of realistic cases in the real world. For instance,

the non-obstructed represents an open space, the obstructured

represent an well divided area such as an building and the last

one tackles the problem of special feature in these terrains;

some hard to find location in the terrain.

D. Percentage Covered

The inverse metric to the time required to cover a given

amount of terrain, is to determine how much terrain is covered

in a given amount of time. This measurement will answer

the question: How long until a given amount of the terrain is

covered? This metric is useful for applications that operate

with a time constraint being more important than the full

coverage. Using this metric, an algorithm that can cover 95%

of the terrain quickly, but may never reach full coverage could

outperform an algorithm that does eventually cover the entire

terrain. Thus, when an algorithm reaches a point where the

rate of convergence begins to decrease, it could be stopped.

Graphing the number of cells that are visited over time

would be a useful metric for determining models of how

the algorithm covers terrain. Does the algorithm cover the

terrain linearly over time? Exponentially? Logarithmically?

This metric will allow us to create models for predicting future

outcomes. It allows for determining how many agents are

needed for a particular application.

E. Measuring Revisits

Measuring how many and how often cells are revisited

is another way to compare the effectiveness of algorithms.

Measuring the percentage of terrain that is revisited (more

than a given number of times), the area of terrain with the

maximum number of visits, and the standard deviation of visits

between cells will show the level of redundancy built in to the

algorithms. A histogram could be created based on the number

of visits to each cell to determine what areas are visited

most. By measuring the standard deviations of visits among

all cells (unit area of terrain), we can obtain a measure of the

uniformity of the revisits to cells. By looking at the number of

times each individual cell was visited, it can be determined if

there are large areas (or paths) that are continuously revisited

or need to be revisited, or if there are smaller areas that are

continuously revisited.

This metric is a measure of quality for a given algorithm

and those with fewer revisits or lower standard deviations in

number of visits would be considered to perform better. This

would be a useful metric for applications such as painting,

where the time required to reach full coverage is less important

than the idea that the area is covered uniformly, thereby

receiving the same number of coats of paint.

Although standard deviation is a good approach for mea-

suring uniformity of visits, it is worth noticing that it may be

inappropriate for measuring redundancy of work (doing more

work than necessary). Consider the following two situations.

First, a few cells are visited much more frequently while

the algorithm uniformly covers the remainder of the given

terrain. This algorithm would have a high standard deviation,

due to the fact that most cells were visited uniformly, but a

couple of cells were visited much more frequently. Second,

if the algorithm explores the entire terrain uniformly, then

there could be quite a bit of redundancy before the entire

terrain is covered. However, this second situation would have

a low standard deviation in the number of visits. However, it is

possible that the amount of redundancy in the second situation

is more than the amount from the first situation. This is

illustrated in Figure 2. Note that the number of redundant visits

(shaded) in the right picture (22) is larger than the number in

the left picture (14) even though the standard deviation is lower

on the right picture.

F. Time Between Visits

Measuring the time between visits is a metric that can be

used to measure the effectiveness of an algorithm in temporal

coverage. This measurement is useful for applications such

as security and surveillance. In these applications it is not

2008 IEEE Congress on Evolutionary Computation (CEC 2008) 1643

Page 4: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Redundant Work

CELLS CELLS

# O

F V

ISIT

S

# O

F V

ISIT

S

Redundant Work

Fig. 2. Standard Deviation Cost Example

sufficient to visit an area once, but rather it is necessary toperiodically revisit an area. By measuring the time betweenvisits and taking the standard deviations of these times, it canbe determined how uniformly often the cells are visited. Also,by measuring the number of visits to a particular area of terrainduring a given time, it can be determined how likely the cellis to be visited during other periods of time.

This measure is useful for security applications such aspolice patrol. How long will it be between the times a policepatrols a particular city block or street? Police could use thisknowledge to know where additional presence is most likelyto be needed. This problem is even more interesting from theopposite side. If criminals know how likely a police officer islikely to patrol a given area, that knowledge could be used totarget areas where there is a low probability of police presence.

G. Exploratory Nature of the Agents

This measurement determines how often agents return to agiven cell. It could also be viewed as a count of revisits fromthe perspective of the agents. How many times does an agentrevisit the same cell? Is the agent exploratory and does notrevisit the same cell? Or is the agent local and revisits thesame cells repeatedly? Using this metric, it would be possibleto provide estimates for how many agents are required to coverterrain using a particular algorithm. Therefore, if cost of agentsis a concern, perhaps an algorithm that works better with fewerbut more exploratory agents should be employed. However, ifthe cost of agents is low, then an algorithm that performs betterwith more but possibly less exploratory agents would be moreappropriate.

H. Spatial Distribution of Agents

Lastly, we define a metric for the starting location of theagents. Studying the spatial distribution of the agents in thebeginning of the simulator can provide an interesting way tocompare the algorithms. Does a particular algorithm workbetter if the agents are started at random locations in theterrain, or if the agents all start from the same location? Whenall agents start from the same location (similar to a nest forants in nature), do different starting locations perform betterthan others?

IV. SIMULATOR

The simulator used for implementing these algorithms andcollecting results for them was written using NetLogo [11].We have run nearly 100000 experiments on the three differentterrains shown in Figure 1. All the results shown were areperformed on terrains of 20 × 20 and 50 × 50. We believethese sizes are realistic and represent a good size terrain;for instance, the in the 50 × 50, if we assume each squareas having 1m2, we would have a terrain that is larger thanhalf an acre. Furthermore, 1m2 is relatively small and inrealistic environoments is not unusual for each “location” tobe considered based on the visibility of the agents which canbe on the tens of meters. Figure 3 shows the Graphical UserInterface (GUI) of our simulator. The result of each run isstored in a SQL database that can later be queried to gatherthe experimental results described in the following section.

The simulator has several modifiable parameters amongwhich we can emphasize:

• The number of agents used in the coverage algorithms.• The size of the terrain can be changed to any number.• The type of terrain allows us to run simulations on one

of the terrain topologies described in Figure 1.• Physical constraints can be set to true or false. In this

paper, the results are always assumed to be under physicalconstraints. This means that only one agent can be ata given cell at any point during the execution of thesimulations.

• Some algorithms for terrain coverage use pheromonesto indicate visited locations. The simulator can set theevaporation rate of the pheromones.

• The simulator provides a drop-down menu to choose thealgorithm to be run.

• The starting location of the agents can be configuredsince it may determine the performance of the algorithms.The simulator allows starting points to be randomlyspread in the environment or at various locations suchas south, north, center, among others.

• The algorithms can be configured to cover the terrainmultiple times. That is, how many times each cell shouldbe covered.

V. EXPERIMENTS

Before going into the experiments, it is important to talk alittle about the setup used in the execution of the experiments.NetLogo is implemented in many platforms including Win-dows, Mac, and Linux. Since our metrics do not deal with theconcept of a real clock, we have used various machines usingdifferent operating systems. Note that the time described in theexperiments relates to the number of steps in the simulatorwhich has no relation to a real clock. We have used fastmachines only because the experiments take a long time tofinish due the sheer number of experiments we executed; inexcess of 100000 runs on various configurations.

Most algorithms finish quickly except for the Random Walk.Here it is worth noticing that Random Walk was implemented

1644 2008 IEEE Congress on Evolutionary Computation (CEC 2008)

Page 5: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Fig. 3. Screenshot of a execution in the developed simulator. The picture shows an example of an obstructed terrain with a center start for all agents.

as a brute-force approach to gauge the performance of all the

other algorithms. However, we have decided to only include

the results in the first experiment. The goal is to show how

inefficient Random Walk is compared to the other algorithms.

Also, by removing Random Walk, the results of the other

algorithms become more visible in the graphs.

The first metric to be discussed is the Time To Reach Full

Coverage. For the 20× 20 case, the results for all algorithms

are displayed. Due to the inefficiency of Random Walk, it will

only be displayed for this 20×20 case. This will allow a closer

comparison of the other algorithms. Random Walk performs

on average for the 20×20 terrain, worse than the worst case of

any of the other algorithms on the 50×50 terrain. The results

shown in Figure 4 do not take into account the starting location

or the number of agents. Therefore the values shown have a

wide range that take into account all of the starting locations

and various different numbers of agents (1, 2, 25, 50, 100, 200).

The results are grouped by terrain types. Each type of terrain

is further subdivided into the algorithms. This will allow

comparison of all the algorithms for a particular type of terrain.

Node Counting performs the best. This algorithm is followed

by Recency, LRTA*, Wagner, OMA, and Alarm which all

perform comparably. On average, they are within about 100

time ticks of each other, excluding Node Counting.

For the 50×50 case, the time to full coverage was calculated

and graphed using a combination of all starting locations

and various numbers of agents (25, 50, 100, 200). The results

shown in Figure 5 are grouped by terrains. Each type of terrain

is then subdivided into algorithms so that the algorithms may

be compared to each other for each type of terrain. The results

for the 50×50 case were similar to those for the 20×20 case.

One important thing to notice is that the Recency algorithm

did not perform as well on the 50 × 50 case as it did on the

20× 20, when compared to the other algorithms. The concept

of the Recency algorithm is to minimize the time between

visits of cells. Therefore, this algorithm is designed not to

reach a minimum coverage time, but to keep a minimum time

between visits. As such, it does not seem unreasonable that it

does not scale well to larger terrains when measuring time to

Fig. 4. Results displaying the amount of time required to achieve fullcoverage for 20×20 terrain. The results here show the inefficiency of RandomWalk.

reach full coverage.

Note that the gap between the algorithms has increased

slightly to about 120 time ticks, excluding Node Counting.

At first it may look strange the fact that the algorithms appear

running faster on the 50 × 50 than in the 20 × 20 but this

is only due to the fact that in the 20 × 20 we have included

experiments with only 1 and 2 agents in the environment.

Another issue to observe in Figures 4 and 5 is that they

seem quite insentitive to the type of terrain. However there are

differences and a close inspection will show that algorithms

perform best in Non-Obstructed terrains followed by Obsc-

tructed and then Special Feature. Preliminary results indicate

that these differences are more visible in larger terrains.

For measuring the Sensitivity to the Number of Agents, the

results were calculated using a 50 × 50 terrain. Also, all of

the starting locations were combined in the values displayed

in Figure 6. This figure groups the results by algorithms. Each

algorithm is then further subdivided into the number of agents

used (25, 50, 100, 200). This allows an easy comparison of

how the number of agents affects each algorithm. The results

2008 IEEE Congress on Evolutionary Computation (CEC 2008) 1645

Page 6: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Fig. 5. Results displaying the amount of time required to achieve fullcoverage for 50 × 50 terrain.

show that increasing the number of agents from 25 to 50

provides a coverage time that is about 55 − 65% of the time

required for 25 agents. Doubling to 100 agents provides a

coverage time that is about 60 − 75% of the time required

for 25 agents. Doubling to 200 agents provides a coverage

time that is about 75 − 85% of the time required for 25

agents. Therefore, doubling from 25 to 50 agents almost cuts

the coverage time in half. However, continuing to double

the number of agents does not provide the same amount of

increase in coverage speed. Up to this point, the increase in

number of agents continues to improve the coverage time, but

with decreasing amounts. This is due in part to the fact that

the more agents in a terrain, the more likely that they will not

be able to move due to being blocked by agents occupying

neighboring cells.

Fig. 6. Result of how long it takes to achieve full coverage for 50 × 50

terrain using various numbers of agents. Note that within each group we seea negative exponentially distributed time to cover the terrain.

For measuring the number of revisits (redundancy), the

results were calculated a 50×50 terrain. All starting locations

and various numbers of agents (25, 50, 100, 200) were included

in the results shown in Figure 7. The results are grouped by

algorithms, with each algorithm being subdivided into terrain

types to allow comparison of how each algorithm is affected

by terrain types. For all algorithms, as the terrain changed

and became more obstructed, the number of revisits increased.

There is about a 35−44% increase in the number of revisits on

Obstructed Terrain when compared to Non-Obstructed terrain.

But the increase in number of revisits from Obstructed to

Special Feature was only about 6−12%. This experiment also

demonstrates that OMA is quite robust and insensitive to the

configuration of the terrain although it is not the absolute best

algorithm for the task. Note that we are not arguing that OMA

is the best algorithm but just that it is the least sensitive to

changes in the enviroment. OMA (as well as Wagner) tend to

spread out the pheronome levels more evenly in the terrain

which helps the algorithms perform well regardless of the

obstructions in the terrain.

Fig. 7. Number of revisits for each algorithm, terrain type combination ona 50 × 50 size terrain.

For measuring the time between visits, the standard devi-

ation of time between visits for each experiment was used.

All starting locations and number of agents were considered

in the results shown in Figure 8. This figure has the results

grouped by algorithm, with each algorithm being subdivided

by terrain types. This will show how the type of terrain

affects the time between visits for each algorithm. Obstructed

terrain showed a significant increase of about 40− 60% when

comparing to Non-Obstructed terrain. LRTA*, Alarm, and

Recency showed the largest increases of about 55 − 60%,

whereas Node Counting, OMA, and Wagner showed smaller

increases. Also, the time to cover Special Feature as compared

to Obstructed only showed an increase of 5 − 9%.

The results shown in Figure 9 are the same results from

Figure 8, only rearranged to show the comparison of each

algorithm for a specified type of terrain. When comparing

the algorithms using this metric, LRTA*, WAGNER, and

OMA performed the best. Then Recency and Node Counting,

followed by Alarm. However, using this metric, Alarm per-

1646 2008 IEEE Congress on Evolutionary Computation (CEC 2008)

Page 7: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Fig. 8. Standard Deviation of time between visits for each algorithm, terraintype combination grouped by algorithms on a 50 × 50 size terrain.

formed more comparably to the other algorithms than when

we consider other metrics. Note that Alarm is a probabilistic

algorithm and considering this fact it actually does really

well compared to all others (deterministic) approaches. We

believe Alarm would be more suitable to dynamic, constantly-

changing environments.

Fig. 9. Standard Deviation of time between visits for each algorithm, terraintype combination grouped by terrain types on a 50 × 50 size terrain.

For measuring the percentage covered, experiments were

stopped when 50%, 75%, 95%, and 100% of the total coverage

was reached. Experiments used all start locations and various

numbers of agents (25, 50, 100, 200) on a 50×50 terrain. The

results shown in Figure 10 are divided based on algorithm.

Each algorithm is subdivided into the percentages covered.

This will show how the time to cover increases as the

percentage covered increases. Each algorithm seemed to get

exponentially slower as time progressed. That is, each one

quickly reached the 50% mark, then required generally more

than half that time to reach the 75% mark. If the algorithms

increased linearly, which would be the ideal case, only half of

the time would be required to reach 75%. To go from 75%

to 95% coverage, an even longer time period was required.

Roughly speaking, it took about the same amount of time to

cover this 20% (from 75% to 95%), as it did to cover the

first 50%. Finally, it took almost as long to cover the last 5%

(from 95% to 100%), as it did to cover the first 75%, with the

exception of node counting.

Fig. 10. Time to reach specified percentage of coverage for each algorithm,terrain type combination on a 50 × 50 size terrain.

For measuring the sensitivity to start locations, experiments

were conducted on a 50 × 50 terrain. All terrain types

are combined and various numbers of agents were used

(25, 50, 100, 200). The results shown in Figure 11 are grouped

by start locations. Each start location is then subdivided into

algorithms. This will show how each algorithm performs

for a specified starting location. For each starting location,

the results are the same as for the Time to Full Coverage

metric as far as how the algorithms perform compared to each

other. However, when comparing start locations to each other,

Random Start performed the best. This is due to the fact that

the agents begin by being placed in random locations in the

terrain. Thus they begin spreading out throughout the terrain.

Compared to all agents starting from a single location as in

all of the other starting locations, this provides a significant

improvement in coverage time. Next the Center start location

performed the best. This is probably due to the fact that the

center provides the best start location for the special feature by

starting the agents in the hardest to reach location (nodes with

the fewest number of connected neighbors). Thus the hard to

reach locations are covered from the start. Another point of

interest is that the North East start location performed worse

than the North and East start locations. This is due to the

fact that when starting in the North East, the agents tend to

get blocked into the upper right quadrant (see Figure 1). Note

that other locations (e.g. South) were not tested due to the

symmetry of the terrain; the South result would be the same

as the North.

Last, for measuring the exploratory nature of the agents,

each agent keeps track of the number of cells it revisited.

2008 IEEE Congress on Evolutionary Computation (CEC 2008) 1647

Page 8: [IEEE 2008 IEEE Congress on Evolutionary Computation (CEC) - Hong Kong, China (2008.06.1-2008.06.6)] 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational

Fig. 11. Time to reach full coverage for each algorithm, terrain typecombination grouped according to start locations on a 50 × 50 size terrain.

Then the standard deviation for all agents is stored for each

experiment. These standard deviations are shown in Figure 12.

This figure shows the results from experiments on a 50 × 50

terrain. All start locations and various numbers of agents

were used (25, 50, 100, 200). The results are divided based on

algorithm so the exploratory nature of each algorithm can be

compared. Node Counting has the least exploratory agents, all

agents seem to cover a much closer amount of terrain than the

other algorithms. The Wagner and OMA algorithms, are the

next least exploratory. Then LRTA* and Recency are more

exploratory, with Alarm being the most exploratory. This is

due to Alarm being a probabilistic algorithm, whereas the

others are deterministic.

Fig. 12. Results displaying the exploratory nature of each algorithm on a50 × 50 size terrain.

VI. CONCLUSION AND FUTURE WORK

This paper has presented a number of ways that algorithms

can be classified: temporal or spatial, terrain coverage or target

location, centralized, distributed, or autonomous control. It

also proposes a number of metrics that can be collected for

each algorithm and then uses those metrics to compare the

algorithms to each other. It is hoped that these metrics will

be used to compare newly developed algorithms to existing

algorithms as a way to measure improvements as they are

developed.

The modularity of the simulator introduced in this paper

makes it easy to plug in new algorithms. This will aid in

comparing new algorithms to the existing ones using all of the

same metrics that have been discussed in this paper. Therefore,

as new algorithms are developed, they can be easily added to

this simulator.

In the future we would like to classify algorithms based:

exploratory or local. When this is done, it would be interesting

to employ the concept of teams of algorithms. That is, to allow

agents to use an exploratory algorithm until some obstacle

is discovered, and then have it switch to a more localized

algorithm.

Another area of future work would be to measure the per-

formance of algorithms in a constantly-changing environment.

It is expected that the Alarm algorithm would perform better

in a dynamic environment due to its swarm-like characteristics

which help it to adapt to changes; whereas the deterministic

algorithms may perform less optimally in a dynamic environ-

ment.

REFERENCES

[1] P. Graglia and A. Meystel, “Minimum cost path planning for autonomousrobot in the random traversability space,” in Proceedings of the 1st

international conference on Industrial and engineering applications of

artificial intelligence and expert systems. New York, NY, USA: ACM,1988, pp. 1089–1096.

[2] M. G. Lagoudakis, E. Markakis, D. Kempe, P. Keskinocak, A. Kley-wegt, S. Koenig, C. Tovey, A. Meyerson, and S. Jain, “Auction-basedmulti-robot routing,” in Proceedings of Robotics: Science and Systems,Cambridge, USA, June 2005.

[3] X. Zheng and S. Koenig, “Robot coverage of terrain with non-uniformtraversability,” in Proceedings of the IEEE International Conference on

Intelligent Robots and Systems. San Diego, CA, USA: IEEE Press,Oct. 2007.

[4] H. Bullen and R. Menezes, “Models for temporal and spatial terraincoverage,” in First International Symposium on Intelligent and Dis-

tributed Computing, ser. Studies in Computational Intelligence. Craiova,Romania: Springer-Verlag, Oct. 2007, pp. 239–244.

[5] S. Koenig and Y. Liu, “Terrain coverage with ant robots: A simulationstudy,” in AGENTS ’01: Proceedings of the fifth international conference

on Autonomous agents. New York, NY, USA: ACM Press, 2001, pp.600–607.

[6] S. Thrun, “A probabilistic on-line mapping algorithm for teams ofmobile robots,” International Journal of Robotics Research, vol. 20,no. 5, pp. 335–363, 2001.

[7] R. Menezes, F. Martins, F. E. Vieira, R. Silva, and M. Braga, “A modelfor terrain coverage inspired by ant’s alarm pheronome,” in SAC ’07:

Proceedings of the 2007 ACM Symposium on Applied Computing. NewYork, NY, USA: ACM Press, 2007, pp. 728–732.

[8] M. Dorigo and T. Stutzle, Ant Colony Optimization. MIT Press, 2004.[9] R. Korf, “Real-time heuristic search,” Artificial Intelligence, vol. 42, no.

2-3, pp. 189–211, 1990.[10] S. Koenig and B. Szymanski, “Value-update rules for real-time search,”

in Proceedings of the 16th national conference on Artificial Intelligence

and the 11th Innovative applications of artificial intelligence conference.AAAI, 1999, pp. 718–724.

[11] U. Wilensky, “Netlogo,” Center for Connected Learning andComputer-Based Modeling, Northwestern University, Tech. Rep., 1999,http://ccl.northwestern.edu/netlogo.

1648 2008 IEEE Congress on Evolutionary Computation (CEC 2008)