For this assignment, you'll compile some software to further explore Learning Classifier Systems. The system you'll be using today is XCS+TS 1.2, written by Martin Butz when he was at the Illinois Genetic Algorithms Laboratory at the University of Illinois.
Apply XCS to the Woods1 multi-step environment, using Martin Butz's XCS+TS 1.2 software.
Before conducting your experiments, you'll need to modify the source code a bit.
The Woods1 environment is located in a file in the Envs
subdirectory of the directory containing the XCS system. To execute
XCS on the environment, you need to pass it to the program when you
invoke it:
xcs1.2 Envs/Woods1.txt
(Note: if the working directory isn't in your PATH, don't forget to preface the name of the program with ‘./’ (without the quotes) so that bash knows to look for it in your working directory.)
The classifiers will be written to the bottom of the XCS_TEST.txt file at the end of the run. The condition of each classifier should be a 16-bit string representing eight attributes of the input space, ordered and coded as we discussed in class on Tuesday. The action is represented as an integer in the range 0..7, where 0 represents a move North, 1 Northeast, 2 East, ..., 6 West, 7 Northwest.
The top part of the XCS_TEST.txt file contains statistics generated during the run. To help you read it, take a look at this annotated XCS output file. (Note: the file has been abbreviated—your file will contain more lines of statistics, plus the classifiers.)
For this assignment, make the changes described above and run XCS on the Woods1 problem. Then take a look at your XCS_TEST.txt file and examine the classifiers you evolved. Pick 3-5 of them and describe in English the domain knowledge they encode. (That's what you'll hand in.)
[ Return to the CPSCI 307-01 homepage ]
Brian J. Rosmaita <contact me>