Kvam, P. D., Hintze, A., Pleskac, T. J., Pietraszewski, D., & Hertwig, R. (2019). Computational evolution and ecologically rational decision making. In R. Hertwig, T. Pleskac, T. Pachur, & the Center for Adaptive Rationality (Eds.), Taming uncertainty (pp. xx–xx). Boston, MA: MIT Press. doi:XXXXXXX

This interactive element demonstrates how evolution can allow agents to adapt through the process of mutation, selection, and inheritance. The controls below allow you to set up an environment for some computerized agents. Each of these agents produces a series of letters determined by its genome, which in this case is just a series of numbers corresponding to letters. The sets the criterion for determining which agents are successful (Use the classic target string example or enter your own). Agents that produce a series of letters that are closer to this target string have greater fitness, which increases their likelihood of reproducing—much like finding food or a mate would in real organisms. The more matching letters, the more likely it is that an agent will create offspring.

You can also specify the size of the population of agents by adjusting how many there are in each generation (). The exercise starts with this number of agents, which each produce a random string of letters. Agents are then graded on how close they were to the target string, and the best performing (or luckiest) agents are used to generate a new group of agents. The new generation also experiences random mutations from their parents; you can determine how common these mutations are using the . This process is repeated until either an agent mutates to match the target string or the maximum number of generations (you can specify this under ) is reached.

Feel free to play around with these factors and see what happens! Below, it will show you some example strings produced by agents in different generations. You can set which generation is output by changing the factor, which specifies how many generations will go by before showing the example strings.

We have included a second simulation here for comparison’s sake: computerized "monkeys" typing randomly. How does an evolutionary process stack up to a completely random process? (The infinite monkey theorem states that randomness will produce a solution... it will probably just take a really, really, really long time.)


Please check your input
Please check your input
Please check your input
Please check your input
Please check your input
# Best Middle Worst
Generated output of the agents will be shown here once started.
# Best Middle Worst
Random typewriting results representing the infinite monkey theorem will be shown here once the computational evolution calculation has finished.
×

In this interactive element, you saw how the processes of mutation, selection, and inheritance from generation to generation can produce agents that succeed at a task where their ancestors failed. These same processes allowed human beings to evolve our cognitive capacities, from memory to decision-making mechanisms. Since evolution in humans is almost impossible to observe in real time, computational models like the one you just saw allow us to study abstract properties of evolution in action. In turn, we can develop and inform theories of how real organisms process information based on observations from the evolutionary models.

In Chapter 15 we examine some of the ways computational evolutionary models have been used to deepen our understanding of the role of evolution as organisms grapple with uncertainty over generations.

You have earned a badge! Click me to read more.

Click on any reward badge in the footer to review take home messages of this or other elements.