You've used JXCS on the 6-MUX problem. Now apply it to the 11-MUX problem.
Before experimenting, run it on the default settings for both problem sizes to get a baseline. (Depending on how good your notes are, you may already have this data for the 6-MUX problem.) Then investigate the question of how well XCS scales up, i.e., how much more in the way of resources is required to solve the larger problem. (We're concerned primarily with population size and length-of-run.)
Write up your results in an experiment report. In your writeup, clearly explain the parameter settings you used for both the 6-MUX and 11-MUX problems. (You may include any work with alternative parameter settings you've done with the 6-MUX problem.) Then, backing up your claim with evidence from your experiments, make an hypothesis about how well XCS scales up on this type of problem.
Note: You already have the initialization file for an 11-MUX problem. When you run JXCS on the problem, you also have to change the environment. You can find a JXCS environment for the 11-MUX problem in the /usr/local/jxcsgui/bin/xcs/cs/ directory. It's in the file Mux11Environment.class.
Now test your hypothesis about how well XCS scales up by applying it to the 20-MUX problem.
Using your prior work, make prediction about what parameter settings you should use for population size and length-of-run, then run XCS on the 20-MUX problem using those settings. Note your results. If the problem isn't solved with your predicted settings, make a few experiments to determine how many more resources need to be applied before you can solve it. If your predicted settings do work, experiment to see if you can solve the problem using fewer resources.
You can find a JXCS environment for the 20-MUX problem in the /usr/local/jxcsgui/bin/xcs/cs/ directory. It's in the file Mux20Environment.class. There's also a sample parameter initialization file, XCS20Mux.ini in the directory /usr/local/jxcsgui/. Its settings for PopulationSize and ExplorationLimit are definitely too small (though before you modify them, you may want to run JXCS on the 20-MUX problem just to see what happens).
Write up your results. In your writeup, clearly state your predicted settings before you run your first 20-MUX experiment. Then state the results of that run and your further experiments. Based on your findings, explain whether your hypothesis about how XCS scales up to solve larger problems appears to be verified, and if the evidence doesn't support your hypothesis, make a new one based on your observations.
The source code for the JXCS system is in the following directory:
/usr/local/jxcsgui/bin/xcs/cs/
There's a link to the system documentation on the class homepage. (Look under “Resources”.)
[ Return to the CPSCI 307-01 homepage ]
Brian J. Rosmaita <contact me>