## Chapter 10. Genetic Algorithms

This chapter introduces the concept of evolutionary computing. Algorithms derived from the theory of evolution are particularly efficient in solving large combinatorial or **NP problems**. Evolutionary computing has been pioneered by John Holland [10:1] and David Goldberg [10:2]. Their findings should be of interest to anyone eager to learn about the foundation of **genetic algorithms** (**GA**) and **artificial life**.

This chapter covers the following topics:

The origin of evolutionary computing

The theoretical foundation of genetic algorithms

Advantages and limitations of genetic algorithms

From a practical perspective, you will learn how to:

Apply genetic algorithms to leverage technical analysis of market price and volume movement to predict future returns

Evaluate or estimate the search space

Encode solutions in the binary format using either hierarchical or flat addressing

Tune some of the genetic operators

Create and evaluate fitness functions