|
|
 |
 |
|
 |
|
|
 |
 |
 |
 |
 |
 |
The goal of this project is to give the student a deeper
understanding of the mechanisms behind how genetic algorithms
function and the impact of varying crossover, mutation, and selection.
Students will gain this experience through interactive play with a game environment.
After completion of a full play session completing the 3 different levels
of the game the student should have gained the following knowledge:
- An understanding of the impact of single, multiple, and uniform crossover on a genetic algorithm.
- An understanding of the impact of mutation on the exploration of the hypothesis space.
- How selection and fitness impact a genetic algorithm.
- Program the fitness, selection, and attribute encoding elements of a genetic algorithm.
- An understanding of the problems and complexities associated with genetic algorithms.
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
Students should have a familiarity with basic programming concepts.
In-game programming will be in the Python language, so basic knowledge of
Python would be helpful. In-game programming is guided, so a lack of knowledge
or experience in Python will not prevent completion, but it may take longer for
those students since they will have to learn strategic elements of Python.
Along with the project, the student should cover the recommended background reading below.
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
For a more detailed introduction to genetic algorithms, we recommend the parallel reading
of a good AI textbook section on search and genetic algorithms. For example, one might
assign section 4.3 ("Local Search Algorithms and Optimization Problems") of:
- Stuart Russell and Peter Norvig. Artificial Intelligence: a modern approach, 2nd ed. Prentice Hall, Upper Saddle River, NJ, USA, 2003.
For more advanced and deeper coverage of genetic algorithms, we suggest Chapter 9 ("Genetic Algorithms") of:
- Tom Mitchell. Machine Learning, McGraw-Hill, Boston, MA, USA, 1997.
|
|
 |
 |
 |
 |
|
 |
|
|
 |
 |
 |
 |
 |
 |
A sample syllabus used at the University of North Carolina at Charlotte when this project was assigned is available at:
- Syllabus for AI Course at the University of North Carolina at Charlotte
- Syllabus for a Machine Learning Course at the University of North Carolina at Charlotte
- Syllabus for the AI section of a Game Design & Development Course at the University of North Carolina at Charlotte
Additional readings are included in the Background section above.
|
|
 |
 |
 |
 |
|
|
 |
|
|