5.3.3 两点间的距离

更新于 2026年10月13日 版权声明
5.3.3 两点间的距离

图5-5展示了两点间距离的获取方式。

图示

图5-5 两点间距离菜单示例图

1.两点之间最短路径

利用Pajek 中Network/Create New Network/Sub Network with path 下的One shortest Path between Two Vertices命令,可以求解网络中连接两个节点i和j的一条最短路径。对于有权复杂网络而言,可以考虑权值,即使得这条路径所经过的各边的权值加和最小。根据需求也可以选择是否忽略权重,如图5-6所示,输出的结果为一个Partition的文件和net文件。Partition文件中,若一个节点对应的类为1,则表示最短路径经过该节点,反之,则表示最短路径不经过该节点。

图示

图5-6 是否忽略权重示例图

Pajek可以将net文件画成一个子网络图,其中只有这两个节点之间的最短路径,用户可以通过这个网络图,更加直观具体地看到这两个节点之间的最短路径。同一菜单下的All shortest Paths between Two Vertices命令可以得到两点之间所有的最短路径。

示例(以5.1.2中的示例net文件为例):

示例网络为无向图,并考虑权重,求解的是节点1和节点3之间的最短路径。图5-7、图5-8为生成的Partition和net文件。

图示

图5-7 两点间最短距离Partition文件示例图

图示

图5-8 两点间最短距离输出net文件示例图

2.限定步长的两点之间最短距离

利用Pajek 中的Network/Create New Network/Sub Network with path/Walks with Limited Length between Two Vertices的命令,可以求得从某个节点i到另一个节点j的k步内的所有路径,即从节点i出发到可在规定的k步内到达节点j,操作如图5-9所示。

图示

图5-9 输入限定步长示例图

3.测地矩阵(https://www.daowen.com)

利用Pajek 中的Network/Create New Network/Sub Network with path/Geometric Matrices的命令可得到整个复杂网络的测地矩阵。复杂网络的最短路径又称为测地路径。Pajek可以对复杂网络的所有节点对求最短路径长度,并以矩阵的形式保存结果。

此命令输出结果为两个矩阵。第一个是最短路径长度矩阵(shortest path length matrix),包括了每个节点对之间最短路径的长度。另一个是最短路径条数矩阵(geodesics count matrix),包括了每个节点对之间存在的最短路径的条数。

示例(以5.1.2中的示例net文件为例):

示例网络为无向图,并考虑权重,图5-10、图5-11为生成的2个net文件。

图示

图5-10 部分最短路径长度矩阵示例图

图示

图5-11 部分最短路径条数矩阵示例图

4.网络的直径

利用Pajek 中的Network/Create New Network/Sub Network with path/Info on Diameter的命令,可以求得网络中距离最大的两个节点的距离,即网络直径。该结果在报告窗口中输出。

示例(以5.1.2中的示例net文件为例):

示例网络为无向图,并考虑权重,图5-12为报告窗口输出的直径。

图示

图5-12 网络直径结果示例图

5.平均路径

利用Pajek中的Network/Create Vector/Distribution of Distances的命令,可以求得网络的平均路径,该结果在报告窗口中输出,如图5-13所示。

示例(以5.1.2中的示例net文件为例):

示例网络为无向图,并考虑权重,图5-14为报告窗口输出的平均路径。

✍AI写作