网站大量收购闲置独家精品文档,联系QQ:2885784924

[工学]算法设计 随机算法NP问题.ppt

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

1.7 对偶与范式 凸包问题简介 随机算法简介 计算机产生随机数的方法 重复性定律 用随机投点法计算?值 举例: Quick Sort 举例: 八后问题 主元素问题 主元素问题 主元素问题 模运算 模运算 模运算 NP问题简介 问题的分类 判定问题举例 优化问题举例 问题转化 P类问题 NP类问题 NP类问题举例:图着色的判定问题 计算复杂性理论基础 P类问题和NP问题 NP完全问题举例 SAT问题(Boolean Satisfiability Problem) 旅行商问题(Traveling Salesman Problem) 0-1背包问题( 0-1 Knapsack Problem) 最大团问题(Maximum Clique Problem) 顶点覆盖问题(Vertex Cover Problem) 子集和问题(Sum of Subset Problem) 哈密顿回路问题(Hamiltonian Cycle Problem) 计算复杂性理论基础 P类问题和NP问题 大规模NP完全问题解决方法 近似算法,随机算法…… 量子计算机,DNA计算机 作业安排问题 作业安排问题续 顶点覆盖问题 对同学们的期望 判定问题: 只涉及到两种情况:yes或者no 优化问题: 涉及到极值问题 图着色的判定问题:给定无向图G=(V,E),是否可用k种颜色为V中的每一个顶点分配一种颜色,使得任两个相邻顶点都具有不同颜色。 图着色的优化问题:为无向图G=(V,E)着色,使相邻两个顶点具有不同颜色时所需要的最少颜色数目。 n阶图G,颜色数为num,假定存在一个图着色判定问题的多项式时间算法coloring: BOOL coloring(GRAPH G,int n,int num) coloring(G,10000,10) yes coloring(G,10000,5) yes coloring(G,10000,2) no coloring(G,10000,8) 如果对某个判定问题?,存在着一个非负整数k,对输入规模为n的实例,能够以O(nk)的时间运行一个确定性的算法,得到yes或no的答案,则该判定问题?是一个P类判定问题。 ?(n100) P类问题:多项式(ploynomial)时间 NP类问题:非多项式 (non ploynomial)时间 NP类问题:非确定的多项式时间(nondeterministic ploynomial-time) 存在以多项式时间运行的非确定性算法。 非确定性算法 1.非确定(猜测)阶段 2.确定(验证)阶段 1.非确定(猜测)阶段 如10000阶图,1,1,2,…,888 2.确定(验证)阶段 首先判断猜测阶段所产生的输出是否 具有正确形式。 若具有正确形式,则继续检查是否是 问题的解。 P类问题:可以用多项式时间的确定性算法来进行判定或求解; NP类问题:可以用多项式时间的确定性算法来检查和验证在推测阶段产生的答案。 P类问题:在确定性图灵机(现代计算机模型)上可以多项式时间求解的问题 NP类问题:在非确定性图灵机(尚未实现的计算机模型)上可以多项式时间内求解的问题 P类问题是NP类问题的一个子集合 尚无法证明: P=NP还是P是NP的真子集? NP完全问题:除非P=NP,否则不可能找到多项式时间的确定性算法的一类问题 尽管理论上没有证明,但大量研究表明,P似乎不等于NP,所以,一旦一个问题被证明是NP完全的,则基本可以断定,它不可能在多项式时间内求解 NP P NP完全 设有q个完全相同的处理器: m1,m2,···,mq, 处理n个彼此无关的作业: j1,j2,···,jn,所需时间分别为:t1,t2,···,tn,要求最后全部结束的时间最短。 近似算法A1:对时间序列进行排序,假定 t1 ≥ t2≥··· ≥ tn 此顺序也就是处理的先后顺序。即当某个处理器空闲时,立即处理剩下需要处理的时间最长的作业。 例:设q=3 ,n=6 ,t1=10 ,t2=9 ,t3=8 t4=7 ,t5=6 ,t6=5 m1 m2 m3 10 9 8 15 15 15 处理顺序:Q=( j1,j2, j3, j4, j5, j6) * * 凸包(convex hull) 定义:在算法中引入随机因素, 即通过随机数选择算法的下一步操作。 特点:简单、快速 一种平衡:随机算法可以理解为在时间、空间和随机三大计算资源中的平衡 d0=d dn=bdn-1+c an=

文档评论(0)

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

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

1亿VIP精品文档

相关文档