科学网

 找回密码
  注册
科学网 标签 NPC

tag 标签: NPC

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

p与np问题的通俗解释
accsys 2015-11-2 06:13
由条件和结论组成问题。解法是按照某种已知的规律(函数)从条件出发逐步将问题答案求出,这类问题是p类问题。猜测问题答案,并能够通过问题本身的条件和结论进行验证其正确与否,正确的一类条件和结论是np类问题。 p问题的特点是不论给出什么样的条件,总可以按照规律将问题答案推导出来,具有确定性正确的特征。而np类问题的特点是未经过验证不知猜测的正确答案是否正确,具有随机性特征。这就是说,p类问题解答是一个确定性过程,而np类问题解答是一个随机性过程。 容易理解p类问题就是np类问题,因为我们可以认为解法就是一种验证方法,把求出的答案做为猜测答案。但所有np类问题会不会都有确定的解法?如果有,则p=np,否则,p不等于np。 直接回答p是否等于np很难。但人们研究出了所有的np类问题都可以按照某种规律转化成3元合取范式满足的3sat。3sat叫np完全问题,又叫npc。npc有很多,它们之间都可以按照确定的规律相互转化。因而,只要能够找到3sat问题解法(或其它npc问题解法)就能够确定p=np。反之,要证明存在np没有解法才行。
个人分类: 教学笔记|7894 次阅读|0 个评论
P≠NP——基于认知的视角
热度 3 wingss 2015-8-19 15:54
P≠NP——基于认知的视角 ( xbdxzwm@163.com ) 之前我写了一篇关于P vs. NP问题的文章整理了对于这个问题的一些认识,现在我再进一步把我的认识写的更清楚一些,与各位同行交流。文章证明并不复杂,而且还比较有趣,它不仅是一个数学证明,更牵扯到了人们的基本认知。欢迎各位前辈同行的宝贵意见啊! 摘 要 我们从多项式函数的加法运算的角度讨论 问题。在 个关于 的多项式的和总是一个关于 的多项式的命题下,我们构造出了一个悖论;而在存在某 个关于 的多项式的和为关于 的指数函数的命题下,我们很容易证明了 。 1 预备工作 1.1 二项式定理的两个性质 在给出证明之前,我们先来回忆一下二项式定理(或杨辉三角): , 其中, 。 我们有下面的引理: 引理 1 . 设 为任意的偶数,则 ≥ 。 证明: 。 引理 2 对于任意的整数 , , ( ) ,我们有 。 证明:注意到 及 ,引理得证。 1.2 一个经验公理 下面我们给出一个经验公理。 公理 1 设 为任意一个关于 的多项式函数, 为任意一个关于 的指数函数,且 , 。则 。 公理1的说的是当 足够大时,多项式函数与指数函数相比是小到可以被忽略的。有的学者认为这本来就是一个可以被证明的定理,但考虑到 和 的任意性,我们仅把它作为一个经验公理。而如果公理1不成立,那么也就没有讨论 问题的必要了。 2 一个悖论和它的解决 现在进入本文的核心部分。设 为任意 个关于 的多项式函数,且 。请问 是关于 的多项式函数还是指数函数?对于大多数学者来说,根据经验, 总是一个多项式函数。但是,如果我们接受下面的命题1,那么就可以得到相互矛盾的两个结论(即一个悖论)。不失一般性,在本文中,我们假设 总是偶数。 命题 1 设 为任意 个关于 的多项式函数,且 ,则 总是一个关于 的多项式函数。 在接受命题1的条件下,我们可以构造出两个相互矛盾的结论,即引理3与引理4。 设 和 如公理1中所定义。定义集合 存在一个关于 的多项式函数,不妨记为 ,使得对于任意的 ,总有 ,定义集合 存在一个关于 的指数函数,不妨记为 ,使得对于任意的 ,总有 。 引理 3 不存在函数 ,使得 且 。 证明:反证法。如果存在函数 满足 且 ,那么根据集合 和集合 的定义,必然存在多项式函数 和 ,使得 。也就是 对于任意的 总成立,从而 ,与公理1矛盾。引理得证。 引理 4 令 ,则 且 。 证明:根据引理1,易知 。下面我们将通过 步来证明 。根据集合 的定义,只需证明存在关于 的多项式函数 ,使得 对于任意的 成立即可。第一步,根据引理2,我们有 ;注意到 ,根据命题1,欲证明 的存在性,只需证明存在多项式函数 ,使得 对于任意的 成立。类似地,第二步,注意到 , 及命题1,欲证明 的存在性,只需证明存在多项式函数 ,使得 对于任意的 成立。重复这样的证明过程,在第 步时,注意到 , 及命题1,欲证明 的存在性,只需证明存在多项式函数 使得 对于任意的 成立。令 ,引理得证。 现在,在接受命题1的条件下,我们构造出了相互矛盾的两个引理(引理3、引理4),所以,我们只能接受下面的命题了。 命题 2 存在某 个关于 的多项式 ,使得 为关于 的指数函数,其中 。 注意到 且 是一个关于 的多项式函数,而一个关于 的多项式函数乘以 还是一个多项式函数,有的学者基于此断定 总是多项式的。然而,如果我们接受 “一个关于 的多项式函数乘以 总是一个多项式函数”这个命题,那么根据类似的分析也可以得出一个悖论。所以,这样的反驳是不合适的。 但是,我们怎么来理解这个命题呢?在人们的生活中有没有类似的体验?有!设想您在一个陌生的地方旅行,突然间,您发现自己“掉向”(即分辨不清东西南北)了。令 表示最小的时间单位。根据我们的经验,如果在时刻 没有“掉向”,那么在时刻 我们也没有“掉向”。但是,我们必须承认存在时刻 ,在时刻 时您没有“掉向”,但是在时刻 您“掉向”了,否则您怎么会“掉向”呢?虽然我们需要承认时刻 的存在性,但是却没有人能够确切指出它。类似地,在命题2中,我们虽然需要承认 的存在性,但是却也无法给出其具体表达式。基于此,我们认为命题2不仅是一个数学问题,更是人类认知的问题,即事物在发展变化时,刚开始只是“量变”,但会发展成“质变”,我们需要承认这种变化,但是却无法指出“最初“发生“质变”的那一瞬间。 3 的证明 接受命题2后,我们很容易就可以证明 了。实际上我们只需构造出一个问题 ,使得 且 。 首先,根据命题2,我们知道存在 个多项式函数,不妨设为 ,使得 为关于 的指数函数,其中 。 然后,我们知道一个判定问题的返回值是”是“或”否“。令 ( )表示一个输入为 的判定问题,其中它的输入长度 ,且它在最坏情形下的运行时间为 。定义问题 :给定任意输入 ,在 的返回值中是否有一个”是“。注意,问题 的输入长度为 。 定理 。 证明:只需证明 且 即可。注意到 是相互独立的,任意的确定性图灵机在最坏情形下都需要检查全部的返回结果,所以需要的运行时间为 ,为关于 的指数函数,从而 。 另一方面,对于非确定性图灵机而言,它只需检查 个返回结果中的一个就可以了,需要的运行时间显然为关于 的多项式函数,于是 。定理得证。 4 结论 本文从多项式函数的加法运算这一角度证明了 。并指出这不仅是一个数学角度,更是一个人类基本认知的角度。 最后,衷心感谢您对本文的关注与意见!!!祝您身体健康,工作顺利,阖家欢乐!!!
4595 次阅读|6 个评论
库克定义下的k-CNF-SAT=P证明(中文版)
热度 2 accsys 2015-7-4 08:45
库克定义下的 k-CNF-SAT = P 证明(中文版) 姜咏江 Email:accsys@126.com 摘要 :采用子句消去法证明了斯提芬 . 库克定义下的 NP C 问题 k-CNF-SAT 可以是一个 P 类问题。给出了子句消去法的算法。同时也给出了可以在有限步骤内求出 k-CNF-SAT 问题的解或指出其不满足的条件。 关键词 : NPC , P/NP 问题,子句消去法 1. 背景 P/NP 问题曾于 2000 年被美国克雷数学所定为最难的难题,有甚者说其挑战了人类智慧。 2010 年 8 月 6 日, HP LAB 的 Vinay Deolalikar 教授宣布证明了 P!=NP ,证明文章 已经发送到该问题各相关领域专家手中,等待检验,在他的主页上,证明过程已经公布( PDF 格式共 103 页)。 本文将给出 NP C 问题 k-CNF-SAT 可以是一个 P 类问题的算法和相关证明,跟 Vinay Deolalikar 教授唱个反调,主张 P=NP ,是否会得到学术界认可,有待每个感兴趣的人检验。 2. 子句消 去法求解的算法 一个逻辑多项式如果存在一项的值是 1 ,那么这个逻辑多项式的值一定就是 1 。同样,一个逻辑项的存在为 0 的因子,那么这个逻辑项的值一定是 0 。逻辑变量非的值,一定是逻辑变量值的反码。逻辑运算的这些基本规律是子句消去法成立的基础。 本文用“ + ”表示或运算,用“ ’ ”表示非运算,与运算符号省略。 对于 k-CNF-SAT 问题用子句消去法求解的算法如下: (1) 在合取范式中取第一个子句的一个变量表示(选择过的变量 x ,不选 x’ ,或选过 x’ 则 x 不选),若是变量本身,定其值为 1 ,若是变量非表示,设定变量的值为 0 。 (2) 消去所有含有选择变量表达形式的子句,得到剩余子句。 (3) 若还有剩余子句且有变量未选择,则转到( 1 )对剩余合取范式继续执行操作。 (4) 若所有变量皆选过,尚有剩余子句,则表示这不是合取范式此值为 1 的解;不然将前面取值按照变量顺序排好,未取值的变量表示值可以任意(用“ * ”代替)。 例1 , f ( x 1 , x 2 , x 3 )= ( x 1 '+ x 2 )( x 2 ’+ x 3 ’)( x 2 + x 3 ) ( x 2 ’+ x 3 ) ( x 2 + x 1 ) 。 ( 1 )由 x 1 ' 令 x 1 =0 ,消去含有 x 1 ' 子句,剩 ( x 2 ’+ x 3 ’)( x 2 + x 3 ) ( x 2 ’+ x 3 ) ( x 2 + x 1 ) ; ( 2 )由 x 2 ' 令 x 2 =0 ,消去含有 x 2 ' 子句,剩 ( x 2 + x 3 ) ( x 2 + x 1 ) ; ( 3 )由 x 3 令 x 3 =1 ,消去含有 x 3 子句,剩 ( x 2 + x 1 ) 。 由于此剩余子句的值为 0 ,故 f (0,0,1)=0 。 例2 , f ( x 1 ,..., x 6 )= ( x 1 + x 1 '+ x 2 ')( x 2 + x 3 + x 4 )( x 1 '+ x 3 '+ x 4 ')( x 1 '+ x 2 + x 5 ')( x 2 + x 3 + x 6 )( x 1 + x 5 + x 6 ') ,求满足 f ( x 1 ,..., x 6 )=1 的解。 ( 1 )令 x 1 =1 ,剩 ( x 2 + x 3 + x 4 )( x 1 '+ x 3 '+ x 4 ')( x 1 '+ x 2 + x 5 ')( x 2 + x 3 + x 6 ) ( 2 )令 x 2 =1 ,剩 ( x 1 '+ x 3 '+ x 4 ') ( 3 )令 x 3 =0 ,则消去值为 1 子句后,无有剩余子句。 于是得 f ( x 1 ,..., x 6 ) 值为 1 的解有:( ***011 ),其中 * 表示为 0 或 1 不限。 验证 : 对于所得解可以带入原式验证。将 x 1 =1 、 x 2 =1 、 x 3 =0 带入原式得: f (1,1,0, x 4 ,..., x 6 )=1 。 3. 概念与性质 定义 1 : n 个逻辑变量全部可取 k 元子句组成的合取范式叫完全合取范式。 定义 2 :元素对应取反的两个子句称为互反子句。 例如 3-CNF 中有子句 x 2 ’+ x 5 ’+ x 9 和 x 2 + x 5 + x 9 ’ ,它们的表示相反,因而是互反子句。 定义 3 :如果子句中同时有逻辑变量和其反表示,则称子句为恒一子句。 显然,恒一子句的值总是 1 ,与逻辑变量的取值无关。 性质1 :合取范式去掉恒一子句,所得合取范式与原合取范式值满足性相同。 完全定理 : n 个逻辑变量所成的 k 元合取范式 k-CNF ,最多有C 2n k 个子句。 证明 :因为每个子句的元素可以是逻辑变量或它的非,这相当从 2n 个元素取出 k 个的组合数,即为 C 2n k 。 推论1 :完全合取范式去除恒一子句,都是互反子句 。 证明 :根据完全合取范式的定义,去掉恒一子句后,如果某子句的互反子句不在其中,则知这不是完全合取范式。则知必都有互反子句 。 可满足定理 :子句消去法最终无剩余子句,则此合取范式是可满足的。 证明 :因为子句消去的条件是值为 1 ,若最终子句全消去,则知原合取范式是可满足的。 步数定理 :用子句消去法确定了 k-CNF 可满足,最多用了 n 次化简。 此定理从子句消去法定义立得。 4. 3-CNF-SAT 子句数 3-CNF 的恒 1 子句共有: n × 2(n-1)=2n(n-1) 完全 3-CNF 全部子句数: 2n(2n-1)(2n-2)/6=2n(n-1)(2n-1)/3 完全 3-CNF 去掉恒一子句的可能子句数: 2n(n-1)(2n-1)/3-2n(n-1)=2n(n-1) (2n-4)/3 5. 结论 一般 P/NP 问题的描述与斯提芬 . 库克的 NP 、 NPC 定义有不同之处。本文仅是站在伟大的库克的肩膀上,找出了特出 k-CNF-SAT 问题不满足的条件,并推出子句消去法求 k-CNF-SAT 问题满足解的一种方法。 斯提芬 . 库克一脉学术观点认为:若任意 NPC 问题可证明是 P 问题,那么 P=NP 成立。本文给出了 k-CNF-SAT 问题的 n 次化简求解法,并且对于 n 位二进制数是否是 n 元逻辑变量的 k-CNF-SAT 解的验证,也肯定了是典型所谓的“多项式时间”,故可以得出在 斯提芬 . 库克定义的条件下,可以有 NPC = P ,这个结论否定了 P ! =NP 。 2015-7-4
个人分类: 科研论文|8349 次阅读|35 个评论
【可调】人际关系矩阵-骑马与砍杀npc
hailanyun0415 2013-4-10 01:02
flash 文件较大,可能需要等2分钟并刷新几次页面才能看到。可以先听听上面的歌,来自骑马与砍杀的town_rhodok。在德玛西亚啦啦啦里听到过,很有那种中世纪酒馆中吟游诗人的感觉。 交换时间可以修改,棋盘左边的名字可以点击并交换,右下角可以拖出一个半透明的遮罩层遮罩不想看的部分。交换姓名时如果突然改时间,有些名字可能会飞出去,过段时间瞬间回来。我目前无法完美解决这个bug,本来是想做出拖动交换的效果,不过处理起来太复杂了。于是做成了点击交换的效果。 用ie8可以打开: http://www.swfcabin.com/swf-files/1365524163.swf 骑马与砍杀是我清明去火车站网吧玩到的。顺便说一句,长沙火车站网吧4元/小时,超过2分钟算1小时,太黑了。世界中可以找到16个npc,有工程师、医生、商人、小偷、土匪、富家千金、贵族子弟等不同的身份,工资便宜威力大,但是人一多就吵架。做这个动画的灵感来自1.0测试版NPC资料不完全手册 。 网址里面还有不少这些npc的背景故事和恶搞。 红色名字的是女人,不是美女就是悍妇。男人基本都是大叔,小白脸似乎只有一个。交换名字后,爱和恨可以构造一些图形。 目前最佳答案,9人不离队 分4批,两两组合:一度成为标准答案 , A 组 艾雷恩 贝斯图尔 法提斯 B 组 凯特琳 马尼德 尼扎 Z 组 雅米拉 德赛维 杰姆斯 班达克 克雷斯 X 组 么么茶 雷萨里特 亚提曼 罗尔夫 马蒂尔德 很早就听说过这个游戏,本来以为是像三国无双一样的割草游戏,其实完全不一样,这是一个没有魔法的世界。首先头像模型制作得非常精细,下图是网上找的,右边有很多参数可以调节头部模型的细节。然后,骑马的感觉和其他游戏完全不同,马上的颠簸感以及那种稍纵即逝的进攻时机,处理的相当精彩。还有,到了后期士兵组成的战阵,战场上出现的一波又一波援军,惨烈的攻城战,都非常吸引人。不过我现在等级低,还只能在竞技场和训练场上练习。 想了想还是把这张动态图上传吧,毕竟战争是暴力的,血腥的。 1.0 测试版NPC资料不完全手册 http://www.mountblade.com.cn/html/63/t-42963.html 骑马与砍杀NPC完美组合 http://zhidao.baidu.com/question/88856444.html 选择NPC完全攻略 http://bbs.mountblade.com.cn/viewthread.php?tid=44606highlight=npc ===================================== 骑马与砍杀人际关系.swf 右键保存或打开。如果没有flash player,下载后拖到网页浏览器里可以看,不过要点击地址栏下面出现的黄条允许阻止的内容。 flash player 在这里能找到下载: http://blog.sciencenet.cn/home.php?mod=spaceuid=729147do=blogid=594755 本人其他课件: http://blog.sciencenet.cn/home.php?mod=spaceuid=729147do=blogclassid=159583view=mefrom=space
个人分类: 课件|8972 次阅读|2 个评论
一个回帖
热度 2 liuchao666 2013-1-1 19:07
一个回帖
本帖是关于 http://bbs.sciencenet.cn/home.php?mod=spaceuid=107667do=blogid=550859 的回复, 由于回复不能编辑上下标,特此放在这里: 1 :比如“阿基里斯和乌龟”,假定了乌龟在阿基里斯前头,这是个距离上的概念。 但是,说乌龟“永远”在阿基里斯前头——这就是时间上的概念。 总之,这是不同的概念,替换需要一定的规则。 如同说,“我说的是错的”——先假定我说的是错的,然后在根据我说的是错的,来从内涵上判断——我说的原来又是正确的——这就是偷换概念,不可判定问题也是这样证明的。 如果你假定他是正确的或者错误的,你就不能再从内涵上来说明,句子是正确的或者错误的,如同不可判定中用哥德尔数来说明,那就没有意思了。 2 : 再说实无穷问题: 以上两个映射函数表明,其实实无穷的基础是很不可靠的。 3; 关于 NPC ,我说的是,问题本身就是在目前的现有计算机条件下, P 也可能是等于 NP 的。换了条件,原来的问题就不存在了。 如果问: 一个姑娘,男人是否可以接吻—— 其答案是不确定,看是哪个男人,有的可以有的不可以,这要看哪个人——也即算法设计决定问题的结果。
2998 次阅读|4 个评论
NPC问题集
huangfuqiang 2012-10-23 10:08
来自维基百科的NPC问题收集,大多数问题来自: Garey and Johnson's seminal book Computers and Intractability: A Guide to the Theory of NP-Completeness List of NP-complete problem s
个人分类: 计算机科学数学与逻辑|4079 次阅读|0 个评论
[转载]NP-Hard(NPH)与NP-Complete(NPC)
freton 2010-10-18 21:12
关于NP/NPC/NPH的文章转于此处,供以后参考: Part I from http://www.nocoo.us/2009/01/npc-and-nph/ Nocoo.Weblog Professional, Passion and Patient 引言 上图:艺术陈列馆问题(Art Gellery Problem),是一个NP-Complete问题。这里显示了一种解,四个摄像头覆盖了整个艺术陈列馆的每个角落。 P和NP就不讲了,Assert(不明白P和NP的读者不会到达这里看到这一段话)。 P是否等于NP的问题目前仍有争论,我对算法理解不深,暂时没有自己的看法。具体的讨论可以参见: WikiPedia的P=NP?讨论 。不过做点猜想的话,我觉得,从数学美的角度来看,我觉得P=NP。当然,从理性思考角度来看,就像你觉得有没有外星人这个问题一样,理性思考的人会毫不犹豫地给出当然有的答案,P不应该等于NP。 当然大部分计算机科学家认为PNP。 If P=NP, then the world would be a profoundly different place than we usually assume it to be. There would be no special value in creative leaps, no fundamental gap between solving a problem and recognizing the solution once its found. Everyone who could appreciate a symphony would be Mozart; everyone who could follow a step-by-step argument would be Gauss Scott Aaronson, MIT 这段话给出的启示还是很令人震惊的:任何懂得欣赏交响乐的人都可以成为莫扎特一样的音乐神童,任何懂得步步演绎问题的人都可以成为高斯一样的数学天才,因为P=NP,则说明解决问题和理解、认识和描述问题本身没有本质区别。 谈点自己的看法:Google的出现其实为我们提出了一种佐证,当你把一个问题描述清楚的时候,基本也就解决了。当你真正遇到一个问题,只要想清楚应该用什么关键字去搜索,问题的答案正在Google上等着你。 The main argument in favour of PNP is the total lack of fundamental progress in the area of exhaustive search. This is, in my opinion, a very weak argument. The space of algorithms is very large and we are only at the beginning of its exploration. The resolution of Fermats Last Theorem also shows that very simply questions may be settled only by very deep theories. Moshe Y. Vardi, Rice University 最简单的问题却要通过最复杂的理论来解决。 Being attached to a speculation is not a good guide to research planning. One should always try both directions of every problem. Prejudice has caused famous mathematicians to fail to solve famous problems whose solution was opposite to their expectations, even though they had developed all the methods required. Anil Nerode, Cornell University 避免偏见,应当总是向两个方向努力。 NP-Complete问题 Cook在1971年给出并证明了有一类问题具有以下性质: 这类问题中任何一个问题至今未找到多项式时间算法; 如果这类问题中的一个问题存在有多项式时间算法,那么这类问题都有多项式时间算法(就是多项式时间内,这类问题可互相规约)。 这类问题中的每个问题称为NP完全(NP-Complete,NPC)。 NP-Hard问题 如果判定问题A满足ANP且NP中的任何一个问题都可在多项式时间内 规约为A ,则称A为NP完全(NP-Complete,NPC)。若NP中的任何一个问题都可以在多项式时间 规约为 判定 问题A ,则称A为NP难(NP-Hard,NPH)。 显然 NPCNPH 。 NP完全和NP难问题的区别是NP难问题无需判断A是否属于NP。验证一个问题A是否为NPC的关键有两点: 一是NP中任何一个问题是否可在多项式时间内规约为A; 其次,是否存在一个字符串,其规模为实例规模的多项式函数,以及是否存在一个多项式时间的验证算法。 由于NPC里包含很多著名的组合最优化问题,经过几代数学家的努力,迄今没有找到多项式时间算法,人们猜想NPC中的任何一个问题 没有 多项式时间算法,即PNPC=。 这里有个图可以帮助你理解这几种问题的相互关系。可以看到,如果P=NP,数学上是比较美的。 一种实践方法 当然上面讲的都是理论。实践当中没有这么复杂,当你遇到一个问题,想判断这个问题是否是NPC时,只需要找一个类似的已知的NPC问题,然后想一个这两个问题之间的多项式时间转换方法即可。 这里有一个列表,包含 已知的著名NP-Complete问题的列表 。重要的NPC问题现在已知3000+。 Part II from http://blog.csdn.net/daijingbo1987/archive/2010/07/30/5775743.aspx P/NP/NP-Complete/NP-Hard 收藏 Part III from http://blog.csdn.net/daijingbo1987/archive/2010/07/30/5775748.aspx NP-hard和NP-complete的区别 对 NP -Hard 问题和 NP-Complete 问题的一个直观的理解就是指那些很难(很可能是不可能)找到多项式时间算法的问题。 因此一般初学算法的人都会问这样一个问题: NP-Hard 和 NP-Complete 有什么不同?根据定义,如果所有 NP 问题都可以多项式归约到问题 A ,那么问题 A 就是 NP -Hard ;如果问题 A 既是 NP-Hard 又是 NP ,那么它就是 NP-Complete 。 NP-Hard 问题类包含了 NP- Complete 。 NP-Complete is a subset of NP.( Note: NP-Complete = NP-HardNP ??) Halting problem 是 NP-Hard 而不是 NP-Complete 。 P 問題:可以用 polynomial 演算法解決的問題,亦即解決時間為 polynomial 時間。 NP 問題:可以用 non-deterministic polynomial 演算法解決的問題。請注意, P 問題既然可以用 polynomial 演算法解決,當然也可以用 non-deterministic polynomial 演算法解決 , 因此所有的 P 問題都是 NP 問題。 NP-HARD :一個 NP 問題經由 polynomial 演算法轉化之後所成的問題。此處的轉化,一般稱為 reduce 。 NP-COMPLETE :一個 NP 問題經由 polynomial 演算法轉化之後,仍為 NP 問題。換句話說,所謂的 NP-COMPLETE 問題,就是既為 NP-HARD ,亦為 NP 。也就是說,若只經由 polynomial 演算法來 reduce ,不論如何都在 NP 的範圍內。 NP-HARD 與 NP-COMPLETE 的不同,在於 NP-HARD 不一定屬於 NP 問題。 NP-HARD 可以是 NP 問題,也可以是一個超越 NP 難度的問題 .... 但若是 NP-HARD 的難度仍然是 NP ,則這個 NP-HARD 就是一個 NP-COMPLETE 。 先稍微說明一下 polynomial time reduction 的概念好了 , 假設有 A,B 兩個問題 , 如果我們有一個演算法可以解決 B 問題 , 那麼我們可以利用此演算法在 polynomial time 內也解決 A 問題 , 則我們就說 A 可以 reduce 到 B, 也就是說假如 B 解決了 , A 也可以很容易的解決 ..( 可以想成是 B 比 A 難 ) 但正確的說是: A reduce to B 應該是說我們可以設計一個 Poly-time 的 Algorithm 將 A 的問題轉成 B 問題的型式 , For example, 所有 satisfiability problem 都可以 reduce 到 3-SAT problem. 如 : (x1 V x2) = (x1 V x2 V y1), (x1 V x2 V -y1) -x3 = (-x3 V y1 V y3), (-x3 V -y1 V y3), (-x3 V y1 V -y3), (-x3 -y1 V -y3) (x1 V -X2 V X3 V x4) = (x1 V -x2 V y1), (x3 V x4 V -y1) 故 , 如果我們可以在 P time 裡解 3-SAT 則也可以用此方法解 satisfiability problem. 也就是說如果我們不可以在 P-time 裡解 SAT problem 則也無法在 p-time 解 3-SAT problem 如果一個問題屬於 NP-hard, 那麼所有屬於 NP 的問題都要能 reduce 到這個問題上面 , 也就是說這個問題比所有 NP 的問題都要更難 . 如果一個問題是 NP-complete, 兩個條件 :(1) 此問題屬於 NP (2) 此問題為 NP-hard 也就是說 , NP 的問題裡面 , 有一部份是最難的 , 所有其他的 NP 問題都能 reduce 到這些問題上面這一群問題就稱為 NP-complete 的問題 ! 所以 NP-hard 和 NP-complete 都是比所有 NP 問題都還要難的問題 , 差別在於 NP-complete 還是在 NP 之內 , 是 NP-hard 裡面屬於 NP 的問題 ! 1 ,计算复杂性   这是描述一种算法需要多少 时间 的度量。(也有空间复杂性,但因为它们能相互转换,所以通常我们就说时间复杂性。对于大小为 n 的输入,我们用含 n 的简化式子来表达。(所谓简化式子,就是忽略系数、常数,仅保留最 大 的那部分)   比如找出 n 个数中最大的一个,很简单,就是把第一个数和第二个比,其中大的那个再和第三个比,依次类推,总共要比 n-1 次,我们记作 O(n) ( 对于 n 可以是很大很大的情况下, -1 可以忽略不计了)。   再比如从小到大排好的 n 个数,从中找出等于 x 的那个。一种方法是按着顺序从头到尾一个个找,最好情况是第一个就是 x ,最坏情况是比较了 n 次直最后一个,因此最坏情况下的计算复杂度也是 O(n) 。还有一种方法:先取中间那个数和 x 比较,如偏大则在前一半数中找,如偏小则在后一半数中找,每次都是取中间的那个数进行比较,则最坏情况是 lg(n)/lg2 。忽略系数 lg2 ,算法复杂度是 O(lgn) 。       2 ,计算复杂性的排序:   根据含 n 的表达式随 n 增大的增长速度,可以将它们排序: 1 lg(n) n nlg(n) n^2 ... n^k (k 是常数) ... 2^n 。最后这个 2 的 n 次方就是级数增长了,读过棋盘上放麦粒故事的人都知道这个增长速度有多快。而之前的那些都是 n 的多项式时间的复杂度。为什么我们在这里忽略所有的系数、常数,例如 2*n^3+9*n^2 可以被简化为 n^3 ?用集合什么的都能解释,我忘了精确的说法了。如果你还记得微积分的话就想像一下对 (2*n^3+9*n^2)/(n^3) 求导,结果是 0 ,没区别,对不?       2 , P 问题:对一个问题,凡是能找到计算复杂度可以表示为多项式的确定算法,这个问题就属于 P (polynomial) 问题。       3 , NP 问题:    NP 中的 N 是指非确定的 (non-deterministic )算法,这是这样一种算法:( 1 )猜一个答案。( 2 )验证这个答案是否正确。( 3 )只要存在某次验证,答案是正确的,则该算法得解。    NP (non-deterministic polynomial) 问题就是指,用这样的非确定的算法,验证步骤( 2 )有多项式时间的计算复杂度的算法。       4 ,问题的归约:   这 我该用什么术语来解释呢?集合?太难说清了 如果你还记得函数的映射的话就比较容易想象了。   大致就是这样:找从问题 1 的所有输入到问题 2 的所有输入的对应,如果相应的,也能有问题 2 的所有输出到问题 1 的所有输出的对应,则若我们找到了问题 2 的解法,就能通过输入、输出的对应关系,得到问题 1 的解法。由此我们说问题 1 可归约到问题 2 。       5 , NP-Hard :   有这样一种问题,所有 NP 问题都可以归约到这种问题,我们称之为 NP-hard 问题。       6 , NP 完全问题 (NP-Complete) :   如果一个问题既是 NP 问题又是 NP-Hard 问题,则它是 NP-Complete 问题。可满足性问题就是一个 NP 完全问题,此外著名的给图染色、哈密尔顿环、背包、货郎问题都是 NP 完全问题。      从直觉上说, P=NP=NP-Complete=NP-Hard ,问题的难度递增。但目前只能证明 P 属于 NP ,究竟 P=NP 还是 P 真包含于 NP 还未知。
个人分类: 工程技术|15045 次阅读|0 个评论
学校的NPC
whcuser 2010-10-15 18:08
NPC是Non-Player-Controlled Character(非玩家控制角色)的缩写,以前听说过北大NPC的故事,如黄火根、自习室水哥。我的理解是定时定点出现的有特点的小人物,其的出现不以人的意识为转移。在学校两年了,细想一下,也有若干NPC,虽然有些并不完全满足上述定义,还有的甚至不是人类。 1、警世钟老人 在图书馆和东楼一带,晚上常有一位周期性敲矿泉水瓶的老人,独坐于路边。敲在水泥或石头上,一阵阵的声音跟得紧,似老匠人打铁,却又没有徒弟,更从容,超脱世外。有人听得心烦,以之为蛙鸣蝉噪,其实也正如东坡看佛印,心里有什么,看着便是什么。敲击声不停歇代表了愚公和精卫精神,弦歌不绝。敲击声有时歇一下,暗示了列宁的名言:不会休息的人就不会工作。庄生梦蝶,众人皆醉我独醒,碌碌行人只为名利二字尔,实堪称警世钟音。网友 whui707 说,他常出没于东楼前草坪及后边健身活动处,自习室常听他不停地敲着瓶子,教室里所有同学貌似不耐烦,有女生甚至想拿水瓶砸向他,虽然很无奈,但教室的人还是很专心,因为他在,或许更加让我们这些考研的人意识到时间的紧迫性。考完研这么长时间了,一想到他又想起了去年的考研。考研期间,警世常在。那些常在东楼104 101 107自习的考研同志们大概都考上了吧。 2、一块钱大叔 最早见到他是在荒芜的堕落街口的公交站台,他春天穿蓝色长棉袄,对着每位上下车的人不断重复着一块钱这三个字,当然也可能是有一块钱或给我一块钱。坚定地重复着,每一声都是按下了ctrl+v。人多时,他不会专对着一个人讲,一路走来,就这么把这三个字讲下去,这是广播链路,声音大小恰到好处,但容易被认为是自言自语。有学生打开书包给钱,他便很耐心地等,望你的眼神是没睡醒的样子。他常提着两桶山泉从山上下来,咏而归。 3、执杖老人 这位是麓山南路巡按,不定期前来。右手执杖,左手不是明火,是捧着碗。实在赶不上躲避他的行人时,还可用棍轻轻一扫。立于人行道中央,前后左右,眼观六路,耳听八方。见行人在远处时,他则作《天龙八部》里默默的扫地僧状。一旦行人靠近,他便会快步赶近。尤其喜欢在 女生 后面假模假式地追赶几步,追得女生尖叫,这时他笑得脸皮皱起,不辨形貌。 4、公转姐 早上,在中楼和前进楼附近的大树下,有一位大姐面向树,双手作一对砍刀状,围着树缓缓地走动。围城打援,围而不打!有人说是瑜伽,待考。 5、诗词叔 这是位难得见到的写诗的人,诗写在红绸子上,绸子绑在绳上,绳子捆在建设村附近的树干上。都是相当工整的诗,每行的字数一样。行人驻足观望,来去匆匆。他应该就在 附近 ,然而并不靠近作品,难道不怕别人要来切磋、讨教和唱和吗?他大概还在一边叹气哩:哎,这个时代懂诗的人太少,多乎哉?不多也。 6、邮票笔芯大伯 天气好时,在计专外会站有这么一位将要是老年的戴着老式玳瑁边 旧眼镜的 大伯。卖什么呢?很小的摊,一块方巾铺在人行道的边上,再铺上一点邮票和笔芯,笔芯是用皮筋捆了又捆,信封用塑料袋装好。只卖这两样,这是知识分子崇高的道德坚守和精神魅力之所在。曾几何时,大家都不用圆珠笔了,改用水笔,而在他这还能发现圆珠笔芯。他头发稀疏,但遮得脑门不露,寒风之中,前额一缕发丝飘起, 桀骜不驯。他袖着手,缩着身子,每有人经过,他便伸手一指他的摊,嘴里咕噜一个没人听得清的短句。 曾见过他和一个小 学生 主顾交谈,劝小 同学 还是买点吧,这笔芯好写得很那,说着拿笔芯在一张小纸片上试写着。小学生犹豫着,王顾左右而言他,还要留点钱买煎饼果子呢。 7、中楼的鸟 几栋教学楼里,最有感觉的还是这栋木地板老楼。中午下课后,教室空空然,窗户洞开, 迎 着阳光。小鸟飞进来,跳跃着,唧唧喳喳地叫。难道抽屉里有剩早上的馒头吗?还是见我独自一人在此,问我为何还不去吃饭?是啊是啊,我要向你们学习,饿了就要去吃,不过此刻食堂的人太多。 8、三个 世界 的鱼 按投食量,爱晚亭下池子里的鱼属于第一世界,岳麓书院后花园的鱼是第二世界,逸夫楼旁和外语院旁池子里的鱼是第三世界。爱晚亭下的鱼是少有的肥壮,而越肥壮则越发要吃,抢食时跳跃不止,似叠罗汉,几乎要跃出水面,它日一旦成精,池边的人恐怕也要被它咬拖下来。 9、书院的导游 进书院最好的 时间 是静静的早晨。否则等到拿着话筒的导游带着一帮人进来后,你就要躲避着不进入他们的相机。导游词大多千篇一律,不准确的地方也都一样。一般会在戏台上让你闭眼摸那个福字,在大门旁摸汉白玉下马石,在二门旁摸菊花石,在讲堂摸...抱歉,这回不摸了,是让你猜康熙和乾隆题写的两块匾,哪块是原物。 10、举案齐眉工友 在一 食堂 ,餐盘放回去时,一般有位工友站在那。交给他(或她)接着,要是他忙不过来,便可放在餐台上。当你交给他后,走出几步,会听到一声敲击,这是把里面的剩饭菜倒入桶里,有些剩得太多的女生可能会多听到两声。有些人吃饭,就是意思意思,走个过场,难免。 11、澡堂的门卫 每个澡堂都需要一个门卫。你记不清门卫的长相,根本不会注意他,也许只知道性别,只在进门刷卡充值时,知道值班室里有个人。你不会和他打交道,除非男友送你的项链在洗澡时丢了,你去询问他。澡堂门口还有一面镜子,男女都照它。 12、扇舞大妈 清晨的新土木院楼附近,有一群练舞的大妈,毛毛雨时也可能见到她们。我每次都是远远地走过,听音而不特意去看,所以不知道是怎样舞的,步法如何。有时也练剑。其实她们大可去学生宿舍楼附近起舞,兼作闹钟。 13、烧饼帅哥 他见证了堕落街的消亡史,他开了连锁店,他出名后 生活 依然不变。最早是听室友讲堕落街有个卖烧饼的铺子生意很好,他经常去买。后来帅哥在网路出名后,又传说其摊子曾被隔壁的水果店掀翻,因为排长队的人挡了水果店的生意。麓山南路上还有一家梅菜扣肉饼店,生意很好,经常排长队。以前那肉饼店旁边的茶店刚开张时,很便宜,排队买的人很多,大家排得时间久了,都饿了,于是旁边的肉饼店便红火了(注:这是茶店店员的观点)。后来茶店不再促销,生意回落,但烧饼店生意依然好。那茶店是把自己练下去,把别人练上来的典型。 14、摩托哥 你好,请问是***吗?我是**网送书的,我现在已经快到**了。好的,我马上过来。哥的意思是送快递的多为年轻小伙子,现在骑的已不是摩托,更不是寂寞,而是电动车。大小包裹,绑在车上,打着 手机 ,左顾右盼,焦躁不安,好像相亲前的大闺女,似乎从没有从电动车上下来过。 15、传单妹 午时,路上会有发传单者,主要是餐饮类的。妹的意思是指发传单的多为年轻姑娘。一路上的店,经受着岁月的考验,优胜劣汰,城头变幻大王旗。走到在建的留 学生 楼附近时,发传单的便更多了。在天马 公寓 外达到高潮,且以外语培训和健身之类的广告为主。小培训机构雨后春笋,租间房就可以开干。有一次见一位老人坐在垃圾桶边,拾了一大袋子的传单,守株待兔,大家便都马上顺手给他。我们是二传手。 16、光盘弟 这似乎是位其它 高校 的学弟,卖一种号称存了上千部电子书的光盘。最初见他时,似乎还不太懂得技巧,宣传牌举得老高,看不太清,好像是在火车站接人。 17、小偷小摸者 有人的地方就有左中右,而左中右里恐怕都有小偷小摸者。在宿舍楼偷衣服鞋子(导致有人一只一只地晒),在自习室和图书馆里偷书和包,甚至偷得饭卡后还会去借书。曾见上演生死时速,一女生追一 男生 ,从计专教室追至计专门口。大概是在她去上厕所时,手机和MP4之类被同一教室的男生偷了。她回来发现后则追出来,并大声呼救,直至计专门口的门卫一个拦截,众人将那男生围定,他的背包被女生夺过来,果然发现东西在里面。女生累得气喘吁吁,动情声讨,恐怕比将来结婚时还要激动。我想对她说一声,同学威武!
个人分类: 校园|2972 次阅读|3 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 13:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部