Autonomous Algorithms for Terrain Coverage - IEEE Xplore

5 downloads 4733 Views 508KB Size Report
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 ...
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 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 mechanisms 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

T

J. Mason is with the Department of Computer Science, Florida Institute 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: 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 algorithms 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 distributed 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 coverage algorithms could be classified according to their temporal/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 c 978-1-4244-1823-7/08/$25.002008 IEEE

II. A LGORITHMS 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 approach 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 Optimization (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. 1 Note that the pheromone in LRTA*, OMA and Wagner represents some information left on the terrain but not necessarily pheromones as understood by Swarm-based algorithms. The reason for using the term relates to the fact that in the simulator, all information left on the environment is referred to as pheromone.

1642

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. M ETRICS This section describes the metrics used in measuring the performance of terrain coverage algorithms. For these algorithms, 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,

2008 IEEE Congress on Evolutionary Computation (CEC 2008)

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 an open terrain, in (b) a terrain obstructed by some walls, and in (c) we have a terrain 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 representations 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 measuring 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

Redundant Work

# OF VISITS

# OF VISITS

Redundant Work

CELLS

Fig. 2.

CELLS

Standard Deviation Cost Example

sufficient to visit an area once, but rather it is necessary to periodically revisit an area. By measuring the time between visits and taking the standard deviations of these times, it can be determined how uniformly often the cells are visited. Also, by measuring the number of visits to a particular area of terrain during a given time, it can be determined how likely the cell is to be visited during other periods of time. This measure is useful for security applications such as police patrol. How long will it be between the times a police patrols a particular city block or street? Police could use this knowledge to know where additional presence is most likely to be needed. This problem is even more interesting from the opposite side. If criminals know how likely a police officer is likely to patrol a given area, that knowledge could be used to target areas where there is a low probability of police presence. G. Exploratory Nature of the Agents This measurement determines how often agents return to a given cell. It could also be viewed as a count of revisits from the perspective of the agents. How many times does an agent revisit the same cell? Is the agent exploratory and does not revisit the same cell? Or is the agent local and revisits the same cells repeatedly? Using this metric, it would be possible to provide estimates for how many agents are required to cover terrain using a particular algorithm. Therefore, if cost of agents is a concern, perhaps an algorithm that works better with fewer but more exploratory agents should be employed. However, if the cost of agents is low, then an algorithm that performs better with more but possibly less exploratory agents would be more appropriate. H. Spatial Distribution of Agents Lastly, we define a metric for the starting location of the agents. Studying the spatial distribution of the agents in the beginning of the simulator can provide an interesting way to compare the algorithms. Does a particular algorithm work better if the agents are started at random locations in the terrain, or if the agents all start from the same location? When all agents start from the same location (similar to a nest for ants in nature), do different starting locations perform better than others?

1644

IV. S IMULATOR The simulator used for implementing these algorithms and collecting results for them was written using NetLogo [11]. We have run nearly 100000 experiments on the three different terrains shown in Figure 1. All the results shown were are performed on terrains of 20 × 20 and 50 × 50. We believe these sizes are realistic and represent a good size terrain; for instance, the in the 50 × 50, if we assume each square as having 1m2 , we would have a terrain that is larger than half an acre. Furthermore, 1m2 is relatively small and in realistic environoments is not unusual for each “location” to be considered based on the visibility of the agents which can be on the tens of meters. Figure 3 shows the Graphical User Interface (GUI) of our simulator. The result of each run is stored in a SQL database that can later be queried to gather the experimental results described in the following section. The simulator has several modifiable parameters among which 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 physical constraints. This means that only one agent can be at a given cell at any point during the execution of the simulations. • Some algorithms for terrain coverage use pheromones to indicate visited locations. The simulator can set the evaporation rate of the pheromones. • The simulator provides a drop-down menu to choose the algorithm to be run. • The starting location of the agents can be configured since it may determine the performance of the algorithms. The simulator allows starting points to be randomly spread in the environment or at various locations such as south, north, center, among others. • The algorithms can be configured to cover the terrain multiple times. That is, how many times each cell should be covered. V. E XPERIMENTS Before going into the experiments, it is important to talk a little about the setup used in the execution of the experiments. NetLogo is implemented in many platforms including Windows, Mac, and Linux. Since our metrics do not deal with the concept of a real clock, we have used various machines using different operating systems. Note that the time described in the experiments relates to the number of steps in the simulator which has no relation to a real clock. We have used fast machines only because the experiments take a long time to finish due the sheer number of experiments we executed; in excess 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

2008 IEEE Congress on Evolutionary Computation (CEC 2008)

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. 3.



Fig. 4. Results displaying the amount of time required to achieve full coverage for 20×20 terrain. The results here show the inefficiency of Random Walk.

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 Obsctructed 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

#  &'$















 

  

      

       



       

      

       



       

  

      



       





Fig. 5. Results displaying the amount of time required to achieve full coverage 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 see a 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

1646

"'

$!

"$

 

 













 

 





       # #&"%" 

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

           $ 

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.

 

%&$'&

   

    

   

     

  

 

   

   

         

 

   

   

         

 

   

   

         

 

   

   

         

 

   

   

      

  

    "!%&$'&



For measuring the time between visits, the standard deviation 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-

2008 IEEE Congress on Evolutionary Computation (CEC 2008)

      " "%!$!

!&

# 

!#















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. 8. Standard Deviation of time between visits for each algorithm, terrain type 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, constantlychanging environments.       

! $%#&%

$%#&%

" %&#













  

  

     

       

         

     

       

         

 

     

         





Fig. 9. Standard Deviation of time between visits for each algorithm, terrain type 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

  















































  !

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



       !"!"

" !"



 "!"!"

 "!"

!"

" "















  

                 

                    

                    

                    

                     

                     





Fig. 11. Time to reach full coverage for each algorithm, terrain type combination 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 a 50 × 50 size terrain.

VI. C ONCLUSION AND F UTURE W ORK 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

1648

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 performance 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 environment. R EFERENCES [1] P. Graglia and A. Meystel, “Minimum cost path planning for autonomous robot 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. Kleywegt, S. Koenig, C. Tovey, A. Meyerson, and S. Jain, “Auction-based multi-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-uniform traversability,” 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 terrain coverage,” in First International Symposium on Intelligent and Distributed 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 simulation study,” 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 of mobile 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 model for terrain coverage inspired by ant’s alarm pheronome,” in SAC ’07: Proceedings of the 2007 ACM Symposium on Applied Computing. New York, NY, USA: ACM Press, 2007, pp. 728–732. [8] M. Dorigo and T. St¨utzle, 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 and Computer-Based Modeling, Northwestern University, Tech. Rep., 1999, http://ccl.northwestern.edu/netlogo.

2008 IEEE Congress on Evolutionary Computation (CEC 2008)