算法设计第十三章 随机算法 randomed algorithm3
1 Chernoff Bounds
随机算法的核心是分析解的期望,但是我们不总是得到期望。因此要分析随机变量与期望之间的关系。
1.1 Markov’s Inequality 马尔可夫不等式
马尔可夫不等式
P
(
X
≥
a
)
≤
E
(
X
)
/
a
.
P(X\ge a) \leq E(X)/a.
P(X≥a)≤E(X)/a.
证明如下:
E
(
X
)
=
∑
x
P
(
x
)
≥
∑
x
≥
a
x
P
(
x
)
≥
a
P
(
X
>
a
)
E(X)=\sum xP(x)\geq \sum_{x\geq a}x P(x)\geq aP(X>a)
E(X)=∑xP(x)≥x≥a∑xP(x)≥aP(X>a)
马尔科夫不等式是弱的,因为界限太大。但是它是通用的,不需要对随机变量有任何假设。
1.2 Chebychev’s Inequality 切比雪夫不等式
切比雪夫不等式
P
(
∣
X
−
E
(
X
)
∣
≥
a
)
≤
V
a
r
(
X
)
/
a
2
.
P(|X-E(X)|\ge a) \leq Var(X)/a^2.\\
P(∣X−E(X)∣≥a)≤Var(X)/a2.
根据马尔科夫不等式推导而出。证明如下:
V
a
r
(
X
)
=
E
[
(
X
−
E
(
X
)
)
2
]
P
(
∣
X
−
E
(
X
)
∣
≥
a
)
=
P
[
(
X
−
E
(
X
)
)
2
≥
a
2
]
≤
E
[
(
X
−
E
(
X
)
)
2
]
/
a
2
=
V
a
r
[
X
]
/
a
2
Var(X)=E[(X-E(X))^2]\\ P(|X-E(X)|\ge a)=P[(X-E(X))^2\ge a^2]\leq E[(X-E(X))^2]/a^2\\ =Var[X]/a^2
Var(X)=E[(X−E(X))2]P(∣X−E(X)∣≥a)=P[(X−E(X))2≥a2]≤E[(X−E(X))2]/a2=Var[X]/a2
1.3 Sum of independent 独立变量求和
1
X
1
,
.
.
.
X
n
X_1,...X_n
X1,...Xn是随机{0,1}变量,
P
(
X
i
=
1
)
=
p
i
P(X_i=1)=p_i
P(Xi=1)=pi,
μ
=
E
[
X
]
=
∑
p
i
\mu=E[X]=\sum p_i
μ=E[X]=∑pi
0
<
δ
<
1
,
P
[
X
≥
(
1
+
δ
)
μ
]
≤
e
−
μ
δ
2
/
3
δ
>
1
,
P
[
X
≥
(
1
+
δ
)
μ
]
≤
e
−
μ
δ
l
n
δ
/
3
0
≤
δ
≤
1
,
P
[
X
≤
(
1
−
δ
)
μ
]
≤
e
−
μ
δ
2
/
2
0<\delta<1,P[X\ge (1+\delta)\mu]\leq e^{-\mu\delta^2/3}\\ \delta >1, P[X\ge(1+\delta)\mu]\leq e^{-\mu \delta ln\delta/3}\\ 0\leq\delta \leq 1,P[X\leq(1-\delta)\mu]\leq e^{-\mu\delta^2/2}
0<δ<1,P[X≥(1+δ)μ]≤e−μδ2/3δ>1,P[X≥(1+δ)μ]≤e−μδlnδ/30≤δ≤1,P[X≤(1−δ)μ]≤e−μδ2/2
2 对上述三种情况进行统一:
δ
>
0
,
P
(
X
≥
(
1
+
δ
)
μ
)
≤
(
e
δ
(
1
+
δ
)
1
+
δ
)
μ
\delta>0,P(X\ge (1+\delta)\mu)\leq(\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu
δ>0,P(X≥(1+δ)μ)≤((1+δ)1+δeδ)μ
3 遇到不是{-1,1}的情况,期望为0:
X
1
,
.
.
.
X
n
X_1,...X_n
X1,...Xn是随机{-1,1}变量,
P
(
X
i
=
1
)
=
P
(
X
i
=
−
1
)
=
0.5
P(X_i=1)=P(X_i=-1)=0.5
P(Xi=1)=P(Xi=−1)=0.5, 分布是对称的,
δ
≥
0
\delta \ge 0
δ≥0,
P
[
X
≥
δ
]
=
P
[
X
≤
−
δ
]
≤
e
−
δ
2
2
n
P[X\ge \delta]=P[X\le-\delta]\leq e^{-\frac{\delta^2}{2n}}
P[X≥δ]=P[X≤−δ]≤e−2nδ2
2 例子
2.1 coin filp
考虑投掷n次硬币,
X
X
X是head的次数,
P
(
X
≥
n
2
+
λ
)
P(X\ge \frac{n}{2}+\lambda)
P(X≥2n+λ)。
P
(
X
≥
m
u
+
λ
)
=
P
(
X
≥
μ
(
1
+
λ
μ
)
)
≤
e
−
(
λ
μ
)
2
μ
3
P(X\ge mu+\lambda)=P(X\ge \mu(1+\frac{\lambda}{\mu}))\leq e^{-(\frac{\lambda}{\mu})^2\frac{\mu}{3}}
P(X≥mu+λ)=P(X≥μ(1+μλ))≤e−(μλ)23μ
2.2 Load balancing
假设有
n
n
n个电脑,
m
m
m个任务,给电脑随机分配任务。如何平衡?
X
i
X_i
Xi是电脑
i
i
i被分配的任务。
P
(
m
a
x
(
X
i
)
>
O
(
l
n
n
l
n
l
n
n
)
)
<
1
n
P(max(X_i)>O(\frac{ln n}{lnlnn}))<\frac{1}{n}
P(max(Xi)>O(lnlnnlnn))<n1
P
(
m
i
n
(
X
i
)
<
1
2
μ
)
<
1
n
P(min(X_i)<\frac{1}{2}\mu)<\frac{1}{n}
P(min(Xi)<21μ)<n1
2.3 set banlancing
m个集合,是[n]的子集,用
n
n
n-bit,S_i向量表示。将所有集合分为两个部分,
m
i
n
m
a
x
∣
∑
S
i
−
∑
S
j
∣
∞
minmax|\sum S_i-\sum S_j|_{\infty}
minmax∣∑Si−∑Sj∣∞,优化问题难解,随机分组。
X
i
∈
{
1
,
−
1
}
X_i\in\{1,-1\}
Xi∈{1,−1}表示i元素属于哪个集合。
B
i
=
∑
X
i
B_i=\sum X_i
Bi=∑Xi测量元素
i
i
i的imbalance。
根据1.3 的3
P
(
B
i
>
4
m
l
n
n
)
≤
e
−
4
m
l
n
n
2
/
(
2
k
)
P(B_i>\sqrt{4mlnn})\le e^{-\sqrt{4mlnn}^2/(2k)}
P(Bi>4mlnn)≤e−4mlnn2/(2k)。
2.4 LP
一般情况下,线性规划的解在顶点处取得,因此有很多约束是多余的,对于
d
d
d维变量,d个约束即可确定该解。换言之,只有d个约束是紧的,剩下的是多余的。
随机算法通过随机的减去约束,判断减去约束后的解是否违反该约束来判读该约束是否是紧的。如果是紧的,我们将为问题投影到该约束上。
复杂度分析
T
(
n
,
d
)
=
T
(
n
−
1
,
d
)
+
O
(
d
)
+
d
/
n
(
O
(
d
n
)
+
T
(
n
−
1
,
d
−
1
)
)
T(n,d)=T(n-1,d)+O(d)+d/n(O(dn)+T(n-1,d-1))
T(n,d)=T(n−1,d)+O(d)+d/n(O(dn)+T(n−1,d−1))
总结
随机算法在过程中允许随机选择,核心是求期望,但是解经常不是期望值,因此用Chernoff Bounds 分析解的范围与概率。