CPSCI 307-01: Evolutionary Computation
Homework 7
due: April 17, 2007
For this assignment, you'll log in to your account on holland.cs.hamilton.edu
and test out some more software you'll be using to explore Learning Classifier Systems.
The system is JXCS, written by
Alwyn Barry
at the University of Bath.
-
Log in and create a new directory in your home directory by issuing the command
mkdir jxcs
-
JXCS is a collection of Java classes. The source code, classes, and
documentation are located in the directory
/usr/local/jxcsgui
Feel free to poke around in the directory and examine everything.
-
I've posted a local copy of the JXCS documentation on the web.
Browse to the link in the previous sentence to read it.
-
If you prefer to use JXCS on your own computer, you can find a
JXCS download link
on LCSWEB.
(You'll need a Sun Java JRE
installed on your computer to run JXCS.)
-
Before you run JXCS, you'll need some initialization files.
Make the jxcs directory you created earlier your working directory.
Then issue the command
cp /usr/local/jxcsgui/*.ini .
-
Run the system by issuing the command
java -classpath /usr/local/jxcsgui/bin xcs.gui.XCSTopFrame
(Note: make sure the previous line displays as one line in your browser.
You may want to put an alias for this command in your .bashrc file.)
-
JXCS is set up to do the 6-MUX problem by default. Run the problem by either
choosing Execute > Run from the menu bar or clicking
on the play button on the GUI.
The system is set up to run for 5000 cycles. It will display statistics as
a line graph while it runs.
-
When the systems is finished, quit the application by choosing File > Exit
from the menu bar.
-
JXCS will leave two files, report.csv and rules.txt in your working directory.
Open rules.txt and take a look at the classifiers which were evolved during the run.
-
Note: JXCS is experimental software and has primitive file output facilities.
In particular, you can't change the names of the report and rules files.
So if you want to save the report or rules file from a particular run of JXCS,
rename the file(s) before you run JXCS again.
-
You can use the jxcs-sort script (that you created a symbolic link
to on Tuesday) to sort the rules file in various ways. Use redirection to
save the sorted versions (which are directed to the standard output by default).
-
For Tuesday: examine the rule file and find a few (3-5) accurate rules.
Given what you know about the 6-MUX problem,
figure out what each bit of the condition of a classifier represents.
Write up your results to hand in at the beginning of class. In writing down
the classifiers, copy the classifier's entire line from the file (i.e., write
down the classifier and its associated parameters).
By the way: here's a quick description of what the lines graphed on the GUI represent.
- blue
-
Performance—the proportion of correct predictions over the last 50 exploit cycles.
- cyan
-
Error—the average errors in prediction over the last 50 exploit cycles.
- red
-
The number of macro classifiers in the population.
- green
-
The number of solution classifiers that have been found so far
(this can only be plotted if the solution is known beforehand, as in the 6-MUX problem).
[ Return to the CPSCI 307-01 homepage ]
Brian J. Rosmaita <contact me>
This page was last modified Thursday, 12 April 2007 at 14:28 UTC.