Class Description

An introduction to a wide variety of robust optimization algorithms based on the theme of nature inspired optimization techniques. This is a hands on programming class. All assignments will be programmed in C++ for speed and uniformity of grading. It is expected that you are a skilled C++ programmer and understand UNIX utilities such as make. GAs, GPs, ESs, EPs, EDAs, etc will be covered. Theory including representations, landscapes, epistasis, code bloat, diversity, and problem structure will be discussed. We will play with some special techniques such as predator/prey. Most of all, we will try to have fun. :-)

Time: 9:30-10:30 MWF
Location: Live at the time above via Zoom. See BBLearn for class for zoom id.
Tests: None
Final: None
Coding: Lots of C++, plus UNIX skills.
Covid-19 Adjustments
  • This class will be taught entirely on Zoom. ZOOM ID in bblearn for class.
  • All zoom lectures will be recorded and appear in the videos section in the class BBLearn page.
  • Except for videos and grades all else will appear here on the class web page.
  • All email from students should have the subject: CS472.
  • Since almost no one showed up for office hours last semester I will try office hours BY APPOINTMENT ONLY. Please send email. Appointments will be in 20 minute slots. Multiple people can arrange to see me at the same time if you wish.
  • There are no exams or final so proctoring is not an issue.
Textbook: Introduction to Evolutionary Computation, 2nd Ed.
by A. E. Eiben and J. E. Smith, ISBN: 978-3662448731

Sample Syllabus (WARNING: NOT UP-TO-DATE)

This syllabus is an estimate of what we might cover this semester. The class varies from semester to semester to reflect new and interesting topics.

Wk#

Monday
of that
Week

Topics/Links Assignments Comments
1 Aug 24 Evolution as search and the strength of evolution as a technique. When can you apply evolution? Evolution as a general framework. Read Chapter 1  
2 Aug 31 The nature and relationship of landscapes, operators, representations. Intro to local search Assignment 1 [pdf]  
3 Sep 7 Simulated annealing, memory and taboo search Read Chapter 2 NO CLASS ON MONDAY - LABOR DAY
4 Sep 14 Landscapes and representation, start GAs    
5 Sep 21 Genetic Algorithms as population based search Assignment 2 [pdf], Read Chapter 3  
6 Sep 28 xover and other components of GAs Assignment 3 [pdf]  
7 Oct 5 GAs for permutation problems, xover operators for permutations    
8 Oct 12 Epistasis, schema, schema theory, implicit parallelism    
9 Oct 19 Evolution Strategies, diversity and population structure Assignment 4 [pdf]Read Chapter 4  
10 Oct 26 Genetic programming in general, tree based GP Read Chapter 5 & 6  
11 Nov 2 GP operators, Code bloat and hints on the cipher problem    
12 Nov 9 Cartesian Genetic Programming    
13 Nov 16 Multiobjective and Multimodal Optimization    
14 Nov 23   THANKSGIVING BREAK! NO CLASS THIS WEEK
15 Nov 30 Ant Colony Optimization, Estimation of Distribution Algorithms, Epistasis, What if you don't have a fitness function, Prisoner's Dilemma Extra Credit Assignment 5 [pdf], Read Chapter 9  
16 Dec 7      
17 Dec 14   FINALS WEEK (NO FINAL FOR US)  

References and Resources

Problem Resources General Resources General EC References LaTeX References

Services

  • Homework submission page. This our homework submission page. This is not to be confused with any other submission tools used in the CS department.
  • Submitting homework without a browser
  • Computer Science IT FAQ including information on logging onto class machines.
  • The CS472/572 student machine is called cs-475.cs.uidaho.edu. That is not a typo. We are just reusing the machine from CS475. If you are off campus you can access this machine only by first "coming on campus" with VPN. For details see CS IT FAQ

Policies and Processes