Another Definition ofClosed Convex Cone
閉凸錐の定義として, 以下のようなものもある.
(以降では, 証明を簡単にするためにこの定義を用いる)
Definition 2.2
閉集合 K ∈ Rn
が以下を満たすとき,
K を閉凸錐 (closed convex cone) とよぶ.
1. x ∈ K, α ∈ [0, ∞) ⇒ αx ∈ K
2. x, y ∈ K ⇒ x + y ∈ K
9
Dual Cone ofK∗
Theorem 2.2
閉凸錐 K ⊆ Rn
に対して, (K∗
)∗
= K が成り立つ.
(i) K ⊆ (K∗
)∗
(i.e., b ∈ K ⇒ b ∈ (K∗
)∗
) を示す.
b ∈ K とする. K∗
の定義より, 全ての y ∈ K∗
に対して,
⟨y, b⟩ = ⟨b, y⟩ ≥ 0 より, b ∈ (K∗
)∗
(ii) K ⊇ (K∗
)∗
(i.e., b /∈ K ⇒ b /∈ (K∗
)∗
) を示す.
b ∈ Rn
K とする. 分離定理より, 全ての x ∈ K について,
⟨y, x⟩ ≥ 0 かつ ⟨y, b⟩ = ⟨b, y⟩ < 0 となるベクトル y が存在する.
一つめの不等式より y ∈ K∗
. また, 2 つめの不等式より b /∈ (K∗
)∗
.
19
20.
Cone Linear Programming
K⊆ Rn
を閉凸錐とする.
このとき, 以下の非線形最適化問題を考える.
Minimize ⟨c, x⟩ (4)
subject to ⟨ai, x⟩ = bi (i = 1, . . . , m)
x ∈ K.
このように, 線形制約と錐制約のみをもち,
線形目的関数を最小化, または最大化する問題を
錐線計画問題 (cone linear programming problem) とよぶ.
20
21.
Dual Problem
(4) の双対問題(dual problem) を
Maximize b⊤
y (5)
subject to s +
m∑
i=1
yiai = c,
s ∈ K∗
.
と定める. 双対問題に対し, (4) を主問題という.
21
Semidefinite Matrix Set
n× n 次実対称行列全体の集合を Sn とおく. 即ち,
Sn = {X ∈ Rn×n
| X⊤
= X}.
また, n 次半正定値対称行列全体の集合 Pn とする. 即ち,
Pn = {X ∈ Rn×n
| u⊤
Xu ≥ 0 (∀u ∈ Rn
} ⊆ Sn
また, X, Y ∈ Sn に対して, X と Y の内積 • を
X • Y =
n∑
i=1
n∑
j=1
Xi,jYi,j
と定義する.
39
40.
Semidefinite Programming
今, Ai,C ∈ Sn と bi ∈ R (i = 1, . . . , m) が与えられたときに,
以下の最適化問題を考える.
Minimize C • X (11)
subject to Ai • X = bi (i = 1, . . . , m)
X ∈ Pn.
これを
半正定値計画問題 (semidefinite programming problem) という.
この問題は, 線形制約と錐制約のみをもち, 線形目的関数を最小化, もし
くは最大化する問題なので, 錐線形計画の一種である.
40
41.
Dual of SDP
半正定値計画問題の双対問題を,以下のように決める.
Maximize b⊤
y (12)
subject to S +
m∑
i=1
yiAi = C
S ∈ P∗
n
実は, Pn は自己双対錐である. 即ち, P∗
n = Pn.
41
42.
Dual Cone ofP∗
n
Sn−1
= {x ∈ Rn
| ∥x∥ = 1} とする.
Pn が自己双対錐であることを示す前に, 以下の補題の結果を証明なし
に用いる.
Lemma 3.1
X ∈ Rn×n
とする. 以下の 2 つは同値である.
1. X ⪰ 0
2. 以下の式を満たすある単位ベクトル ei, . . . , en ∈ Sn−1
と
非負の実数 λ1, . . . , λn が存在する.
X =
n∑
i=1
λieie⊤
i .
(証明)
( 2 ⇒ 1 )eie⊤
i が半正定値であることから, その非負結合なので X ⪰ 0.
42
43.
Dual Cone ofP∗
n
(1 ⇒ 2)
X ⪰ 0 より, X = QDQ⊤
とする. Q は正規直交基底で, D は各固有値
λi ≥ 0 (i = 1, . . . , n) を対角成分にもつ対角行列である.
D(i)
を行列の (i, i) 成分が λi, それ以外を 0 とする対角行列とすると,
X = Q(
n∑
i=1
D(i)
)Q⊤
=
n∑
i=1
QD(i)
Q⊤
=
n∑
i=1
λiei
ここで ei は Q の i 番目の列ベクトルとなる. Q は正規直交基底なので,
∥ei∥ = 1 (i = 1, . . . , n)
43
44.
Proof of P∗
n= Pn
Proposition 3.1
P∗
n = Pn
(証明)
まず, Pn ⊆ P∗
n, 即ち, X ∈ Pn ⇒ X ∈ P∗
n を示す.
X, Y ⪰ 0 とする. Lemma 3.1 より, X は λi ≥ 0 と単位ベクトル ei で
X =
∑n
i=1 λieie⊤
i とかけて, 更に Tr(AB) = Tr(BA) より,
X • Y =Tr(
n∑
i=1
λieie⊤
i Y ) =
n∑
i=1
λiTr(eie⊤
i Y )
=
n∑
i=1
λiTr(e⊤
i Y ei) =
n∑
i=1
λie⊤
i Y ei ≥ 0
44
45.
Proof of P∗
n= Pn
次に, Pn ⊇ P∗
n, 即ち, Y ∈ P∗
n ⇒ Y ⪰ 0 を示す.
任意の x ∈ Rn
について, xx⊤
⪰ 0 なので
(∀v ∈ Rn
, v⊤
(xx⊤
)v = (x⊤
v)⊤
(x⊤
v) ≥ 0),
0 ≤ Y • xx⊤
= Tr(Y xx⊤
) = Tr(x⊤
Y x) = x⊤
Y x
よって Y ⪰ 0 である.
45
Review: Maximum WeightedCut Problem
Weighted Max Cut Problem
Input: G = (V, E): 無向グラフ, c: E → R+: 重み関数
Task: (13) を最大にする S ⊆ V を求める
∑
u∈S
∑
v∈V S
c(u, v) (13)
V = {1, . . . , n}, cij = c(i, j) とする.
zi を i ∈ S のとき 1, そうでないとき −1 とすると,
最大カットの問題は (14) のように定式化できる.
Maximize
∑
{i,j}∈E
cij
1 − zizj
2
(14)
subject to zi ∈ {−1, 1}, i = 1, . . . , n
49
50.
Maxcut: Relaxation toVector Programming
再掲
Maximize
∑
{i,j}∈E
cij
1 − zizj
2
(5)
subject to zi ∈ {−1, 1}, i = 1, . . . , n
これを, 次の vector programming (6) に緩和する.
Maximize
∑
{i,j}∈E
cij
1 − u⊤
i uj
2
(6)
subject to ui ∈ Sn−1
, i = 1, . . . , n
ここで, Sn−1
= {x ∈ Rn
| ∥x∥ = 1} である.
50
51.
Maxcut: Reformulation toSDP
ui を列としてもつ以下のような行列 U ∈ Rn×n
を考える.
U = [u1u2 . . . un] (7)
X = U⊤
U とすると, 以下が成り立つ.
Lemma 4.1
X は半正定値行列である.
Proof.
v ∈ Rn
とする.
v⊤
Xv = v⊤
U⊤
Uv
= (Uv)⊤
Uv ≥ 0
51
52.
Maxcut: Reformulation toSDP
xij = u⊤
i uj を要素にもつ行列 X を考えると,
以下の半正定値計画問題 (8) に書き換えられる.
Maximize
∑
{i,j}∈E
cij
1 − xij
2
(8)
subject to xii = 1, i = 1, . . . , n
X ⪰ 0
これを解き, X から U を得ることで vector programming (6) の解を
得る.
(X の Cholesky 分解によって U は求まる)
52
53.
Mapping from Sn−1
toS0
= {−1, 1}
ランダムに p ∈ Sn−1
を選び,
以下のようにして u ∈ Sn−1
から {−1, 1} に写す.
u →
{
1 if p⊤
u ≥ 0
−1 otherwise.
(9)
p は, 単位球面 Sn−1
上のベクトルを,
閉半球面 H = {u ∈ Sn−1
| p⊤
u ≥ 0} とその補集合に分割する.
53
54.
Probability that u,u′
∈ Sn−1
map to different values
Lemma 4.2
u, u′
が (9) によって異なる値に写される確率は,
1
π
arccos u⊤
u′
.
α ∈ [0, π] を u, u′
の角度とする.
cos α = u⊤
u′
∈ [−1, 1]
よって,
α = arccos u⊤
u′
∈ [0, π]
α = 0, π のとき, 補題は成り立つ.
54
55.
Probability that u,u′
∈ Sn−1
map to different values
α ̸= 0, π のとき,
u, u′
で張る 2 次元の線型部分空間 L ⊆ Rn
を考える.
p を L に射影した r ∈ L について, p⊤
u = r⊤
u かつ p⊤
u′
= r⊤
u′
.
よって, r が下図の半開空間 W に入っているとき, かつそのときのみ,
p⊤
u と p⊤
u′
は異なる値をとる.
p は Sn−1
から一様ランダムに選ばれるので, r の向きも [0, 2π] から一
様ランダムとなる. よって, r ∈ W となる確率は, 2α/2π = α/π.
55
56.
Getting the Bound
vectorprogramming (6) の解を u∗
1, u∗
2, dots, u∗
n とする.
これまでの結果と, 期待値の線型性より,
p ∈ Sn−1
をランダムに選ぶ事によって以下が得られる.
E
∑
{i,j}∈E
cij
1 − (p⊤
u∗
i )(p⊤
u∗
j )
2
=
∑
{i,j}∈E
ci,j
arccos u∗
i
⊤
u∗
j
π
また, 数値計算によって, 以下の結果を得ることができる.
f(x) =
2 arccos (x)
π(1 − x)
≥ 0.8785672 if x ∈ [−1, 1].
よって, 全ての x ∈ [−1, 1] について, 以下の不等式が成り立つ.
arccos (x)
π
≥ 0.8785672
1 − x
2
.
56