一张图可以对应不同的矩阵
交通图关心车流是否守恒,网页图关心一次跳转能到哪里。两者都有节点和有向边,却不能不加区分地使用同一种矩阵。
本章先建立图与矩阵之间的对应,再用交通流和网页跳转说明:换一个问题,同一张网络就可能需要另一种矩阵表示[1][1] X. Yang, “ENG1005 Week 2: Traffic Flow, Personal Workshop Solutions,” 2024. Personal solutions to Monash ENG1005 workshop problems; source snapshot 77ebe58de2fea53d62533d6dd23caa16108ed109. Repository access may be restricted.. https://github.com/Eryc123Y/ENG1005-2024S2/blob/77ebe58de2fea53d62533d6dd23caa16108ed109/Source%20Code/W2.tex, [2][2] X. Yang, “ENG1005 Week 4: Webpage Transitions, Personal Workshop Solutions,” 2024. Personal solutions to Monash ENG1005 workshop problems; source snapshot 77ebe58de2fea53d62533d6dd23caa16108ed109. Repository access may be restricted.. https://github.com/Eryc123Y/ENG1005-2024S2/blob/77ebe58de2fea53d62533d6dd23caa16108ed109/Source%20Code/W4.tex。需要先熟悉矩阵乘法和线性系统。
在写矩阵之前固定图的含义
有限有向图由节点集合 和边集合 构成。一条边 有出发点与到达点,方向不能省略。本章的邻接例子不允许同一有序节点对之间出现平行边,但允许根据场景保留自环。若允许平行边,矩阵元素需要记录边数或边权总和,不能继续只写 或 。
一条游走依次经过相接的边,可以重复节点和边;简单路径不重复节点。长度表示经过的边数。长度为零的游走停在原节点,这与矩阵零次幂 一致。
无向边没有指定方向,表示成邻接矩阵时,对应两个对称位置。无向无自环图的邻接矩阵因此对称且对角线为零。相反,有向图即使两个方向都存在边,也不代表两个方向的权重相等。
权重的含义由问题决定:可以是道路流量、连接强度、距离或转移概率。同一套乘法不会自动理解单位。路径距离通常应沿途相加并在候选路径中取最小值,不能把普通矩阵乘法对边权的乘积误称为最短路长度。
邻接矩阵记录一步连接
固定节点顺序,并约定列表示出发节点,行表示到达节点。对于无权有向图,定义
这个约定适合让状态列向量左乘矩阵:第 列告诉我们从节点 出发的一步去向。有些教材使用相反约定,计算前需要先确认。
例如,节点依次为 ,边为 ,则
第二个矩阵说明:从 到 有一条长度为二的游走,经由 。
在上述约定下, 是从节点 到节点 、长度恰为 的游走数量。游走允许重复节点和边;它不一定是简单路径。
正是邻接矩阵的定义。若结论对 成立,则
每个长度为 的游走都有唯一的倒数第二个节点 。先从 走 步到 ,再沿一条边到 ;对所有 求和,既不遗漏也不重复计数。
对带权邻接矩阵,矩阵幂相应地累加每条游走上边权的乘积,不再只是条数。
度数、权重与概率不能混用
在“列出发、行到达”的约定下,无权邻接矩阵第 列之和是节点 的出度,第 行之和是节点 的入度。一个自环对入度与出度各贡献一次。
对于带权图,同样的求和给出总出边权与总入边权,常称为强度,而不一定是边的数量。一个节点有两条边、权重分别为 与 ,出度是 ,总出边权是 。
若权重是概率,每个出发节点的出边权总和必须为一。若权重是当前车流,各列一般既不归一化,也不需要相等。因此,看到一个非负矩阵并不能立刻把它当作转移矩阵。
转置、重新编号和图同构
保持同一个方向约定时, 反转每一条有向边。反转后的图不一定与原图同构。
一个小反例是两条边 。原图有一个出度为二的节点,反向图没有,所以无法只靠重命名节点得到反向图。
重编号则使用置换矩阵。若旧坐标 在新顺序下记作 ,那么
这是因为 。重编号必须对行列作配套置换,保留同一条边的两个端点关系。另一种情况是,同一张图从“行表示出发”改用“列表示出发”:这也会转置存储的数组,但图没有变,因为解释规则同时改变了。不能把这三件事混在一起。
一个重编号的具体例子
把前面三节点图的顺序由 改为 ,置换矩阵为
原来的边 在新顺序中是第二个节点到第一个节点;其他边也同步重标。得到
图上的连接没有改变,只有节点在数组中的位置变了。若只交换行,就只改变到达节点的标签,而没有对出发节点做相同调整,通常会得到另一张图。
关联矩阵记录每条边的收支
回到四路口交通图。按节点 排列各行,按道路 排列各列。每条有向边在出发节点记 ,到达节点记 ,其余节点记 ,得到关联矩阵
邻接矩阵的两条轴都是节点;关联矩阵的一条轴是节点,另一条轴是边。乘积 给出每个节点的“内部流入减内部流出”。它必须等于外部净流出,因此交通方程为
这与线性系统章的方程相同,只是调整了行顺序和部分行的符号。
每列恰有一个 和一个 ,所以
于是右端分量之和必须为零。一个区域的内部道路不能凭空制造净流入。
为什么四个路口只有三个独立守恒条件
若 ,则对每条边,终点对应的 值等于起点对应的值。如果忽略箭头后的图是连通的,这些等式迫使所有节点的 值相同。所以行之间的依赖只有常数倍的求和关系,四行的秩为三。
一般地,具有 个节点、 个连通分量的图,其关联矩阵秩为 ,因为 可以在每个连通分量上独立取一个常数。这里的连通性始终指忽略边方向后的连通性。
零空间中的方向是循环流
交通解的两个自由方向为
第二个方向沿 增加同样流量,每个节点的增加量相互抵消。第一个方向也满足守恒,但有负分量,表示相对于道路箭头减少流量。因此零空间描述的是带符号的循环变化,不能把每个方向都当作可直接实施的非负车流。
本例有五条边、四个节点且连通,循环变化的维数为 ,正好对应消元得到的两个自由参数。
网页跳转:从边权到转移概率
考虑三个网页之间的随机跳转,其一步转移矩阵为:
仍然使用“列出发、行到达”。例如第一列表示:从网页一出发,下次停留在网页一、二、三的概率分别是 。每列元素非负且和为一。
若 记录第 步各网页上的期望人数,则
对于随机跳转的有限人群,实际人数会波动;矩阵给出期望值。若把状态归一化为概率分布,同样的公式仍成立。
总量守恒来自列和条件:
取 ,一步后得到 ,三步后得到 。
不变的概率分布满足
本例的解为
直接相乘即可验证。这是特征值 对应的特征向量,但存在稳态并不自动证明任意初始状态都收敛到它。例如两节点每步互换的矩阵具有稳态 ,从 出发却一直振荡。下面直接利用当前矩阵的结构证明这个模型的收敛。
怎样把非负边权转成概率
若带权邻接矩阵 的第 列总和为 ,可以按出发节点归一化:
这表示“按边权比例选择下一条边”,是一个额外的建模决定。例如,权重表示道路长度时,这种规则会偏向更长的道路,未必符合实际。
若某一列全零,该节点没有给定的去向,不能除以零。必须先决定模型怎样处理它,例如留在原节点,或按某个指定分布重新出发。采用哪条规则,会改变最终转移矩阵。
为什么期望人数按矩阵相乘
假设当前网页 有 人,每人下一步到网页 的概率是 ,那么来自网页 的期望贡献为 。对所有出发网页相加,便得到
这里首先是在给定当前人数时计算条件期望。若当前人数也随机,且使用同一个固定转移规则,再取期望即可得到 。期望的可加性不要求不同人的跳转互相独立;独立性会影响波动和方差,但不是这条期望公式的必要条件。
在这个例子里直接证明收敛
设总人数为 ,第 步三个网页的期望人数分别为 。矩阵第三行给出
因此从第一步起,第三个分量已经固定。将 代入第一行,对 得
固定值应满足 ,所以 。更关键的是,减去这个固定值后有
对 ,归纳得到
右侧趋于零,剩余分量由总量守恒确定,因此任意初始人数分布都收敛到 。
例如初始状态为 ,前两步依次为 与 ;第一分量相对稳态 的偏差从 缩小到 。而从三个网页各 人出发,第一步就恰好落到稳态,这是初始状态的特殊性,不代表所有模型都一步收敛。
这份证明利用了当前矩阵第三行的特殊结构。一般转移矩阵未必允许如此简化,也不能仅凭“列和为一”就声称收敛。
同一套乘法,回答三种不同问题
| 表示 | 列的含义 | 乘法在计算什么 |
|---|---|---|
| 邻接矩阵 | 从一个节点出发的边 | 一步连接与多步游走 |
| 关联矩阵 | 一条边对端点的收支 | 流量守恒与循环变化 |
| 转移矩阵 | 从一个节点出发的概率分布 | 随机状态的演化 |
选矩阵之前,先确定状态放在哪里、每个元素表示什么,以及方向约定。图与矩阵之间的翻译就不会只剩下记公式。
练习
在本章网页模型中,从网页一到网页二,与从网页二到网页一的概率分别是多少?为什么不要求相等?
解答
分别是 和 。两个方向对应不同出发条件;每列和为一不要求矩阵对称。
直接计算 。若在一组可行交通流上加上 ,对任意实数 都仍是可行车流吗?
解答
乘积为零,所以等式始终成立。但负的 可能让道路流量小于零,物理可行性还要逐分量检查。
两节点之间两个方向各有一条边,且没有自环。给出长度为二的游走数量,并说明为何不应称为简单路径。
解答
邻接矩阵交换两个坐标,其平方为单位矩阵。因此每个节点都有一条两步返回自己的游走,两个不同节点之间没有两步游走。返回起点重复了节点,不是简单路径。
三网页模型中,第一步状态为 。不用完整矩阵乘法,求第三步状态。
解答
总量为 。第一分量相对 的偏差每步乘 ,第三步偏差为 ,所以第一分量为 。第三分量保持 ,第二分量由守恒得到 。
参考文献
- [1] X. Yang, “ENG1005 Week 2: Traffic Flow, Personal Workshop Solutions,” 2024. Personal solutions to Monash ENG1005 workshop problems; source snapshot 77ebe58de2fea53d62533d6dd23caa16108ed109. Repository access may be restricted.. https://github.com/Eryc123Y/ENG1005-2024S2/blob/77ebe58de2fea53d62533d6dd23caa16108ed109/Source%20Code/W2.tex ↩
- [2] X. Yang, “ENG1005 Week 4: Webpage Transitions, Personal Workshop Solutions,” 2024. Personal solutions to Monash ENG1005 workshop problems; source snapshot 77ebe58de2fea53d62533d6dd23caa16108ed109. Repository access may be restricted.. https://github.com/Eryc123Y/ENG1005-2024S2/blob/77ebe58de2fea53d62533d6dd23caa16108ed109/Source%20Code/W4.tex ↩
评论