計算機算法設計與分析(第6版)-課件 ch0307電路布線_第1頁
計算機算法設計與分析(第6版)-課件 ch0307電路布線_第2頁
計算機算法設計與分析(第6版)-課件 ch0307電路布線_第3頁
計算機算法設計與分析(第6版)-課件 ch0307電路布線_第4頁
計算機算法設計與分析(第6版)-課件 ch0307電路布線_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電路布線LET'SEMBARKONTODAY'SSHARINGJOURNEYTOGETHER01問題背景與定義Let'sembarkontoday'sjourneyofsharingandcommunicationtogether電路布線問題的實際背景在一塊電路板上,上下兩端各有n個接線柱,需用導線將上端接線柱i與下端接線柱π(i)相連。為避免短路,同層連線不得相交,需將連線分配到不同絕緣層。該問題可抽象為在排列π中找出最大不相交子集,為后續(xù)算法設計奠定場景基礎。電路布線問題場景描述相交條件與問題目標當且僅當i<j且π(i)>π(j)時,兩條連線相交?;诖艘?guī)則,問題目標轉化為在集合Nets={(i,π(i))}中尋找最大子集,使其中任意兩條連線均不相交。該轉化將布線工程問題抽象為純數(shù)學的組合優(yōu)化問題。相交判定規(guī)則明確問題目標是尋找最大不相交子集,即將布線工程問題轉化為數(shù)學優(yōu)化問題,為后續(xù)動態(tài)規(guī)劃算法的設計提供了清晰的方向和目標。問題目標明確02最優(yōu)子結構剖析Let'sembarkontoday'sjourneyofsharingandcommunicationtogether符號體系建立定義N(i,j)為滿足t≤i且π(t)≤j的連線集合;MNS(i,j)為其最大不相交子集;Size(i,j)記錄該子集大小。通過限制i與j的范圍,將原問題拆分為規(guī)模更小的子問題,為遞歸求解奠定基礎。子問題拆分將原問題拆分為規(guī)模更小的子問題,是動態(tài)規(guī)劃解決問題的關鍵步驟。通過限制i與j的范圍,可以將復雜的電路布線問題分解為多個相對簡單的子問題,便于逐步求解。遞歸求解基礎為遞歸求解奠定基礎,是動態(tài)規(guī)劃解決問題的核心思想。通過將原問題分解為多個子問題,可以利用子問題的解來構建原問題的解,從而實現(xiàn)復雜問題的逐步求解。子問題定義與符號約定邊界與遞推關系當i=1時,若j<π(1),則Size(1,j)=0,表示無法包含第一條連線;否則為1,表示可以包含。該初始化對應i=1的邊界情況,為后續(xù)逐行填充建立正確起點。邊界情況處理01當i>1且j<π(i)時,連線i不在子問題范圍內,Size(i,j)=Size(i-1,j);當j≥π(i)時,分兩種情況:若選連線i,則Size(i,j)=Size(i-1,π(i)-1)+1;若不選,則Size(i,j)=Size(i-1,j)。遞推關系建立02該遞推關系是動態(tài)規(guī)劃算法的核心,通過遞推關系可以逐步求解子問題的最優(yōu)解,并最終得到原問題的最優(yōu)解。動態(tài)規(guī)劃核心03遞推關系為算法實現(xiàn)提供了基礎,通過遞推關系可以設計出高效的算法來求解電路布線問題。算法實現(xiàn)基礎0403動態(tài)規(guī)劃算法Let'sembarkontoday'sjourneyofsharingandcommunicationtogether二維表初始化策略初始化策略算法MNS的第一步是初始化二維數(shù)組size[1][j]。當j小于C[1]時置0,表示無法包含第一條連線;否則置1,表示可以包含。起點建立該初始化對應i=1的邊界情況,為后續(xù)逐行填充建立正確起點,同時展示動態(tài)規(guī)劃“自底向上”填表的典型流程。算法采用雙重循環(huán)實現(xiàn)遞推填充。外層i從2到n,內層j分兩段處理。當j<C[i]時直接繼承上一行結果;當j≥C[i]時取max(size[i-1][j],size[i-1][C[i]-1]+1)。雙重循環(huán)實現(xiàn)該循環(huán)嚴格實現(xiàn)遞推公式,確保每個狀態(tài)僅依賴已計算的前驅狀態(tài),體現(xiàn)動態(tài)規(guī)劃避免重復計算的優(yōu)勢。避免重復計算通過避免重復計算,算法的效率得到了顯著提升,能夠快速求解電路布線問題。算法效率提升最終狀態(tài)與返回值當i=n時需特殊計算size[n][n]=max(size[n-1][n],size[n-1][C[n]-1]+1)。該步驟整合全部前驅信息,得到全局最優(yōu)值Size(n,n),即最大不相交連線數(shù)。最終狀態(tài)計算04回溯構造最優(yōu)解

Let'sembarkontoday'sjourneyofsharingandcommunicationtogether回溯構造Traceback思路算法Traceback從右下角(n,n)開始逆向掃描:若size[i][j]≠size[i-1][j],說明連線i屬于最優(yōu)解,將其加入結果并跳至(i-1,C[i]-1);否則繼續(xù)向上。反向掃描該過程利用動態(tài)規(guī)劃表的結構化信息,實現(xiàn)由值到方案的映射,即將數(shù)值最優(yōu)轉化為實際布線方案。方案映射算法核心思想反向掃描是算法Traceback的核心思想,通過反向掃描可以逐步構建出最優(yōu)解,實現(xiàn)從數(shù)值到實際方案的轉換。邊界處理與結果輸出對i=1進行特殊處理:當剩余j≥C[1]時,第一條連線必被選中。最終數(shù)組Net按逆序存儲所有選中連線編號,m記錄總數(shù)。01通過完整展示邊界判斷與數(shù)組填充,算法能夠輸出完整的最優(yōu)解,為電路布線問題提供實際的解決方案。

02完整方案輸出特殊處理05復雜度與優(yōu)化Let'sembarkontoday'sjourneyofsharingandcommunicationtogether時間空間復雜度分析復雜度結論算法MNS需O(n2)時間與O(n2)空間,源于雙重循環(huán)與二維表;Traceback僅需O(n)時間,因其單次逆向掃描。權衡依據(jù)通過對比展示動態(tài)規(guī)劃在時間與空間上的權衡,為后續(xù)優(yōu)化討論提供量化依據(jù)??臻g優(yōu)化與拓展思考由于每行僅依賴前一行,可將二維表降至一維滾動數(shù)組,空間降至O(n)??臻g壓縮01該模型可拓展至多層布線、帶權重連線等場景,以及動態(tài)規(guī)劃在其他EDA問題中的應用。拓展場景03通過優(yōu)化和拓展,形成了由具體到一般的認知提升,掌握解決同類問題的通用方法論。方法論提升04通過空間壓縮,算法的空間復雜度得到了顯著降低,提高了算法的效率和實用性。優(yōu)化效果0206算法總結Let'sembarkontoday'sjourneyofsharingandcommunicationtogether02010403

從工程場景抽象數(shù)學模型,證明最優(yōu)子結構,設計動態(tài)規(guī)劃算法,構造最優(yōu)解,并分析復雜度。求解路徑回顧強調“問題抽象—遞推建?!砀裼嬎恪桨富厮荨钡乃牟椒妒?,形成解決同類組合優(yōu)化問題的通用方法論。四

溫馨提示

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

評論

0/150

提交評論