Email from 14-09-07 I never sent to Gavin

Gav,

I've been doing some work on efficient rule matching for LCS. I'd like to 
e.g. store the population in a tree structure instead of a list. I'm 
thinking of implementing it with your UCS code which is better designed 
than Martin's XCS code. Here are some changes I'd like to make to your 
existing code to allow this.

Could UCS.java be altered so the population object is part of the 
UCSconfig object? This way we could replace it with an alternative object.

Population extends ArrayList but only uses the add, remove and iterator 
methods. Instead of extending ArrayList could it encapsulate it and 
provide versions of these three methods which just pass the message on to 
the ArrayList object? Population would then have the same functionality it 
does now. Actually what I would like is for Population to be an abstract 
class so I can write versions which e.g. use a tree internally instead of 
ArrayList.

The matchSet and actionSet objects could be Population objects instead of 
ArrayLists but I'm not sure it's worth the extra complication.



If you're happy with the above I can make the changes and send them to 
you. They make the code a little more flexible and I can't see much 
disadvantage other than Population gets a bit longer so I thought you 
might want to incorporate them as "standard". And you could make the 
efficient rule matching code standard too.

Tim
