Caratheodory's Theorem

点集 $S$ 的凸包定义为包含 $S$ 的最小凸集. $S\subset \mathbb R^n$ 的凸包的等价定义为

$$\operatorname{conv}(S)=\{\sum_{i=1}^m w_ix_i\big|m\in \mathbb N;\forall i\in [m]:x_i\in S,w_i\ge 0;\sum_{i\in [m]}w_i=1\}$$

Caratheodory’s Theorem 说明,

$$\operatorname{conv}(S)=\{\sum_{i=1}^m w_ix_i\big|m\le n+1;\forall i\in [m]:x_i\in S,w_i\ge 0;\sum_{i\in [m]}w_i=1\}$$

即 $S$ 的凸包中任意一点都落在某个以 $S$ 中的至多 $n+1$ 个点为顶点构成的几何体内部.

Proof

Lemma 1. 若对 $\mathbb R^d$ 中的点 $x_i(i\in [N])$ ,

$\exists w\in \mathbb R^n,w\ge 0,\sum_{i\in [N]}w_i=1:y=\sum_{i\in [N]}w_ix_i$

,则 $\exists w’\in \mathbb R^N,w’\ge 0:y=\sum_{i\in [N]}w_i’x_i$ ,且其中至多 $d$ 个 $w_i’\neq 0$ .

Proof. 若 $N\le d$ ,则令 $w’=w$ 可得结论成立.

接下来证:对所有 $d$ , $N=d+1$ 时均有结论成立.

对 $d$ 归纳. $d=1,N=2$ 时显然正确. 若对 $d\le k,N=d+1$ 均有结论成立,往证 $d=k+1,N=d+1$ 时结论仍成立.

若 $\exists i\in [d+1]:w_i=0$ ,则直接令 $w’=w$ 可得结论成立. 故接下来假设 $w>0$ .

(i) 若 $x_1,x_2,…,x_d(d=k+1)$ 线性独立,则 $\exists u\in \mathbb R^d:x_{d+1}=\sum_{i\in [d]}u_ix_i$ .

$$y=\sum_{i\in [d+1]}w_ix_i=\sum_{i\in [d]}w_ix_i+(\theta+(1-\theta))w_{d+1}\sum_{i\in [d]}u_ix_i\\
=\sum_{i\in [d]}(w_i+\theta w_{d+1}u_i)x_i+(1-\theta)w_{d+1}x_{d+1}$$

令 $w_i’=\begin{cases}w_i+\theta w_{d+1}u_i,i\in [d]\\(1-\theta)w_{d+1},i=d+1\end{cases}$ .

若 $\forall i\in [d]:w_i+w_{d+1}u_i\ge 0$ ,则令 $\theta=1$ ,可得 $w_{d+1}’=0$ 的表示法;

否则取 $\theta\in [0,1]$ ,使得 $\min_{i\in [d]}w_i’=0$ ( $\theta=0$ 时 $\min_{i\in [d]}w_i’=\min_{i\in [d]}w_i>0$ ; $\theta=1$ 时 $\min_{i\in [d]}w_i’=\min_{i\in [d]}\{w_i+w_{d+1}u_i\}<0$ ,故一定存在这样的 $\theta$ ),此时 $w’\ge 0$ ,且 $\exists i\in [d]:w_i’=0$ ,即至多 $d$ 个系数 $\neq 0$ .

结论均成立.

(ii) 若 $x_1,x_2,…,x_d(d=k+1)$ 线性相关. 则 $\operatorname{span}(x_1,x_2,…,x_d)$ 是一个至多 $k$ 维的 $\mathbb R^d$ 子空间,对 $x_1,x_2,…,x_d$ 做线性变换使其落在 $\mathbb R^k$ 内,由归纳假设可得 $\cfrac{\sum_{i\in [d]}w_ix_i}{\sum_{i\in [d]}w_i}=\sum_{i\in [d]}v_ix_i$ , $v\ge 0$ 且 $v_i$ 中最多 $k=d-1$ 项 $\neq 0$ ,故

$y=\sum_{i\in [d]}(\sum_{i\in [d]}w_i)v_ix_i+w_{d+1}x_{d+1}=\sum_{i\in [d]}(1-w_{d+1})v_ix_i+w_{d+1}x_{d+1}$

其中最多 $d$ 个系数 $\neq 0$ 且所有系数均 $\ge 0$ ,结论成立.

综上,归纳成立,对所有 $N\le d+1$ 结论成立.

$N>d+1$ 时,固定 $d$ 对 $N$ 归纳. 已知 $N\le d+1$ 时结论成立.

若有 $y=\sum_{i\in [N]}w_ix_i$ ,可将第 $d$ 项之后的项合并,得

$y=\sum_{i\in [d]}w_ix_i+(\sum_{i=d+1}^N w_i)\cfrac{\sum_{i=d+1}^N w_ix_i}{\sum_{i=d+1}^N w_i}$

即令 $x_{d+1}’=\cfrac{\sum_{i=d+1}^N w_ix_i}{\sum_{i=d+1}^N w_i},w_{d+1}’=\sum_{i=d+1}^N w_i$ ,用 $N=d+1$ 时的结论可将至少一点前的系数变为 $0$ ,再将 $\sum_{i\in [N]}w_i’’$ 归一化,去掉系数为 $0$ 的点使 $N$ 减少. 重复以上过程使 $N\le d+1$ 即证.

Lemma 1 得证. $\square$

Lemma 2. 若对 $\mathbb R^d$ 中的点 $x_i(i\in [N])$ ,

$\exists w\in \mathbb R^N,w\ge 0,\sum_{i\in [N]}w_i=1:y=\sum_{i\in [N]}w_ix_i$

,则 $\exists w’\in \mathbb R^n,w’\ge 0,\sum_{i\in [N]}w_i’=1:y=\sum_{i\in [N]}w_i’x_i$ ,且其中至多 $d+1$ 个 $w_i’\neq 0$ .

Proof. 考虑添加新的一维, $x_i(i\in [N]),y$ 在这新的一维上的分量均为 $1$ .

若 $v=(v_1,v_2,…,v_d)\in \mathbb R^d$ ,则记 $(v,1)=(v_1,v_2,…,v_d,1)\in \mathbb R^{d+1}$ .

仍然有 $(y,1)=\sum_{i\in [N]}w_i(x_i,1)$ ,对 $\mathbb R^{d+1}$ 中的点 $\{(x_i,1)\}_{i\in [N]}$ 使用 Lemma 1 可得,

$$\exists w’:(y,1)=\sum_{i\in [N]}w_i’(x_i,1)$$

且 $w’\ge 0$ ,至多 $d+1$ 个 $w_i’\neq 0$ . 又由最后一维, $1=\sum_{i\in [N]}w_i’$ ,故 Lemma 2 得证. $\square$

现证明 Caratheodory’s Theorem .

对 $S\subset \mathbb R^n$ 的凸包内的任一点 $y$ ,其可表示为

$y=\sum_{i=1}^N w_ix_i$ $(N\in \mathbb N,x_i\in S,w\ge 0,\sum_{i\in [N]}w_i=1)$ ,由 Lemma 2

$y=\sum_{i=1}^N w_i’x_i$ , $w’\ge 0,\sum_{i\in [N]}w_i’=1$ ,且至多 $n+1$ 个 $w_i’\neq 0$ .

故 $S$ 的凸包内的所有点均可表示为不超过 $n+1$ 个 $S$ 中的点的凸求和. $\square$

Reference

https://en.wikipedia.org/wiki/Carath%C3%A9odory%27s_theorem_(convex_hull)