CSE 848 Syllabus, Evolutionary Computation, M W, 3:00-4:20, 1202 EGR, Fall 2017

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 the 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 Instructors

Wolfgang Banzhaf, Office: CMSE Department, 1508E, College of Engineering Bldg., phone (517)432-0212. Email banzhafw 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: Past GECCO proceedings are relevant 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 50%
Home Assignments 20%

There will be three components to the overall grading procedure. Some home assignments will be posted on the course website and will be announced in class. Students are expected to return solutions at the announced due date. Some assignments may require computer coding and running them to get results. There will be one paper presentation assignment in which the student 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 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 December 6 (Wed, last day of class) in class.

This is a graduate course, thus, all work is expected to be of professional quality. Mature programming 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 results.

In particular, students are expected to read the papers scheduled for presentation before class. If the instructor feels that students are not participating in class due to a lack of effort, a midterm and/or a final might be scheduled 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 Week 8: Other Variants (EMO hybrids)
Week 2: Intro to EC & GAs Week 9: Neighboring Algorithms (ALife)
Week 3: More on GAs Week 10: Neighboring Algorithms (ALife)
Week 4: More on GAs Week 11: Paper Presentations
Week 5: Genetic ProgrammingWeek 12: Paper Presentations
Week 6: Genetic Programming & Other Variants (ES/EP)Week 13: Paper Presentations
Week 7: Other Variants (DE/EDA/PSO/ACO)Week 14: Project Presentations
Finals Week: Project Presentations

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 15-20 minutes (including time for questions). Presentations will be strictly timed, just as if being done at a professional conference. You are advised to practice your presentation before giving it, with the slide material you will actually use, to make sure it does not take too long. Don't try to memorize the presentation -- use the slides as clues about what you should be talking about, but also (very important) don't just READ the slides. You may use your laptop to make a presentation. For the paper presentation, you 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.
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 4 October 2017 (Wed.) in class.

8.0 Term Project

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 toolboxes, or ECJ out of George Mason, or HeuristicLab from Upper Austria University of Applied Sciences. However, it is up to you.

You will turn in a proposal for your project on 9 October 2017 (Mon.) in class. This early writeup should serve a an assurance that your project has been properly selected and thought out. On the last day of class (excluding the final exam period), December 6, 2017, you will submit a report that will detail the following:

Write this as if you were trying to publish results in a professional journal. The evaluation of your report 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 06 December 2017), an oral presentation (during last week of class or the scheduled examm time in finals week), 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 d2l for discussions. Instructor 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 Engineering and the 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 14 10:44:02 EDT 2017