arxiv:cs/ v1 [cs.ne] 7 Apr 2004

Similar documents
Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

The Genetic Algorithm for finding the maxima of single-variable functions

Escaping Local Optima: Genetic Algorithm

Network Routing Protocol using Genetic Algorithms

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

IMPROVING A GREEDY DNA MOTIF SEARCH USING A MULTIPLE GENOMIC SELF-ADAPTATING GENETIC ALGORITHM

V.Petridis, S. Kazarlis and A. Papaikonomou

COMPLETE INDUCTION OF RECURRENT NEURAL NETWORKS. PETER J. ANGELINE IBM Federal Systems Company, Rt 17C Owego, New York 13827

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Evolutionary Algorithms and the Cardinality Constrained Portfolio Optimization Problem

Genetic Algorithms Variations and Implementation Issues

MINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

A Performance Analysis of Compressed Compact Genetic Algorithm

AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENETIC ALGORITHMS

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

Evolutionary design for the behaviour of cellular automaton-based complex systems

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Grid Scheduling Strategy using GA (GSSGA)

EVOLVING LEGO. Exploring the impact of alternative encodings on the performance of evolutionary algorithms. 1. Introduction

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Role of Genetic Algorithm in Routing for Large Network

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

An Introduction to Evolutionary Algorithms

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Introduction to Genetic Algorithms

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

Introduction to Evolutionary Computation

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Genetic Algorithms and Genetic Programming. Lecture 9: (23/10/09)

Random Search Report An objective look at random search performance for 4 problem sets

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Time Complexity Analysis of the Genetic Algorithm Clustering Method

Revision of a Floating-Point Genetic Algorithm GENOCOP V for Nonlinear Programming Problems

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Algorithm Design (4) Metaheuristics

Using Genetic Algorithms to optimize ACS-TSP

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Neural Network Weight Selection Using Genetic Algorithms

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Automata Construct with Genetic Algorithm

Application of a Genetic Algorithm to a Scheduling Assignement Problem

Genetic Programming: A study on Computer Language

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm

Genetic Algorithms and the Evolution of Neural Networks for Language Processing

An empirical study on GAs without parameters

ANTICIPATORY VERSUS TRADITIONAL GENETIC ALGORITHM

A HYBRID ALGORITHM BASED ON PARTICLE SWARM OPTIMIZATION

A Genetic Algorithm for the Multiple Knapsack Problem in Dynamic Environment

DERIVATIVE-FREE OPTIMIZATION

The Table: An Illustration of Evolutionary Design using Genetic Algorithms

A Structural Optimization Method of Genetic Network Programming. for Enhancing Generalization Ability

GENETIC ALGORITHM with Hands-On exercise

Genetic Algorithm for Finding Shortest Path in a Network

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

An Improved Genetic Algorithm based Fault tolerance Method for distributed wireless sensor networks.

SELF-ADAPTATION IN GENETIC ALGORITHMS USING MULTIPLE GENOMIC REDUNDANT REPRESENTATIONS ABSTRACT

Mobile Agent Routing for Query Retrieval Using Genetic Algorithm

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

GENETIC ALGORITHM METHOD FOR COMPUTER AIDED QUALITY CONTROL

Evolving SQL Queries for Data Mining

Different Optimal Solutions in Shared Path Graphs

INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & MANAGEMENT

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

Design of a Route Guidance System with Shortest Driving Time Based on Genetic Algorithm

Chapter 9: Genetic Algorithms

Binary Representations of Integers and the Performance of Selectorecombinative Genetic Algorithms

Balancing Survival of Feasible and Infeasible Solutions in Evolutionary Optimization Algorithms

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

Transactions on Information and Communications Technologies vol 15, 1997 WIT Press, ISSN

Genetic Algorithms. Kang Zheng Karl Schober

A Comparison of the Iterative Fourier Transform Method and. Evolutionary Algorithms for the Design of Diffractive Optical.

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

Artificial Neural Network based Curve Prediction

An Integrated Genetic Algorithm with Clone Operator

Solving the Travelling Salesman Problem in Parallel by Genetic Algorithm on Multicomputer Cluster

Applied Cloning Techniques for a Genetic Algorithm Used in Evolvable Hardware Design

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

An Introduction to Complex Systems Science

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

CHAPTER 4 GENETIC ALGORITHM

A COMPARATIVE STUDY OF EVOLUTIONARY ALGORITHMS FOR SCHOOL SCHEDULING PROBLEM

Artificial Intelligence

Heuristic Optimisation

NEURAL NETWORK VISUALIZATION

Genetic Algorithms and Image Search Pavel Mrázek

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Genetic-PSO Fuzzy Data Mining With Divide and Conquer Strategy

GENETIC ALGORITHM-AIDED ROUTING ON 3D DYNAMIC NETWORKS

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

Transcription:

Optimizing genetic algorithm strategies for evolving networks Matthew J. Berryman a, Andrew Allison a, and Derek Abbott a a Centre for Biomedical Engineering and School of Electrical and Electronic Engineering, The University of Adelaide, SA 55, Australia. arxiv:cs/4419v1 [cs.ne] 7 Apr 24 ABSTRACT This paper explores the use of genetic algorithms for the design of networks, where the demands on the network fluctuate in time. For varying network constraints, we find the best network using the standard genetic algorithm operators such as inversion, mutation and crossover. We also examine how the choice of genetic algorithm operators affects the quality of the best network found. Such networks typically contain redundancy in servers, where several servers perform the same task and pleiotropy, where servers perform multiple tasks. We explore this trade-off between pleiotropy versus redundancy on the cost versus reliability as a measure of the quality of the network. Keywords: Pleiotropy, redundancy, genetic algorithms, networks 1. INTRODUCTION Evolutionary computation uses solution space search procedures inspired by biological evolution. 1 These search procedures use ideas from biological evolution such as mating, fitness, and natural selection. Individuals undergo natural selection, whereby organisms with the most favorable traits are more successful in having offspring. Genetic algorithms (GAs) rely on describing systems in terms of their traits (or phenotype) and then a fitness function (or how well they reproduce). Then we can evolve better solutions, with a higher fitness function, by allowing transfer of hereditary characteristics (genes) to the next generation for fit functions. The idea of applying such biological concepts to evolutionary computing originated with John Holland in his seminal paper on the topic of adaptive systems. 2 Evolutionary computational techniques such as genetic algorithms have many advantages over traditional optimization algorithms. Current optimization algorithms require many assumptions to be made about the problem, for example with gradient-based searches, the requirement is that the function be smooth and differentiable. Evolutionary algorithms require no such assumptions, only requiring a way of measuring the fitness of a solution. 3 With each succeeding generation, the algorithm tries to better fulfill the specifications described by the fitness function. The other advantage is adaptability to a changing problem. For example with traditional optimization procedures, any change in the specification or problem constraints requires solving the problem from the start. This is not necessary with evolutionary algorithms where one can continue the algorithm with a different set of constraints or solution using the current population or set of solutions. 4 GAs can offer advantages over related techniques such as hill climbing. 5, 6 Of great importance is the requirement of the genetic algorithm to support mating, or crossover between two graphs. 5 In our previous work, 7 we only considered mutation operators. Thus our solution was never able to truly explore a wide region of the search space, and apart from initial hill climbing and other wide random jumps was quite slow at improving the network design. This current paper details the existing background to our work and the ongoing work of implementing crossover operators and different fitness functions. Send correspondence to Derek Abbott E-mail: dabbott@eleceng.adelaide.edu.au, Telephone: +61 8 833 5748

Although there are a large number of applications of genetic algorithms to designing neural networks, 8 1 there are very few devoted to designing computer or telecommunication networks, 11,12 and none of these explicitly capture the issue of pleiotropy. An alternative evolutionary approach using cellular automata has been applied to pleiotropy versus redundancy tradeoffs in an organizational system. 13 Pleiotropy is a term used to describe components that perform multiple tasks, 14,15 while redundancy refers to multiple components performing one same task. Such pleiotropy and redundancy of components can be clearly seen in a client-server based network comprising of server nodes and client nodes. The conventional setup of such networks can have servers serving multiple clients, which is an example of pleiotropy, while clients can be connected to many servers, which is an example of redundancy. A typical engineering problem is to determine the optimal design solution or set of solutions, while maximizing efficiency. The main aim of the project is to use evolutionary computation algorithms to search for an optimal client-server network, which minimizes cost and maximizes reliability and flexibility by exploring the pleiotropy-redundancy search space. Redundancy is where one task or outcome is carried out by more than one agent assuming the independence of agents, either acting independently or together. It has the advantage of conferring robustness or integrity upon the system, because if one agent were to fail, others are able to perform the task. However, redundancy may be costly, as the overlapping of agents may be inefficient or wasteful. Despite this, in some systems the wastage may be justified if the task or outcome is so important that the system will fail in its absence, and therefore be selectively disadvantaged. Figure 1 shows an example of a redundant system. A B C Agents (eg servers) 1 Task Figure 1. This figure shows the task, labeled 1, being performed by agents A, B, and C; thus two of these agents are redundant. An example in a network situation would be load-balancing a web server, where any one of three servers can serve a particular site to a client. Note that there is an extra cost associated with this redundancy, so in this example we are paying for three servers instead of one. However the system is robust, so if one of the servers is busy or breaks down, then the task (such as serving a web site) can still be performed. The opposite of redundancy is pleiotropy, where one agent may perform many tasks. This has a number of distinct advantages. It is efficient, and allows for spatial and temporal flexibility. Its major cost is that it is dependent upon the history of the system, that is, any given agent may only be working under certain constraints imposed upon it by the peculiar evolutionary history of that system. Despite this, both temporal and spatial pleiotropy may exist, where a given agent can perform qualitatively different tasks, as well as perform the same task (or different tasks) at different times. As pleiotropy enables efficiency, it therefore confers selective advantages. How pleoitropic an agent is will depend upon the context in which it is working. What happens when you combine the two? When both pleiotropy and redundancy are combined, the system possesses properties that it otherwise lacks when pleiotropy or redundancy exist on their own. The advantages include an increase in the robustness of the system due to the redundancy build into it. It is more efficient due to the pleiotropy. The system becomes inherently more flexible and the costs of redundancy are offset by the increase in efficiency due to the presence of pleiotropy. An example of a system with a combination of pleiotropy and redundancy is shown in Figure 3.

A Agent (eg a server) 1 2 3 Tasks Figure 2. This figure shows a single agent, A, performing multiple tasks, labeled 1, 2 and 3. An example in a network situation could be a server handling multiple client requests, such as sending email to client 1 while sending a web page to client 2. While this is cost effective, it lacks the robustness to failure of a redundant system as shown in Figure 1. A B Agents (eg servers) 1 2 3 4 Tasks Figure 3. This figure shows two agents, both of which perform multiple tasks. An example in a network situation would be two servers, both providing the same email and web services to a number of clients. This system has robustness as if one server fails, both email and web services can still be provided. It also minimizes cost, as it would cost the same as two servers with one providing just email services and the other hosting a web site. 2. METHODS In this section we describe the structure and representation of the network, the details of the genetic algorithm used, the initialization and parameters used for designing the network using the genetic algorithm, and the fitness function. We developed a graphical user interface (GUI) for running the genetic algorithm, to allow for easy user modification of the network parameters, this also allows one to watch the evolution of the network. 2.1. Network structure The network consists of a set of servers, a set of clients (which can also function as routers), and a set of links between those various nodes. A graph data structure is used to represent the network, with each node (client or server) in the graph having the following properties: node label, C for a client (including routers) or S for a server node ID, which also serves as a grid reference of the node for display in a GUI node failure rate, a value between zero and one giving the probability of failure per time step current state, working or non-working number of time steps since failure, zero if working details of the inbound and outbound network connections. The edges, the links in the network, have the following properties: link label indicating whether the link is a link between clients (including routers) or between a client or router to a server edge ID, which also serves as a pair of grid references for display in a GUI

edge failure rate, a value between zero and one giving the probability of failure current state, working or non-working number of time steps since failure, zero if working. We note here that for the set of nodes in a network, N, the set of edges E is E N N. This becomes important where we later consider the crossover operation. 2.2. Network construction We initially start with a set of clients (C) and servers (S), with no links. The positions of the clients and servers are set at random, with a minimum spacing between them. Each client i C is assigned a traffic value, T i, at random ( < T i < T max ), which indicates the amount of traffic requested by the client that is to be transmitted across the network. Each server j S has a fixed amount T s of traffic it can serve. 2.3. Mutation operator We define a utilization parameter, U = i C T i S T s, (1) where S is the size of the set of servers, describing how well the servers are able to deliver their available load to the clients. If the utilization is less than.75, then more links are added at random to carry the extra server capacity to clients. If, on the other hand, the utilization is greater than.85 then either links are removed (reducing the amount of traffic that is able to be requested from servers) or more servers are added. The network thus evolves by starting without any connections, and through mutations including: adding links to increase U removing links to decrease U adding servers to decrease U links failing links being repaired. 2.4. Crossover operator Consider two graphs a and b, with nodes N a and N b, and edges E a Na 2 and E b Nb 2 respectively. We then wish to consider forming a new graph c, with a set of edges E c E a E b. To do this, we need to make sure that each node used by E c appears in N c, since we require E c Nc 2. We could add each node associated with E c to N c, guaranteeing that E c = Nc 2, in O(MN) time (for M edges and N nodes). Instead, we simply create the set of nodes N c = N a N b in O(N) time. This (in the average case) overestimates the number of nodes required, somewhat breaking the role of the repair rate of the mutation operator. However, considering this is not clearly defined for crossover anyway, we choose the faster solution. For a selection of the top q networks for mating, we have a total population size of ( q 2 q ) /2 + q. The default value of q we use is q = 5, giving a total population size of 15, however we vary this to ascertain the effect on convergence on the optimal solution. Having established a network and a set of genetic algorithm operators, we then need a measure of fitness, in order to define that we first introduce Dijkstra s algorithm.

2.5. Dijkstra s algorithm Dijkstra s algorithm is an efficient algorithm for finding the shortest path between two nodes (or vertices) in a graph. 16,17 Define p i,j to be the shortest path from node i to node j. If there is an edge e = (k, j) on p i,j then we can break down the path into p i,k and (k, j). The distance, d m i,j of the shortest path from i to j, including at most m edges, can be written as: ( ( d (k) i,j = min di,j k 1, min d (m 1) 1 m n i,k + w (e)) ), (2) for w (e) the edge cost of e = (k, j) and {1,...,n} the set of nodes. What we wish to calculate is the cost d (n) i,j for all pairs of nodes i and j. By starting with the adjacency matrix A = [w (i, j)] where w (i, j) = for (i, j) not an edge, we compute the shortest distance matrix D (n 1) by calculating A 2, A 4,..., A n 1 in log (n 1) modified matrix multiplications where is replaced by + and + is replaced by min in the computations of each element. Note that d (n) i,j = where no path exists between i and j, so it provides information on connectivity in addition to costs. 2.6. Fitness and cost functions The aim is to find an optimal network, which minimizes cost (P) and maximizes reliability (R). With this in mind, we define our fitness function, F, to be: F = R P, (3) for a cost function P and a reliability function R. Our cost function is given by w (i, j) P = {(i,j) w(i,j)< } { (i,j) d (n) i,j < } d (n) i,j, (4) for w ( ) and d (n) i,j as defined above. Minimizing this cost function decreases the total cost of the links towards the minimum cost graph for that connectivity. Using just the cost alone results in a system that tends towards no links over many. Our reliability function is defined by which describes the connectivity of the graph. R = 2.7. Redundancy and pleiotropy functions { (i,j) d (n) i,j < } We define the overall measure of redundancy for the whole network as D = i C S O i 1, (5), (6) where D is the redundancy, O i the out-degree or number of links out of client i C, and S the set of servers. Similarly, the overall measure of pleiotropy is L = i S C I i, (7) where L is the pleiotropy, I i the in-degree or number of links into server i S, and C the set of clients.

Figure 4. This figure shows an example of an evolved network, with clients and servers and a set of links between them. The clients and servers have been positioned at random, with a minimum spacing to avoid clutter. 3.1. Overview 3. RESULTS We used both GA strategies to build a network for a number of different link failure probabilities and repair rates, and evaluated the performance of the strategies, and found the best network parameters to use. Using these network parameters, we then used the best GA strategy to find the best network possible. An example of an evolved network is shown in Figure 4. The initial network contains no links, the first ones added with the first mutation step of the GA. 3.2. Varying failure probability Here we consider the rate of convergence of the genetic algorithm, the cost, and fitness functions for varying link failure probabilities. The rate of convergence is defined as the time to three successive with the same maximum fitness. As a worst-case scenario, we consider a link failure probability of 1%, and consider a range of failure probabilities as low as.1%. The results of this are shown in Table 1 and Figure 5. 3.3. Impact of population size on convergence to solution Here we consider the same parameters as for the previous subsection, but with the link failure probability set to 1% and for varying population sizes. Again, the rate of convergence is defined as the time to three successive with the same maximum fitness. Not shown here is the average time to evolve through the 75, which takes longer for longer populations, since more offspring have to be generated and therefore the fitness function has to be computed more often. The results of this are shown in Table 2.

Table 1. This table shows the convergence time in, the maximum fitness (no units), the final cost ( s of arbitrary units), final pleiotropy (network links) and final redundancy (network links) for varying link failure probabilities. We have averaged the results over five runs of the network optimizer, considering 75 each run, and show the average result±one standard deviation. Link failure prob. Convergence time Max fitness Final cost Final pleiotropy Final redundancy 1% 14.2 ± 1.6 469.5 ± 124.6 8.9 ± 2.9.8 ±.4 9.4 ± 2.6 1% 14. ± 3.4 338. ± 8.1 1.9 ± 4.1 1. ±.7 17.2 ± 2.3.1% 13.8 ± 3.1 321.7 ± 159.8 13.6 ± 5.2 1.4 ±.9 2.4 ± 6.7.1% 12.8 ± 2.1 236. ± 151.8 1. ± 6.9 1.2 ± 1.3 18.4 ± 11.7.1% 1.4 ± 4.5 528.9 ± 571.9 18.7 ± 14.2 2.8 ± 3. 18.2 ± 7.5 fitness pleiotropy (links) redundancy (links) 8 6 4 2 2 1.5 1.5 1 5 fitness 15 1 pleiotropy (links) redundancy (links) 5 6 4 2 3 2 1 (a) The fitness, pleiotropy, and redundancy measures for networks evolving with a link failure probability of 1%. (b) The fitness, pleiotropy, and redundancy measures for networks evolving with a link failure probability of.1%. Figure 5. Here we plot the fitness, pleiotropy, and redundancy measures in of the current best network out of a set of networks that are evolving through 75, where the networks are evolving to different link probabilities. As expected, a system with greater probability of link failure converges to a lower pleiotropy and higher redundancy. Table 2. This table shows the convergence time in, the maximum fitness (no units), the final cost (arbitrary units), final pleiotropy (network links) and final redundancy (network links) for varying population sizes. We have averaged the results over five runs of the network optimizer, considering 75 each run, and show the average result±one standard deviation. Pop. size Convergence time Max fitness Final cost Final pleiotropy Final redundancy 6 14. ± 1.6 221.8 ± 39.6 15.5 ± 5.5 1.4 ±.9 2.8 ± 5.1 1 12.8 ± 3. 28.4 ± 24.5 18.5 ± 3.2 2. ±. 19.2 ± 2. 15 13.6 ± 2.6 327.2 ± 96.7 11.1 ± 4. 1.2 ±.8 14.4 ± 4.8 21 13.8 ± 2.4 423.6 ± 69.4 8.4 ± 1.6.6 ±.5 13. ± 7.9 28 12.8 ± 4.1 558.6 ± 44.8 9.4 ± 2..8 ±.4 12.2 ± 5.7

4. DISCUSSION & CONCLUSIONS The cross-over operator allows the genetic algorithm to converge much faster to solutions than the mutation operator alone, and allows it to explore a much wider range of networks in the search for a solution. Our improved cost function allows the genetic algorithm to search the space around a given reliability much more effectively, since it no longer wants to remove links to reduce the cost to zero (giving an unrealistic infinite fitness). The pleiotropy and redundancy converge to a rate of about one to two links from each client to each server. For the population ranges and link failure probabilities we considered, the convergence time shows no significant difference, although it seems to decrease for increasing link reliability. More work is needed to analyze the convergence time in more detail, in particular, removing some of the initial graph randomness and link failures would eliminate most of the factors contributing to the high variance in convergence time for varying population sizes. It would also be an interesting idea to benchmark the genetic algorithm on a small network for which a human could easily determine the optimal solution. We also propose optimizing for reliability and cost separately, and combining the two populations using the crossover operator. ACKNOWLEDGMENTS We gratefully acknowledge funding from The University of Adelaide. REFERENCES 1. P. H. Winston, Artificial Intelligence, 3rd Ed., Addison Wesley, 1993. 2. J. H. Holland, Outline for a logical theory of adaptive systems, Journal of the Association for Computing Machinery 9(3), pp. 297 314, 1962. 3. M. Mitchell, An Introduction to Genetic Algorithms, MIT Press, 1996. 4. D. B. Fogel, What is evolutionary computation, IEEE Spectrum 37(2), 2. 5. M. Mitchell, J. H. Holland, and S. Forrest, When will a genetic algorithm outperform hill climbing, in Advances in Neural Information Processing Systems, J. Cowan, G. Tesauro, and J. Alspector, eds., 6, pp. 51 58, Morgan Kaufmann Publishers, Inc., 1994. 6. M. Mitchell and S. Forrest, Fitness landscapes: royal road functions, in Handbook of Evolutionary Computation, T. Bäck, D. Fogel, and Z. Michalewicz, eds., pp. B.2.7.5:1 25, Oxford University Press, 1997. 7. M. J. Berryman, W.-L. Khoo, H. Nguyen, E. O Neill, A. Allison, and D. Abbott, Exploring tradeoffs in pleiotropy and redundancy using evolutionary computing, in Proc. SPIE: BioMEMS and Nanotechnology, D. Nicolau, ed., 5275, p. in press, 23. 8. R. K. Belew, J. McInerney, and N. N. Schraudolph, Evolving networks: using the genetic algorithm with connectionist learning, in Proc. Second Conference on Artificial Life, C. Langton, C. Taylor, J. Farmer, and S. Rasmussen, eds., pp. 511 547, Addison-Wesley, 1991. 9. F. Gruau and D. Whitley, Adding learning to the cellular development of neural networks: Evolution and the baldwin effect, Evolutionary Computation 1(3), pp. 213 233, 1993. 1. I. de Falco, A. Iazzetta, P. Natale, and E. Tarantino, Evolutionary neural networks for nonlinear dynamics modeling, Lecture notes in computer science 1498, pp. 593 62, 1998. 11. A. Abuali, W. Wainwright, and D. Schoenfeld, Determinant factorization: a new encoding scheme for spanning trees applied to the probabilistic minimum spanning tree problem, in Proc. Sifth Intl. Conf. on Genetic Algorithms, pp. 47 477, 1995. 12. H. Sayoud and K. Takahashi, Designing communication network topologies using steady-state genetic algorithms, IEEE Communications Letters 5(3), pp. 113 115, 21. 13. T. L. Hoo, A. Ting, E. O Neill, A. Allison, and D. Abbott, Real life: a cellular automaton for investigating competition between pleiotropy and redundancy, in Proc. SPIE: Electronics and Structures for MEMS II, N. Bergmann, ed., 4591, pp. 38 389, 21.

14. S. N. Coppersmith, R. D. Black, and L. P. Kadanoff, Analysis of a population genetics model with mutations, selection, and pleiotropy, J. Statistical Physics 97, pp. 429 457, 1999. 15. M. Morange, Gene function, C.R. Acad. Sci. III 323, pp. 1147 1153, 2. 16. E. Dijkstra, A note on two problems in connection with graphs, Numeriche Mathematik 1, pp. 269 271, 1959. 17. P. Narváez, K.-Y. Siu, and H.-Y. Tzen, New dynamic algorithms for shortest path tree computation, IEEE/ACM Trans. Networking 8, pp. 734 746, Dec. 2.