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:
- "Genetic Algorithms in Search, Optimization
and Machine Learning", Goldberg, Addison-Wesley
- "Introduction to Evolutionary
Computation", Eiben and Smith, Springer
- "A Field Guide to Genetic
Programming", Poli, Langdon, and McPhee (on Angel)
- "Introduction to Genetic Algorithms",
Mitchell (on Angel )
- "Multi-objective Optimization Using
Evolutionary Algorithms", Deb, Wiley
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 Strategies | Week 12: Paper Presentations 17-24 |
| | |
|
| Week 6: Evolutionary Programming | Week 13: Project Presentations 1-10 |
| |
| (Paper Selection and Project Proposal Due) |
|
| Week 7: ALife | Week 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
- Briefly describe, the problem, in terms of inputs, outputs,
evaluation function etc.
- 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?
- What special operators are provided for this problem? Were they
necessary?
- Is EC the "best" way to solve this kind of problem? Is
computational complexity growth an issue?
Theory Papers
- What is the fundamental EC problem being addressed by the paper?
How does it relate to current EC approaches (is it a rehash)?
- Are the advantages clearly stated? Proven (empirically,
theoretically)?
- 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:
- problem description
- evaluation function (which you write. what did it ignore?)
- operators used (and why, perhaps you tried many which should also
be reported)
- any other nuances (parallelism, hybrid approach etc.)
- results (did it get the answer, how long did it take, what
variations did you try to get the best answer, what's the
complexity, show offline, online performance graphs etc.)
- comparison to other approaches on the problem.
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.
- 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.).
- 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