在一些動態規劃中狀態轉移方程是這樣的:
$m[i,j]=\min_\left \$
顯而易見,這種方法的時間複雜度是$o(n^)$,如何去優化呢?
四邊形不等式
通過四邊形不等式的優化,可以進一步限定$k$的範圍,從而可以將事件複雜度降為 $o(n^)$,我們最終的目的是證明決策變數$k$的單調性
此優化方法由姚期智的夫人儲楓(frances yao)所寫,我看的有點懵
價值函式$c[i][j]$
$c[b,c]\leq c[a,d],\left \ \dots \dots\dots(1)$
滿足公式(1),則說明價值函式$w[i][j]$滿足區間單調性
$c[a,c]+c[b,d]\leq c[b,c]+c[a,d],\left \ \dots \dots\dots(2)$
滿足公式(2),則說明價值函式$w[i][j]$滿足四邊形不等式
狀態轉移函式$m[i][j]$
假如有$w[i][j]$同時滿足公式(1)、(2),我們可以得到這裡的$m[i][j]$也滿足四邊形不等式,即:
$m[a,c]+m[b,d]\leq m[b,c]+m[a,d],\left \ \dots \dots\dots(3)$
**中是用數學歸納法證明的,相關參考證明過程可參考**
這裡給出我的一種理解,用分析法來思考問題,有可能會不嚴謹。
對於$m[i][j]$假如我們每次選最優的$k$不斷向下拆解,即$m[i][j]=m[i][k-1]+m[k][j]+c[i][j]$,直到拆解成$m[i][i]$
那麼對於兩邊的$c$陣列我總能用公式(2)得到不等式的關係,而$m[i][i]$為0,這樣公式(3)就是滿足的
決策變數的單調性
我們用$k[i,j]$表示$m[i][j]$取得最小值時的決策值
當狀態轉移函式$m[i][j]$滿足(3)的時候,我們有:
$k[i,j-1]\leq k[i][j]\leq k[i+1,j] \dots \dots\dots(4)$
根據對稱性只需要證明$k[i,j-1]\leq k[i][j]$,假設$x=k[i,j-1]$,對任意$i < y\leq x\leq j-1
$m[y,j-1]+m[x,j] \leq m[y,j]+m[x,j-1],\left \$
不等式兩側同時加上:
$w[i,j-1]+w[i,j]+m[i,x-1]+m[i,y-1]$
然後有:
$m_[i,j-1]+m_[i,j] \leq m_[i,j]+m_[i,j-1]$
因為:$m_[i,j-1] \leq m_[i,j-1]$
所以:$m_[i,j] \leq m_[i,j]$
從而可以確定$k[i][j]$不可能小於$x$,也就是說$k[i,j-1] \leq k[i,j]$
refence:
四邊形不等式優化
先占個坑,準備學習一把運籌學,好像裡面很多最優化的內容都是和演算法設計相關聯的問題 下面內容 發現了一篇更好的部落格,粘上去,粘上去。簡介 給出乙個長度為l的木棍,以及n個切割點 要求切割成n 1段,每切一次花費都是原始的木棍長度 求最小花費 分析 實際上我們可以看做是n 1個物品 這和能量項鍊是一...
四邊形不等式優化
例 一條筆直的高速公路上有n個村莊,每個村莊都有乙個整數字置座標,不同村莊的座標不同,現在要在其中的 p 個村莊上建立郵局。請問如何安排郵局的位置可以使得每個村莊到其最近郵局的距離和最小,輸出這個最小值。輸入格式 第一行包含兩個整數n和p,分別表示村莊數量以及郵局數量。第二行包含n個整數,表示n個村...
四邊形不等式
總結一下最近幾天對dp優化中的四邊形不等式的學習。證明什麼的似懂非懂,我還是太年輕了。第一種,n 2 nlogn 例題 由於許可權問題 不公開題面 就是1個體積均為1 300,100000個物品,做乙個100000的揹包。發現體積最多只有 300 種,分開做。對於同種體積的物品,顯然按照價值從大到小...