The term soft computing refers to a class of computational methods that are inspired by how biological systems operate in nature. We can think of them as problem-solving computational methods employed in nature by the biological systems. Soft computing methods are also referred to as computational intelligence methods. Included in this class of computational methods are artificial neural networks, genetic algorithm, fuzzy logic, and swarm intelligence. Neural networks are roughly modeled after the structure and the operation of brains and nervous systems in humans and animals. Genetic algorithm is modeled after the natural Darwinian evolution, fuzzy logic uses the linguistic approaches to problem-solving, and swarm intelligence is based on the decentralized and self-organized behavior of systems such as ant colonies. In this book, we will mainly concentrate on neural networks and genetic algorithm.