Is there any clear explaination of state transitions in PPMd? I've read the sources (ppmdrevs) and the paper (PPM: one step to practicality), and it's still not clear.
An example, with N = 2:
abcdefghabc
At the second ab state, if I follow a successor chain, how does PPMd recognize that the second ab is the same state as the first ab (N = 2)? I can use a trie or hash table for the same purpose, but I would prefer to understand this method.