算法合集之《淺談最短徑路問題中的分層思想》.ppt_第1頁
算法合集之《淺談最短徑路問題中的分層思想》.ppt_第2頁
算法合集之《淺談最短徑路問題中的分層思想》.ppt_第3頁
算法合集之《淺談最短徑路問題中的分層思想》.ppt_第4頁
算法合集之《淺談最短徑路問題中的分層思想》.ppt_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

淺談最短徑路問題中的分層思想 福建省泉州市第七中學呂子鉷 引言 最短路徑問題 分層思想 城市規(guī)劃交通導航網(wǎng)絡尋優(yōu) 動態(tài)規(guī)劃中的階段劃分基于求阻塞流的最大流算法 強強聯(lián)合 主要內(nèi)容 利用分層思想建立模型拯救大兵瑞恩fencecowrelay 應用分層思想優(yōu)化算法bicroads 例題一拯救大兵瑞恩 CTSC99 有一個長方形的迷宮 被分成了N行M列 共N M個單元 南北或東西方向相鄰的兩個單元之間可以互通 或者存在一扇鎖著的門 又或者存在一堵不可逾越的墻 迷宮中有一些單元存放著鑰匙 總共有P類鑰匙 對應P類門 只有對應的鑰匙才能打開對應的門 例題一拯救大兵瑞恩 CTSC99 從一個單元移動到另一個相鄰單元的時間為1 拿取所在單元的鑰匙的時間以及用鑰匙開門的時間忽略不計 求從 1 1 到 N M 的最短時間 N M不大于15 P不大于10 分析 簡化問題 忽略門和鑰匙 把每個單元看成頂點 相互連通的單元之間連一條邊權為1的邊 分析 分層 考慮鑰匙狀態(tài)對門的影響 把圖分成2P層 分別對應持有鑰匙的2P種狀態(tài) 分析 邊 1 根據(jù)鑰匙的狀態(tài)改造每層圖 使相鄰的連通節(jié)點間有長度為1的邊 分析 邊 2 對于存有鑰匙的頂點 向表示得到鑰匙后鑰匙狀態(tài)的層的對應頂點連一條長度為0的邊 分析 復雜度 使用寬度優(yōu)先搜索求最短路 時間復雜度和空間復雜度均為O 2PNM 小結 將圖進行分層是因為在同一層圖上難以準確地表現(xiàn)出圖在不同條件下的狀況或圖的其他因素 分層的圖分別表示不同的條件 加強了圖的性質(zhì) 使得在分層圖能夠使用基本的最短路算法求解原來的復雜問題 例題二roads CEOI98 n個城市有單向道路連接 每條路有固定的長度和費用 路徑上的費用不大于k 求從城市1出發(fā)到達城市n的最短路徑 例題二roads CEOI98 費用k是不大于10000的非負整數(shù)城市數(shù)n是不大于100的正整數(shù)道路數(shù)m是不大于10000的正整數(shù)每條道路的長度是不大于100的正整數(shù)每條道路的通行稅是不大于100的非負整數(shù) 分析 圖 我們把城市看成節(jié)點 城市之間的道路看成邊 本題與一般求最短路的問題相比 不同之處在于邊上有費用 距離兩個權值 分析 算法一 分層 把圖拆分成k 1層 表示到達該層頂點所需的費用分別為0到k 分析 算法一 邊 每條邊拆成O k 條邊 邊的兩個頂點的所在層的費用之差表示費用 邊的權值表示道路長度 分析 算法一 復雜度 由于道路長度是正整數(shù) 采用Dijkstra算法求最短路 圖是稠密的 優(yōu)先隊列直接使用一維數(shù)組 時間復雜度為O k kn2 m 分析 算法二 由于費用是非負的 這意味著邊只能從一個節(jié)點指向同一層的節(jié)點或費用更大的層的節(jié)點 按照費用從低到高的順序?qū)γ繉忧笞疃搪?而非一次性對所有點求最短路 每一層求最短路的時間復雜度為O n2 m 時間復雜度降為O k n2 m 分析 算法三 由于題目已經(jīng)給定費用的最大值 所以我們很自然地直接以費用的多少進行分層 但是我們忽略了一個條件 道路長度是正整數(shù) 而不僅是非負整數(shù) 可以以道路長度進行分層 然后使用動態(tài)規(guī)劃 分析 算法三 轉(zhuǎn)移方程 令f i j 表示到達城市j長度為i的所有路徑所花費的最少費用 轉(zhuǎn)移方程為 f 0 1 0f 0 j j 2 n f i j max f i len j0 fee 城市j0到城市j有一條長度為len 費用為fee的道路 分析 算法三 復雜度 設每條道路長度的最大值為L 那么總共有O nL 個階段 每個階段的轉(zhuǎn)移的復雜度O m 算法三的時間復雜度為O nLm 效率有所提高 小結 分層圖的層是我們構建模型時復制的 許多圖的元素都是相同或相似的 不需要增加額外的空間或操作 分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論