ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:459.50KB ,
资源ID:8369365      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8369365.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(动态规划电路布线.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

动态规划电路布线.doc

1、课程设计说明书(论文)用纸 摘 要 动态规划是解决多阶段决策最优化问题的一种思想方法。所谓“动态”,指的是在问题的多阶段决策中,按某一顺序,根据每一步所选决策的不同,将随即引起状态的转移,最终在变化的状态中产生一个决策序列。动态规划就是为了使产生的决策序列在符合某种条件下达到最优。动态规划思想近来在各类型信息学竞赛中频繁出现,它的应用也越来越受人重视。本文就是讨论如何运用动态规划的思想设计出有效的数学模型来解决问题 常用的解决电路布线问题的算法的时间和空间的复杂度都是O(n2)。这里n为一块电路板的上端(或下端)接线柱的个数。现给出一种时间复杂度为O(log)的新算法。 关键词:

2、动态规划 ,电路布线 目 录 1 问题描述 1 2 问题分析 2 3 建立数学模型 3 4 算法设计 5 5 算法实现 6 结 论 7 参考文献 8 II 1 问题描述 在一块电路板的上、下两端分别有n个接线柱。根据电路设计,要求用导线(i,π(i)) 将上端接线柱i与下端接线柱π(i)相连,如下图。其中,π(i),1≤ i <≤n,是{1,2,…,n}的一个排列。导线(I, π(i))称为该电路板上的第i条连线。对于任何1 ≤ i ≤ j ≤n,第i条连线和第j条连线相交的充要条件是π(i)> π(j). 图1-1 在

3、制作电路板时,要求将这n条线分布到若干个绝缘层上,在同一层上的连线不能相交。电路布线问题要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。换句话说,该问题要求确定导线集Nets = {i,π(i),1 ≤ i ≤ n}的最大不想交子集。 第4页 共8 页 2 问题分析 为确定导线集Nets = {i,π(i),1 ≤ i ≤ n}的最大不想交子集,将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。现分析最优子结构性质。 记N(i,j) = {t|(t, π(i)) ∈ Nets,t ≤ i, π(t) ≤ j }. N(i,j)的最大不

4、相交子集为MNS(i,j)。Size(i,j)=|MNS(i,j)|。 1) 当i = 1时 2) 当i >1时, ① j <π(i)。此时,(i,π(i)) 不属于N(i,j)。故在这种情况下,N(i,j) = N(i-1,j),从而Size(i,j)=Size(i-1,j)。 ② j ≥π(i)。此时,若(i, π(i))∈MNS(i,j),则对任意(t, π(i))∈MNS(i,j)有t < i且π(t)< π(i);否则,(t,π(t))与(i, π(i))相交。在这种情况下MNS(i,j)-{(i, π(i))}是N(i-1, π(i)-1)的最大不相交子集。否则,

5、子集 MNS(i-1,π(i)-1)∪{(i, π(i))}N(i,j) 是比MNS(i,j)更大的N(i,j)的不相交子集。这与MNS(i,j)的定义相矛盾。 若(i, π(i))不属于MNS(i,j),则对任意(t, π(t))∈MNS(i,j),有t

6、n)。由该问题的最优子结构性质可知: 1)当i=1时, 2)当i>1时, 据此可设计解电路布线问题的动态规划算法如下,其中,用二维数组单元size[i][j]表示函数Size(i,j) void MNS(int C[], int n, int **size) { / /对于所有的i 和j,计算s i z e [ i ] [ j ] / /初始化s i z e [ 1 ] [ * ] for (int j = 0; j < C[1]; j++) size[1][j] = 0; for (j = C[1]; j <= n; j++) size[1][j

7、] = 1; // 计算size[i][*], 1 < i < n for (int i = 2; i < n; i++) { for (int j = 0; j < C[i]; j++) size[i][j] = size[i-1][j]; for (j = C[i]; j <= n; j++) size[i][j] = max(size[i-1][j], size[i-1][C[i]-1]+1); } size[n][n] = max(size[n-1][n], size[n-1][C[n]-1]+1); } 接着,构造最优解:根据算法MNS计算出

8、的size[i][j]值,容易由算法traceback构造出最后解MNS(n,n)。 void Traceback(int C[], int **size, int n, int Net[], int& m) {// 在N e t [ 0 : m - 1 ]中返回M M S int j = n; // 所允许的底部最大针脚编号 m = 0; // 网组的游标 for (int i = n; i > 1; i--) // i 号n e t在M N S中? if (size[i][j] != size[i-1][j]){// 在M N S中 Net[m++] = i;

9、 j = C[i] - 1;} // 1号网组在M N S中? if (j >= C[1]) net[m++] = 1; // 在M N S中 } 此方案的计算复杂度:算法MNS需要计算时间和空间。算法traceback需要计算时间。 源程序及运行结果见附录。 4 算法设计 对于在一块电路板的上、下两端分别有n个接线柱,在制作电路板时,要求将这n条线分布到若干个绝缘层上,在同一层上的连线不能相交德问题。要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。方案一将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。方案

10、二在布线区域叠上一个网格,该网格把布线区域划分成n ×m个方格,转换为用分支定界法方法求解。方案一的计算复杂度:算法MNS需要计算时间和空间。算法traceback需要计算时间。 方案二由于任意一个网格位置都至多在队列中出现 1次,所以完成网格编号过程需耗时 (对一个m ×m的网格来说)。而重构路径的过程需耗时 O(L) ,其中L为最短路径的长度 5 算法实现 在程序的中,假定起始位置和结束位置均未被封锁。程序首先检查 s t a r t和f i n i s h是 否相同,如果相同,则路径长度为0,程序终止。否则设置一堵由封锁位置构成的“围墙”,把网格包围起来。然后对o ff s e t

11、数组进行初始化,并在起始位置上标记 2 。(所有标号都增加了2,因为数组中采用0和1来表示空白位置和封锁位置,为了得到如图 6-12a 所示的标号,必须把程序中的每个标号减去2)。借助于队列Q并从位置s t a r t开始,首先移动到与s t a r t相距为1的网格位置,然后移动到与s t a r t相距为2的网格位置,不断进行下去,直到到达位置f i n i s h或者无法继续移动到一个新的、空白的位置。在后一种情况下,将不存在到达位置 f i n i s h的路径,而在前一 种情况下,位置f i n i s h将得到一个相应的编号,如果到达了位置f i n i s h,则可以利用网格上

12、的标号来重构路径。路径上的位置( start除外)均被存储在数组p a t h之中。 由于任意一个网格位置都至多在队列中出现 1次,所以完成网格编号过程需耗时 (对一个m ×m的网格来说)。而重构路径的过程需耗时 O(L) ,其中L为最短路径的长度。 结 论 对于在一块电路板的上、下两端分别有n个接线柱,在制作电路板时,要求将这n条线分布到若干个绝缘层上,在同一层上的连线不能相交德问题。要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。方案一将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。方案二在布线区域叠上一个网格,该网

13、格把布线区域划分成n ×m个方格,转换为用分支定界法方法求解。通过这次课程设计,我们对动态规划算法有了更深的认识,同时也更加熟练了C、C++和JAVA程序设计语言的运用,是开发人员必不可少的有力工具。同时,我们学到了如何用算法的思想分析一个给定的问题,最终动手解决问题。在整个过程中,需要不断的调试,更改代码,当中,我们遇到了很多棘手问题。在不断思考、调试后,不仅锻炼了我的实际动手能力,更锻炼了我们发现问题、分析问题的能力。 参考文献 [1] 严蔚敏,吴伟民.数据结构(c语言版)[M].北京:清华大学出版社,1997. [2] M.H.ALSUWAIYEL.算法设计技巧与分析[M].北京:电子工业出版社,2004. [3] 谭浩强.C++面向对象程序设计[M].北京:清华大学出版社,2006. [4] 常友渠.贪心算法的探讨与研究[M].重庆电力高等专科学报,第13卷,第13期,2008.9. [5]朱洪.算法设计和分析[M].上海科学技术文献出版社,1989,162-163. [6]卢开澄.计算机算法导引—设计与分析[M].北京:清华大学出版社,2003.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服