Bus arrival time prediction algorithm based on Markov chain