總結的動歸理論

2021-09-15 01:38:20 字數 2882 閱讀 8808

可以採用手動模擬!然後既然判斷使用動歸!記住乙個特點子狀態已經求出我們不用考慮子問題是什麼!只看當前狀態就行了!模擬找出動歸的迴圈方法!樹型動歸一般是用求解的。

歸就是列舉出所有的狀態,然後用乙個大陣列記錄

我們可以用乙個表來記錄所有已解的子問題的答案。不管該子問題以後是否被用到,只要它被計算過,就將其結果填入表中。這就是動態規劃法的基本思路。

且某些子問題可能被重複多次計算,因此將計算過的子問題的結果儲存。一般,放入表中。

動態規劃的顯著特徵是:無後效性,有邊界條件,且一般劃分為很明顯的階段.

下面給出動態規劃時間複雜度的決定因素:

時間複雜度=狀態總數*每個狀態轉移的狀態數*每次狀態轉移的時間[1]

最優性原理

作為整個過程的最優策略,它滿足:相對前面決策所形成的狀態而言,餘下的子策略必然構成「最優子策略」。

無後效性實質是:在後面的引用前面的結果也可以不用!!

給定某一階段的狀態,則在這一階段以後過程的發展不受這階段以前各段狀態的影響,所有各階段都確定時,整個過程也就確定了。這個性質意味著過程的歷史只能通過當前的狀態去影響它的未來的發展,這個性質稱為無後效性。

具體地說,如果乙個問題被劃分各個階段之後,階段 i 中的狀態只能由之前的有限步狀態通過狀態轉移方程得來,與其他狀態沒有關係,特別是與未發生的狀態沒有關係,這就是無後效性。

像mod 4=0 就必須引用前面的結果!所以他不是dp啊!!

使用動態程式設計方法解題的步驟

1、確定問題的研究物件,即狀態。選定的狀態必須滿足如下兩點:

⑴狀態必須完全描述出事物的性質,兩個不同事物的狀態是不同的;

⑵必須存在狀態與狀態之間的「轉移方程」,以便我們可以由初始狀態逐漸轉化為目標狀態。

由於狀態是描述事物性質的量,所以我們應該以上述要求為標準,具體情況具體分析;

2、劃分階段,確定階段之間的狀態轉移方程;

3、考察此問題可否用動態程式設計方法解決,即問題是否具備最優子結構和無後效性的特徵

4、如果發現問題目前不能用動態程式設計方法解決,則調整階段的劃分和狀態的定義,使其具備最優子結構和無後效性的特徵。

精神實質:減少重複計算和減少冗餘。

動態規劃遞迴方程是迭代方式來求解

描述階段的變數稱為階段變數。階段的劃分,一般是根據時間和空間的自然特徵來進行的,但要便於問題轉化為多階段決策。恰當的選取狀態變數和決策變數及定義最優值函式,從而把乙個大問題轉化成一組同型別的子問題。

一般地,狀態變數的選擇是從過程演變的特點中尋找。

建立動態規劃模型,就是分析問題並建立問題的動態規劃基本方程。為此,必須滿足以下條件:

1、將問題的過程劃分成恰當的階段;

2、正確選擇狀態變數sk,使它既能描述過程的演變,又要滿足無後效性;

3、確定決策變數dk及每階段的允許決策集合dk(sk);

4、正確寫出狀態轉移方程;

5、正確寫出指標函式vk,n的關係式,它應具有以下三個性質;

(1)是定義全過程和所有後部子過程上的數量函式;

(2)具有可分離性,並滿足遞推關係,即

vk,n(sk,dk,…sn+1)=f (sk,dk,vk+1,n)

(3)函式f(sk,dk,vk+1,n)對於vk+1,n要求嚴格單調。

以上五點是正確寫出動態規劃基本方程的要素。

對於當前階段的某個狀態,必定有有上個階段的子問題的某一批狀態通過對應的決策變換而來,這些子問題的一批狀態通過對應的決策應用,就導致了狀態轉移,新的狀態就是當前階段的某個狀態。由於這個新狀態的子狀態可能不止乙個,所以決策後的對應區域性解也可能不止乙個,在這些解中取乙個最優解,就是當前階段當前狀態的最優解,這個求最優解的過程可用乙個表示式來描述,這個表示式就是狀態轉移方程。

動態規劃決策過程示意圖

(1)劃分階段:按照問題的時間或空間特徵,把問題分為若干個階段。在劃分階段時,注意劃分後的階段一定要是有序的或者是可排序的,否則問題就無法求解。

(2)確定狀態和狀態變數:將問題發展到各個階段時所處於的各種客觀情況用不同的狀態表示出來。當然,狀態的選擇要滿足無後效性。

(3)確定決策並寫出狀態轉移方程:因為決策和狀態轉移有著天然的聯絡,狀態轉移就是根據上一階段的狀態和決策來匯出本階段的狀態。所以如果確定了決策,狀態轉移方程也就可寫出。

但事實上常常是反過來做,根據相鄰兩段各狀態之間的關係來確定決策。

(4)尋找邊界條件:給出的狀態轉移方程是乙個遞推式,需要乙個遞推的終止條件或邊界條件。

如果用i表示當前需求解的階段號(有時為了描述的方便,i也可表示當前階段的前乙個階段),j表示當前階段各個狀態(或者說是階段的各個節點編號),k表示前一階段各個子狀態能選擇的策略,用f[i,j]表示起點1到第i階段編號為j的結點(也可理解為狀態)的最短距離,那麼上面問題用動態規劃求解的大致程式結構如下:

動態規劃的指導思想是:在做每一步決策時,列出各種可能的區域性解,之後依據某種判定條件,捨棄那些肯定不能得到最優解的區域性解。這樣,在每一步都經過篩選,以每一步都是最優的來保證全域性是最優的。

篩選相當於最大限度地有效剪枝(從搜尋角度看),效率會十分高。但它又不同於貪心法。貪心法只能做到區域性最優,不能保證全域性最優,因為有些問題不符合最優性原理。

動歸的題型:

1.計算所有方案

2.計算一些階段性明顯、但不具備最優子結構特徵的問題

3.多程序的最優化決策問題

4.雙重動態規劃

5.自上而下的動態規劃

6.動態規劃前進行預處理

7.狀態的定義是提高效率的關鍵

動態規劃和一般遞推的不同點?

1、遞推的邊界條件一般很明顯,而動態規劃的邊界條件比較隱蔽,容易被忽視;

2、遞推的數學性一般較強,而動態規劃的數學性相對較弱;

3、遞推一般不劃分階段,而動態規劃一般有較為明顯的階段;

4、動態規劃往往是用來求乙個最優值,而一般的遞推往往是用來計數或是求乙個值。

動態規劃和一般遞推的相同點?

無後效性和有邊界條件。

分子動理論

基礎知識與基本技能 1 分子動理論指出 物質是由構成的,一切物質的分子都在分子之間存在著相互作用的 2 擴散現象說明一切物體的分子都在同時也表明分子間有 知識的應用 1 下列社會實踐中的例項,不能用來說明 分子在不停地運動 的是 a 灑水的地面會變 炒菜時加點鹽,菜就有了鹹味 c 掃地時,塵土飛揚d...

分子動理論的初步知識教案

教學目標 a.知道物質是由分子構成的 分子不停地做無規則運動 分子的體積和質量都非常小,在一般物體裡含有的分子數非常多 b.能識別並會解釋擴散現象,知道擴散現象表明了分子不停地做無規則運動 c.知道分子間存在作用力,分子間作用力與分子間距離有關,知道一些分子間相互作用力的例項 d.理論聯絡實際,培養...

分子動理論 無答案

一.分子動理論 物體是由大量分子組成的,分子直徑的數量級為10 10m,分子質量的數量級為10 26kg。大量分子無規則的運動叫做分子的熱運動。液體中懸浮微粒的無規則運動叫做布朗運動。分子間存在著相互作用的引力和斥力。1.物體是由大量分子組成的 物體是由分子組成的,分子也是有大小和有質量的。分子的大...