Fall 2013 CAP 6616 Neuroevolution and Generative and Developmental Systems: Syllabus

MW 1:30PM - 2:45PM in ENGR room 383

Instructor: Dr. Kenneth Stanley

Email: kstanley@eecs.ucf.edu
Website: http://www.cs.ucf.edu/~kstanley
EPlex Research Group: http://eplex.cs.ucf.edu

Office: Harris 332

Office Hours (starting 8/19/13): Mondays 3-4pm and Tuesdays 3-4pm

TA: None


Fundamentals of Neural Networks by Laurene V. Fausett (1994)

Evolutionary Computation: A Unified Approach by Kenneth A. De Jong (2006)
(Sometimes listed as 2002)

Assorted Current Research Papers

Software and Source Code

Any version of NEAT, HyperNEAT, or novelty search can be used in the class projects. A number of versions are available here: http://www.cs.ucf.edu/~kstan ley/#software

A clean update of the version of NEAT written by myself is at, http://nn.cs.utexas.edu/?neat-c. Another clean version is called rtNEAT, which is available here. An alternate stripped down version of my non-real-time code is neatVS.zip, refitted for easy compiling by Jared Johnson.

SharpNEAT is also a good choice.


The purpose of this artificial intelligence (AI) course is to introduce students to current topics in the artificial evolution of complex systems, focusing on evolving neural networks (i.e. neuroevolution). In neuroevolution, a Darwinian survival-of-the-fittest competition among neural networks leads to increasingly sophisticated solutions without the need for human design. However, such a process requires a principled approach to combining, selecting, and encoding large, complex neural networks. The class will also examine sophisticated encoding techniques based on the growth of an embryo from a single cell (i.e. generative and developmental systems) and DNA encoding in nature. Such techniques promise to facilitate the evolution of neural networks with orders of magnitude more complexity than has been heretofore possible. This course will introduce students to the cutting edge of such research, culminating in a project in which students program their own system that evolves increasingly complex structures over time. Neural networks are a good proxy for complex systems in general, exhibiting many of the key properties that make such systems difficult to evolve. The class surveys methods in neuroevolution that have resulted in new ways to produce controllers for a broad range of difficult sequential decision tasks and creative endeavors, including robot and autonomous vehicle control, pattern generation, limb coordination, warning systems, factory optimization, intelligent video games, and computer-generated art and music. Although neural networks are a major focus for the course, students will not be restricted in the type of structure their systems can evolve. In this way, students will become experts through hands-on experience.

Grading Policy

Grades will be based 65% on a final project (10% final presentation and 55% final report), 25% on project milestones, and 10% on quizes on assigned papers. Students must work with a partner and periodically report how they are allocating tasks.

Late policy: 20% off if turned in within one week. Otherwise, not accepted.

Project Milestones (25% of grade; all milestones must be turned in as a hardcopy report):

9/18: Initial proposal and project plan (5%)
9/25: XOR test (5%)
10/7: Domain code prelim (5%)
10/28: Midterm presentation and report (10%)
12/2: Final project and presentation (65% of grade)


All of the work that you turn in or present must be your own. Cheating, plagiarism, and any other form of academic dishonesty will be penalized. The minimum penalty for cheating will include:

Plagiarism and paraphrasing are forms of cheating. Plagiarism is the presentation of others' ideas and writings as your own. Paraphrasing is taking someone else's sentence, changing a few words, and then presenting it as your own. Both are unacceptable in this class.


August 19 Intro, context within AI, Prior Projects

August 21 Neural Networks Basics, Sequential Decision Problems, Complexity and Search

August 26 NEAT, CPPNs, HyperNEAT, Novelty Search Overviews and Applications

August 28 Project Discussions

September 2 No Class: Labor Day

September 4 Topics in Neural Networks: Backprop, Hebbian Learning, Biological Inspirations, Reinforcement Learning

September 9 Topics in Neural Networks: Deep Learning

September 11 Topics in Evolutionary Computation: Types of EC, Genetic Algorithms Basics

September 16 Genetic Algorithms Theory, Criticisms of EC, No Free Lunch
Initial Proposal and Project Plan Due

September 18 Neuroevolution (Evolving Neural Networks): Combining EC with NNs, Significance to AI, Classic obstacles

September 23 History of Neuroevolution, TWEANNS

September 25 NeuroEvolution of Augmenting Topologies (NEAT): Overcoming the obstacles
XOR Test Due

September 30 Post-NEAT Methods and Extending NEAT

October 2 Generative and Developmental Systems: The Power of Reuse, Prior Work, Biological Underpinnings, Skeptical Perspective

October 7 Compositional Pattern Producing Networks (CPPNs)
Preliminary Domain Code Due

October 9 HyperNEAT: Hypercube-based NEAT

October 14 Advanced HyperNEAT

October 16 Abandoning Objectives and the Search for Novelty

October 21 Real-time NEAT and the NERO video game

October 23 Advanced implementation issues for ANNs in video games

October 28 Midterm Project Reports

October 30 Midterm Project Reports

November 4 Competitive Coevolution and Complexification

November 6 More realistic neural models: Adaptive synapses

November 11 No Class: Observing Veteran's Day

November 13 More on realistic neurons: Leaky integrator neurons

November 18 Cutting-edge Neuroevolution

November 20 Interactive Evolutionary Computation and Genetic Art (Art, music, and other applications)

November 25 Evolution as a creative process, target-based vs. non-target-based evolution, large-scale IEC, Picbreeder, Novelty-Assisted IEC; Technical Writing Tips

November 27 Conclusions

December 2 Final Presentations
Final Projects Due

Classes End December 2nd

December 9 Final Presentations

Student Final Presentations: Students will have run their own experiments in neuroevolution and generative and developmental systems and will present results and methods from their projects.