1. Simplex(单纯形)定义
在文中,单纯形 C C C是一种特殊的多面体。它由 k + 1 k+1 k+1 个点 v 0 , v 1 , … , v k v_0, v_1, \dots, v_k v0,v1,…,vk 构成,并且这些点是仿射独立(affinely independent)的,这意味着这些点的差向量是线性独立的。
-
仿射独立的意思是,给定的 k + 1 k+1 k+1 个点 v 0 , v 1 , … , v k v_0, v_1, \dots, v_k v0,v1,…,vk中,任何一个点都不能通过其余 k k k 个点的仿射组合得到。换句话说,这些点是处在不同方向上的,它们之间的相对位置不能由低维的空间来描述。
-
仿射组合是指点的线性组合,但系数的和等于 1。仿射组合的形式为:
θ 0 v 0 + θ 1 v 1 + ⋯ + θ k v k \theta_0 v_0 + \theta_1 v_1 + \dots + \theta_k v_k θ0v0+θ1v1+⋯+θkvk其中 θ 0 + θ 1 + ⋯ + θ k = 1 \theta_0 + \theta_1 + \dots + \theta_k = 1 θ0+θ1+⋯+θk=1。
-
线性独立指的是这些点的差向量 v 1 − v 0 , v 2 − v 0 , … , v k − v 0 v_1 - v_0, v_2 - v_0, \dots, v_k - v_0 v1−v0,v2−v0,…,vk−v0 彼此之间是线性独立的,这意味着这些向量之间不存在非平凡的线性组合使它们等于零。这保证了这些点构成的单纯形具有“最大可能的维度”。
例:
- 二维情况下(2D):
- 假设有三个点 v 0 = ( 0 , 0 ) v_0 = (0, 0) v0=(0,0), v 1 = ( 1 , 0 ) v_1 = (1, 0) v1=(1,0),和 v 2 = ( 0 , 1 ) v_2 = (0, 1) v2=(0,1)。
- 这三个点是仿射独立的,因为它们的差向量 v 1 − v 0 = ( 1 , 0 ) v_1 - v_0 = (1, 0) v1−v0=(1,0)和 v 2 − v 0 = ( 0 , 1 ) v_2 - v_0 = (0, 1) v2−v0=(0,1) 是线性独立的。
- 这意味着它们可以生成一个二维的三角形,并且这个三角形是一个 2D 单纯形。
如果这些点中的某一个点是可以通过其它点的仿射组合表示的,比如 v 2 = 1 2 v 0 + 1 2 v 1 v_2 = \frac{1}{2}v_0 + \frac{1}{2}v_1 v2=21v0+21v1,那么这些点就不再是仿射独立的。这种情况下,它们会共线,而不能构成三角形。
- 三维情况下(3D):
- 假设有四个点 v 0 = ( 0 , 0 , 0 ) v_0 = (0, 0, 0) v0=(0,0,0), v 1 = ( 1 , 0 , 0 ) v_1 = (1, 0, 0) v1=(1,0,0), v 2 = ( 0 , 1 , 0 ) v_2 = (0, 1, 0) v2=(0,1,0),和 v 3 = ( 0 , 0 , 1 ) v_3 = (0, 0, 1) v3=(0,0,1)。
- 这些点是仿射独立的,因为 v 1 − v 0 , v 2 − v 0 , v 3 − v 0 v_1 - v_0, v_2 - v_0, v_3 - v_0 v1−v0,v2−v0,v3−v0 是线性独立的差向量,它们分别是三个正交方向的单位向量。
- 它们可以生成一个三维的四面体,这是一个 3D 单纯形。
如果四个点中的一个点可以通过其余三个点的仿射组合表示,比如 v 3 = v 1 + v 2 v_3 = v_1 + v_2 v3=v1+v2,那么它们就不是仿射独立的。这时候,它们会处在同一个平面上,而不能生成一个三维的单纯形。
单纯形的定义为:
C
=
conv
{
v
0
,
…
,
v
k
}
=
{
θ
0
v
0
+
⋯
+
θ
k
v
k
∣
θ
⪰
0
,
1
T
θ
=
1
}
C = \text{conv}\{v_0, \dots, v_k\} = \{\theta_0 v_0 + \dots + \theta_k v_k \mid \theta \succeq 0, \ 1^T \theta = 1\}
C=conv{v0,…,vk}={θ0v0+⋯+θkvk∣θ⪰0, 1Tθ=1}
其中:
- $\theta_i $ 是非负系数,满足所有$\theta_i $的和为 1。
- 记号 ⪰ \succeq ⪰表示逐元素的不等式,即每个 θ i ≥ 0 \theta_i \geq 0 θi≥0。
单纯形可以理解为这些点的凸包,即在这些点之间通过凸组合生成的集合。
2. 仿射维度与几何解释
- 仿射独立性意味着没有一个点可以通过其它点的仿射组合表示。这保证了这些点定义的单纯形在几何上是“最紧致”的凸包。
- 仿射维度是 k k k,所以这个单纯形也称为 k k k-维单纯形。
例:
- 一个1维单纯形是由两个仿射独立点 v 0 , v 1 v_0, v_1 v0,v1 生成的,这就是一条线段。
- 一个2维单纯形是由三个仿射独立点 v 0 , v 1 , v 2 v_0, v_1, v_2 v0,v1,v2 生成的,这就是一个三角形(包括其内部)。
- 一个3维单纯形是由四个仿射独立点 v 0 , v 1 , v 2 , v 3 v_0, v_1, v_2, v_3 v0,v1,v2,v3 生成的,这就是一个四面体。
3. 一些常见的单纯形
一些常见的单纯形例子:
- 1维单纯形:一条线段。
- 2维单纯形:一个三角形。
- 3维单纯形:一个四面体。
此外,还有两个特别的单纯形:
- 单位单纯形:是由零向量 0 0 0 和标准单位向量 e 1 , e 2 , … , e n e_1, e_2, \dots, e_n e1,e2,…,en生成的单纯形。它由满足 x ≥ 0 x \geq 0 x≥0 和 1 T x ≤ 1 1^T x \leq 1 1Tx≤1 的点组成。
- 概率单纯形:这是一个 ( n − 1 ) (n-1) (n−1)-维单纯形,由 e 1 , e 2 , … , e n e_1, e_2, \dots, e_n e1,e2,…,en 生成。它是所有满足 x ≥ 0 x \geq 0 x≥0 和 1 T x = 1 1^T x = 1 1Tx=1 的点的集合。这些点可以解释为定义在 n n n 个元素上的概率分布。
4. 将单纯形表示为多面体的形式
为了将单纯形
C
C
C 表示为类似多面体的形式(即线性不等式和等式的集合),
x
=
v
0
+
B
y
x = v_0 + By
x=v0+By
其中
y
⪰
0
y \succeq 0
y⪰0 且
1
T
y
≤
1
1^T y \leq 1
1Ty≤1,而矩阵
B
B
B 包含了
v
1
−
v
0
,
…
,
v
k
−
v
0
v_1 - v_0, \dots, v_k - v_0
v1−v0,…,vk−v0 作为列向量,表示其他点相对于
v
0
v_0
v0 的偏移。
- 仿射独立性保证了矩阵 B B B 的秩为 k k k,这意味着 B B B 的列向量是线性独立的。
- 存在一个非奇异矩阵 A A A,将矩阵 B B B 的线性组合解写成标准形式,转化为线性等式和不等式。
5. 结论
通过这样的方式,可以将单纯形
C
C
C 的表示转化为线性不等式和等式的形式,即将单纯形表示为一个多面体。具体地,最后得出的系统是:
A
2
x
=
A
2
v
0
,
A
1
x
⪰
A
1
v
0
,
1
T
A
1
x
≤
1
+
1
T
A
1
v
0
A_2 x = A_2 v_0, \quad A_1 x \succeq A_1 v_0, \quad 1^T A_1 x \leq 1 + 1^T A_1 v_0
A2x=A2v0,A1x⪰A1v0,1TA1x≤1+1TA1v0
这实际上是线性不等式和等式系统的描述,说明单纯形可以用多面体的形式表示。