Evolutionary Computation Preparation
Overview
Putting evolution by natural selection into a computer is surprisingly easy to do and another good way of thinking about how artificial systems can demonstrate the dynamics of living systems. You’ll start by learning about one approach to this technique, genetic algorithms, also referred to as evolutionary algorithms and evolutionary computation, since these put in place the basic necessary components of evolution.
Basic Learning Objectives
Before class you should be able to:
- List the necessary components for evolution by natural selection
- Explain how fitness functions and fitness landscapes relate to each other
Advanced Learning Objectives
After class, you should be able to:
- Write a genetic algorithm program to solve a simple problem
Reading
You should read the following to achieve the basic learning objectives:
- 7.2 (Evolution) of Biological Bits
- 4.1 Defining C++ Functions and 4.2 Parameter Passing in C++ to Python Runestone book
Checks
Answer the following questions on Moodle:
- What are the necessary conditions for evolution by natural selection to occur?
- How can those conditions be recreated in a computer program?