Affine set 和 convex set 的定义
什么是 affine set
定义:假设有一个集合 C ⊆ R n C \subseteq \mathbb{R}^n C⊆Rn, 如果连接集合 C C C 当中的任何两点构成的直线也在集合 C C C 之中,那么我们就说集合 C C C 是一个 affine set。
如果用数学语言来表述,就是对于任何 x 1 , x 2 ∈ C x_1, x_2 \in C x1,x2∈C,对任意 θ ∈ R \theta \in \mathbb{R} θ∈R,我们有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1 + (1 - \theta) x_2 \in C θx1+(1−θ)x2∈C。如果一个集合满足这个性质,我们就说这个集合是一个 affine set。
什么是 convex set
Convex set 的定义与 affine set 的定义类似,区别在于 convex set 要求连接集合 C C C 当中的任何两点构成的线段也在集合 C C C 之中。
定义:假设有一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn, 如果连接集合 C C C 当中的任何两点构成的线段也在集合 C C C 之中,那么我们就说集合 C C C 是一个 convex set。
用数学语言来描述,就是对于任何 x 1 , x 2 ∈ C x_1, x_2 \in C x1,x2∈C,对任意 0 ≤ θ ≤ 1 0 \leq \theta \leq 1 0≤θ≤1,我们有 θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1 + (1 - \theta) x_2 \in C θx1+(1−θ)x2∈C。如果一个集合满足这个性质,我们就说这个集合是一个 convex set。
从空间结构上来说,对于一个 convex set,连接其中的两个点,所得到的线段也在这个 convex set 中。所以下图代表的集合就不是 convex set。
关于 convexity 的几个性质
除了定义,我们还有如下的几个关于 convexity 和 affine 的性质。
定理1:如果一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 是一个 convex set, x 1 , x 2 , ⋯ , x k x_1, x_2, \, \cdots, x_k x1,x2,⋯,xk 是集合 C C C 里的 k k k 个点,那么对于 θ 1 + θ 2 + ⋯ + θ k = 1 \theta_1 + \theta_2 + \cdots + \theta_k = 1 θ1+θ2+⋯+θk=1, θ i ≥ 0 , 1 ≤ i ≤ k \theta_i \geq 0, \, 1 \leq i \leq k θi≥0,1≤i≤k,我们有 θ 1 x 1 + θ 2 x 2 + ⋯ + θ k x k \displaystyle \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_k x_k θ1x1+θ2x2+⋯+θkxk 也是集合 C C C 中的一个点。
也就是说,对于 convex set 的定义中的两个点的情况,我们可以推广到任意 k k k 个点的情况。
我们用数学归纳法来证明上面的定理。当 k = 1 k = 1 k=1 时,结论自然成立。当 k = 2 k = 2 k=2 时,就是 convex set 的定义。假设结论对 k k k 成立, k ≥ 2 k \geq 2 k≥2,我们考虑 k + 1 k + 1 k+1 的情况。令 A = θ 1 x 1 + θ 2 x 2 + ⋯ + θ k + 1 x k + 1 A = \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_{k + 1} x_{k + 1} A=θ1x1+θ2x2+⋯+θk+1xk+1。对于 θ 1 , θ 2 , ⋯ θ k + 1 \theta_1, \, \theta_2, \, \cdots \theta_{k + 1} θ1,θ2,⋯θk+1 这 k + 1 k + 1 k+1 个数,一定有一个小于 1。方便起见,假设 θ 1 ≠ 1 \theta_1 \neq 1 θ1=1。我们有
A = θ 1 x 1 + θ 2 x 2 + ⋯ + θ k + 1 x k + 1 = θ 1 x 1 + ( 1 − θ 1 ) ( θ 2 1 − θ 1 x 2 + θ 3 1 − θ 1 x 3 + ⋯ + θ k + 1 1 − θ 1 x k + 1 ) = θ 1 x 1 + ( 1 − θ 1 ) B \begin{aligned} A &=\theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_{k + 1} x_{k + 1} \\ &= \theta_1 x_1 + (1 - \theta_1) \left( \frac{\theta_2}{1 - \theta_1} x_2 + \frac{\theta_3}{1 - \theta_1} x_3 + \cdots + \frac{\theta_{k + 1}}{1 - \theta_1} x_{k + 1} \right) \\ &= \theta_1 x_1 + (1 - \theta_1) B \end{aligned} A=θ1x1+θ2x2+⋯+θk+1xk+1=θ1x1+(1−θ1)(1−θ1θ2x2+1−θ1θ3x3+⋯+1−θ1θk+1xk+1)=θ1x1+(1−θ1)B
而 B = θ 2 1 − θ 1 x 2 + θ 3 1 − θ 1 x 3 + ⋯ + θ k + 1 1 − θ 1 x k + 1 \displaystyle B = \frac{\theta_2}{1 - \theta_1} x_2 + \frac{\theta_3}{1 - \theta_1} x_3 + \cdots + \frac{\theta_{k + 1}}{1 - \theta_1} x_{k + 1} B=1−θ1θ2x2+1−θ1θ3x3+⋯+1−θ1θk+1xk+1,并且 θ 2 1 − θ 1 + θ 3 1 − θ 1 + ⋯ + θ k + 1 1 − θ 1 = θ 2 + θ 3 + ⋯ + θ k + 1 1 − θ 1 = 1 \displaystyle \frac{\theta_2}{1 - \theta_1} + \frac{\theta_3}{1 - \theta_1} + \cdots + \frac{\theta_{k + 1}}{1 - \theta_1} = \frac{\theta_2 + \theta_3 + \cdots + \theta_{k + 1}}{1 - \theta_1} = 1 1−θ1θ2+1−θ1θ3+⋯+1−θ1θk+1=1−θ1θ2+θ3+⋯+θk+1=1。应用我们的假设,结论对于 k k k 是成立的,所以 B ∈ C B \in C B∈C。从而 A ∈ C A \in C A∈C。也就是说,结论对于 k + 1 k + 1 k+1 的情况也是成立的。 □ \square □
定理2:一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 是一个 convex set,当且仅当集合 C C C 与任意直线的交集是一个 convex set。
我们先证明必要性。假设集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 是一个 convex set。我们知道一条直线是一个 convex set。另外,我们知道,两个 convex set 的交集也是一个 convex set。从而, C C C 与任意直线的交集也是一个 convex set。
再证充分性。假设 x 1 , x 2 ∈ C x_1, \, x_2 \in C x1,x2∈C。因为集合 C C C 与任意直线的交集是一个 convex set,从而 C C C 与通过 x 1 , x 2 x_1, x_2 x1,x2 的直线的交集也是一个 convex set。记这个交集为 D D D。那么由 x 1 x_1 x1 与 x 2 x_2 x2 构成的 convex combination,即 θ x 1 + ( 1 − θ ) x 2 \theta x_1 + (1 - \theta) x_2 θx1+(1−θ)x2,也在 D D D 之中。从而 θ x 1 + ( 1 − θ ) x 2 \theta x_1 + (1 - \theta) x_2 θx1+(1−θ)x2 也在 C C C 中。所以, C C C 是一个 convex set。
我们不难发现,上述两个定理的证明可以移植到 affine set 中去。所以我们也有。
定理3:如果一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 是一个 affine set, x 1 , x 2 , ⋯ , x k x_1, x_2, \, \cdots, x_k x1,x2,⋯,xk 是集合 C C C 里的 k k k 个点,那么对于 θ 1 + θ 2 + ⋯ + θ k = 1 \theta_1 + \theta_2 + \cdots + \theta_k = 1 θ1+θ2+⋯+θk=1, θ i ≥ 0 , 1 ≤ i ≤ k \theta_i \geq 0, \, 1 \leq i \leq k θi≥0,1≤i≤k,我们有 θ 1 x 1 + θ 2 x 2 + ⋯ + θ k x k \displaystyle \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_k x_k θ1x1+θ2x2+⋯+θkxk 也是集合 C C C 中的一个点。
定理4:一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 是一个 affine set,当且仅当集合 C C C 与任意直线的交集是一个 affine set。
什么是 convex hull
对于任意的一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn, 我们都可以定义集合 C C C 的 Convex hull。那怎样定义集合 C C C 的 Convex hull 呢?
如果集合
C
∈
R
n
C \in \mathbb{R}^n
C∈Rn,那么集合
C
C
C 的 convex hull 定义为
定义:
c
o
n
v
C
=
{
θ
1
x
1
+
θ
2
x
2
+
⋯
θ
k
x
k
∣
x
i
∈
C
,
θ
i
≥
0
,
i
=
1
,
2
,
⋯
k
,
θ
1
+
θ
2
+
⋯
+
θ
k
=
1
}
\mathbf{conv} \, C = \{ \theta_1 x_1 + \theta_2 x_2 + \cdots \theta_k x_k \, | \, x_i \in C, \theta_i \geq 0, i = 1, \, 2, \, \cdots k, \theta_1 + \theta_2 + \cdots + \theta_k = 1 \}
convC={θ1x1+θ2x2+⋯θkxk∣xi∈C,θi≥0,i=1,2,⋯k,θ1+θ2+⋯+θk=1}。
也就是说,convex hull 是由集合
C
C
C 之中所有点的 convex combination 所构成的集合。首先,
c
o
n
v
C
\mathbf{conv} \, C
convC 是一个 convex set。这是因为如果
A
=
θ
1
x
1
+
θ
2
x
2
+
⋯
+
θ
i
x
i
,
∑
k
=
1
i
θ
k
=
1
\displaystyle A = \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_i x_i, \, \sum_{k = 1}^i \theta_k = 1
A=θ1x1+θ2x2+⋯+θixi,k=1∑iθk=1
B
=
τ
1
y
1
+
τ
2
y
2
+
⋯
+
τ
j
y
j
,
∑
k
=
1
j
τ
k
=
1
\displaystyle B = \tau_1 y_1 + \tau_2 y_2 + \cdots + \tau_j y_j, \, \sum_{k = 1}^j \tau_k = 1
B=τ1y1+τ2y2+⋯+τjyj,k=1∑jτk=1,
那么,对于
α
∈
[
0
,
1
]
\alpha \in [0, 1]
α∈[0,1],
α A + ( 1 − α ) B = α θ 1 x 1 + ⋯ + α θ i x i + ( 1 − α ) τ 1 y 1 + ⋯ + ( 1 − α ) τ j y j \alpha A + (1 - \alpha) B = \alpha \theta_1 x_1 + \cdots + \alpha \theta_i x_i + (1 - \alpha) \tau_1 y_1 + \cdots + (1 - \alpha) \tau_j y_j αA+(1−α)B=αθ1x1+⋯+αθixi+(1−α)τ1y1+⋯+(1−α)τjyj。
所有的 x k , y k x_k, y_k xk,yk 项的系数相加为 α ( θ 1 + θ 2 + ⋯ + θ i ) + ( 1 − α ) ( τ 1 + τ 2 + ⋯ + τ j ) = α + 1 − α = 1 \alpha(\theta_1 + \theta_2 + \cdots + \theta_i) + (1 - \alpha) (\tau_1 + \tau_2 + \cdots + \tau_j) = \alpha + 1 - \alpha = 1 α(θ1+θ2+⋯+θi)+(1−α)(τ1+τ2+⋯+τj)=α+1−α=1。
从而, α A + ( 1 − α ) B ∈ c o n v C \alpha A + (1 - \alpha) B \in \mathbf{conv} \, C αA+(1−α)B∈convC。这就证明了 c o n v C \mathbf{conv} \, C convC 是一个 convex set。
事实上, c o n v C \mathbf{conv} \, C convC 是所有包含 C C C 的 convex sets 当中最小的那个。也就是说,如果 C ⊆ B C \subseteq B C⊆B,且 B B B 是一个 convex set,那么 c o n v C ⊆ B \mathbf{conv} \, C \subseteq B convC⊆B。
这个证明也很直接。这里就从略了。
同样的,我们可以把 convex 换成 affine,上述定义和结论对于 affine 的情况也是成立的。
什么是 convex cone
为了定义 convex cone,我们先来定义 cone。
什么是 cone
定义: 一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn, 如果对任意 x ∈ C x \in C x∈C,以及任意 θ ≥ 0 \mathbb{\theta \geq 0} θ≥0,我们都有 θ x ∈ C \theta x \in C θx∈C,那么集合 C C C 就是一个 cone。
通过定义我们发现,原点 0 \mathbb{0} 0 肯定是属于一个 cone 的。
什么是 convex cone
而对于 convex cone,其定义就是 如果一个集合 C ∈ R n C \in \mathbb{R}^n C∈Rn 既是一个 convex set,而且还是一个 cone,那么这个集合就是 convex cone。
对于 convex cone,我们有下面的一个性质。
如果集合 C C C 是一个 convex cone,那么对于任意 x 1 , x 2 ∈ C x_1, x_2 \in C x1,x2∈C, 以及任意 θ 1 ≥ 0 , θ 2 ≥ 0 \theta_1 \geq 0, \, \theta_2 \geq 0 θ1≥0,θ2≥0, 我们有 θ 1 x 1 + θ 2 x 2 ∈ C \theta_1 x_1 + \theta_2 x_2 \in C θ1x1+θ2x2∈C。
怎么证明这个结论呢?因为 C C C 是一个 cone,所以对于任意 λ ≥ 0 , μ ≥ 0 \lambda \geq 0, \, \mu \geq 0 λ≥0,μ≥0,我们有 λ x 1 ∈ C \lambda x_1 \in C λx1∈C, μ x 2 ∈ C \mu x_2 \in C μx2∈C。而 C C C 又是一个 convex set,于是对于任意 α ∈ [ 0 , 1 ] \alpha \in [0, 1] α∈[0,1],我们有 α λ x 1 + ( 1 − α ) μ x 2 ∈ C \alpha \lambda x_1 + (1 - \alpha) \mu x_2 \in C αλx1+(1−α)μx2∈C。注意这里 λ , μ \lambda, \, \mu λ,μ 可以是任意实数,而 α \alpha α 是任意在 [0, 1] 之间的实数。从而对于任意 θ 1 , θ 2 ≥ 0 \theta_1, \theta_2 \geq 0 θ1,θ2≥0,我们总可以找到 λ , μ \lambda, \, \mu λ,μ 以及 α \alpha α,使得
{ θ 1 = α λ θ 2 = ( 1 − α ) μ \begin{cases} \theta_1 = \alpha \lambda \\ \theta_2 = (1 - \alpha) \mu \end{cases} {θ1=αλθ2=(1−α)μ
从而,对于任意 θ 1 ≥ 0 , θ 2 ≥ 0 \theta_1 \geq 0, \, \theta_2 \geq 0 θ1≥0,θ2≥0,我们就证明了 θ 1 x 1 + θ 2 x 2 ∈ C \theta_1 x_1 + \theta_2 x_2 \in C θ1x1+θ2x2∈C。
参考文献
Convex optimization, Chapter 1, Stephen Boyd, Lieven Vandenberghe, Cambridge University Press, (2004)