1. 程式人生 > >論區間動態規劃——平行四邊形優化

論區間動態規劃——平行四邊形優化

區間動態規劃:

  針對區間問題的最優解而產生的一種動態規劃演算法,通常以區間為狀態來記錄最優解,故狀態為O(N^2)

  而轉移則是列舉這段區間中的決策點,通過兩個更小的區間最優解得合併來得到這段區間的狀態,故轉移為(N)

  則狀態O(N^2),轉移O(N),總時間複雜度為O(N^3)

  例如f[i][j]表示i~j這段區間的最優解,則有f[i][j]=opt(f[i][k]+f[k+1][j]+w(i,j))(i+1<=k<=j-1)

  同時對於某些滿足四邊形不等式的的區間動態規劃,因具有決策單調性,故可以通過縮小最優決策點的範圍來使得轉移從O(N)變為O(1),這樣優化後的區間動態規劃時間複雜度就降為了O(N^2)

  以下是對區間動態規劃平行四邊形優化的正確性證明:

(部落格正在更新.......請耐心等待作者上傳O(∩_∩)O)