Beginning where our introductory neural network programing book left off, this book introduces you to Encog. Encog allows you to focus less on the actual implementation of neural networks and focus on how to use them. Encog is an advanced neural network programming framework that allows you to create a variety of neural network architectures using the Java programming language. Neural network architectures such as feedforward/perceptrons, Hopfield, Elman, Jordan, Radial Basis Function, and Self Organizing maps are all demonstrated. This book also shows how to use Encog to train neural networks using a variety of means. Several propagation techniques, such as back propagation, resilient propagation (RPROP) and the Manhattan update rule are discussed. Additionally, training with a genetic algorithm and simulated annealing is discussed as well. You will also see how to enhance training using techniques such as pruning and hybrid training.