Skip to Secondary Navigation | Skip To Content

605.747 - Evolutionary Computation Course Homepage

Instructor Information

John Sheppard

Email: john.sheppard@cs.montana.edu
Work Phone: (406) 994-4835

Dr. Sheppard received his BS in computer science from Southern Methodist University in 1983. Later, while a full-time member of industry, he received an MS in computer science in the Johns Hopkins Part Time Engineering program (1989). He then continued his studies and received his Ph.D. in computer science from Johns Hopkins in the day school (1996). Dr. Sheppard is the RightNow Technologies Distinguished Professor in the Computer Science Department at Montana State University and an Associate Research Professor in the Computer Science Department at Johns Hopkins. His research interests include model-based and Bayesian reasoning, reinforcement learning and games, and fault diagnosis/prognosis of complex systems. In 2007, he was elected as a Fellow of the IEEE "for contributions to system-level diagnosis and prognosis." Prior to joining the full time faculty at Hopkins, Dr. Sheppard was a member of industry for 20 years. His prior position was as a research fellow at ARINC. Dr. Sheppard became a member of the EPP faculty in 1994. He teaches courses in algorithms, artificial intelligence, machine learning, and evolutionary computation.

Course Information

Course Description

Recently, principles from the biological sciences have motivated the study of alternative computational models and approaches to problem solving. This course explores how principles from theories of evolution and natural selection can be used to construct machines that exhibit nontrivial behavior. In particular, the course covers techniques from genetic algorithms, genetic programming, and artificial life for developing software agents capable of solving problems as individuals and as members of a larger community of agents. Specific topics addressed include representation and schemata; selection, reproduction, and recombination; theoretical models of evolutionary computation; optimal allocation of trials (i.e., bandit problems); search, optimization, and machine learning; evolution of programs; population dynamics; and emergent behavior. Students will participate in seminar discussions and will complete and present the results of an individual project.

Prerequisites

605.445 Artificial Intelligence is recommended but not required.

Course Goal

To develop broad understanding of the issues in developing and analyzing evolutionary computation systems, and to develop a deeper understanding of at least one specific evolutionary computation topic through an individual research project.

Course Objectives

  • To be able to formulate and assess problems in evolutionary computation.
  • To be able to assess the strengths and weaknesses of several approaches to evolutionary computation.
  • To be able to assess and understand the key commonalities and differences in various evolutionary computation models.
  • To be able to apply techniques in evolutionary computation to problems such as optimization, automatic programming, control, and biological modeling.

When This Course is Typically Offered

This course is in the process of being converted to be offered fully online. Once the conversion is complete, it is expected that the course will be offered during the spring term of odd years.

Syllabus

Topics Covered

  • Genetic Algorithms
  • Genetic Programming
  • Evolution Strategies
  • Evolutionary Programming
  • Artificial Life
  • Representation
  • Selection
  • Search Operators
  • Fitness Evaluation
  • Constraint Handling

Student Assessment Criteria

Discussion Leadership 10%
Discussion Reviews 10%
Dissertation Critique 15%
Project Proposal 10%
Project Report 20%
Project Presentation 15%
Class Participation 20%

Grading will be based on in class discussions, discussion leadership, ability to report on progress in the field through oral presentation and written critique, and the ability of the student to design and implement a research project. Students will be responsible for periodically leading class discussion and then summarizing the results of the discussion in an informal report. Each student will also conduct a research project, documented with a formal, technical paper describing the experimental method and results.

Computer and Technical Requirements

Any computer and programming language may be used.

Participation Expectations

This class is offered in a seminar style. Each session begins with the instructor setting the stage through a brief, "mini-lecture." The class is then turned over to one or two "discussion leaders" to guide discussion on research papers. All students are required to lead discussion on at least one paper and to engage fully in all discussions.

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are notes for this course.

Final Words from the Instructor

This course has been designed to expose students with interest in AI to the current research in evolutionary computation and artificial life. The intent is to provide a relaxed but vibrant environment for exploring ideas and giving students the opportunity to "try their hand" doing research in evolutionary computation.

Term Specific Course Website

http://sakai.jhu.edu

(Last Modified: 08-13-2009 at 9:36:36 PM)