COSC 6367 --- Evolutionary Programming
( Dr. Eick )
| The Joy of Living - Max Ernst (1936) |
2012 Course Summary
Evolutionary Computing studies a wide range of problem-solving
techniques which are based on principles of biological
evolution, such as natural
selection and genetic inheritance. These techniques are currently
widely applied to a variety of problems, ranging from practical
applications in industry and commerce to leading-edge scientific research.
The course will be giving an introduction to evolutionary computing and
discuss the application of evolutionary computing to search, optimization,
machine learning, design, simulation of evolution in biological and
other systems, and art.
It will also provide a
sound introduction to related fields, namely search, numerical optimization,
soft computing
and reinforcement learning. Moreover, we will take
a look at approaches which try to understand what rules guide the
evolution of complex systems in general, such as the evolution of cities.
Finally, Artificial Life which centers on the study of computer systems which
exhibit charactistics of living organisms will also briefly
covered.
The course is quite "hands-on" and project-oriented and with less emphasis on
exams; there will be
will be a final exam and two review-style quizes. As the course covers a
smaller
field more time will be allocated to explaining principles
and applications of evolutionary computing in more depth, and in assisting students with the course projects. There will be 3 course projects, including a
group project which count 51% towards the course grade. The course exam
and the two quizzes ount 47% towards the course grade, and 2% are
allocated to attendance and extra credit. Overall, the workload for the course
will be less than for the Data Mining course I teach every fall semester (about 75%, is my best guess).
Parts of the course webpage still show the content of the last
teaching of the course in 2010; it will be updated as we move along
teaching the course.
News COSC 6367
- The first draft of the Project1 project description has been
posted (link see below).
The project centers on using
evolutionary computing to solve balanced transportation problems. The
project will be discussed in the Feb. 2 lecture---please, read the project
specification prior to the Feb. 2 lecture!
- Please register for the course news group (link is above!)
Course Information Spring 2012
Syllabus:
Link to Spring
2012 COSC 6367 Syllabus
Prerequisites: the course is more or less self-contained, students should have sound programming skills;
students can use programming languages of their own preferences in course project.
Focus: Theory and application of evolutionary programming and other related areas in evolutionary and natural
computation centering on genetic algorithms and programming, evolution strategies,
classifier systems, artificial life, and other models that rely on evolutionary principles. Students will perform
course projects that apply the discussed techniques to optimization problems, to develop adaptive systems, to the
simulation of biological and cultural systems, and to producing computer art.
Teaching Philosophy: The course will be very project oriented; you will develop medium-sized software systems
that employ evolutionary computing paradigms in 3 course projects. Alternatively, you can choose to
investigate a subject and give a oral presentation (+ report or webpage) as your third project.
In addition to regular lectures there will be a
lot of project related discussions during the lectures.
Textbook: A.E Eiben and J.E. Smith, Introduction to Evolutionary Computing, Springer, second edition or later, 2007 or later
(Eiben Textbook Transparencies)
The 6367 Team
Instructor: Dr. Christoph F. Eick
Office hours: TU 2-3:15p and TH 1-1:45p in 589 PGH
e-mail: ceick@uh.edu
TA: Zechun Cao
Office hours: TU/TH 9:30-10:30a (in 313 PGH)
TA Website: http://www2.cs.uh.edu/~zechun_cao/EP12S.html
TA Email: zechun.eps12@gmail.com
6367 Google News Group
Tentative 2012 Course Schedule
Quiz1: Th., March 8
Quiz2: Th. April 5
Final Exam: Tu., May 8, 11a(!)-1:10p
Cancelled Lecture: Th., April 12 (??)
Makeup Lecture: Tu., May 1, 11:30a-1p (??)
2012 Class Transparencies
Course Information (Part1,Part2)
Knapsack Problem
(will be used as an example for how EC works).
Obitko.com
Tutorial (will be used to demo some EC systems)
Example Applying EC to the Travelling Salesman Problem
Eiben Chapter1
Eiben Chapter2
Student February 2010 Questions
Eiben Chapter3 Genetic Algorithms
Overview ES
Eiben Chapter4 Evolution Strategies
Eick on Using EC for Transportation Problems
Project1-07
On Numerical Optimization Problems
Eiben Chapter6 Genetic Programming
2003 Koza & Poly Genetic Programming Tutorial
A Field Guide to
Genetic Programming
Review of Popular Search Techniques (Search1,
Search2,
Search3,
Search4)
Simulating, Modeling, and Understanding Evolution of Complex Systems (new topic; no transparencies yet!)
Dr. Eick's Introduction to Machine Learning with
EC
XCS
Tutorial by Stewart Wilson (in ps-format)
Eiben Chapter8 Parameter Control
Eiben Chapter9 (Spatial Considerations)
Eiben Chapter10 (Memetic Alg.)
Bull Paper Review
Introduction to Reinforcement Learning
Project3-10
Learning to Predict and Classify (
added on April 18, 2010)
Introduction to Artificial Life
Eiben Chapter11 Theoretical Foundation of EC
Brief Introduction to Soft Computing (only
the first 11 transparencies will be used)
Will Brown's Presentation on Useful AI Techniques
Eiben Chapter13 (Computer Art)
Teaching Material of the Spring 2001 Teaching of
Evolutionary Programming
2012 Course Projects
First Draft of Project1
Useful Links Spring 2010
Bull's "Introduction to Learning
Classfier Systems;
Butz' XCS Software
Hitchhiker's Guide to Evolutionary Computing
Brig Klyce's
"Computer Models of Evolution" Webside (gives a good introduction
to the field of Artificial Life and contains a lot of links
to other Artificial Life Websites)
Santa Fe Institute Webpage
Tierra Homepage (The Tierra C source code creates a virtual computer and its Darwinian operating system, whose architecture has been designed in such a way that the executable machine codes are evolvable).
Biologically Insprired Robotics Network (Biro-net aims to understand the underlying mechanisms that allow natural and robotic agents to adapt and survive in uncertain and dynamic environments).
DEMO (Dynamic and Evolutionary Machine Organization)
Learning Classifier Systems Web (LCSWEB ia a good source
concerning what is going on in classifier systems; see also lcsg-website).
On Genetic Drift
Reinforcement Learning Repository at UM Amherst (reinforcement
learning and classifier systems have a lot in common)
Links---donated by Justin Thomas---about an evolutionary computing success story at
NASA AMES Research Center in 2004:
genetic algorithms were used to create antenna designs for new experimental satellites;
by the way, the evolved antenna did really fly in space!
(Link1,
Link2,
Video).
Epimorph Virtual Creatures(Video,
general information)---donated by Paul Ledbetter III.
Image Creation through
Cellular Automata "Ying Yang Fire"
Previous Quizzes and Examps
Quiz1 2008 (Answer Sheet for Quiz1)
Quiz2 2008 (Answer Sheet for Quiz2)
Quiz1 2007 (Answer Sheet for Quiz1)
Quiz2 2007 (Answer Sheet for Quiz2)
2007 Final Exam
2008 Final Exam
EC Software
Jing Zhang's
Survey EC Programming
Environments
Java Genetic Algorithm Library---you are allowed
to use this library or any other library for the course programming projects---donated by Abraham Bagherjeiran.
ECJ---a Java-based EC Research systems (GMU)
Discipulus Genetic-Programming Software
Sipper's Genetic Programming
for Games
LISP-Code of
a "simple" Symbolic Regression System that employs Genetic Programming.
To run the system save the file as gp.l, login into a Sun-workstation
and type:
akcl
(load "gp.l")
(run-gp 30 #'eval1)
(bye)
Journals, Conferences, and Books
Evolutionary Computation Journal
Alternative Project3 Presenations/Demos
Feb. 13, 2007: Survey on EC Programming Environments (presenters will get
a 3-day extension for Project1)
Feb. 22, 2007: Transportation Problems: History, Approaches, Software, and
Applications (presenter will get 5 day extension for Project1)
March 29, 2007: Classifier Systems --- XCS and Beyond (presenters will
receive a 5 day extension for Project2)
April 5, 2007: Bucket Brigade Algorithms --- History and New Developments
2007 Projects
Project1: Project1 Specification,
Supplement
to the Specification of Project1. Moreover, Paul Ledbetter used an
optimization package to obtain the following "optimal"
solutions for cost-function1 --- the linear cost function. Solutions for the Quadratic
Transporatation Problem (generated by Justin Thomas).
Project2:
Specification
Project3: Specification
2010 Projects
Project1: Solving Balanced Transportation
Problems (What to submit no later than
March 6, 11p to Chun-sheng)
Project2: Survey on a Subfield of Evolutionary Computing (group project;
each group will investigate a different theme)
Project3: Learning to Predict with
Genetic Programming
2010 Homeworks and Reading Assignments
Feb. 1: Read Project1 Specification; checkout http://www.obitko.com/tutorials/genetic-algorithms/ (prepare questions concerning what you do not
understand; each student should have at least one question unless
you used evolutionary computing before)
Feb. 8:
2008 Projects
Project1: Travelling Salesman
Project1 Specification
TSP Benchmark
Project2: Developing Adaptive Systems
Project3 2008
last updated: February 8, 2011

created by YingYangFire