http://www.cs.umn.edu/sites/cs.umn.edu/files/tech_reports/99-007.pdf https://blog.youkuaiyun.com/u014593570/article/details/77732292 https://zhuanlan.zhihu.com/p/22498257