http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/chap19.htm http://www.cs.utexas.edu/users/djimenez/utsa/cs3343/lecture17.html