|
|
 |
 |
|
 |
|
|
 |
 |
 |
 |
 |
 |
The learning objectives include the following:
- Understanding the general concepts of genetic algorithms.
- Implementing those concepts in a program that finds dense Boggle boards.
- Exploring how different representations as well as crossover and mutation operators affect the performance of a genetic algorithm.
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
|
One should have an understanding of fundamental data structures, including trees and hash tables, and how to use them in a high-level language such as Java or Lisp. One should also understand basic informed and uninformed search algorithms.
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
|
For an introduction to genetic algorithms, one can read the corresponding sections or chapters in an AI or machine learning textbook. For example, one might assign one or both of the following:
For an introduction to the game of Boggle, one can visit one or both of the following sites:
|
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
|
The detailed project description is available in the PDF file boggle_project.pdf. You will need the free Adobe Acrobat Reader to view this file.
|
|
|
This project is customizable to accommodate different approaches to teaching and different implementations. Additional exercises are also included for students seeking more extended challenges.
|
|
|
 |
 |
 |
 |
|
 |
|
|
|
 |
|
|