When the potential chops have been exhausted, if
the word is still not good enough, it is given to the
associator. The associator makes an A* (best first)
search of the segmentation graph of possible
combinations of the maximally chopped blobs into
candidate characters. It does this without actually
building the segmentation graph, but instead maintains
a hash table of visited states. The A* search proceeds
by pulling candidate new states from a priority queue
and evaluating them by classifying unclassified
combinations of fragments.
It may be argued that this fully-chop-then-associate
approach is at best inefficient, at worst liable to miss
important chops, and that may well be the case. The
advantage is that the chop-then-associate scheme
simplifies the data structures that would be required to
maintain the full segmentation graph.