笔记来源:高级算法设计(孙晓明老师部分)
CPSC 536N: Randomized Algorithms
https://www.cs.ubc.ca/~nickhar/W12/Lecture16Notes.pdf
本节主要学习了如何通过去随机化将i随机算法转化为确定性算法,即先设计一个较好的随机算法,其输出值
E
(
Y
)
≥
u
E(Y)\ge u
E(Y)≥u,然后去随机化,使得一个近似算法
f
(
x
1
,
x
2
,
…
,
,
x
n
)
=
E
(
Y
(
X
1
,
X
2
,
…
,
X
n
)
∣
(
x
1
,
…
,
x
n
)
)
>
u
f(x_1,x_2,\dots,,x_n)=E(Y(X_1,X_2,\dots,X_n)|(x_1,\dots,x_n))>u
f(x1,x2,…,,xn)=E(Y(X1,X2,…,Xn)∣(x1,…,xn))>u
应用
1 Method of Conditional Expectations
其应用于求解最大割算法https://blog.csdn.net/qq_38662930/article/details/105138528
期望去随机化可能用来求解
f
(
x
1
,
…
,
x
n
)
<
=
E
(
f
(
X
1
,
…
,
X
n
)
)
或
f
(
x
1
,
…
,
x
n
)
≥
E
(
f
(
X
1
,
…
,
X
n
)
)
f(x_1,\dots,x_n)<=E(f(X_1,\dots,X_n))或\\ f(x_1,\dots,x_n)\ge E(f(X_1,\dots,X_n))
f(x1,…,xn)<=E(f(X1,…,Xn))或f(x1,…,xn)≥E(f(X1,…,Xn))
证明等式一,假如已经通过穷举求得
E
(
f
(
x
1
,
…
,
x
i
−
1
,
X
i
,
…
,
X
n
)
)
E(f(x_1,\dots,x_{i-1},X_i,\dots,X_n))
E(f(x1,…,xi−1,Xi,…,Xn))
为便于说明不访设
X
i
∈
0
,
1
X_i\in{0,1}
Xi∈0,1
E
(
f
(
X
1
,
…
,
X
n
)
)
=
P
r
(
X
i
=
0
)
E
(
f
(
x
1
,
…
,
x
i
−
1
,
X
i
=
0
,
…
,
X
n
)
)
+
P
r
(
X
i
=
1
)
E
(
f
(
x
1
,
…
,
x
i
−
1
,
X
i
=
1
,
…
,
X
n
)
)
≥
E
(
f
(
x
1
,
…
,
x
i
−
1
,
X
i
=
0
,
…
,
X
n
)
)
≥
f
(
x
1
,
x
2
,
…
,
x
n
)
E(f(X_1,\dots,X_n))=Pr(X_i=0)E(f(x_1,\dots,x_{i-1},X_i=0,\dots,X_n))+\\Pr(X_i=1)E(f(x_1,\dots,x_{i-1},X_i=1,\dots,X_n))\ge E(f(x_1,\dots,x_{i-1},X_i=0,\dots,X_n))\\ \geq f(x_1,x_2,\dots,x_n)
E(f(X1,…,Xn))=Pr(Xi=0)E(f(x1,…,xi−1,Xi=0,…,Xn))+Pr(Xi=1)E(f(x1,…,xi−1,Xi=1,…,Xn))≥E(f(x1,…,xi−1,Xi=0,…,Xn))≥f(x1,x2,…,xn)
注意的是这里要求各个变量是相互独立的