HMM and its algorithm (forward, Viterbi, Baum-Welch)