Fall 2007 CAP 6616 Neuroevolution and Generative and Developmental Systems: Syllabus
MW 1:30PM - 2:45PM in BAA room 110
Instructor: Dr. Kenneth Stanley
EPlex Research Group: http://eplex.cs.ucf.edu
Office: Harris 332
Office Hours (starting 8/21/07): Mondays 3-5pm and Tuesdays 3-4:30pm
Link to Homework Assignments and Lectures
TextsFundamentals 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 CodeAny version of NEAT can be used in the class projects. A number of versions are available here: http://www.cs.ucf.edu/~kstanley/#software
The latest clean version written by myself is rtNEAT, available here. A stripped down version of my non-real-time code is neatVS.zip, refitted for easy compiling by Jared Johnson..
OverviewThe 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). 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, including robot and autonomous vehicle control, pattern generation, limb coordination, warning systems, factory optimization, and intelligent video games. 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. This course will introduce students to the cutting edge of such research, culminating in a project in which students program their own system that evolve increasingly complex structures over time. 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. The class will conclude by examining 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.
Grading PolicyGrades will be based 10% on quizes on assigned papers, 25% on project milestones and 65% on a final project (10% final presentation and 55% final report). Students must work with a partner and periodically report how they are allocating tasks.
Late policy: 10% off if turned in within one week. Otherwise, not accepted.
Project Milestones (20% of grade; all milestones must be turned in as a hardcopy report):
9/10: Initial proposal and project plan (5%)
9/17: XOR test (5%)
9/24: Domain code prelim (5%)
10/17: Midterm presentation and report (10%)
11/26: Final project and presentation (65% of grade)
CheatingAll 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:
- An automatic zero on the assignment -- this grade may not be dropped; and
- reduction of your final grade by one letter grade; and
- notification of the incident to the UCF Office of Student Conduct.
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.
ScheduleAugust 20 Intro, context within AI, Prior Projects
August 22 Neural Networks Basics, Sequential Decision Problems, Complexity and Search
August 27 NEAT/CPPNs/HyperNEAT Overviews and Applications
August 29 Projects discussion (Project commences: Partners chosen by this date)
September 3 No Class: Labor Day
September 5 Topics in Neural Networks: Backprop, Hebbian Learning, Biological Inspirations, Reinforcement Learning
September 10 Topics in Evolutionary Computation: Types of EC, Genetic Algorithms Basics
Initial Proposal and Project Plan Due
September 12 Genetic Algorithms Theory, Criticisms of EC, No Free Lunch
September 17 Neuroevolution (Evolving Neural Networks): Combining EC with NNs, Significance to AI, Classic obstacles
September 19 History of Neuroevolution, TWEANNS
September 24 NeuroEvolution of Augmenting Topologies (NEAT): Overcoming the obstacles
Preliminary domain code due
September 26 Advanced NEAT
October 1 Generative and Developmental Systems: The Power of Reuse, Prior Work, Biological Underpinnings, Skeptical Perspective
October 3 Advanced Topics in Generative and Developmental Systems
October 8 Compositional Pattern Producing Networks (CPPNs)
October 10 HyperNEAT: Hypercube-based NEAT
October 15 Advanced HyperNEAT
October 17 Midterm Project Reports
October 22 Midterm Project Reports 2 and begin Real-time NEAT and the NERO video game
October 24 More rtNEAT and (if time) Advanced implementation issues for ANNs in video games
October 29 Competitive Coevolution and Complexification
October 31 More realistic neural models: Adaptive synapses
November 5 More on realistic neurons: Leaky integrator neurons
November 7 Interactive Evolutionary Computation and Genetic Art (Art, music, and other applications)
November 12 No Class: Veteran's Day
November 14 Evolution as a creative process, target-based vs. non-target-based evolution, large-scale IEC, Picbreeder, the organization dividend and "oragnizational metamorphosis"
November 19 Closing Remarks, Implementation topics and discussion
November 21 More Coevolution
Thanksgiving is November 22-45
November 26 Implementation topics and discussion
November 28 Project Discussion
December 3 Presentations (Last Day of Class)
December 10 Final: Project Presenations 1:00-3:50pm
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.