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

下載本文檔

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

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論