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