Algorithms, Dynamic Programming, Machine Learning, Artificial Intelligence, Markov Models.
path_probabilities[t - 1][s_i].probability * hmm.a[s_i][possible_state] ) ) max_path_probability = PathProbabilityWithBackPointer( hmm.b[possible_state][observation] * path_probabilities[t - 1][max_previous_state].probability * hmm.a[max_previous_state][possible_state], max_previous_state )