Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

Evolutionary Computation
605.755


Course Description
This course explores how principles from theories of evolution can be used to construct systems that exhibit nontrivial behavior with a focus on genetic algorithms, genetic programming, and artificial life. Specific topics include representation and schemata; selection, reproduction, and recombination; the schema theorem; optimal allocation of trials (i.e., bandit problems); classifiers and other rule-based approaches; search, optimization, and machine learning; evolution of programs; and emergent behavior. Students will participate in seminar discussions and will complete and present the results of an individual project. 

Syllabus

  1. Introduction to Evolutionary Computation
  2. Genetic Algorithms
  3. Genetic Programming
  4. Artificial Life
  5. Representation Issues
  6. Selection Issues
  7. Alternative Architectures
  8. Machine Learning
  9. Classification and Data Mining
  10. Evolutionary Hardware
  11. Evolving Competition
  12. Emergent Behavior
  13. Theory
  14. Project Reports

Prerequisites
605.451 Principles of Artificial Intelligence is recommended, but not required.

Instructor
John Sheppard is a Staff Principal Analyst at ARINC Incorporated and performs research in machine learning, intelligent diagnostics, and  game theory. He holds a B.S. in computer science from Southern  Methodist University and an M.S. and Ph.D. in computer science from the Johns Hopkins University. His research in evolutionary computation has included developing a genetic algorithm for learning evasive maneuvers and using a genetic algorithm to bootstrap memory based learning. In  addition, he has supervised graduate students in performing research in evolutionary hardware and artificial life.

E-mail the instructor.

Computer Lab Requirements
All students will complete a non-trivial project and may make use of any computer system and any language.

Textbook
Papers by various authors on the web.
An Introduction to Genetic Algorithms by Melanie Mitchell
Genetic Programming:  An Introduction by W. Banzhaf, P. Nordin, R. Keller, and F. Francone
Artificial Life by Christopher Langton

Additional Course Information


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

updated July 1998