If you like the ai-junkie tutorials then you'll love this.  Although it's aimed at game developers it's useful to anyone wanting to learn about genetic algorithms and artificial neural networks with as much fun and as few headaches as possible. Check out the reviews  to see if it's the right book for you.

 

 

Reviews

 

Here are links to some reviews of the book.

 

GameDev

Amazon.com

Amazon.co.uk

Generation5

ACCU

 

Order

 

Amazon.com

Amazon.co.uk

 

Table Of Contents

 

 

 

Foreword

 

    From Steve Woodcock of Game AI.

 

Introduction from the author

 

    An overview of the book and its aims

 

                                                          Introduction to Windows Programming

 

Chapter 1: Hello World!

 

    A brief history of MS Windows.

    Your first Windows program.

    Creating your first window.

    The Windows message pump

    The Windows procedure

    Keyboard input

           

Chapter 2: Further Adventures with Windows Programming

 

    The windows GDI

    Overview

    Device contexts

    Pens, Brushes, Lines, Curves and Colors

    Shapes

    Text

    A real-time message pump

    How to create and use a back buffer

    Using Resources: Icons, Cursors, Menus, Dialog boxes

    Timers

 

These first couple of chapters run you through the win32 programming stuff you need to know to understand the code projects in the book. If you already know this stuff then pretend it's not there! ;0)

 

 

                                                         Genetic Algorithms

 

Chapter 3: The Birds and the Bees

 

    Evolution in nature

    The digital approach

    The genetic algorithm loop

    Roulette wheel selection

    Crossover

    Mutation

    Save Bob! - A Pathfinding Project

        Bob’s environment

        Encoding the chromosome

        The Epoch function

        Choosing the parameter values

        Roulette wheel selection revisited

        Crossover revisited

        Mutation revisited

        Running the program 

    Stuff to Try

 

 

 

Chapter 4: A Different Type of Encoding

 

    Permutation encoding

    The Travelling Salesman Problem

    Traps to avoid

    The permutation crossover operator

    The exchange mutation operator

    Deciding on a fitness function

    Selection

    Putting it all together

    Stuff to try

 

 

 

Chapter 5: Our Salesman gets Smarter

 

    Alternative permutation mutation operators

    Alternative permutation crossover operators

    Optimizing your GA

    The fitness landscape

    Selection Techniques

        Elitism

        Steady state

        Stochastic Universal Sampling(SUS)

        Tournament selection

    Scaling Techniques

        Rank scaling

        Sigma scaling

        Boltzmann scaling

    Generic Crossover Operators

        Single point

        Two point

        Multi-point

    Niching Techniques

        Fitness sharing

    Stuff to try

 

 

 

Chapter 6: Learning to Land on the Moon

 

    Introducing behavioral encoding

    Description of the project

    Mathematics and physics 101

    The manned lunar lander project

    The GA controlled lunar lander project

        Description

        Encoding the genome

        The crossover and mutation operators

        The fitness function

        Running the program

    Stuff to try

 

 

 

                                                                      Neural Networks

 

 

Chapter 7: Neural Networks in Plain English

 

     A Biological Neural Network – Your Brain

        Structure and development of a human brain

        Properties of a human brain

    Artificial Neurons

        The step activation function

        Mathematical notation

    Structure of artificial neural networks

    Overview of supervised and unsupervised learning

    The Smart Minesweeper Project

        Choosing the outputs

        The sigmoid activation function

        Choosing the inputs

        Deciding on hidden units

        Descriptions of the classes used in the project

        Encoding the neural networks.

        A floating point genetic algorithm

            Crossover

            Mutation

    Performance Improvements

       A new crossover operator

       Reducing the inputs

    Stuff to try

 

 

 

Chapter 8: Giving your Bot Senses

 

    Obstacle Avoidance

        Creating sensors

        A new fitness function

        Project settings

    Exploration

        Creating a memory

        Implementing the memory

        Project settings

    Recurrent networks

    Summary

    Stuff to try

 

 

 

Chapter 9: A Supervised Training Approach

 

    Overview

    The XOR Problem

        Historical relevance

        Linear separability

    How does backpropagation work?

    The equations

    The learning rate

    Example using the XOR problem

    Changes to the CNeuralNet code

    Mouse Gesture Recognition

        Representing a gesture with vectors

        Training the network

        Recording and transforming the mouse data

        Adding gestures

    Tips and Tricks

    The Momentum Rule

        The error landscape

        Local and global minima

    Avoiding Overfitting

        Reducing neurons

        Adding jitter

        Early stopping

    The Softmax Activation Function

        The cross-entropy error

    A Modern Fable - the tank story

    Applications

    Stuff to try

 

 

 

Chapter 10: Evolving Neural Networks in Real-time – Brainy Aliens

 

    Description of the Brainy Aliens project.

    Overview of the technique used

    Implementation

        Roswell Revisited - An Alien Autopsy

        Alien evolution

        A different update method explained

    Stuff to try

 

 

 

Chapter 11: Evolving Neural Net Topologies

 

     Introduction

     The competing conventions problem

     Direct Encoding

        GENITOR

        Binary matrix

        Node based

        Path based

     Indirect Encoding

        Grammar based

        Bi-dimensional growth encoding

    N.E.A.T.

        Overview

        The Encoding method

            Link genes

            Node genes

            The genome structure

    Operators and Innovations

        Historical markings and innovations

        Adding a link

        Adding a  node

        Designing a valid crossover operator           

        Mutation operators

    Speciation

        What is a species?

        Compatibility testing

        Fitness sharing

    The NEAT epoch

    Converting a Genome into a Phenotype

        The neuron structure

        The synapse structure

        Putting it all together

     Stuff to try

 

 

 

Final Words

 

Bibliography and recommended reading

 

Internet Resources

  

 


Home