Weekly Report -- 02/12/2016
Continued working on the automatic FSM generation code. Managed to implement my earlier solution to the problem of loop recognition -- the core principle is that every candidate sequence is subjected to being transformed into its own suffix tree, which we can use to identify repeated patterns within the candidate itself. I've also placed an upper limit on the sequence length of candidates extracted from my original suffix tree, so that we do not waste time dealing with candidates that are obviously too long to represent a single action.
Once I had that working, I added some pydot code to generate visual representations of my state machines. Not only does this give me something to show people, it is also very handy for spotting incorrect transitions introduced by my code. Spent the rest of the week chasing up various incorrectness in my machines and testing across a handful of different input datasets.