ランダム割り当てアルゴリズムは、条件付き期待値の方法を使用して、ランダム化(決定論的)できます。
3SATインスタンスをC1,…,Cm句で構成するとします。アルゴリズムの実行中に、変数に値を割り当てます。条項Cのスコアは次のように定義されます。C
- 場合はC満たされ、そのスコアが1です。
- 場合C成立し、有していないk割り当てられていないリテラルそのスコアは、1−2−k。
最初に、各句のスコアは、1−2−3=7/8、等合計スコアがある(7/8)m。変数x1,…,xnに順に値を割り当てます。変数x1,…,xi−1に値を割り当て、現在の合計スコアがS=S(C1)+⋯+S(Cm)。LETS0,S1、我々は値割り当てると、合計スコア0,1(それぞれ)にxi。私は、任意の条項 CについてS0(C)+S1(C)=2S(C)であると主張しているため、 S 0 + S 1 = 2 Sです。確かに:CS0+S1=2S
- 場合C満たされる(のみ与えられx1,…,xi−1)または含まないxi、次にS0(C)+S1(C)=2S(C)。
- Cにx iを含むk割り当てられていないリテラルが含まれているとします。次に、S (C )= 1 − 2 − k、S 0(C )= 1 − 2 − (k − 1 )、およびS 1(C )= 1です。したがって、
S 0(C )+ S 1(C )= [xiS(C)=1−2−kS0(C)=1−2−(k−1)S1(C)=1
S0(C)+S1(C)=[1−2⋅2−k]+1=2(1−2−k)=2S(C).
- 場合にも、同様の引数は働きC含まれているx¯i。
S0+S1=2SS0≥SS1≥SSS
(7/8)mC1−2−0=0(7/8)m
決定論的アルゴリズムがあるのに、なぜランダム化アルゴリズムに関心があるのでしょうか。いくつかの理由があります。
- ランダム化されたアルゴリズムははるかに単純です。
- ランダム化されたアルゴリズムは、潜在的に高速です。
- ランダム化されたアルゴリズムは、条件付き期待の方法を使用して決定論的アルゴリズムに変換できます。これは決定論的アルゴリズムを構築するためのレシピと考えることができます。
P=BPP