100 likes | 206 Views
Christoph F. Eick. Transparencies Course COSC 6367 (Spring 2001) Evolutionary Programming. James Rosenquist’s “Evolutionary Balance” (1977). Course Description Evolutionary Programming.
E N D
Christoph F. Eick Transparencies Course COSC 6367 (Spring 2001) Evolutionary Programming James Rosenquist’s “Evolutionary Balance” (1977)
Course Description Evolutionary Programming 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 stategies, 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.
EP/GA/EC/EA • Evolutionary programming, for short EP, (also sometimes called genetic algorithms(GA) and Evolutionary Computing(EC)) steals the idea of evolution from biology: sets of solutions are evolved by applying genetic operators such as crossover (a new solution is created by mating two parent solutions), and mutation (random change in a solution). • EP is getting more and more popular: more conferences publish EP papers • EP technology is successfully applied in natural sciences and in engineering to complex problems, such as: • prediction of chemical structures in 2D and 3D • optimization in chemical engineering • scheduling problems • simulation of biological systems • EP techniques are also intensively used in machine learning research. Popular applications include: • knowledge discovery in databases • learning class desciptions from sets of examples • genetic programming (learning programs through evolution) • learning strategies in multi-agent environments
Goals of COSC 6367 Prerequisites: the class is basically self-contained; the only skill you are assumed to have are basic programming skills (undergraduate data structures level is enough). Topics Covered: • introduction to evolutionary programming • review of "classical" machine learning, optimization, and heuristic search techniques; learn how to design and implement evolutionary programming systems that focus on those tasks. • practical applications of evolutionary programming to optimization and machine learning by doing projects. • introduction to artificial life • learn how to conduct a small research project; learn how to present empirical results; learning how to summarize and present project results (this might be quite important for your current and/or future job and for your dissertation/Master's thesis) Teaching Style: project-oriented, “learning by doing” teaching style
Special Remarks COSC 6367for Spring 2001 • The way the class will be taught will depend on the class size and available teaching resources. Therefore, I will select course projects and other class activities by January 31, 2001. • Teaching material will be moved from an offline status to an online status --- but this is work and takes time. • In addition to the textbook, many other sources will be used for teaching the class. • Some new textbooks came out recently (some material in these book might be used to replace teaching material that was used in the last teaching of the class). • Due to the last 4 reasons a detailed teaching plan will not be available before February 16, 2001. • There will be an “Artificial Life” group activity and possibly a second group activity.
Topics of “Evolutionary Programming” • Introduction to Genetic Algorithms (GA) and Evolutionary Programming (EP).Theory of GAs. Genetic Operators. Application of GA/EP technology to: • Numerical and Symbolic Optimization Problems • Heuristic Search • Machine Learning and Knowledge Discovery • Brief Introduction to the Field of Artificial Life centering on • Cellular Automata and Emergent Behavior • Simulation of Biological Systems • Computer Viruses and other Computer Life Forms Composition of the class: Evolutionary Programming/Genetic Algorithms 70% Artificial Life 15% Other (Heuristic Search, Machine Learning, Data Mining) 25%
Elements of “Evolutionary Programming” • 21-23 lectures • 3-4 videos centering on Artificial Life and Genetic Programming • 2 quizzes and one main exam • 2 EP-Project (1 centering on optimization and one on machine learning) • 1 Artificial Life Project • Text Book: Zbigniew Michalewicz: ‘Genetic Algorithms + Data Structures = Evolution Programs’; Springer-Verlag; third, extended edition. • High Qualify Teaching Material will be available (PowerPoint 4.0 slides, a good textbook, handouts taken from other books) that facilitates learning the topics that were covered in class. • Projects will require programming (any programming language can be used for the projects), students should have programming experience.
Reading Material Covered by the Class • Zbigniew Michalewicz: “Genetic Algorithms + Data Structures = Evolution Programs’, Third Edition, Springer 1996. The course covers chapters 1,2,3,4,5,6,8,9,10 more or less completely, and the chapters 7 and 11 partially. • David Goldberg: “Genetic Algorithms in Search, Optimization, and Machine Learning”, Addison Wesley, 1989. The course covers chapters 5 “Advanced Operators and Techniques in Genetic Search” and 6 “Introduction to Genetic-Based Machine Learning” of the book. • Melanie Mitchell: “Introduction to Genetic Algorithms”, MIT Press, fourthcoming, to appear Fall 1995. The course covers section 1.9.2 “Host and Parasites: Using GAs to Evolve Sorting Networks”, section 2.2.2 “Evolving Cellular Automata”; moreover, it covers chapter 4 “Theoretical Foundations of Genetic Algorithms” partially. • John Koza: “Genetic Programming II --- Automatic Discovery of Reusable Programs, MIT Press, 1994. The course covers chapter 2 completely, and chapters 3 and 4 partially. • More material to be added!!
Important GA/EP Conferences • ICGA --- International Conference on Genetic Algorithms; is held every odd-numbered year. • EP --- Evolutionary Programming Conference; is held every year. • IJCAI --- International Joint Conference on Artificial Intelligence; the main AI conference (usually has a special GA/EP session). • ISMIS --- International Symposium on Methodologies for Intelligent Systems; is usually held twice in three years. • TAI --- Tool with AI; usually publishes some EP/GA papers.