• 検索結果がありません。

線形計画法の適用

ドキュメント内 1 (ページ 37-41)

充足可能性問題は,整数計画問題 Pint として以下のように定式化される.φ={Cj :j [m]} X ={x1, . . . , xn}上の CNF 論理式として,

目的関数 : ∑

j[m]

yj

制約式 : ∑

xiCj

zi+ ∑

¯ xiCj

(1−zi)≥yj forj∈[m]

yj, zi ∈ {0,1}

9.3. X={x1, . . . , x5} 上の 3-CNF 論理式φが以下のようであるとき,

φ = {x1,x1∨x2),(x1∨x¯2∨x¯3),(¯x1∨x¯3∨x4),x¯2,x3∨x¯4∨x¯5)} φが入力である整数計画問題は以下のようになる.

目的関数 : ∑

j[6]

yj

制約式 :



















z1 y1

(1−z1) +z2 y2

z1+ (1−z2) + (1−z3) y3 (1−z1) + (1−z3) +z4 y4

1−z2 y5

(1−z3) + (1−z4) + (1−z5) y6

yj, zi∈ {0,1}

上の定式化において,変数yj, zi のとる値を緩和して,以下のような線形計画問題 Plin を考える.

yj, zi ∈ {0,1} yj, zi [0,1]に緩和される.) 目的関数 : ∑

j[m]

yj

制約式 : ∑

xiCj

zi+ ∑

¯ xiCj

(1−zi)≥yj forj∈[m]

yj, zi [0,1]

事実 9.7. 一般に,整数計画問題はNP困難である.一方,線形計画問題は多項式時間計算可能である.

補題 9.8. φ = {Cj : j [m]} の最適解を t とする.φ について線形計画問題 Plin の最適解を yj, zi[0,1]とする.このとき,

j[m]

yj val(t).

9.9. この補題を証明しなさい.

入力:X 上の CNF論理式 φ

1. 線形計画問題 Plin を解く.(最適解をy [0,1]m,z∈[0,1]n とする.

2. 以下のような確率で決められるランダムな割り当て t:X → {0,1} を出力する.

Prt{xi = 1} = zi

Prt{xi = 0} = 1−zi

図16: 線形計画法を用いた乱択アルゴリズム

9.10. 3変数で5個の節からなる適当な入力を考案して,その入力に対する図 16 のアルゴリズ

ムの動作及び出力を示しなさい.(線形計画問題を解くときは,単体法などを用いて手計算で解くこ と.ソルバを利用しないこと.)

定理 9.3. φを,X 上の任意のk-CNF 論理式とする.図16のアルゴリズムの出力を tφの最適 解を t とする.このとき,

Et[val(t)] (1(11/k)k)val(t).

証明. φ = {Cj : j [m]} とする.まず,任意の j [m] について,Cj が充足する確率を求める.

C1 = (x1∨ · · · ∨xk) とした場合,C1 が充足する確率は,

Prt {tにより C1 が充足する} = 1

i[k]

(1−zi)

1 (∑

i[k](1−zi) k

)k

(∵ 相加相乗平均の公式)

= 1 (

1

i[k]zi

k )k

1(1−y1/k)k

∵ ∑

i∈[k]

zi≥y1

(1(11/k)k)y1. (∵ 下の問)

9.11. h(z) = 1−(1−z/k)k とする.kは任意の自然数.)このとき,0≤z≤1について,

h(z) (1(11/k)k)z.

この導出からも分かるように,C1 = (x1∨ · · · ∨xk) としても一般性を失わない.

9.12. C1 = (x1∨x¯2∨x¯3) のとき,C1 が充足する確率の下界はどうなるか.それを導出するた めの途中計算式を示しなさい.

任意の j [m]について上の式が成り立つから,定理 9.2 と同様(val(t) = Z = ∑

j[m]Zj)に して,

Et[val(t)] = ∑

j[m]

Et[Zj]

= ∑

j[m]

Prt {tにより Cj が充足する}

j[m]

(1(11/kj)kj)yj (∵ |Cj|=kj)

(1(11/k)k) ∑

j[m]

yj (∵ 1(11/k)k は減少関数)

(1(11/k)k)val(t). (∵ 上の補題)

9.13. 1(11/k)k が単調減少関数(k≥1)であることを示しなさい.

定義9.6

任意のk∈N について,g(k)def= 1(11/k)k とする.

9.2. g(k)は,大きさkの節が(Plinを解くことにより得られたランダムな割り当てにより)充足す る確率(の下界)を意味する.g(k)は単調減少関数であり,任意のk∈Nに対して,1−1/e≤g(k)<1

9.14. 任意の自然数 k について,(11/k)k1/eであることを示しなさい.

9.3. 二つの関数 f(k) と g(k) を比較する.f(k) は増加関数であり,g(k) は減少関数である.

f(k) =g(k) となるのはk= 2 のときで,f(2) =g(2) = 0.75

k 1 2 3 4 5

f(k) 0.5 0.75 0.875 0.9375 0.9687 g(k) 1 0.75 0.7037 0.6835 0.6723

入力:X 上の CNF論理式 φ

1. 線形計画問題 Plin を解く.(最適解をy [0,1]m,z∈[0,1]n とする.

2. 以下のような確率で決められるランダムな割り当てをt1 :X→ {0,1} とする.

Pr{xi= 1} = zi

Pr{xi= 0} = 1−zi

3. t2 を一様ランダムな割り当てとして,等確率でt1 または t2tとして出力する.

図17: 二つのアルゴリズムの融合

定理 9.4. φを,X 上の任意のk-CNF 論理式とする.図17のアルゴリズムの出力を tφの最適 解を t とする.このとき,

Et[val(t)] (3/4)val(t).

証明. φ = {Cj : j [m]} とする.まず,任意の j [m] について,Cj が充足する確率を求める.

C1 = (x1∨ · · · ∨xk) とした場合,C1 が充足する確率は,

Prt {tにより C1 が充足する} ≥ 1

2f(k) +1 2g(k)y1

= 1

2(12k) + 1

2(1(11/k)k)y1

1 2y1

(

(12k) + (1(11/k)k) )

(∵ y1 1)

= 1 2y1

(

22k(11/k)k )

3

4y1 (∵ 下の問い)

任意のj [m]について上の式が成り立つから,定理9.2 と同様(val(t) =Z =∑

j[m]Zj)にして,

Et[val(t)] = ∑

j∈[m]

Et[Zj] = ∑

j∈[m]

Prt {tにより Cj が充足する} ≥

j∈[m]

(3/4)yi (3/4)val(t).

■ 問 9.15. 任意の正整数 k≥1 について,(22k(11/k)k)3/2 であることを示しなさい.

ドキュメント内 1 (ページ 37-41)

関連したドキュメント