minus one [1, L-l]. Swapping all characters between i+1 and L forms two new strings. For example: S1 = 1 1 0 11 Note: The I character indicates the crossover S2 = 1 0 0 0 1 site. i is chosen at random to be 3. After crossover two new strings are formed which are part of the new generation. The new strings are as follows: Si'= 11001 S2' = 10 0 1 1 Mutation Mutation is necessary because, even though reproduction and crossover effectively search and recombine, there are occasions when there can be a loss of genetic material. In addition, mutation adds extra variability to the existing population. "Mutation alone does not generally advance the search for a solution, but it does provide insurance against the development of a uniform population incapable of further evolution" [7, p. 3]. In the simple genetic algorithm, mutation usually has a very small probability and simply corresponds to a random alteration of the value of a string position. Because mutation rates are low, it can be considered a secondary mechanism of genetic algorithm adaptation [6]. Genetic Algorithm Implementation A significant portion of this research was devoted to developing a method to measure how well the current robot configuration covered the region to minimize the shadow area while making sure that every communications repeater robot was within line-of-sight of another. In order to gauge the results obtained from the genetic algorithm it was necessary to develop an efficient and robust objective function. In particular, the