Evolution of Leader Election in Populations of Self-Replicating Digital Organisms

The complexity of distributed computing systems and their increasing interaction with the physical world impose challenging requirements in terms of adaptation, robustness, and resilience to attack. Given the ability of natural organisms to respond to adversity, many researchers have investigated biologicallyinspiredapproaches to designing robust distributed systems. Examples include biomimetics, which mimic behaviors such as swarming found in nature, as well as evolutionary computation methods, such as genetic algorithms and artificial neural networks, which simulate the natural processes that produce those behaviors. A related but fundamentally different technique is digital evolution, whereby a population of self-replicating computer programs exists in a user-defined computational environment and is subject to instruction-level mutations and natural selection. Over thousands of generations, these organisms can evolve to survive, and thrive, under extremely dynamic and adverse conditions. In this paper, we describe a study in the use of digital evolution to produce distributed cooperative behavior, specifically leader election, in a population of digital organisms. Our results demonstrate that digital evolution can produce organisms capable of electing a leader and, when that leader is terminated, electing a new leader. These digital organisms have no “built-in” ability to perform this task; each population begins with a single organism that has only the ability to self-replicate. Over thousands of generations, random mutations and selective pressure produce an instruction sequence that realizes leader election, despite continuous turnover in the population. This result serves as an existence proof that digital evolution can produce complex cooperative behaviors, and therefore has promise in the design of robust adaptive distributed computing systems.