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.





Here are links to some reviews of the book.













Table Of Contents






    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


    Device contexts

    Pens, Brushes, Lines, Curves and Colors



    A real-time message pump

    How to create and use a back buffer

    Using Resources: Icons, Cursors, Menus, Dialog boxes



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



    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


    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


        Steady state

        Stochastic Universal Sampling(SUS)

        Tournament selection

    Scaling Techniques

        Rank scaling

        Sigma scaling

        Boltzmann scaling

    Generic Crossover Operators

        Single point

        Two 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


        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



    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


        Creating a memory

        Implementing the memory

        Project settings

    Recurrent networks


    Stuff to try




Chapter 9: A Supervised Training Approach



    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


    Stuff to try




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


    Description of the Brainy Aliens project.

    Overview of the technique used


        Roswell Revisited - An Alien Autopsy

        Alien evolution

        A different update method explained

    Stuff to try




Chapter 11: Evolving Neural Net Topologies



     The competing conventions problem

     Direct Encoding


        Binary matrix

        Node based

        Path based

     Indirect Encoding

        Grammar based

        Bi-dimensional growth encoding



        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


        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