Hi, I’m reading the map matching part of the coding. And got confused about the file with name “ViterbiAlgorithm.java”. More specifically, I do not quite understand the following paragraph.
<p>This algorithm supports storing transition objects in
* {@link #nextStep(Object, Collection, Map, Map, Map)}. For instance if a HMM is
* used for map matching, this could be routes between road position candidates.
* The transition descriptors of the most likely sequence can be retrieved later in
* {@link SequenceState#transitionDescriptor} and hence do not need to be stored by the
* caller. Since the caller does not know in advance which transitions will occur in the most
* likely sequence, this reduces the number of transitions that need to be kept in memory
* from t*n² to t*n since only one transition descriptor is stored per back pointer,
* where t is the number of time steps and n the number of candidates per time step.
Could anyone please share some thoughts about this? Moreover, I like this graphhopper very much, yet I found it really not easy to find any related documentations of any kind. Could anyone please provide me with any comments? Many thanks.