计算机数学一 (2).ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目的:培养学生在遇到新问题时,总有思考下列问题的习惯: 新问题可解吗? 对新问题有哪些可能的途径、算法来求解它? (一般角度)求解新问题最好或最坏可能的算法是什么? 求解新问题的某个(新)算法有多好?它是有效算法吗? 是否存在求解新问题的更好的算法? 最大流问题 从一个地点到另一个地点运算货物,一定时间内的最大运量? 独立集问题(Independent set problem):给定图G=(V,E),找顶点数最少的V的子集S,使得S中任意两个顶点不相邻。 问题(problem),以下常用符号∏ 来表示, 是指一个有待回答的,通常含有几个其值还未确定的自由变量的一个一般性提问(question).它由两部分决定: 一是对其所有参数的一般性描述; 二是对该问题的答案所应满足的某些特性的说明. 一个问题的某个例子,以下常用符号I 表示,则可通过指定问题中所有参数的具体取值来得到. 算法(algorithm) 可用来求解某一问题的、带有一般性的一步一步的过程. (或者讲)由明确指定操作顺序的规则所组成的若干个语句(statement),也叫(step)步的集合,只要按照规则一步一步地执行一定数目的语句,便可求出问题的解答. 它是用来描述可在任何一种计算机上实现的任一计算流程或计算机程序的抽象形式,其一般性可以超越任何具体实现时的细节. 因此,复杂性理论中对算法的定义不同于我们通常所理解的具体算法:即用某种计算机语言编写的、可在某一特定计算机上实现的计算机程序. 程序” = ”算法+数据结构 对算法的研究:第一步是设计算法,第二步是复杂性分析(这一步往往被忽略) I ∈ ∏具体实例=算法→ 实例的解 最左端是输入,最右端是输出. 称一个算法解决某问题∏ ,是指该算法可应用到∏的任一例子I,并保证总能找到该例子的一个解. Remark:实际中,所谓求解某个问题的算法常常是指该算法可以精确求解问题的一个或某些例子,或是指算法可找到问题满足精度要求的解,而按照这里的定义就不能说那个算法求解了相应的问题. 编码方案 算法复杂性都涉及到输入问题的规模,什么能代表问题的规模呢? 以图G=(V,E)作为例子 从上表我们能观察到为什么研究者更加渴望获得一个问题的多项式算法 多项式算法与指数形算法的不同是整个组合优化及 NPC理论的核心 Cobham(1964)及Edmonds(1965),首先开始研究两类算法的不同 Edmonds开始把多项式算法等价于好的算法(或者讲有效的算法) 难处理的问题等价于没有找到多项式算法,当然多项式算法与指数形算法允许一些例外,比如 n52n(n≤20) 实践中,有些指数形算法也特别的有用 比如单纯形法,它是指数形算法,但是实践中运行绝大部分问题都是非常快速的 这也使得一些研究者认为寻找多项式算法是否必要,不幸的是,这样的例子非常的少 一般我们考虑的多项式时间算法并不涉及非常大的系数,比如1099n2 两类难处理问题 一、该问题是如此的困难以至于需要用指数形算法求出一个解。 二、该问题的解是如此的复杂以至于它不能用多项式长度的界来描述它。 例:对于售货商问题,给定一个数B, 1. 是否存在旅行路线有总长度不大于B? 2. 是否所有的旅行路线都有总长度为B或者更少? 难处理问题 最早Tuing(1936)年,证明不可能指定任何一个算法能解决所有的组合优化问题 第一个关于决定问题的例子被Hartmains and Stearns(1965)年获得 所有可证明问题属于两类:undeciable 或者 nonderministically 绝大部分这类问题能在非确定形图灵机上有多项式时间得到解决 NPC问题研究历史 Dantzig[1960]:一个组合优化问题转化为一个0-1整数规划问题 Edmonds[1962]: 顶点覆盖问题转化为独立集问题 Dantzig, Blattner, Rao[1966], 货郎担问题到带负数的最短路问题 NPC问题 Cook[1971]获得一个划时代的结果: 1. 他定义了多项式时间转化概念 2. 他定义了 NP类问题的概念, 实际中遇到的绝大部分组合优化问题都属于此类 3. 他给出第一个NPC问题,即NP类最困难的问题 思考题: 破圈法求最小生成树的时间复杂度? 例:合理的实例大小 背包问题实例I大小: 高速公路连接问题: 最短路问题: )} , ( max{log | E | | I | )} , ( max{log | | | | j i c j i c E I = = Vertex-Cover: 有界 ,若 或 )} , ( max{log | E | | I | )} , ( max{log | | | | j i c j i c E I = = 旅行商问题 一个不

文档评论(0)

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

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

1亿VIP精品文档

相关文档