Sunday, May 1, 2011

Not so fast...

After nearly a two years' trip into the deep mysteries of LCSs one expects to comprehend the intrinsics of these family of techniques. Dozens of papers and unimaginable hours behind and I am, still, hooked with the very basics. These are the thoughts of a wannabe researcher that makes baby steps into the research world. But first let me introduce myself briefly: I have spent a reasonable amount of time and effort with XCS-alike algorithms. I implemented myself, from the very scratch, the most relevant ones, and tested them uncountable times. But I am still learning about the basics. Every single time.


Recently I re-implemented the good old XCSR, and I found a lot of trouble with it. Devil is in every detail, and I get him face to face. What is one supposed to do when stuck with a technique he is supposed to be a master of (or, at least, with a certain amount of experience behind with)?


I confess I was very upset with myself. Depressed, with thoughts of failure flooding inside my mind. How in the world I couldn't solve such a "trivial" task? A very unpleasing experience. But remembering the words of a wise savant I have gotten the courage to confront the problem and actually learn something from it. When everything fails remember these words: there are no limits, just keep going tirelessly. Hard work is the only truly way to achieve one's goals.


LCSs are a large set of complex, small, interacting pieces and each one has to work properly to get the solution to the given problem. If only one of those pieces fails, the entire LCS does not work. It would be nice to have a LCS wiki with tips and tricks and all the keys to success in this beautiful paradigm.