**Steady State** genetic algorithms are the more basic genetic algorithms. They tend to take longer to converge, but are also used in situations where there are multiple objectives for the algorithm. Typically in these cases the older entities remain when new ones are made.

**Generational** genetic algorithms are the more commonly known “complicated” genetic algorithms and sit somewhere between Steady State and Modular genetic algorithms. Unlike Steady State, these algorithms replace their population instead of multiply it. As a result, a large portion of the population (typically half) are replaced by their popogated entities each time.

**Modular** genetic algorithms are a more experimental level of genetic algorithm. No surprise here that these are what Mohammad focused on with his lectures this week. Skimming over the simple stuff and feeding us the experimental stuff? I’m seeing a pattern here buddy! Not that I’m complaining.

These types of genetic algorithm are good at solving problem similar to those in nature, and at assembling solutions to problems from units. There’s also some good scalability with these types of algorithm – assuming you have the computing power to for it.

## Exercise

The exercise for this topic is to solve the Knapsack Problem using a genetic algorithm.