最优化方法在计算机业的应用.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优化方法在计算机业的应用

动态规划方法在计算机专业的应用科目:最优化方法姓名:***专业:计算机科学与技术学号:201320405指导老师:***日期:2014/1/9动态规划方法在计算机专业的应用摘要:最优化方法是一门很有用的学科,本文结合计算机专业,讨论了用动态规划方法解决计算最长公共子序列、最大字段和、背包问题的过程,并对比其它算法以说明动态规划方法的高效、实用。关键词:动态规划,最优化,算法分析Abstract: The optimization method is a useful discipline, this paper, a computer professional, discusses the process used to calculate the dynamic programming method to solve the longest common subsequence, the maximum field and, knapsack problem, and compared to other algorithms to illustrate the dynamic programming method efficient and practical.Keywords: dynamic programming, optimization, algorithm analysis动态规划(dynamic programming)是通过结合子问题的解而解决整个问题的。(此处“programming”是指一种规划,而不是指写计算机代码。)动态规划适用于子问题不是独立的情况,也就是各子问题包含公共的子子问题。在这种情况下,若用分治法则会做很多不必要的工作,即重复地求解公共的子子问题。动态规划算法对每个公共的子子问题只求解一次,将其结果保存在一张表中,从而避免了每次遇到各个子问题时重新计算答案。算法设计与优化动态规划通常应用于最优化问题。此类问题可能有很多可行解。每个解有一个值,而我们希望找出一个具有最优(最大或最小)值的解。称这样的解为该问题的“一个”最优解(而不是“确定的”最优解),因为可能存在多个取最优值的解。 动态规划算法的设计可以分为如下4个步骤:描述最优解的结构。递归定义最优解的值。按自底向上的方式计算最优解的值。由计算出的结果构造一个最优解。第1~3步构成问题的动态规划解的基础。第4步在只要求计算最优解的值时可以略去。如果的确做了第4步,则有时要在第3步的计算中记录一些附加信息,使构造一个最优解变得容易。 接下来的各节利用动态规划方法来求解一些最优化问题。比如包括两个汽车装配线的调度问题,在经过每个装配站后,组装中的汽车可以留在同一条装配线上,或者移动到另外一条装配线。如何通过做一连串的矩阵乘法,使得所做的标量乘法总次数最少。此外,例如如何在已知待有哪些信誉好的足球投注网站的关键字分布的情况下,如何利用动态规划构造最优的二叉查找树,这些算法问题都可利用动态规划方法来解决。(一)最长公共子序列1、具体问题(1)、若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。(2)、给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。(3)、给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。2、分析设序列X={x1,x2,…,xm}和Y={y1,y2,…,yn}的最长公共子序列为Z={z1,z2,…,zk} ,则(1)若xm=yn,则zk=xm=yn,且zk-1是xm-1和yn-1的最长公共子序列。(2)若xm≠yn且zk≠xm,则Z是xm-1和Y的最长公共子序列。(3)若xm≠yn且zk≠yn,则Z是X和yn-1的最长公共子序列。由此可见,2个序列的最长公共子序列包含了这2个序列的前缀的最长公共子序列。因此,最长公共子序列问题具有最优子结构性质。3、子问题的递归结构由最长公共子序列问题的最优子结构性质建立子问题最优值的递归关系。用c[i][j]记录序列和的最长公共子序列的长度。其中, Xi={x1,x2,…,xi};Yj={y1,y2,…,yj}。当i=0或j=0时,空序列是Xi和Yj的最长公共子序列。故此时C[i][j]=0。其它情况下,由最优子结构性质可建立递归关系如下:由于在所考虑的子问题空间中,总共有θ(mn)个不同的子问题,因此,用动态规划算法自底向上地计算最优值能提高算法的效率。计算最优

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档