第三章 路由算法的设计
路由算法的数学模型是图论模型。如下图:
图7 网络模型
路由过程的选择,即是在加权无向图(或有向图)中寻找源结点与目标结点的最佳路径,根据最佳路径选择下一站路由器。如图7中,0结点至4结点的最佳路径是0→2→3→4,那么由0结点发往4结点的数据包在0结点时的下一站路由器是2结点,其余类推。
目前已有众多成熟的路由算法,典型如Dijkstra算法,可以方便的计算某一顶点到其余各顶点的最短路径,该过程的复杂度为O(n2),则计算一个网络模型的路由表的时候,共需要调用n次算法,所以复杂度为O(n3)。另一个典型算法是Floyed算法,可以计算图中每对顶点之间的最短路径,复杂度为O(n3)。路由算法的详细情况可见于参考资料[6]和[7]。
但随着计算机科学的发展,新兴的计算模型得到广泛的注意和利用,尤其是智能计算。本文的路由算法设计中,改造实现了Floyed算法,使之由计算最短路