凸多邊形上的最優三角剖分問題也是動態規劃經典題目,此類問題基本上都是在乙個給定的凸多邊形上規劃三角形分割,使得剖分後得到的一系列三角形的某種結果最優,比如三角形的面積之和最大(或最小),或者是三角形的各邊權重之和最大(或最小)等。這一課,我們要介紹的題目是要求根據三角形的權重之和最小來剖分多邊形,結合這個題目,希望大家能夠掌握如何分析此類問題,並用動態規劃的方法設計出求解此類問題的演算法實現。如圖(1)所示,把乙個凸多邊形分割成多個三角形有多種剖分形式,根據題目給出的條件,每種分割方法得到的三角形的權重之和也各不相同。用動態規劃方法解決演算法問題,首先要確定子問題和各決策階段狀態的定義,然後給出最優子結構的性質。每個決策階段的狀態,實際上就是子問題在這個決策階段的解,這個階段的最優解一般是根據最優子結構的性質由之前各階段的解和當前的最優決策堆疊出來。因此,用動態規劃法解決演算法問題的關鍵是識別出子問題並給出決策狀態的定義。
圖(1)多邊形分割示意圖
在第4-1課:如何理解動態規劃法中介紹了一種分析定義子問題的方法,就是確定問題的規模,通過縮小問題規模的方式確定子問題,這裡不妨應用一下。
<
凸多邊形最優三角剖分
問題描述 使用動態規劃演算法解凸多邊形最優三角剖分問題,具體來說就是,依據遞迴式,按照順序求得子問題,使得該三角剖分中諸三角形上權之和為最小。輸入形式 在螢幕上輸入凸多邊形頂點個數和頂點座標。輸出形式 最優三角剖分後的三角形頂點。樣例輸入 8 26 0 20 0 10 10 0 22 12 27 2...
凸多邊形的最優三角剖分
如圖所示,用頂點的逆時針序列表示凸多邊形,即p 表示具有n條邊的凸多邊形。給定凸多邊形p,以及定義在由多邊形的邊和弦組成的三角形上的權函式w。如圖所示劃分,要求確定該凸多邊形的三角剖分,使得該三角形上的勸之和最小。解析 若凸 n 1 邊形p 的最優剖分t包含三角形v0vkvn,1 k n 1,則t的...
4 5 凸多邊形最優三角剖分
動態規劃法解凸多邊形最優三角剖分 1 凸多邊形的三角剖分 將凸多邊形分割成互不相交的三角形的弦的集合t。2 最優剖分 給定凸多邊形p,以及定義在由多邊形的邊和弦組成的三角形上的權函式w。要求確定該凸多邊形的三角剖分,使得該三角剖分中諸三角形上權之和為最小。定義乙個頂點到其他頂點的權 weights ...