Link to COSC 6367 Syllabus

advertisement
COLLEGE OF NATURAL SCIENCES & MATHEMATICS
HTTP://NSM.UH.EDU
COURSE TITLE/SECTION: COSC 6367: Evolutionary Programming
TIME:
TU/TH 11:30-1p
FACULTY:
Christoph F. Eick
E-mail: ceick@uh.edu
I.
OFFICE HOURS: TU 2-3:20p TH 1-1:40p
Phone: 713-743-3345
FAX: 713-743-3335
Course
A.
Catalog Description
Evolutionary Programming Cr. 3 (3-0). Prerequisites: graduate standing, programming
experience, MATH 3336 or consent with instructor. Theory and application of
evolutionary programming and other related areas in evolutionary and natural
computation centering on genetic algorithms and programming, evolution strategies,
artificial life, and other models that rely on evolutionary principles. Students will perform
course projects that apply the discussed techniques to numerical optimization
problems, to machine learning, and to the simulation of biological and cultural systems.
Course Website: http://www2.cs.uh.edu/~ceick/6367/6367.html
II.
Course Objectives
Upon completion of this course, students
1. have a sound background in the major evolutionary computing approaches genetic
algorithms, evolution strategy, genetic programming and classifier systems.
2. will be knowledgeable in the theory of evolutionary computing systems
3. will have practical experience in applying evolutionary computing to challenging
optimization problems, to machine learning, and/or to artificial life, art, and design
problems.
4. will obtain some hands-on experience in simulating, modeling, and understanding
the evolution of complex systems.
5. will obtain some sound background in areas that are closely related to evolutionary:
namely, search techniques, numerical optimization, and machine learning.
6. will have some background with respect to software libraries that are commonly
when developing evolutionary computing systems.
7. will have some basic knowledge about artificial life.
8. will get some exposure to probabilistic algorithms in general.
9. will obtain practical experience in conducting medium sized research projects, and
in presenting their findings in reports and oral presentations.
III.
Course Content 2012
This course will include the following topical (content) areas:
1. Introduction to Evolutionary Computing
2. Genetic Algorithms
3. Evolution Strategy
4. Brief Introduction to Numerical Optimization Problems
5. Application of Evolutionary Computing to Optimization Problems (Course Project1)
6. Introduction to Search Techniques
7. Genetic Programming
8. Simulating, Modeling, and Understanding the Evolution of Complex Systems
(potential Project2)
9. Classifier Systems
10. Brief Introduction to Machine Learning, centering on Adaptive Learning
11. Using Genetic Programming and Classifier Systems to Design Adaptive Systems
(Course Project3)
12. Parameter Adaptation and Control in Evolutionary Computing Systems
13. Memetic Algorithms
14. Brief Introduction to Artificial Life
15. Theory of Evolutionary Computing
IV.
Course Structure
The course will be very project oriented; students will develop medium-sized software
systems that employ evolutionary computing paradigms in 3 course projects.
Alternatively, students can choose a subject and gives a oral presentation (+ report or
webpage) as your third project which is usually a group project. In addition to regular
lectures there will be a lot of project related discussions during the lectures.
V.
Textbook
A.E. Eiben and J.E. Smith: Introduction to Evolutionary Computing, Springer Verlag,
2003.
VI
Course Requirements
A.
Reading Assignments
Student obviously will read the textbook, and other written material
B.
Written Assignments
Students have to write reports that summarize their findings of the three course
projects.
C.
Projects
1. Application of EC to Solve Challenging Optimization Problems
2. Students can choose between different projects and give a presentation
3. Using EC to Develop Adaptive Systems
D.
Exams (as needed)
There will be 2 quizzes and a final exam.
VII.
Evaluation and Grading
Exams (47%), Course Projects (51%), Class Participation/Extra Credit (2%)
Policy on grades of I (Incomplete): will only be given to students that completed more
than 50% of the course.
VIII.
Consultation
IX.
Bibliography
Required Textbook
• A.E. Eiben and J.E. Smith: Introduction to Evolutionary Computing, Springer
Verlag, 2003.
Recommended Textbooks:
• Kenneth A. De Jong Evolutionary Computation --- A Unified Approach, MIT
Press, 2006
• Th. Bäck: Evolutionary Algorithms in Theory and Practice: Genetic Algorithms,
Evolution Strategies, Evolutionary Programming, Oxford University Press, New
York 1996.
• Z. Michalewicz: Genetic Algorithms + Data Structures = Evolution Programs.
Springer Verlag, Berlin, 1996.
Further Reading:
• Th. Bäck, D.B. Fogel, Z. Michalewicz: Handbook of Evolutionary Computation,
Institute of Physics Publishing, Bristol UK and Oxford University Press,
Philadelphia PA, 1997. (New, cheaper edition Vols. 1 and 2, Institute of Physics
Publishing, Bristol UK, 2000).
• W. Banzhaf, P. Nordin, R.E. Keller, F.D. Francone: Genetic Programming,
Morgan Kaufman Publishers, San Francisco, CA, 1998.
• L. Davis: Handbook of Genetic Algorithms, Van Nostrand Reinhold, 1991.
• D.B. Fogel: Evolutionary Computation. Toward a new Philosophy of Machine
Intelligence, IEEE Press, Piscataway, NJ, 1995.
• D.E. Goldberg: Genetic Algorithms in Search, Optimization, and Machine
Learning. Addison-Wesley, 1989.
• J. Koza: Genetic Programming I, MIT Press, Cambridge MA, 1992.
• J. Koza: Genetic Programming II, MIT Press, Cambridge MA, 1994.
• J. Koza: Genetic Programming III, MIT Press, Cambridge MA, 1998.
• M. Mitchell: An Introduction to Genetic Algorithms. MIT Press, Cambridge MA,
1996.
The university requires all syllabi to have the following paragraph:
Addendum: Whenever possible, and in accordance with 504/ADA guidelines, the
University of Houston will attempt to provide reasonable academic accommodations to
students who request and require them. Please call 713-743-5400 for more assistance
Download