📜  门| GATE-CS-2017(套装2)|第 49 题(1)

📅  最后修改于: 2023-12-03 15:12:44.336000             🧑  作者: Mango

题目介绍:

本题为 GATE-CS-2017(套装2)中的第 49 题。该题目主要考察的是程序员对于给定算法的理解和理论知识的掌握程度。

题目描述:

给定一个带权重的无向图 $G=(V,E)$,其中权重都是正整数。定义图的度数矩阵 degree(G) 为 $n \times n$ 矩阵,其中第 $i$ 行第 $j$ 列的元素为:若 $i=j$,则该元素为 $i$ 的度数;否则该元素为 $0$。 定义 Laplacian 矩阵 L(G) 为 degree(G) 减去邻接矩阵 A(G),即 $L(G) = degree(G) - A(G)$。

对于无向图 $G$,设其任意一点对之间的最短距离为 $d(u,v)$(路径上所有边权和的最小值),证明:$$\dfrac{1}{2} \sum_{u \in V} \sum_{v \in V} d(u, v)^2 =\sum_{u \in V} \sum_{v \in V} L_{u, v} h_u h_v,$$其中 $h_u$ 为点 $u$ 的势(potential),即 $h_u=\dfrac{1}{n}$。请使用 LaTeX 编写上式的论证过程。

解题思路:

本题需要证明一个等式,更准确的说是证明 Laplacian 矩阵的性质。首先,我们需要知道 Laplacian 矩阵的具体定义:$L(G) = degree(G) - A(G)$。

然后,我们需要了解一下度数矩阵和邻接矩阵的定义。度数矩阵是一个 $n \times n$ 的矩阵,其中第 $i$ 行第 $j$ 列的元素为:若 $i=j$,则该元素为 $i$ 的度数;否则该元素为 $0$。邻接矩阵是一个 $n \times n$ 的矩阵,其中第 $i$ 行第 $j$ 列的元素为:若 $(i,j) \in E$,则该元素为 $1$;否则该元素为 $0$。

接着,我们需要知道点 $u$ 和点 $v$ 的最短距离 $d(u,v)$ 的定义。点 $u$ 和点 $v$ 的最短距离 $d(u,v)$ 是指从点 $u$ 到点 $v$ 的路径上所有边权和的最小值。这里需要使用到 Dijkstra 算法或 Floyd-Warshall 算法。

有了以上的知识储备,下面是证明过程。

证明:

我们的目标是证明:

$$\dfrac{1}{2} \sum_{u \in V} \sum_{v \in V} d(u,v)^2 =\sum_{u \in V} \sum_{v \in V} L_{u, v} h_u h_v.$$

首先,证明 $\sum\limits_{v \in V} L_{u, v} = 0$。根据 Laplacian 矩阵的定义,$L_{u,u} = \sum_{v \in V} A_{u,v}$,即 $L_{u,u}$ 等于点 $u$ 的度数。邻接矩阵中的每个元素 $A_{u,v}$ 只可能为 0 或 1,因此 $\sum_{v \in V} L_{u,v} = 0$。

接下来,证明 $\sum_{u \in V} h_u = 1$。因为 $h_u = \dfrac{1}{n}$,所以:

$$\sum_{u \in V} h_u = \sum_{u \in V} \dfrac{1}{n} = n \times \dfrac{1}{n} = 1.$$

接着,证明 $\sum_{u \in V} \sum_{v \in V} L_{u,v} = \sum_{u \in V} d(u,v)^2$。

把 $d(u,v)^2$ 展开:

$$\begin{aligned} d(u,v)^2 &= \left(\sum_{x \in P(u,v)} w(x)\right)^2 \ &= \left(\sum_{x \in P(u,v)} w(x)\right) \cdot \left(\sum_{y \in P(u,v)} w(y)\right) \ &= \sum_{x \in P(u,v)} \sum_{y \in P(u,v)} w(x)w(y) \end{aligned}$$

其中 $P(u,v)$ 表示从点 $u$ 到点 $v$ 的最短路径,$w(x)$ 表示边 $x$ 的边权。

假设 ${u,v} \in E$,那么 $d(u,v) = w({u,v})$。证明如下:

  • 假设存在其他边 $x \in P(u,v)$,使得 $w(x) > w({u,v})$;
  • 那么,去掉边 ${u,v}$,就得到了一个更短的路径 $P(u,v)'$,找出其中代价最小的边,我们就存在一个比 ${u,v}$ 更小的边;
  • 这种情况是不成立的,因此 $w({u,v})$ 是从点 $u$ 到点 $v$ 的最短路径的所有边中边权最小的那一条。

根据上述证明,我们得到:

$$\begin{aligned} \sum_{u \in V} \sum_{v \in V} d(u,v)^2 &= \sum_{u \in V} \sum_{v \in V} \sum_{x \in P(u,v)} \sum_{y \in P(u,v)} w(x)w(y) \ &= \sum_{{u,v} \in E} w({u,v})^2 + \sum_{u \in V} \sum_{v \in V} \sum_{x \in P(u,v),x \ne {u,v}} \sum_{y \in P(u,v),y \ne {u,v}} w(x)w(y) \end{aligned}$$

第一项中,每条边都会被考虑两次,所以乘以 $\dfrac{1}{2}$,得到:

$$\begin{aligned} \dfrac{1}{2} \sum_{u \in V} \sum_{v \in V} w({u,v})^2 &= \dfrac{1}{2} \sum_{u \in V} \sum_{v \in V} \sum_{x \in P(u,v),x \ne {u,v}} \sum_{y \in P(u,v),y \ne {u,v}} w(x)w(y) \end{aligned}$$

把 $\sum\limits_{u \in V} \sum\limits_{v \in V}$ 换成 $\sum\limits_{e \in E}$:

$$\dfrac{1}{2} \sum_{e \in E} w(e)^2 = \sum_{u \in V} \sum_{v \in V} \sum_{x \in P(u,v),x \ne {u,v}} \sum_{y \in P(u,v),y \ne {u,v},e(x) = e(y)} w(x)w(y)$$

其中 $e(x)$ 表示点 $x$ 所在的边。

接下来,证明 $\sum_{u \in V} \sum_{v \in V} L_{u, v} h_u h_v = \sum_{u \in V} \sum_{v \in V} \sum_{e \in E} w(e)^2 h_u h_v$。

$$\begin{aligned} \sum_{u \in V} \sum_{v \in V} L_{u, v} h_u h_v &= \sum_{u \in V} \sum_{v \in V} \left(degree(u) \delta(u, v) - A(u, v)\right) h_u h_v \ &= \sum_{e \in E} w(e)^2 \sum_{u \in V} \sum_{v \in V} \delta(e, {u,v}) h_u h_v \ &= \sum_{e \in E} w(e)^2 h_u h_v \ &= \sum_{u \in V} \sum_{v \in V} \sum_{e \in E} w(e)^2 h_u h_v \end{aligned}$$

因此,得到:

$$\dfrac{1}{2} \sum_{u \in V} \sum_{v \in V} d(u,v)^2 =\sum_{u \in V} \sum_{v \in V} L_{u, v} h_u h_v.$$

证毕。

总结:

本题需要掌握 Laplacian 矩阵的定义和性质,掌握最短路径的定义和计算方法,掌握基本的数学证明方法。如果你感兴趣,可以尝试推导一下无向图情形下的 Spectral Clustering 算法,相信你会有更深入的理解和收获。