I'm currently trying to create a data structure that meets the needs of two machine learning algorithms that I would like to implement in Haskell: RPNI and EDSM .
Intuitively, something close to the fact that zippers for trees would be ideal: these algorithms are state merging algorithms that support some kind of focus (Blue Fringe) on states and, therefore, will benefit from some kind of fasteners lightnings to quickly reach interesting points, But I'm a little lost, because DFA (Definist Finite Automaton) is more like a graph than a tree structure: transitions can make you return to the structure, which is unlikely to make lightnings in order.
So my question is: how would you represent the DFA (or at least its transitions) so that you can quickly manipulate it?
source
share