Fordyce Alie_Evolutionary Computation

Evolutionary Computation:

Exemplifying the Interdependency Between Human and Machine

Image 1 source: “EQ in the AI Age: Humans and Machines Must Work Together.” Albert.

Abstract. What we do in computing is fundamentally human; computers are a product of us. Evolutionary computation is a framework for problem solving based on the natural biological process of evolution and self-adaptation. Computation, in turn, plays a large role in societal decision-making. Therefore, understanding the mutually influencing relationship between human and machine is critical for determining how the output of computation informs human decision-making and the impact it has on internal bias within the machine.

 

  1. Introduction

            Technology is a quickly evolving entity of society. We often discuss this evolution, since the discovery of electricity in the 18th century (although technological advancement greatly preceded electricity), as an independent linear progression. This paper uses evolutionary computation to argue that this advancement is not a linear progression, rather a development sequence very much intertwined with human the human condition and biological evolution. How we talk about computational development and emerging technology is more appropriately discussed within the context of human and biological processes. The clash between human and machine continues to grow as privacy and individual agency is threatened by ever-growing applications of artificial intelligence in daily life. This division can be broken down by showing how deeply intertwined and interdependent technology and humanity are and how each are very much influenced by the other. Evolutionary computation is an important approach to explore this codependent relationship, helping to reveal the interdependency evolutionary algorithms have with societal development.

Image 2 Source: Bentley, Peter. “Aspects of Evolutionary Design by Computers.”

Evolutionary computation, as shown above, is the precise intersection between evolutionary biology and computer science.

 

  1. Evolutionary Computation: An Overview

            Evolutionary computation refers to the intersection between biological processes and computer science. In An Overview of Evolutionary Computation it is defined as:

Evolutionary computation uses computational models of evolutionary processes as key elements in the design and implementation of computer-based problem-solving systems. There are a variety of evolutionary models that have proposed and studied which we refer to as evolutionary algorithms. They share a common conceptual base of simulating the evolution of individual structures via processes of selection and reproduction. These processes depend on the perceived performance (fitness) of the individual structures as defined by an environment. (Spears et al. 1993, 442)

Evolutionary computation, more precisely, evolutionary algorithms, are products of biological principles: “structures that evolve according to rules of selection and other operators, such as recombination and mutation” (Spears et al. 1993, 442). Selection occurs and is focused on the fitness level of an individual. Below is an example of a typical evolutionary algorithm:

Image 3 source: Spears, William M, et al. “An Overview of Evolutionary Computation.”

The above algorithm demonstrates a random population that is evaluated based on the fitness of each individual in relation to its environment. Selection has two parts: 1) parent selection and 2) survival (Spears et al. 1993, 443). Parent selection is a function deciding which individuals become parents and how many children they will have; children are a product of information exchange between parents and through mutation, otherwise known as recombination; then children are tested for survival under relevant environmental conditions. An example of this would be an automotive manufacturer designing a new engine and fuel system trying to optimize 1) performance, 2) reliability, 3) gas-mileage, and 4) minimizing emissions (Spears et al. 1993, 443). In this example, it is assumed that an engine simulation unit can test various engines and output a single value rating its fitness score. The initial step would create a population of possible engines, each engine receives a fitness score based on various metrics, then parent selection decides which engines have ‘children’ and how many (products of recombination between parent engines), and finally it is determined which engines ‘survive’. This provides a basic illustration of an evolutionary algorithm framework: evaluation, selection, recombination, mutation, and survival (Spears et al. 1993, 445). Below are two simplified diagrams illustrating the evolutionary algorithm framework:

Image 4 source: Soni, Devin. “Introduction to Evolutionary Algorithms.”

Image 5 source: Rudolph, Günter. “EVOLUTIONARY ALGORITHMS.”

Generally, the unique elements of evolution strategies in computation are recombination and mutation of both the population and the parameters of the algorithm (Rudolph 2015). This allows for self-adaptation, mimicking the biological evolutionary process.

            One key type of evolutionary algorithm is the genetic algorithm. Initially developed by Holland (1975), genetic algorithms play an important role in studying complex adaptive systems. Below is an example of a typical genetic algorithm:

Image 6 source: Spears, William M, et al. “An Overview of Evolutionary Computation.”

Adaptation is most familiarly known as a biological process of survival; organisms mutate and rearrange genetic material and successful adaptations lead to high probability for survival in a dynamic environment (Holland 1975). Holland, notably, built a mathematical model representing a nonlinear complex interaction mimicking that of genetic mutation. He applied his model to different fields – psychology, economics, artificial intelligence – demonstrating its universality and challenging accepted dogma regarding mathematical genetics (Holland 1975). He explored the models used in naturally occurring processes, representing the properties of coadaptation and coevolution. In genetic algorithms, bit strings represent single individuals and the selection process chooses two individuals (two bit strings) from the population for the next offspring recombination – including a probability for their relative fitness score (Rudolph 2015). The ‘offspring’ receives genetic material from both parent individuals, is mutated, and replaces the parent generation. This continues until termination is reached by encountered a specific criterion (Rudolph 2015).

            The following gif, developed by Soni, provides an example of an evolutionary algorithm at work. The gif displays multiple generations of dinosaurs learning to walk by way of manipulating body structure and muscular force. The right-most dinosaur depicts the largest number of generations, and hence, the most optimize and well-functioning walking form (Soni 2018). The earlier generations of dinosaurs were not able to effectively walk, but as the evolutionary algorithm mutated over generations it eventually reached an optimized state.

Media 7 source: Soni, Devin. “Introduction to Evolutionary Algorithms.”

            As described, evolutionary computation is heavily influenced by the natural process of evolution. However, since humans dictate the metrics and success criteria for the algorithm, there is a direct link between humanity and the machine algorithm, realized through the evolutionary process. Thus, the outcome from evolutionary computation is both human and machine driven.

 

  1. Evolutionary Computation and Human Symbolic Systems

Humans, in turn, have been heavily influenced by the outputs and process of evolutionary computation. Agre, in Computation and Human Experience, argues for a critical technical practice in the AI community (Agre 1997, xii). He writes,

What is needed, I will argue, is a critical technical practice – a technical practice for which critical reflection upon the practice is part of the practice itself. Mistaken ideas about human nature lead to recurring patterns of technical difficulty; critical analysis of the mistakes contributes to a recognition of the difficulties. This is obvious enough for AI projects that seek to model human life, but it is also true for AI projects that use ideas about human beings a heuristic resource for purely technical ends. (Agre 1997, xii)

Agre depicts the complex and imperfect relationship humans and machines share. Since the earliest iterations of modern technology, critiques and therefore corrections of machines have been a constant. This editing process comes from humans and thus is implicitly biased with human characteristics that inevitably fuel the outputs of computation. Computation has been used as a tool to explain human nature, as Agre explains:

 How, then, can computation explain things about people? The most common proposal is that human beings instantiate some mechanism, psychology tries to discover what that mechanism is, and success is judged by matching the input-output behavior of hypothesized mechanisms to the input-output behavior of human beings… This view of computational explanation had great appeal in the early days of computational psychology, since it promised to bring precision to a discipline that had long suffered from vagueness and expressive poverty of its concepts. (Agre 1997, 17-18)

The key here is recognizing how humans are affected by these computational explanations. Computation, broadly speaking, impacts society by making assertions about how humans do and do not behave. These assertions, or predictions, have real-life impacts on decision-making processes. In this way, computation, and specifically evolutionary computation, make decisions for humans.

Evolutionary computation is a population-based problem solver; an initial set of options (like in the automotive manufacturing design example of deciding on a new optimal engine and fuel system) implements a trial and error process within the given initial population. Within the evolutionary algorithm new generations are produced based on eliminating characteristics unfit for survival. This, biologically speaking, reflects processes of mutation and natural selection. The output of evolutionary algorithms are the individuals most fit for survival. This form of computation is used in almost all fields and, therefore, heavily influences decisions in all areas of humanity.

Chandler, in Semiotics: The Basics, offers insight to the concept of human symbolic systems:

All meaningful phenomena (including words and images) are signs. To interpret something is to treat it as a sign. An experience is mediated by signs, and communication depends on them… As a species we seem to be driven by a desire to make meanings: above all, we are surely Homo significans – meaning-makers. We cannot avoid interpreting things, and, in doing so, we treat them as ‘signs’. (Chandler 2018, 2-11)

Chandler makes it clear that throughout history human beings have been innately prone to make meaning of everything that surrounds them. Computation and machine-learning has fundamentally changed the relationship humans share with meaning and symbolic representation. In creating machinery that can decision-make in place of humans, a co-dependency has been created altering the way communication occurs and how meaning is created. Furthermore, Deacon infers that computation is a later generation of symbolic representation by way of explaining that:

We inhabit a world full of abstractions, impossibilities, and paradoxes… In what other species could individuals ever be troubled by the fact that they do not recall the way things were before they were born… The doorway into this virtual world was opened to us alone by the evolution of language, because language is not merely a mode of communication, it is also the outward expression of an unusual mode of thought – symbolic representation… symbolic thought does not come innately built in, but develops by internalizing the symbolic process that underlies language. So species that have not acquired the ability to communicate symbolically cannot have acquired thee ability to think this way either. (Deacon 1997, 21-22)

Computation is part of the evolution of language and its purpose as symbolic representation. In doing so, computation has altered what makes us fundamentally human: our cognitive ability and the form in which we communicate. Herein lies the mutually influencing relationship between human and machine; machines are created by humans and the machines influence the systems by which humans communicate. Thus, creating a mutual dependance and circular evolutionary structure.

 

  1. Conclusion

Evolutionary computation is a framework for problem solving based on the natural biological process of evolution and self-adaptation. Computation, in turn, informs much of societal decision-making and replaces many traditional forms of communication. Therefore, understanding the mutually influencing relationship between human and machine is critical for determining how the output of computation informs human decision-making and how the interdependency of the two play a role on their outcomes.

 

 

__________________________________________________________________________________

References

Agre, Philip. Computation and Human Experience. Cambridge University Press, 1997.

Bentley, Peter. “Aspects of Evolutionary Design by Computers.” UCL Department of Computer Science, www0.cs.ucl.ac.uk/staff/P.Bentley/wc3paper.

Chandler, Daniel. Semiotics: the Basics. 3rd ed., Routledge, 2018.

Deacon, Terrence William. The Symbolic Species: the Co-Evolution of Language and the Brain. International Society for Science and Religion, 1997.

“EQ in the AI Age: Humans and Machines Must Work Together.” Albert, Marketics, 26 Oct. 2019, marketics.ai/blog/humans-and-machines-must-work-together/.

Holland, J. H. (1975) Adaptation in Natural and Artificial Systems. Ann Arbor, Michigan: The University of Michigan Press.

Rudolph, Günter. “EVOLUTIONARY ALGORITHMS.” Technische Universität Dortmund, 2015, ls11-www.cs.tu-dortmund.de/rudolph/ea.

Soni, Devin. “Introduction to Evolutionary Algorithms.” Towards Data Science, Medium, 18 Feb. 2018, towardsdatascience.com/introduction-to-evolutionary-algorithms-a8594b484ac.

Spears, William M, et al. “An Overview of Evolutionary Computation.” European Conference on Machine Learning, vol. 667, 1 June 2005, pp. 442–459., doi:10.7554/elife.36495.007.

 

Media Citations

Image 1: “EQ in the AI Age: Humans and Machines Must Work Together.” Albert.

Image 2: Bentley, Peter. “Aspects of Evolutionary Design by Computers.”

Image 3: Spears, William M, et al. “An Overview of Evolutionary Computation.”

Image 4: Soni, Devin. “Introduction to Evolutionary Algorithms.”

Image 5: Rudolph, Günter. “EVOLUTIONARY ALGORITHMS.”

Image 6: Spears, William M, et al. “An Overview of Evolutionary Computation.”

Media 7: Soni, Devin. “Introduction to Evolutionary Algorithms.”