Notation - Matroid 拟阵
先从矩阵的方面来认识。
矩阵拟阵记录了一个矩阵中向量之间的线性无关关系。矩阵的所有其它性质与拟阵无关。所以拟阵被定义为一个二元组 \((S, I)\),其中\(S\)是矩阵中向量的集合 \(\{x_1,x_2,x_3\}\), \(I\)是这些向量的线性无关关系,比如说在上面三个向量中\(x_1\) 与 \(x_2\), \(x_2\)与\(x_3\) 分别线性无关,此外当然 \(x_1, x_2, x_3\) 他们自身分别组成的集合也是线性无关的,空集内所有元素也是线性无关的,所以空集也是$$的元素 。因此有\(I=\{\{x_1, x_2\}, \{x_2, x_3\}, \{x_1\}, \{x_2\}, \{x_3\}\}\)。\(I\) 中的每一个元素就是上面所提到的线性无关的元素集合。
有了这些线性关系,我们不需要知道这些向量的其它性质(比如说我们并不需要它们的值),就可以推出一些有用的结论。于是就有了这么个问题:能不能把“线性无关”关系这一概念从向量的定义中抽象出来,定义一种新的关系概念,让这个概念不依赖于向量的定义?这样一来我们就可以把这些不依赖于向量其它性质的结论应用于其它的场景。
拟阵就提供了这样的定义。拟阵把向量的“线性无关“关系抽象成三个层面。对于一个有限的实体集合 \(S\) 来说,如果定义在 \(S\) 上的关系集合 \(I\) 满足下面的三条性质,那么就可以说 \(I\) 对于 \(S\) 来讲是一种“线性无关”关系的定义。也就是 \((S, I)\) 是拟阵。
- \(\phi \in I\)。这个性质表述的意思是“空集内所有的元素线性无关”。
- 遗传性。若 \(A \in I, B \subset A\),则 \(B \in I\)。这个性质放到矩阵上,意思其实就是说如果 \(x_1, x_2, x_3, \dots, x_n\) \(n\) 个向量线性无关,那么从其中取出任意几个向量肯定也都线性无关。
- 交换性。若 \(A \in I, B \in I\) 且 \(A\) 的元素比 \(B\) 的元素多,那么 A 中一定有元素 \(x\) 可以放入 \(B\) 中使得 \(B \cup \{x\} \in I\)。从矩阵的角度来理解,如果有 \(x_{11}, x_{12}, \dots, x_{1a}\) 与 \(x_{21}, x_{22}, \dots, x_{2b}\) 两组向量分别线性无关,并且 \(a > b\),那么 \(x_{11}, x_{12}, \dots, x_{1a}\) 中一定有一个向量 \(x_{1i}\) 与 \(x_{21}, x_{22}, \dots, x_{2b}\) 线性无关,从而 \(x_{21}, x_{22}, \dots, x_{2b}, x_{1i}\) 这个向量组也线性无关。矩阵的这个性质不是那么直观,但还是很好理解的:第二组向量的秩比第一组小,因此第一组向量中一定能拿出一个不能被第二组向量线性表示的向量。
这样定义好之后,无论任何关系类型,只要满足这三个性质,就都可以套用拟阵的性质来解决一系列问题。满足拟阵定义的关系首先当然有上面说的向量的线性无关关系。另一个很好的例子是图拟阵:
把 \(S\) 定义为一个无向图的边集,\(I\) 所表述的关系定义为“不构成环的边集”。也就是说,如果在一个图中,abcd四条边不构成环,我们就认为它们“线性无关”。这样建立起来的 \((S, I)\) 可以被证明是一个拟阵。
就是这样,拟阵这一概念可以套用到任何一个可以被证明满足这三条性质的关系定义上。通过建立拟阵这一概念,各种不同的领域,比如上面说的图拟阵和矩阵拟阵,可以在拟阵定义的范围内共享所有的定理和结论。
具体能证明什么结论自己再去看书吧,算法导论上用拟阵来证明各种场景下贪心算法的正确性。我只能带路带到这里了。

浙公网安备 33010602011771号