维特比算法的介绍
如果说你要找到从S到E的最短路径,那么最暴力的方法就是遍历从S到E的所有路径,然后对比找到最短的。但有一种比较偷懒的贪心算法–维特比算法,每次只求出局部最优解,然后得到最后的全局最优解,从而减少了算法的复杂度。
原理如下,如果说你想找到从S-E的最短路径,我们先找从S-A的最短路径,但是一般来说,S-A的最短路径是很难一次性确定,那么我们看S-B的。首先,S-B1,有三条路径可以选择,S-A1-B1,S-A2-B1,S-A3-B1,那么,我们可以很容易的得到哪条路是最短。在这里,我们假设最短的路径是S-A1-B1, 那么另外两条我们就可以删除了。我们再看S-B2,S-B3,同样假设得到最短路径是S-A1-B2,S-A1-B3,那么我们后面再看S-C时,就直接只用考虑从S-B的最短的三条路径来考虑到C的了。以此类推,直到E,就可以找到最短的路径了。