CSE 6363 Fall 2001
Due: November 6, 2001 (midnight)
A genetic algorithm package called GENESIS is available in the
directory code/genesis in the class directory on gamma2. For
this homework you will use GENESIS to learn a set of three rules to
correctly classify the 14 instances from the golf domain.
- Read the GENESIS documentation in the file genesis.txt.
- Design a representation for the individuals of the population, where
each individual is an ordered set of three rules. Each rule consists of
five genes: outlook, temperature, humidity, windy
and the class attribute play. When matching an instance, the values
for the outlook and windy genes must match the instance
exactly, or be more general than the instance value. The values for temperature and humidity in the instance must be less than or equal
to the values in the temperature and humidity genes. The first
rule to match an instance is used to classify that instance. If none of
the three rules of an individual match the instance, then the instance is
- Implement the eval() function that returns the number of errors
made by the given rule set on the 14 golf examples. You do not have to
read the examples from a file, but can hard-code them into the eval.c
file in any format. You may also want to modify the Done() function
in done.c to terminate upon reaching zero errors.
- Run your genetic algorithm with the goal of finding a rule set that
correctly classifies all 14 golf instances. You may need to try a variety
of parameter settings.
- Turn in a complete description of your solution, including a
description of your representation, your source code for the eval()
function and any other code written by you, the parameters and output of
the best runs along with an English description of the best rule set found
and its error on the 14 golf examples, and a discussion of your experience
using a genetic algorithm to do concept learning.