Course Number
Primary Program
Computer Science
Mode of Study

Recently, principles from the biological sciences have motivated the study of alternative computational models and approaches to optimization and machine learning. This course explores how principles from theories of evolution and social behavior can be used to solve such problems. In particular, the course covers techniques using evolutionary (e.g., genetic algorithms and evolution strategies) and swarm-based (e.g., ant colony optimization and particle swarm optimization) algorithms 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 and swarm-based 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 a semester-long project of their own choosing.

Course Prerequisite(s)

EN.605.649 Introduction to Machine Learning; multivariate calculus.