CSE 848 Syllabus, Evolutionary Computation, M W, 3:00-4:20, 1455A BPS, Fall 2012

1.0 Description

Graduate survey course in Evolutionary Computation, with emphasis on its use in search and optimization. Will concentrate on fundamental aspects of Evolutionary Computation including history, theory and application. Pre-requisites are CSE or ECE Grad standing or permission of instructor (ECE majors, if you wish to have your enrollment in this course appear on your record as ECE-848, enroll in this section and then contact the ECE department when this class is completed.)

2.0 Objectives

This is an introduction to Evolutionary Computation (EC) for graduate students. It is intended as a fundamental introduction, as well as a survey of the many aspects of evolutionary algorithms (EAs), in particular GA, GP, ES, and will concentrate on the basic concepts of representation, operators and overall control, followed by examples of the use of these concepts in important applications. As such, this course will not do much in-depth study of any one area. Rather this course is intended as a good introduction for those who have had no exposure to EC and as a stepping stone for those interested in more specific areas. Instead of using any particular book as a textbook, we shall try cover many key research papers related to EC. Students will make class presentations on articles they are assigned or chosen to present and also on their own term projects.

3.0 Instructor

Bill Punch, Office 3147 Eng. Building, tel: 353-3541. Email punch AT msu DOT edu (preferred means to communicate with me).

4.0 Textbooks

No required textbooks. Instead, we will be surveying the literature. A number of papers will be uploaded at the course website http://www.cse.msu.edu/~cse848 as course notes. However, you can always look for papers anywhere that is appropriate. Remember, you have free access to many resources through MSU's Electronic Resources access point. Some recommended books for getting additional materials are as follows: I am in the process of making availble to students in the class about 10 of the past GECCO proceedings. This will provide more than enough fodder for paper selection. However, you are always free to look for papers anywhere that is appropriate. Remember, you have free access to many resources through MSU's Electronic Resources access point.

5.0 Grading

The grading scheme will be as follows:

Paper Presentation/Summary 30%
Term Project Presentation/Report 40%
Home Assignments (H1 to H4) 30%

There will be three components to the overall grading procedure. Four home assignments will be posted on the course website and will be announced in the class. Students are expected to return the solutions within the announced due date. Some assignments may require some computer coding and running them to get results. There will be one paper presenation assignment in which the students is expected to choose a suitable paper of interest on EC, read it carefully, prepare a two-page summary and make a presentation to the whole class. Finally, students are also expected to do a term project, preferably in a group of two formed by the students themselves. The project report will be due on 05 December 2012 (Wed, last day of class) in class.

This is a graduate course, thus, all work is expected to be of professional quality. Mature programing skills are expected, such as in-program documentation (whenever asked to submit), style and completeness and the projects will be graded on these qualities as well as on their operation.

In particular, I expect all students to read the papers presented before the class. If the instructors feel that students are not participating in the class due to a lack of effort, then we will revert to having a midterm and/or a final to rectify the situation.

There is no late policy for grades. Anything turned in late gets 0% credit unless excused under university policy.

Office hours will be established once the semester is underway. There will be time at the beginning of class to answer questions that might be of interest to the whole class, such as clarifications of assignments, etc. Appointments outside of normal office hours are available on request (preferably through email).

6.0 Course Topics

The following is the schedule of course topics. This may change as we move through the material.




Week 1: Intro to EC & GA Week 8: We'll see where we are
Week 2:More GAs Week 9: Applications
Week 3:Genetic Programming/Machine Learning Week 10: Paper Presentations 1-8
Week 4: Classifiers Week 11: Paper Presentations 9-16
Week 5: Evolutionary StrategiesWeek 12: Paper Presentations 17-24
Week 6: Evolutionary ProgrammingWeek 13: Project Presentations 1-10
(Paper Selection and Project Proposal Due)
Week 7: ALifeWeek 14: Project Presentations 11-20
Week 15: Project Presentations ?, Finish up

7.0 Presentations

Each student will be required to make one paper presentation to the class, and also to present a term project (preferably, in a group of two). The paper presentations will last 20 minutes (15-minute presentation, 5 minutes of questions). Presentations will be strictly timed, just as if being done at a professional conference. You are adviced to practice your presentation before giving it, with the overhead materials you will actually use, to make sure it does not take too long. Don't try to memorize the presentation -- use the overheads as clues about what you should be talking about, but also (very important) don't just READ the overheads. You may use your laptop to make a presentation. For the paper presentation, each student will prepare a two-page summary sheet that summarizes the paper to be presented and is to be submitted before the presentation. This summary should provide an overview of the important points of the paper, as well as any background material that may be required. The summary should address issues like the following:

Application Papers

  1. Briefly describe, the problem, in terms of inputs, outputs, evaluation function etc.
  2. How well does the representation of the problem match the problem itself? What is left out, what important aspects are represented? Is there a better way?
  3. What special operators are provided for this problem? Were they necessary?
  4. Is EC the "best" way to solve this kind of problem? Is computational complexity growth an issue?

Theory Papers

  1. What is the fundamental EC problem being addressed by the paper? How does it relate to current EC approaches (is it a rehash)?
  2. Are the advantages clearly stated? Proven (empirically, theoretically)?
  3. Does the paper address the computationally complexity increases/decreases.
We will use CSE-848 Angel page to store all material. You are expected to provide a copy of the paper and a two page summary one week before your scheduled presentation.

The whole class is expected to read the paper before the presentation. Lack of participation indicating papers are being unread will result in a midterm over the topics covered in the papers.

You will turn in a proposal for your paper on 10 October 2012 (Wed.) in class.

8.0 Term Project

We have two locally developed toolsets, GALOPPS and lilgp, here at MSU but both are dated. There exist a number of toolsets on the internet, any of which you can use to develop your project. You can even develop your own toolset, but that is not recommended. For starters, you can look at the MATLAB toolsets or ECJ out of George Mason. However, it is up to you.

You will turn in a proposal for your project on 10 October 2012 (Wed.) in class. This early write up is to assure us that your project has been properly selected and thought out. On the last day of class, December 7, 2012, you will submit a report that will detail the following:

Write this as if you were trying to publish results in a professional journal. Your evaluation will be based on this viewpoint. One of two things must be true about your project problem.
  1. It is not one of the old stand-bys like traveling salesman, set partitioning etc. Pick something different, more interesting (complicated evaluation function, interesting representation, etc.).
  2. If it is an old stand-by problem, it is because you are testing out a unique and interesting EC feature/approach and you want to benchmark it against something known. This would be something like a new EC operator.
Deliverables from your project include the final written report (due on 07 December 2012), the oral presentation (during last few weeks of class), and the code for your project.

9.0 Notes

A class directory has been established called http://www.cse.msu.edu/~cse848. All handouts will be available in that directory for your convenience.

There is a forum on angel for forum discussions. We will monitor and answer questions but it is also a place for you to ask and answer questions amongst yourselves!

While an attempt has been made to lay out the course in advance, we reserve the right to update/change this syllabus during the course of the semester.

The Department of Computer Science and Department of Electrical and Computer Engineering expect all students to adhere to MSU's policy on Integrity of Scholarship and Grades, as stated in the Academic Programs publication.


Last modified: Mon Aug 27 10:46:02 EDT 2012