優化課上學到了一個非常有意思的例子,學期末疲於奔命之餘做個筆記。
眾所周知,求無向圖的全局最大割是 的:對於無向帶權圖 ,求 ,最大化所有滿足 的邊權之和。
許多OI選手也許知道,我們很容易得到最大割的0.5-近似:只需要以1/2的概率對每個頂點隨機採樣得到 ,顯然有 。所以有 ,故一定存在一種割的方案,大於等於 。
怎麼做得更好?直接的想法是使用整數線性規劃:定義變數 。求解
意義是很顯然的。然後,我們把它作為一個普通的線性規劃來求解。
然而,這不是一個好的鬆弛方法。注意到令 ,那麼就得到了一個所有 的平凡解。
事實上,使用半正定規劃,可以得到一個更優秀的近似。半正定規劃是指有如下形式的問題:
其中 為矩陣內積,即 。 指 半正定。
不難發現這個問題的可行集是一個凸集,故半正定規劃是凸優化的一個特例,可以多項式時間求解。
想法是這樣的:我們把
擴展為
中單位球上的單位向量
,使用兩個向量的夾角表示兩個頂點是否在同一個割集內。若
越接近1,我們越傾向於把
放在同一個割集內;若之越接近-1,我們越傾向於把
作為一個割邊。