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