- 苏州马小云
-
注 :转移函数是一个partial function,也就是说它的定义域是 的子集。如果定义域是全集的话,称为total function。
图灵机的硬件组成 :
注 : 图灵机演示网址 此外,图灵机停止的标准是,某一时刻的状态转移函数未定义,或者Head移动到了纸带的最左端。
图灵机的配置 (Configuration of a TM): 是一个三元组
输入输出的方式
输入:
输出:当图灵机停止运行时,从左到右读Tape,直到读到不属于 的symbol,则这之前的都是图灵机的输出。
每一个图灵机 都计算了一个partial function: 。其中 是 上的所有字符串。
一个部分函数 是可计算的(computable),如果存在一个图灵机 使得 。我们称 由 计算。
注 :并不是所有的函数都是可计算的。因为 的函数时不可数的,但是图灵机的数目是可数的。
predicate : 一个total function输出0或1,true or false。 可以把它叫做布尔值函数(Boolean function)。 这样一个predicates可以由一个 的子集确定: 。 的子集也被叫做 上的language。
decidable predicate : 一个布尔值函数 如果是可计算的,则被称为可判定的(decidable)。
很自然的,computable function and decidable predicate 可以扩展到多变量的情况。
现在我们有图灵机 ,对应多变量函数 ,我们可以在exteral alphabet中加入一个分隔符 ,即 然后就可以把上述函数化成一个变量的形式: 。对于多变量,我们引入如下定义。
部分函数 是可计算的,如果存在图灵机 ,使得 。
对于多变量的predicate来说,我们同样可以定义decidable。一个多变量predicate 如果是可计算的,则被称为可判定的(decidable)。
图灵机的复杂度
时间复杂度对应计算的step数,空间复杂度对应访问的cell数。
时间:对任意长度为 的输入,最多执行 step,则称图灵机works in time 。
空间:对任意长度为 的输入,最多访问 个cell,则称图灵机works in space 。
Turing"s thesis: "Any algorithm can be realized by a Turing machine." 也被称为Church-Turing。它并不是数学定理,而是对算法概念的非正式陈述。没有被证明,但是有经验支撑。
Universal Turing Machine
因为图灵机是有限的对象,在定义1.1中都要求有限,所以它可以编码为一个字符串(长度有限)。现在我们考虑使用字母表 的通用图灵机 , 的输入是 , 是由 中symbol编码 形成的编码序列, 。 输出是 。则 计算了如下的函数 这个函数对可计算函数 来说是universal的。 对应于一个 ,就有 。
我们用算法描述通用图灵机,所以它的存在性可以由Church-Turing thesis得到。但是通用图灵机的存在性是一个数学定理,可以用显式的构造法来证明。
一个函数的可计算性并不能保证它真的可以计算。在实际中,我们还需要考虑算法的有效性(effective)。一个算法的有效性可以从多个角度定义,从而导致了不同的复杂度类别。其中最重要的是多项式(polynomial algorithm)算法。
polynomial growth : 我们称一个函数 是多项式增长的,如果 。其中 是常数, 充分大。记为 。
一个在 上的函数 是多项式时间可计算的(computable in polynomial time),如果存在一个图灵机,当输入长度是 时,可以在时间 内计算 。如果 是一个布尔值函数(predicate),我们称它是多项式时间可判定的(decidable in polynomial time)。
Class P :由所有多项式时间可计算的函数构成的集合。
注 :1. 此处所讲的既包含了多项式时间可计算函数,也包含了多项式时间可判定的布尔值函数(predicate)。有的复杂性种类只针对predicate而定义。2. 如果 在多项式时间内可计算,则 。因为对图灵机来说,输出的长度不会超过输入长度和执行步数的最大值。
Encoding is important
对于判断 是否为素数的问题,采用除以 的方式来判断。当使用 unary 来编码输入整数时(5的表示为11111),这个算法是多项式时间的。因为输入长度为 ,需要执行 次除法。当使用 binary 编码时,输入的长度为 , ,此时算法执行 不是多项式时间的。
一个在 上的函数 是多项式空间可计算的(computable in polynomial space),如果存在一个图灵机,当输入长度是 时,可以在空间 内计算 。如果 是一个布尔值函数(predicate),我们称它是多项式空间可判定的(decidable in polynomial space)。
Class PSPACE : 所有多项式空间内可计算的函数类。
注 : 根据前面的注,多项式时间运行必然多项式空间运行,所以有 。很多人认为包含关系是严格的,即 ,但还没有人给出证明。
相关推荐
什么叫多项式时间算法
多项式时间在决定型机器上是最小的复杂度类别,且在机器模型改变时依旧强韧,且也是可在副程式组合过程中保持封闭的类别。 数学家有时把“比多项式时间长的算法”视为快速计算,相对应的是超多项式时间,表示任何多项式时间的输入数目只要够大,超多项式时间所需的解题时间终究会大大超过任何多项式时间的问题。 指数时间就是一例。 定义: 多项式时间在计算复杂度理论中,指的是一个问题的计算时间不大于问题大小的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。 多项式时间在决定型机器上是最小的复杂度类别,且在机器模型改变时依旧强韧,且也是可在副程式组合过程中保持封闭的类别。 强多项式时间指的是此问题的运算时间不因输入资料的数字大小而变动,而是依照输入资料的结构复杂度。2023-07-27 16:59:561
什么叫多项式时间算法
定义:若存在一个常数C,使得对于所有n>=0,都有|f(n)|<=C*|g(n)|,则称函数f(n)是O(g(n))。时间复杂度是O(p(n))的算法称为多项式时间算法,这里p(n)是关于n的多项式。不能够这样限制时间复杂度的算法被称为指数时间算法。 例如:时间复杂度为O(nlog(n))、O(n^3)的算法都是多项式时间算法,时间复杂度为O(n^log(n))、O(n!)、O(2^n)的算法是指时间算法。 一个优化问题如果已经找到了多项式时间算法,则称该问题为多项式时间可解问题,并将这类问题的集合记为P,因此多项式时间可解问题就称为P类问题。 一个问题如果没有找到多项式时间算法,那么直觉上它是“难解”的,但又往往无法证明多项式时间算法的不存在性。由于在寻找有效算法上的失败未必一定意味着这样的算法不存在,这就给理论工作者带来了一个难题:一方面证明一个问题不存在多项式时间算法是困难的,至今尚未给出;另一方面有越来越多的问题无法给出多项式时间算法。同时,理论工作者又渴望解决此难题。为此,在20世纪70年代提供了一个漂亮的理论,它把这种失败归结为一个深刻的数据猜想,这个理论就是NP-完全性理论。 定义:给定一个判定问题,如果存在一个算法,对任何一个答案为“是”的实例I。该算法首先给出一个猜想,该猜想规模不超过I的输入长度的某个多项式函数,且验证猜想的正确性仅需多项式时间,则称该问题属于NP类。 定义:如果NP类中所有问题都可以多项式时间归约到NP类中某个问题x,则称x是NP-完全问题。 定义:如果某优化问题x的判定问题是NP-完全的,则称问题x是NP-难的;如果x的判定问题是强NP-完全的,则称x是强NP-难的。2023-07-27 17:00:051
(急)多项式时间内算法 看论文上写算法复杂度控制在多项式时间内,什么叫多项式时间
多项式时间就是指时间复杂度是个多项式 或者说,就是这个程序运行的时间随着数据规模n变化的函数为 f(n) 那么,f(n)是个多项式函数,那么就可以说是控制在多项式之内.2023-07-27 17:00:121
“多项式级时间问题”是什么意思
多项式时间是相对于指数时间的,设问题的规模为N,则如果算法的时间复杂度为T(N)=aN^k1 + bN^k2 + cN^k3+....+xN^kx+... 其中k1>k2>k3...且是确定的常数,同时a,b,c...也都为常数,即T(N)是N的多项式,此时称该问题(算法)为具有多项式级时间。与之相对的是指数级时间,即T(N)=ax^N,其中a为常数,x也为常数,称其为指数级时间。2023-07-27 17:00:191
什么是多项式时间内可解的问题,举个例子说明
多项式时间,就是所需时间是规模的多项式函数,典型的例子是1次函数f(n)=kn+b2023-07-27 17:00:461
什么是伪多项式时间算法
想要理解“伪多项式时间”,我们需要先给出“多项式时间”的一个清楚的定义。对于“多项式时间”,我们的直观概念是时间复杂度,其中是一常数。比如,选择排序的时间复杂度是,是多项式时间;暴力解决TSP问题的时间复杂度是,不是多项式时间。我们称这种时间复杂度为“传统时间复杂度”。我们通常认为传统时间复杂度中的变量表示数据的输入规模。比如,选择排序中,指待排序数组中元素的个数;TSP问题中表示图中节点的数量。但是,这些所谓的输入规模,仅仅是直观的定义,并不足够严谨。为了标准化这些,在计算标准时间复杂度时,我们给出了输入规模的标准定义:一个问题的输入规模是保存输入数据所需要的bit位数。比如,如果排序算法的输入是一个32-bit整数 数组,那么输入规模就是,是指数组中元素的个数。对于一个带有个节点、条边的图,需要的bit位数就是。了解了输入规模的定义,我们来看“多项式时间”的标准定义:对于一个问题,在输入规模为x的情况下,如果一个算法能够在O()时间内解决此问题,则我们称此算法是多项式时间的,其中为一常数。当我们处理一些图论、链表、数组、树等问题时,这个标准定义下的多项式时间和我们传统的多项式时间相差无几。比如,用选择排序对元素个数为的数组进行排序时,传统时间复杂度为。输入规模,因此,得到的标准时间复杂度是,仍然是多项式时间。类似的,假设在带有个节点、条边的图中做DFS(深度优先搜索),传统时间复杂度为。数据规模,因此,标准时间复杂度是,仍是多项式时间的。然而,当我们处理一些与数论有关的问题时,事情就不太乐观了。现在我们来讨论判断一个整数是否为素数的算法,下面是一个简单的算法:function isPrime(n): for i from 2 to n - 1: if (n mod i) = 0, return false return true显然,这个算法在传统时间复杂度计算方法中是多项式时间的。我们不妨认为它的传统时间复杂度是。然后我们再来分析这个问题的输入规模,可能有的同学会说,对于32-bit整数,这个输入规模不就是32吗?这话虽然没错,但是因为在这个问题中,输入规模完全依赖于的大小,所以的范围不再限制在32-bit整数的范围内,而是要探讨当更大时对数据规模的影响。我们知道,保存一个整数所需要的bit位数,因此,在标准的时间复杂度中,此算法的复杂度变为了!这已经不再是多项式时间,而是一个指数时间。我们可以从下面这个例子中直观感受一下这种指数时间的增长速度:对于一个二进制串:10001010101011我们记指数时间复杂度算法运行时间为T。然后,我们在二进制串后面仅仅增加一位:100010101010111这时,算法运行时间会变为2T(至少)!因此,我们仅仅增加几个bit 就会使得算法运行时间成倍成倍的增长。2023-07-27 17:00:531
请问什么是多项式时间复杂度?若一个算法的时间复杂度为O[(√n)!],那么它是不是多项式时间复杂度
多项式时间复杂度就是存在一个(与n无关的)正数p使得时间复杂度为O(n^p)(√n)!的增长速度要快于任何多项式, 如果把大O记号换成大Theta记号, 那么Theta[(√n)!]一定不是多项式时间复杂度, 因为由Stirling公式, Theta[(√n)]=Theta(√n^{√n+1/2}/e^{√n}), 当n充分大时大于任何n^p.但是需要注意, 仅看O[(√n)!]不能判定是否是多项式时间复杂度, 因为大O记号只是一个上界, 即使是O(1)也可以写成O[(√n)!].2023-07-27 17:01:011
谁证明了p等于np?
谁证明了p等于np如下:斯蒂文·考克于1971年提出的。2000年5月,著名的克雷数学研究所提出了“世界七大数学难题”,其中的第一个问题便是NP完全问题,它所探讨的是P=NP是否成立。P是否等于NP,对于21世纪的人类来说至关重要,因为这个神秘的问题正处于计算机科学与数学的交汇处。事实上,P=NP问题是“计算复杂性理论”的一部分,它所讨论的是计算机处理能力的极限。我们知道,计算机的工作必须依赖于算法,也就是一系列需要执行的命令。在完成某些任务时,计算机只需要几微秒就可以实现,但另一些,以目前的计算机算法处理速度则可能需要几十亿个世纪。首先,P/NP问题是什么?P/NP问题不仅是一个数学问题,同时也是困扰了计算机科学家、经济学家、甚至哲学家多年的问题,是世界级数学难题之一,也被称为千禧年七大数学难题之首。P指多项式时间(Polynomial),一个复杂问题如果能在多项式时间内解决,那么它便被称为P问题,这意味着计算机可以在有限时间内完成计算NP指非确定性多项式时间。(nondeterministic polynomial),一个复杂问题不能确定在多项式时间内解决,假如NP问题能找到算法使其在多项式时间内解决,也就是证得了P=NP。2023-07-27 17:01:091
怎么理解P问题和NP问题?
P对NP问题是克雷数学研究所高额悬赏的七个千禧年难题之一,同时也是计算机科学领域的最大难题,关系到计算机完成一项任务的速度到底有多快。P对NP问题是Steve Cook于1971年首次提出。"P/NP问题",这里的P指多项式时间(Polynomial),一个复杂问题如果能在多项式时间内解决,那么它便被称为P问题,这意味着计算机可以在有限时间内完成计算;NP指非确定性多项式时间(nondeterministic polynomial),一个复杂问题不能确定在多项式时间内解决,假如NP问题能找到算法使其在多项式时间内解决,也就是证得了P=NP。比NP问题更难的则是NP完全和NP-hard,如围棋便是一个NP-hard问题。2010年8月7日,来自惠普实验室的科学家Vinay Deolalikar声称已经解决了"P/NP问题" ,并公开了证明文件。如果我们只能通过元素间的相互比较来确定元素间的相互位置,而没有其他的附加可用信息,则排序问题的复杂性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情况下是O(nlgn)等等,排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。问题的复杂性不可能通过枚举各种可能算法来得到,一般都是预先估计一个值,然后从理论上证明。为了研究问题的复杂性,我们必须将问题抽象,为了简化问题,我们只考虑一类简单的问题,判定性问题,即提出一个问题,只需要回答yes或者 no的问题。任何一般的最优化问题都可以转化为一系列判定性问题,比如求图中从A到B的最短路径,可以转化成:从A到B是否有长度为1的路径?从A到B是否有长度为2的路径。2023-07-27 17:01:233
何谓“NP完全问题”?
P/NP问题 P/NP问题是在理论信息学中计算复杂度理论领域里至今没有解决的问题,它被“克雷数学研究所”(Clay Mathematics Institute, 简称CMI)在千禧年大奖难题中收录。P/NP问题中包含了复杂度类P与NP的关系。1971年史提芬·古克(Stephen A. Cook) 和 Leonid Levin 相对独立的提出了下面的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。 P和NP 复杂度类P包含所有那些可以由一个确定型图灵机在多项式表达的时间内解决的问题;类NP由所有其肯定解可以在给定正确信息的多项式时间内验证的决定问题组成,或者等效的说,那些解可以在非确定图灵机上在多项式时间内找出的问题的集合。很可能,计算理论最大的未解决问题就是关于这两类的关系的: P和NP相等吗? 在2002年对于100研究者的调查,61人相信答案是否定的,9个相信答案是肯定的,22个不确定,而8个相信该问题可能和现在所接受的公理独立,所以不可能证明或证否。[1] 对于正确的解答,有一个1,000,000美元的奖励。 NP-完全问题(或者叫NPC)的集合在这个讨论中有重大作用,它们可以大致的被描述为那些在NP中最不像在P中的。(确切定义细节请参看NP-完全)理论计算机科学家现在相信P, NP,和NPC类之间的关系如图中所示,其中P和NPC类不交。 假设P ≠ NP的复杂度类的图解.如P = NP则三个类相同.本质上,P = NP问题问道:如果是/不是问题的正面答案可以很快验证,其答案是否也可以很快计算?这里有一个给你找点这个问题的感觉的例子。给定一个大数Y,我们可以问Y是否是复合数。例如,我们可能问53308290611是否有非平凡的因子。回答是肯定的,虽然手工找出一个因子很麻烦。从另一个方面讲,如果有人声称答案是"对,因为224737可以整除53308290611",则我们可以很快用一个除法来验证。验证一个数是除数比首先找出除数来简单得多。用于验证一个正面答案所需的信息也称为证书。所以我们的结论是,给定 正确的证书,问题的正面答案可以很快的(也就是,在多项式时间内)验证,而这就是这个问题属于NP的原因。虽然这个特定的问题,最近被证明为也在P类中(参看下面的关于"质数在P中"的参考),这一点也不明显,而且有很多类似的问题相信不属于类P。 限制到是/不是问题并没有改变问题;即使我们允许更复杂的答案,最后的问题(是否FP = FNP)是等价的。 形式化定义 更正式一些,一个决定问题是一个取一些字符串为输入并要求输出为是或否的问题。若有一个算法(譬如图灵机,或一个LISP或Pascal的程序并有无限的内存)能够在最多nk步内对一个串长度为n的输入给出正确答案,其中k是某个不依赖于输入串的常数,则我们称该问题可以在多项式时间内解决,并且将它置入类P。直观的讲,我们将P中的问题视为可以较快解决的问题。 现在假设有一个算法A(w,C)取两个参数,一个串w,也就是我们的决定问题的输入串,而另一个串C是“建议证明”,并且使得A在最多nk步之内产生“是/否”答案(其中n是w的长度而k不依赖于w)。进一步假设 w是一个答案为“是”的例子,当且仅当,存在C使得A(w,C)返回“是”。 则我们称这个问题可以在非决定性多项式时间内解决,且将它放入NP类。我们把算法A作为一个所建议的证明的检验器,它运行足够快。(注意缩写NP代表“Non-deterministic(非确定性)Polynomial(多项式)”而不是代表“Non-Polynomial(非多项式)。) NP完全 要解决P = NP问题,NP完全的概念非常有用。不严格的讲,NP完全问题是NP类中“最难”的问题,也就是说它们是最可能不属于P类的。这是因为任何NP中的问题可以在多项式时间内变换成为任何特定NP完全问题的一个特例。例如,旅行商问题的判定问题版本是NP完全的。所以NP中的任何问题的任何特例可以在多项式时间内机械地转换成旅行商问题的一个特例。所以若旅行商问题被证明为在P内,则P = NP!旅行商问题是很多这样的NP完全的问题之一。若任何一个NP完全的问题在P内,则可以推出P = NP。不幸的是,很多重要的问题被证明为NP完全,但没有一个有已知快速的算法。 更难的问题 虽然是否P=NP还是未知的,在P之外的问题是已经知道存在的。寻找国际象棋或围棋最佳走法(在n乘n棋盘上)是指数时间完全的。因为可以证明P ≠ EXPTIME(指数时间),这些问题位于P之外,所以需要比多项式时间更多的时间。判定Presburger算术中的命题是否为真的问题更加困难。Fischer和Rabin于1974年证明每个决定Presburger命题的真伪性的算法有最少2^(2^(cn))的运行时间,c为某个常数。这里,n是Presburger命题的长度。因此,该命题已知需要比指数时间更多的运行时间。不可判定问题是更加困难的,例如停机问题。它们无法在任何给定时间内解决。 P真的容易处理吗? 上面所有的讨论假设了P表示“容易”而“不在P中”表示“困难”。这是一个在复杂度理论中常见而且有一定准确性的假设,它在实践中却不总是真的,原因包括如下几点: 它忽略了常数因子。一个需要101000n时间的问题是属于P的(它是线性时间的),但是事实上完全无法处理。一个需要10-100002n时间的问题不是在P中的(它是指数时间的),但是对于n 取值直到几千时还是很容易处理的。 它忽略了指数的大小。一个时间复杂度n1000属于P,但是很难对付。已经证明在P中存在需要任意大的指数的问题(参看时间等级定理)。一个时间复杂度2n/1000的问题不属于P,但对与n直到几千还是容易应对的。 它只考虑了最坏情况的复杂度。可能现实世界中的有些问题在多数时候可以在时间n中解决,但是很偶尔你会看到需要时间2n的特例。这个问题可能有一个多项式的平均时间,但最坏情况是指数式的,所以该问题不属于P。 它只考虑确定性解。可能有一个问题你可以很快解决如果你可以接受出现一点误差的可能,但是确保正确的答案会难得多。这个问题不会属于P,虽然事实上它可以很快求解。这实际上是解决属于NP而还不知道是否属于P的问题的一个办法(参看RP, BPP)。 新的诸如量子电脑这样的计算模型,可能可以快速的解决一些尚未知道是否属于P的问题;但是,没有一个它们已知能够解决的问题是NP完全的。不过,必须注意到P和NP问题的定义是采用象图灵机这样的经典计算模型的属于表述的。所以,即使一个量子计算机算法被发现能够有效的解决一个NP完全问题,我们只是有了一个快速解决困难问题的实际方法,而不是数学类P和NP相等的证明。 计算机科学家为什么认为P ≠ NP? 多数计算机科学家相信P≠NP。该信念的一个关键原因是经过数十年对这些问题的研究,没有人能够发现一个NP完全问题的多项式时间算法。而且,人们早在NP完全的概念出现前就开始寻求这些算法了(Karp的21个NP完全问题,在最早发现的一批中,有所有著名的已经存在的问题]])。进一步地,P = NP这样的结果会导出很多惊人的结果,那些结果现在被相信是不成立的,例如NP = 余NP和P = PH。 也有这样论证的:问题较难求解(NP)但容易验证(P),这和我们日常经验是相符的。 从另一方面讲,某些研究者认为我们过于相信P ≠ NP,而应该也去寻找P = NP的证明。例如,2002年中有这样的声明: 倾向P≠NP的主要论据是在穷尽搜索的领域完全没有本质进展。也就是说,以我的观点,一个很弱的论据。算法的空间是很大的,而我们只是在开始探索的起点。[ . . . ] 费马最後定理的解决也显示非常简单的[sic]问题可能只有用非常深刻的理论才能解决。 — Moshe Vardi,莱斯大学 过分依赖某种投机不是规划研究的一个好的导引。我们必须总是尝试每个问题的两个方向。偏见可能导致著名的数学家无法解决答案和他们的预计相反的著名问题,虽然他们发展了所有所需的方法。 — Anil Nerode, 康奈尔大学 关于证明的难度的结果 虽然百万美元的奖金和大量投入巨大却没有实质性结果的研究足以显示该问题是困难的,还有一些形式化的结果证明为什么该问题可能很难解决。 最常被引用的结果之一设计神喻。假想你有一个魔法机器可以解决单个问题,例如决定一个给定的数字是否为质数,但可以瞬间解决这个问题。我们的新问题是,若我们被允许任意利用这个机器,是否存在我们可以在多项式时间内验证但无法在多项式时间内解决的问题?结果是,依赖于机器能解决的问题,P = NP和P ≠ NP二者都可以证明。这个结论的后果是,任何可以修改来证明该机器的存在性的结果不能解决问题。不幸的是,几乎所有经典的方法和大部分已知的方法可以这样修改(我们称它们在相对化)。 如果这还不算太糟的话,1993年Razborov和Rudich证明的一个结果表明,给定一个特定的可信的假设,在某种意义下“自然”的证明不能解决P = NP问题。[3] 这表明一些现在似乎最有希望的方法不太可能成功。随着更多这类的定理得到证明,该定理的可能证明有越来越多的陷阱要规避。 这实际上也是为什么NP完全问题有用的原因:若有一个多项式时间算法,或者没有一个这样的算法,对于NP完全问题存在,这将用一种相信不被上述结果排除在外的方法来解决P = NP问题。 多项式时间算法 没人知道多项式时间算法对于NP完全问题是否存在。但是如果这样的算法存在,我们已经知道其中的一些了!例如,下面的算法正确的接受了一个NP完全语言,但是没人知道通常它需要多久运行。它是一个多项式时间算法当且仅当P = NP。 // 接受NP完全语言的一个算法子集和。 // // 这是一个多项式时间算法当且仅当P=NP。 // // “多项式时间”表示它在多项式时间内返回“是”,若 // 结果是“是”,否则永远运行。 // // 输入:S = 一个自然数的有限集 // 输出:"是" 如果某个S的子集加起来等于0。 // 否则,它永远运行没有输出。 // 注意: "程序数P" 是你将一个整数P写为二进制,然后 // 将位串考虑为一个程序。 // 每个可能的程序都可以这样产生, // 虽然多数什么也不做因为有语法错误。 // FOR N = 1...infinity FOR P = 1...N 以S为输入运行程序数P N步 IF 程序输出一个不同的整数的列表 AND 所有整数都在S中 AND 整数的和为0 THEN OUTPUT "是" 并 停机 若P = NP,则这是一个接受一个NP完全语言的多项式时间算法。“接受”表示它在多项式时间内给出“是”的答案,但允许在答案是“否”的时候永远运行。 可能我们想要“解决”子集和问题,而不是仅仅“接受”子集和语言。这表示我们想要它总是停机并返回一个“是”或“否”的答案。是否存在任何可能在多项式时间内解决这个问题的算法?没有人知道。但是如果这样的算法存在,那么我们已经知道其中的一些了!只要将上面的算法中的IF语句替换成下面的语句: IF 程序输出一个完整的数学证明 AND 证明的每一步合法 AND 结论是S确实有(或者没有)一个和为0的子集 THEN OUTPUT "是" (或者"不是"如果那被证明了)并停机 逻辑表述 P=NP问题可以用逻辑命题的特定类的可表达性的术语来重新表述。所有P中的语言可以用一阶逻辑加上最小不动点操作(实际上,这允许了递归函数的定义)来表达。类似地,NP是可以用存在性二阶逻辑来表达—也就是,在关系、函数、和子集上排除了全域量词的二阶逻辑。多项式等级,PH中的语言对应与所有的二阶逻辑。这样,“P是NP的真子集吗”这样的问题可以表述为“是否存在性二阶逻辑能够表达带最小不动点操作的一阶逻辑的所不能表达的语言?” 花絮 普林斯顿大学计算机系楼将二进制代码表述的“P=NP?”问题刻进顶楼西面的砖头上。如果证明了P=NP,砖头可以很方便的换成表示“P=NP!”。[4] 康奈尔大学的Hubert Chen博士提供了这个玩笑式的P不等于NP的证明:“反证法。设P = NP。令y为一个P = NP的证明。证明y可以用一个合格的计算机科学家在多项式时间内验证,我们认定这样的科学家的存在性为真。但是,因为P = NP,该证明y可以在多项式时间内由这样的科学家发现。但是这样的发现还没有发生(虽然这样的科学家试图发现这样的一个证明),我们得到矛盾。2023-07-27 17:02:021
什么是P问题,NP问题和NPC问题
1、P问题P是一个判定问题类,这些问题可以用一个确定性算法在多项式时间内判定或解出。如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。NP是一个判定问题类,这些问题可以用一个确定算法在多项式时间内检查或验证出它们的解;P事实上很直观,我们通常在编程中求解的问题大多都是P类问题.比如说排序,找最短路径等.2、NP问题然而有些问题很难找到多项式时间的算法(或许根本不存在),比如找出无向图中的哈米尔顿回路问题,但是我们发现如果给了我们该问题的一个答案,我们可以在多项式时间内判断这个答案是否正确。比如说对于哈米尔顿回路问题,给一个任意的回路,我们很容易判断他是否是哈米尔顿回路(只要看是不是所有的顶点都在回路中就可以了)。这种可以在多项式时间内验证一个解是否正确的问题称为NP问题。显然,所有的P类问题都是属于NP问题的,但是现在的问题是,P是否等于NP?这个问题至今还未解决。NP这个类事实上也很有趣,它并不要求给出一个算法来求解问题本身,而只是要求给出一个确定性算法在多项式时间内验证它的解.3、NP完全问题此外请注意,NP问题不一定都是难解的问题,比如,简单的数组排序问题是P类问题,但是P属于NP,所以也是NP问题,你能说他很难解么?刚才说了,现在还不知道是否有P=NP或者P<>NP,但是后来人们发现还有一系列的特殊NP问题,这类问题的特殊性质使得很多人相信P<>NP,只不过现在还无法证明。这类特殊的NP问题就是NP完全问题(NPC问题,C代表complete)。NP完全问题是求NP中判定问题的一个子类.NPC问题存在着一个令人惊讶的性质,即如果一个NPC问题存在多项式时间的算法,则所有的NP问题都可以在多项式时间内求解,即P=NP成立!!这是因为,每一个NPC问题可以在多项式时间内转化成任何一个NP问题。比如前面说的哈米尔顿回路问题就是一个NPC问题。NPC问题的历史并不久,cook在1971年找到了第一个NPC问题,此后人们又陆续发现很多NPC问题,现在可能已经有3000多个了。所以,我们一般认为NPC问题是难解的问题,因为他不太可能存在一个多项式时间的算法(如果存在则所有的NP问题都存在多项式时间算法,这太不可思议了,但是也不是不可能)。类似哈米尔顿回路/路径问题,货郎担问题,集团问题,最小边覆盖问题(注意和路径覆盖的区别),等等很多问题都是NPC问题,所以都是难解的问题。2023-07-27 17:02:092
怎么用微分计算4.02*0.02
有近似公式f(x)≈f(x0)+f"(x0)(x-x0)代入即可得:f(4.02)≈2+1/4*0.02=14.5。微积分是数学的一个基础学科,内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法。扩展资料:在计算机科学与运筹学,近似算法是指用来发现近似方法来解决优化问题的算法。近似算法通常与NP-hard问题相关; 由于不可能有效的多项式时间精确算来解决NP-hard问题,所以一个求解多项式时间次优解。与启发式算法不同,通常只能找到合理的解决方案相当快速,需要可证明的解决方案质量和可证明的运行时间范围,既近似算法通常可得到一个有质量保证的解。理想情况下,近似值最优可达到一个小的常数因子。近似算法越来越多地用于已知精确多项式时间算法但由于输入大小而过于昂贵的问题。2023-07-27 17:02:161
NP是什么意思?
NP的全拼有很多种,比如:最常见的Nickel-Plated,中文解释为镀镍的还有以下多种释义:NetworkProcessor(网络处理器);neptunium(化学元素镎);nucleoprotein(核蛋白);National-Pipe(美国标准管(螺纹));no-problem(没问题);Nonlinear-Programming(非线性规划,非线性程序设计);No-Parking(禁止停车);Normal-Pitch(标准间距,标准行距。2023-07-27 17:02:338
是否有多项式时间算法计算给定的分解,并且对于一些
数学中,整数分解(素因数分解)问题是指:给出一个正整数,将其写成几个约数的乘积。例如,给出45这个数,它可以分解成32 ×5。根据算术基本定理,这样的分解结果应该是独一无二的。这个问题在代数学、密码学、计算复杂性理论和量子计算机等领域中有重要意义。2005年,作为公共研究一部分的有663个二进制数位之长的RSA-200已经被一种一般用途的方法所分解。如果一个大的,有n个二进制数位长度的数是两个差不多大小相等的约数的乘积,现在还没有很好的算法来以多项式时间复杂度分解它。这就意味着没有已知算法可以在O(nk)(k为常数)的时间内分解它。但是现在的算法也是比Θ(en)快的。换句话说,现在我们已知最好的算法比指数数量级时间要快,比多项式数量级时间要慢。已知最好的渐近线运行时间是普通数域筛选法(GNFS)。时间是:对于平常的计算机,GNFS是我们已知最好的对付n个二进制数位大约数的方法。不过,对于量子计算机, 彼得·秀尔在1994年发现了一种可以用多项式时间来解决这个问题的算法。如果大的量子计算机建立起来,这将对密码学有很重要的意义。这个算法在时间上只需要O(n3),空间只要O(n)就可以了。 构造出这样一个算法只需要2n量子位。2001年,第一个7量子位的量子计算机第一个运行这个算法,它分解的数是15如果想获得最新消息,请你上wikipedia百科,英文版。2023-07-27 17:03:012
线性规划模型具有哪些特征?
线性规划问题的形式特征,三个要素组成:1、变量或决策变量;2、目标函数;3、约束条件。求解线性规划问题的基本方法是单纯形法,已有单纯形法的标准软件,可在电子计算机上求解约束条件和决策变量数达 10000个以上的线性规划问题。为了提高解题速度,又有改进单纯形法、对偶单纯形法、原始对偶方法、分解算法和各种多项式时间算法。对于只有两个变量的简单的线性规划问题,也可采用图解法求解。这种方法仅适用于只有两个变量的线性规划问题。它的特点是直观而易于理解,但实用价值不大。通过图解法求解可以理解线性规划的一些基本概念。扩展资料:线性规划建立的数学模型具有以下特点:1、每个模型都有若干个决策变量(x1,x2,x3……,xn),其中n为决策变量个数。决策变量的一组值表示一种方案,同时决策变量一般是非负的。2、目标函数是决策变量的线性函数,根据具体问题可以是最大化(max)或最小化(min),二者统称为最优化(opt)。3、约束条件也是决策变量的线性函数。当我们得到的数学模型的目标函数为线性函数,约束条件为线性等式或不等式时称此数学模型为线性规划模型。参考资料来源:搜狗百科-线性规划2023-07-27 17:03:082
如何证明一个问题是否np
NP问题一个NP-完全的问题具有如下性质:它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解.P是所有可在多项式时间内用确定算法求解的判定问题的集合.NP是所有可在多项式时间内用不确定算法求解的判定问题的集合.令L1和L2是两个问题,如果有一确定的多项式时间算法求解L1,而这个算法使用了一个在多项式时间内求解L2的确定算法,则称L1约化为L2.如果可满足性约化为一个问题L,则称L问题是NP-难度的.如果L是NP难度的且L(-NP,则称L是NP-完全的.NP并不是NON-POLYNOMIAL,把NP说成是NON-POLYNOMIAL,是望文生义,读书不求甚解.事实上,如果你能够证明某个NP问题是个NON-POLYNOMIAL的问题,你就可以去领那七个百万美元数学大奖中间的一个了.数学上著名的NP问题,完整的叫法是NP完全问题,也即“NP COMPLETE”问题,简单的写法,是 NP=P?的问题.问题就在这个问号上,到底是NP等于P,还是NP不等於P.证明其中之一,便可以拿百万美元大奖.这个奖还没有人拿到,也就是说,NP问题到底是Polynomial,还是Non-Polynomial,尚无定论.Mr.X信口开河敢说NP就是Non-Polynomial,真是不知天高地厚,惹人笑话.NP里面的N,不是Non-Polynomial的N,是Non-Deterministic,P代表Polynomial倒是对的.NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题.什么是非确定性问题呢?有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果.但是,有些问题是无法按部就班直接地计算出来.比如,找大质数的问题.有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少这样的公式是没有的.再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式.这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果.这也就是非确定性问题.而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的.这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内算出来,就叫做多项式非确定性问题.而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题.完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果.但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了.人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题.既然这类问题的所有可能答案,都可以在多项式时间内计算,人们於是就猜想,是否这类问题,存在一个确定性算法,可以在指数时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想.解决这个猜想,无非两种可能,一种是找到一个这样的算法,只要针对某个特定NP完全问题找到一个算法,所有这类问题都可以迎刃而解了,因为他们可以转化为同一个问题.另外的一种可能,就是这样的算法是不存在的.那么就要从数学理论上证明它为什么不存在.前段时间轰动世界的一个数学成果,是几个印度人提出了一个新算法,可以在多项式时间内,证明某个数是或者不是质数,而在这之前,人们认为质数的证明,是个非多项式问题.可见,有些看来好像是非多项式的问题,其实是多项式问题,只是人们一时还不知道它的多项式解而已.2023-07-27 17:03:181
什么是NP完全问题?
的问题。问题就在这个问号上,到底是NP等於P,还是NP不等於P。 这个奖还没有人拿到,也就是说,NP问题到底是Polynomial,还是Non-Polynomial,尚无定论。 NP里面的N,不是Non-Polynomial的N,是Non-Deterministic,P代表Polynomial倒是对的。NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。 什么是非确定性问题呢?有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。但是,有些问题是无法按部就班直接地计算出来。比如,找大质数的问题。有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式。 这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内算出来,就叫做多项式非确定性问题。而如果这个问题的所有可能答案,都是可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。 完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果。但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了。 人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。既然这类问题的所有可能答案,都可以在多项式时间内计算,人们於是就猜想,是否这类问题,存在一个确定性算法,可以在指数 时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。 前段时间轰动世界的一个数学成果,是几个印度人提出了一个新算法,可以在多项式时间内,证明某个数是或者不是质数,而在这之前,人们认为质数的证明,是个非多项式问题。可见,有些看来好象是非多项式的问题,其实是多项式问题,只是人们一时还不知道它的多项式解而已。2023-07-27 17:03:371
能够被计算机解决的问题的特点是?
计算机能够做什么?又有哪些问题计算机几乎不可能解决?这些问题构成了计算复杂度的核心。这里,我们呈现了一张关于计算复杂度的地图:○各种“复杂性类”(complexity class)将问题排序为层级结构:一个类可能包含另一个类的所有问题,以及其他需要额外计算资源的问题。一个问题从本质上来说能有多难?这是计算机科学家的基本任务,他们希望将问题归类到所谓的复杂性类(complexity class)中。复杂性类包含所需计算资源少于一定数量的所有计算问题,这种计算资源通常指时间或内存。以一个非常大的数字123456789001为例,一个问题可能会是:这个数字是质数、也就是只能被1和它自己整除吗?计算机科学家可以用快速算法(fast algorithm)解决这个问题,这种算法不会因为数字变得任意大而陷入停顿。对于123456789001这个例子,答案是它并不是质数。然后我们可能会问:这个数字的质因数是什么?对于这个问题,并不存在第一个问题中的快速算法——除非使用量子计算机。因此,计算机科学家认为这两个问题属于不同的复杂性类。存在许多不同的复杂性类,尽管大多数情况下,研究者还不能证明一个类完全区别于其他类。证明这些分类间的区别是该领域最困难和最重要的开放性问题之一,这就是为什么五月底Ran Raz和Avishay Tal这两位计算机科学家的证明结果被认为是如此重要。他们解决了科学家们自1993年就开始寻求答案的问题,证明了存在一些只有量子计算机能够解决、而无论现在或未来的经典计算机都永远不可能解决的问题,也就表明了量子计算机和经典计算机的两个复杂性类确实不同。(进一步阅读《误解带来的乐观与恐慌》)复杂性类之间的差异可以是微妙的,也可以是明显的,如何正确分类是一个挑战。因此,我们将介绍以下10个基本的复杂性类作为一个入门,希望你看完后再也不会混淆BPP和BQP了。P代表:多项式时间(Polynomial time)简单介绍:经典(非量子)计算机能够轻易解决的所有问题。详细介绍:P类的算法必须在多项式时间 t=n^c 内停止并输出正确的结果,其中n是输入的长度,c是常数。典型问题:一个数是质数吗?两点之间的最短路径是什么?NP代表:非确定性多项式时间(Nondeterministic Polynomial time)简单介绍:只要给出一个解,经典计算机就能够快速验证给出的解是否正确的所有问题。详细介绍:如果给定“是”的答案,可在多项式时间内确定这个答案是正确的,这就是一个NP问题。如果输入是一个字符串X,需要判断答案是否为“是”,那么这个简短的证明将是另一个字符串Y,然后,在多项式时间内,Y被用来验证答案是否为“是”。(Y有时被称为“短时见证”(short witness),NP类的所有问题都有“短时见证”,这些“短时见证”使得问题能够迅速被解决。)典型问题:分团问题(Clique problem)想象一个有边和节点的图形,例如Facebook的社交网络图,其中节点是个人,如果两个人建立好友关系,两个节点就被一条边连接。小团体(Clique)是整个图形的一个子集,其中每一个人都是其他人的朋友,也就是其中任意两个节点彼此连接。有人或许会问:存在20个人的小团体吗?50个人呢?100个人呢?寻找这样的小团体是图论领域的一个“NP完全”(NP-complete)问题,NP完全意味着这是NP类问题中最复杂的一种。然而,如果给出了一个潜在的答案,比如说50个节点可以或不可以形成一个小团体,那么问题就迎刃而解了。○6个节点的网络图中大小为3的小团体。来源 | Wikepedia最短路径问题(Travelling salesman problem)考虑一系列城市,其中每一对城市之间的距离是已知的,有没有一种方法能够以最短的距离穿越所有的城市呢?例如,一个旅行推销员能够穿越美国各个州的首府,而将行程控制在11000英里内吗?(进一步阅读:《一位旅行家》)○最短路径问题。来源 | WikepediaNP-Complete代表:NP 完全简单介绍:在多项式时间内,所有NP类问题都能够被规约到的问题的集合。详细介绍:在多项式时间内,如果所有NP类问题都能被转化为另一个NP问题,那么这个转化后的NP类问题就称为NP完全问题。NP完全问题满足两个条件:1. 本身是NP类问题。2. 所有NP类问题都能规约到该问题。典型问题:给一个整数集合,证明是否存在一个非空子集,使得该集合内的数字和为0。NP-Hard代表:NP困难简单介绍:在多项式时间内,能够被规约到该问题的所有问题。详细介绍:在多项式时间内,如果所有问题都能被转化为另一个问题,那么这个转化后的问题就称为NP困难问题。它满足NP完全问题的第二个条件,但不一定要满足第一条,即NP困难问题未必能在多项式时间内验证。典型问题:停机问题(详见:《一个无法被证明的逻辑问题》)○左侧是在假定P≠NP的前提下,P,NP,NP-Complete与NP-Hard四个复杂性类的关系,右侧则是假定P=NP的前提下它们的关系。 | 来源 WikipediaPH代表:多项式层级结构(Polynomial Hierarchy)简单介绍:PH是NP的外推,它包含NP类的所有问题,并在NP类问题的基础上,添加了额外的复杂度。详细介绍:PH类包含一些交替使用比如“存在”、“每一个”、“所有”等“量词”(quantifier)的问题,使NP类问题更加复杂。一个关于交替量词问题的例子是:给定X,是否存在这样的Y,使得对于每一个Z,都存在这样的W,使得R成立?一个问题包含的量词越多,它就越是复杂,在多项式层级结构中的排序也就越高。典型问题:确定是否存在规模为50的小团体,但不存在规模为51的小团体。BPP代表:有限错误概率多项式时间(Bounded-error Probabilistic Polynomial time)简单介绍:在多项式时间内,可以通过包含随机性元素的算法快速解决,且通常输出结果的错误概率小于1/3的问题。详细介绍:BPP与P唯一不同的是,BPP的算法允许包含随机决策的步骤。BPP的算法只需要以接近1的概率给出正确答案即可。典型问题:给定两个不同的公式,每个公式产生一个包含很多变量的多项式,这两个公式计算的是相同的多项式吗?这个问题叫做多项式恒等检验问题。研究人员想知道的是:BPP=P是否成立。如果这是真的,那就意味着每一个随机性算法都可以去随机化。他们相信这是事实,因为对于每一个存在有效随机性算法的问题,都有一个有效的确定性算法,但他们还不能证明这一点。BQP代表:有限错误量子多项式时间(Bounded-error Quantum Polynomial time)简单介绍:在多项式时间内,量子计算机能够轻易解决的所有问题。详细介绍:在多项式时间内,量子计算机能够轻易解决,且错误机率小于1/3的所有问题。典型问题:确定一个整数的质因数。计算机科学家已经证明:PSPACE包含BQP,且BQP包含P。关于BQP和NP这两个类的关系,有一些问题属于NP类,而不属于BQP类,反之亦然,两者互不包含。○计算复杂度地图上一块新区域:上文提到的五月底的研究,证明了存在属于BQP,却不属于PH的问题。(注:P-经典计算机能够快速解决的问题;NP-经典计算机就能够验证正确性的问题;NPC-NP完全问题;BQP-量子计算机能够有效决的问题。)QMA代表:量子梅林亚瑟(Quantum Merlin Arthur)简单介绍:量子计算下的NP类问题。详细介绍:在量子计算下,如果给定 “是”的答案,在多项式时间内,能够完成验证,确定这个答案正确与否,这就是QMA类问题。QMA类问题相对于BQP类问题的关系,就相当于NP类问题相对于P类问题,也就是验证与求解的复杂度的区别。典型问题:局部哈密顿量问题。PSPACE代表:多项式空间(Polynomial Space)简单介绍:PSPACE包含了所有只要用合理大小的内存(多项式量级的内存)就能解决的问题。详细介绍:在PSPACE中,我们不关心时间,只关心运行算法所需的内存。典型问题:P、NP和PH类的所有问题都包含在PSPACE中。计算机科学家已经证明,PSPACE包含PH,PH包含NP,NP包含P。然而,对于P是否等于NP,是否等于PH,是否等于PSPACE,计算机科学家始终一筹莫展。P=NP问题是克雷数学研究所发布的七道难题之一,可以进一步阅读《一个价值百万美金的问题》了解更多。EXPTIME代表:指数时间(EXPonential Time)简单介绍:在指数时间内,经典计算机能够解决的所有问题。详细介绍:EXP包含之前所有的类——P、NP、PH、PSPACE、BQP和QMA等。研究人员已经证明,EXP不同于P,他们在EXP中发现了不属于P的问题。典型问题:国际象棋和跳棋之类的游戏都属于EXP。如果棋盘可以是任意大小的,那么在给定的棋局形势下,确定哪一个棋手具有优势就是一个EXP问题。计算机科学家想要证明PSPACE不包含EXP。他们认为EXP中有一些问题不包含在PSPACE中,因为有时候EXP类问题的解决需要大量的内存。计算机科学家知道如何区分EXP和P。在计算复杂度的地图上,科学家们已经证明与尚未证明的问题可以总结如下:从中可见,问题的源头主要在于那个价值百万美金的问题:P=NP是否成立。P是否等价NP的问题,可以简化为NP完全问题的证明,也就是证明,是否能用多项式级复杂度的算法来解决任何一个NP完全问题2023-07-27 17:03:472
世界未解数学难题简介世界未解数学难题有哪些?
世界未解数学难题简介:世界未解数学难题有哪些?本文这就为你介绍: 世界未解数学难题简介 世界未解数学难题有很多,其中有七大问题最受人们关注,这七个“世界难题”是:NP完全问题、霍奇猜想、庞加莱猜想、黎曼假设、杨-米尔斯存在性和质量缺口、纳卫尔-斯托可方程、BSD猜想。这七个问题都被悬赏一百万美元。 世界未解数学难题有哪些? 世界未解数学难题之一:NP完全问题 例:在一个周六的晚上,你参加了一个盛大的晚会。由于感到局促不安,你想知道这一大厅中是否有你已经认识的人。宴会的主人向你提议说,你一定认识那位正在甜点盘附近角落的女士罗丝。 不费一秒钟,你就能向那里扫视,并且发现宴会的主人是正确的。然而,如果没有这样的暗示,你就必须环顾整个大厅,一个个地审视每一个人,看是否有你认识的人。 生成问题的一个解通常比验证一个给定的解时间花费要多得多。这是这种一般现象的一个例子。与此类似的是,如果某人告诉你,数13717421可以写成两个较小的数的乘积,你可能不知道是否应该相信他,但是如果他告诉你它可以分解为3607乘上3803,那么你就可以用一个袖珍计算器容易验证这是对的。 人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。既然这类问题的所有可能答案,都可以在多项式时间内计算。 人们于是就猜想,是否这类问题,存在一个确定性算法,可以在多项式时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。 不管我们编写程序是否灵巧,判定一个答案是可以很快利用内部知识来验证,还是没有这样的提示而需要花费大量时间来求解,被看作逻辑和计算机科学中最突出的问题之一。它是斯蒂文·考克于1971年陈述的。 世界未解数学难题之二:霍奇猜想 二十世纪的数学家们发现了研究复杂对象的形状的强有力的办法。基本想法是问在怎样的程度上,我们可以把给定对象的形状通过把维数不断增加的简单几何营造块粘合在一起来形成。 这种技巧是变得如此有用,使得它可以用许多不同的方式来推广;最终导致一些强有力的工具,使数学家在对他们研究中所遇到的形形色色的对象进行分类时取得巨大的进展。 不幸的是,在这一推广中,程序的几何出发点变得模糊起来。在某种意义下,必须加上某些没有任何几何解释的部件。 霍奇猜想断言,对于所谓射影代数簇这种特别完美的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合。 世界未解数学难题之三:庞加莱猜想 如果我们伸缩围绕一个苹果表面的橡皮带,那么我们可以既不扯断它,也不让它离开表面,使它慢慢移动收缩为一个点。 另一方面,如果我们想象同样的橡皮带以适当的方向被伸缩在一个轮胎面上,那么不扯断橡皮带或者轮胎面,是没有办法把它收缩到一点的。 我们说,苹果表面是“单连通的”,而轮胎面不是。大约在一百年以前,庞加莱已经知道,二维球面本质上可由单连通性来刻画,他提出三维球面(四维空间中与原点有单位距离的点的全体)的对应问题。这个问题立即变得无比困难,从那时起,数学家们就在为此奋斗。 在2002年11月和2003年7月之间,俄罗斯的数学家格里戈里·佩雷尔曼在发表了三篇论文预印本,并声称证明了几何化猜想。 在佩雷尔曼之后,先后有2组研究者发表论文补全佩雷尔曼给出的证明中缺少的细节。这包括密西根大学的布鲁斯·克莱纳和约翰·洛特;哥伦比亚大学的约翰·摩根和麻省理工学院的田刚。 2006年8月,第25届国际数学家大会授予佩雷尔曼菲尔兹奖。数学界最终确认佩雷尔曼的证明解决了庞加莱猜想。 世界未解数学难题之四:黎曼猜想 有些数具有不能表示为两个更小的数的乘积的特殊性质,例如,2、3、5、7……等等。这样的数称为素数;它们在纯数学及其应用中都起着重要作用。 在所有自然数中,这种素数的分布并不遵循任何有规则的模式;然而,德国数学家黎曼(1826~1866)观察到,素数的频率紧密相关于一个精心构造的所谓黎曼zeta函数ζ(s)的性态。 著名的黎曼假设断言,方程ζ(s)=0的所有有意义的解都在一条直线上。这点已经对于开始的1,500,000,000个解验证过。证明它对于每一个有意义的解都成立将为围绕素数分布的许多奥秘带来光明。 黎曼猜想之否认: 其实虽然因素数分布而起,但是却是一个歧途,因为伪素数及素数的普遍公式告诉我们,素数与伪素数由它们的变量集决定的。具体参见伪素数及素数词条。 世界未解数学难题之五:杨-米尔斯存在性和质量缺口 量子物理的定律是以经典力学的牛顿定律对宏观世界的方式对基本粒子世界成立的。大约半个世纪以前,杨振宁和米尔斯发现,量子物理揭示了在基本粒子物理与几何对象的数学之间的令人注目的关系。 基于杨-米尔斯方程的预言已经在如下的全世界范围内的实验室中所履行的高能实验中得到证实:布罗克哈文、斯坦福、欧洲粒子物理研究所和驻波。 尽管如此,他们的既描述重粒子、又在数学上严格的方程没有已知的解。特别是,被大多数物理学家所确认、并且在他们的对于“夸克”的不可见性的解释中应用的“质量缺口”假设,从来没有得到一个数学上令人满意的证实。 在这一问题上的进展需要在物理上和数学上两方面引进根本上的新观念。 世界未解数学难题之六:纳卫尔-斯托可方程的存在性与光滑性 起伏的波浪跟随着我们的正在湖中蜿蜒穿梭的小船,湍急的气流跟随着我们的现代喷气式飞机的飞行。 数学家和物理学家深信,无论是微风还是湍流,都可以通过理解纳维叶-斯托克斯方程的解,来对它们进行解释和预言。 虽然这些方程是19世纪写下的,我们对它们的理解仍然极少。挑战在于对数学理论作出实质性的进展,使我们能解开隐藏在纳维叶-斯托克斯方程中的奥秘。 世界未解数学难题之七:BSD猜想 数学家总是被诸如x^2+y^2=z^2那样的代数方程的所有整数解的刻画问题着迷。欧几里德曾经对这一方程给出完全的解答,但是对于更为复杂的方程,这就变得极为困难。 事实上,正如马蒂雅谢维奇指出,希尔伯特第十问题是不可解的,即,不存在一般的方法来确定这样的方程是否有一个整数解。 当解是一个阿贝尔簇的点时,贝赫和斯维讷通-戴尔猜想认为,有理点的群的大小与一个有关的蔡塔函数z(s)在点s=1附近的性态。 特别是,这个有趣的猜想认为,如果z(1)等于0,那么存在无限多个有理点(解)。相反,如果z(1)不等于0。那么只存在着有限多个这样的点。2023-07-27 17:03:541
np问题是什么意思
NP完全问题(NP-C问题),是世界七大数学难题之一。 NP的英文全称是Non-deterministic Polynomial的问题,即多项式复杂程度的非确定性问题。简单的写法是 NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P。 扩展资料 NP类问题:所有的非确定性多项式时间可解的判定问题构成NP类问题。非确定性算法:非确定性算法将问题分解成猜测和验证两个阶段。算法的猜测阶段是非确定性的,算法的验证阶段是确定性的,它验证猜测阶段给出解的正确性。设算法A是解一个判定问题Q的非确定性算法,如果A的验证阶段能在多项式时间内完成,则称A是一个多项式时间非确定性算法。有些计算问题是确定性的,例如加减乘除,只要按照公式推导,按部就班一步步来,就可以得到结果。但是,有些问题是无法按部就班直接地计算出来。比如,找大质数的问题。有没有一个公式能推出下一个质数是多少呢?这种问题的答案,是无法直接计算得到的.,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式(polynomial)时间内算出来,就叫做多项式非确定性问题。2023-07-27 17:04:351
p=NP是什么意思?
P( polynomial time) = NP( non-deterministic polynomial time)NP: 解决一个复杂问题,可能有多个解。每一个解都可以有效地验证该解,不管这个问题能否被有效地解决,所提出的解决方案都能被有效地验证。这类问题被定义为NP。P: 所有已知的可有效解决的决策问题的集合。 P是NP的子集。如果P=NP,那就意味着所有的NP类复杂问题,都能够找到一个有效的算法来解决。2023-07-27 17:04:448
P, NP, NPC 和 NP-Hard
所有的参考来自: What are the differences between NP, NP-Complete and NP-Hard? 多项式时间内可以求解的问题的集合. 表示所有决策问题的集合, 并且可以在多项式时间内验证. 是NP的子类, 可以在多项式的时间内将所有的NP问题归约为NPC问题. 这个子类稍微有点特殊, 其特殊性表现在: 可以这样理解NPC问题是NP问题的典型, 解决了它们, NP问题就解决了.(要抓就抓典型) 直观的说, 这些问题至少和np问题一样困难(困难程度: NP难 >= NP). 精确的定义X是NP难问题, NPC问题Y可以在多项式时间内归约为X. (这里的X, 不一定是NP问题, 如果X==NP, 那么NP难就是NPC了) 也就是说, 只要在多项式时间内解决了一个NP难问题, 那么所有的NPC问题都可以在多项式时间内解决了, 那么也就是说所有的NP问题都可以在多项式时间内解决了. 需要注意的是, NP难问题不一定是 NP 问题, 而且它们不一定是决策问题. 还有一个表帮助理解:(难度从上倒下, 依次增大) 注解: * 当一个P问题的NP问题, 可以在P的时间内解决. (因为P是NP的子集) ** 当一个NP难问题是一个NPC问题的时候, 可以在P时间内验证 *** NP-Complete problems (all of which form a subset of NP-hard) might be. The rest of NP hard is not.2023-07-27 17:05:321
算法基础
谨以此文,感谢我在这个学校最喜欢的两个老师之一——肖my老师。本文基本为老师上课说讲授内容加上一部分自己的感悟拼凑而来,写作文本的目的是为自己的算法课程留下一点点东西,站在老师肩膀上形成粗糙的框架,方便以后的复习以及深入。文笔有限,其中包含的错误还请多多包容,不吝赐教。 to do list: 时间复杂度中递归树法;动规,分治新的感悟; 点覆盖:一组点的集合,使得图中所有边都至少与该集合中一个点相连。 支配集:一组点的集合,使得图中所有的点要么属于该集合,要么与该集合相连。 最大团:在一个无向图中找出点数最多的完全图。 独立集:一组点的集合,集合中的顶点两两不相邻。(团转过来) SAT问题:也称布尔可满足性问题。给一组变 其中Ci被称为句子。 点覆盖<->独立集<->最大团 最小割:割是一组边集。如s-t割就是如果去掉这些边,将把原图划分为两个点集,其中一个点集包含s,一个点集包含t。(两个是指不相连,而不是代表不存在边相连,如反向边) decision problem: 是否存在。 search problem:找到一个解。 (这个还能扩展,比如decision problem在多项式时间内解决,所以他是P问题吗) 渐进符号: 注意以上三种都是紧的,对应的两个小写的符号是不紧的,即如下图所示: 概念:算法的时间复杂度是一个函数,用于定性描述算法的运行时间。注意,这个一个代表算法输入字符串长度的函数。 [注]输入字符串长度是一个比较关键的理解,比如在背包问题中,其时间复杂度为O(nW),因为W不定,所以只能是一个伪多项式时间。 比较:c < log2N < n < n * Log2N < n^2 < n^3 < 2^n < 3^n < n! < n^n 大致:常数<对数<幂函数<指数函数<阶乘 对于指数是n相关的进行比较,优先比较指数,再比较底数。 记住一个特例:n (logn)<n!<n n 计算: 一般来说,计算采用主方法和递归树法,其中递归树技巧性比较强,主方法其实也是递归树推导归纳而来,且主方法能得到一个比较紧的结果。 主方法: f(n) = af(n-b)+g(n) =>O( a^(n/b) *g(n) ) P:decision problems有一个多项式算法。 NP(nondeterministic polynomial-time):decision problems能够在多项式时间内验证。 NPC:NP完全问题,首先这个问题是NP的,其次,其他所有问题都可以多项式时间内归约到它。 NPH:如果所有NP问题都可以多项式时间归约到某个问题,则称该问题为NP困难。 因为NP困难问题未必可以在多项式时间内验证一个解的正确性(即不一定是NP问题),因此即使NP完全问题有多项式时间的解(P=NP),NP困难问题依然可能没有多项式时间的解。因此NP困难问题“至少与NP完全问题一样难”。 一些NP问题能在多项式时间内解决,因为 P∈NP NP难类型问题的证明: 先选好一个已知NP难的问题,然后将已知NP难问题多项式归约到要证明的问题上。先给出这个归约,然后再证明这个归约的正确性。 NPC类型问题的证明: 证明一个问题Y是NPC问题,先说明Y是NP的,然后找到一个NPC问题X,将这个问题X归约到问题Y上,即证明完成。 常见的NPC问题(重要,规约的时候有用!): packing problems: set-packing,独立集 覆盖问题:集合覆盖问题,顶点覆盖问题 严格满足问题(constraint satisfaction problems):SAT,3SAT 序列问题:哈密尔顿回路,旅行商问题 划分问题:3D-matching, 3着色问题 数字问题:子集合问题(子集元素之和为t),背包问题 其他:分团问题(是否存在一个规模为k的团) 规约的概念与理解 规约:意味着对问题进行转换,例如将一个未知的问题转换成我们能够解决的问题,转换的过程可能涉及到对问题的输入输出的转换。 自归约:search problem <=p decision problem 归约:A归约到B,也就是说,我们对A套一个函数f,在f函数的作用下形成一个新的问题,对这个问题运用B的黑盒解法,能够解决问题A。 (B <=p A)一般说来,B问题如果可以归约到A问题,也就是说,一个解决A问题的算法可以被用做子函数(子程序)来解决B问题,也就是说,求解B问题不会比求解A问题更困难。因此,如果B问题是困难的,那么A问题也就是困难的,因为不存在求解A问题的高效算法。(最后一句不懂) 我简单说一下我理解的规约,以X规约到Y为准,大概分成两个方面: 注:在 三 的一些实例中细品。 概念:在对问题求解时,总是做出在当前看来是最好的选择。 贪心的证明:先假设贪心算法得到的解不是最优解,假设S1是贪心算法得到的解,而S2是所有最优解中和S1具有最多相同元素的解,然后比较S1和S2,观察S1和S2中第一个(最前面一个)不一样的元素,然后在贪心解S2中将不一样的元素换成S1中的那个元素得到另一个最优解S3,这样S3和S1比S2和S1有更多相同元素,和假设S2是与S1有最多相同元素的最优解矛盾,这样来推导S1是最优解。 我的理解:假设这个不是最优的,但是一定存在一个最优的解在某一个位置之前和我当前解结构是一样的,那么在这个位置,选最优解也可以选当前解,不影响最终答案。 [注]概念很简单,但是实际操作的时候,贪心的角度很重要,同样的贪心,方向对了,算法就是对的。 例子: 给你一系列活动,每个活动有一个起始时间和一个结束时间,要求在活动不冲突的情况下找到一种有最多活动的安排。 对于这个问题,我们有一下几种贪心的角度: ①将任务按照 开始时间 升序排列。 ②将任务按照 结束时间 升序排列。 ③将任务按照 任务时长 升序排列。 ④对于每一个任务,都记录与其他任务冲突的数量,按照 冲突数量 的升序排列。 其中1,3,4都是不可以的。 任务结束时间的贪心证明(反证法): 假设贪心不是最最优的,那我们在最优解中找一个与当前解有最相似的解。 由图可以知道,贪心贪的就是最早结束,所以如果不是最优,那么最优的结束时间一定晚于贪心的结束时间。 由上图就可以证明。 最大流通常与最小割相联系。 f 为任意一个流,cap为容量,对于任意的s-t割出来的点集(A,B),v( f ) <= cap(A, B)。 当流增加到与割的容量相等时候,就不可能再有增长空间了,称为最大流。 对于割的容量来说,不同的割法会有不同流量,有些割法永远不会有流达到,比如部分A = {s}, B = {V - s},这种把源点割出来的割法。 综上,通过这种感性的认识,如果能找到一个最小的割,那么这个割就一定是最大能跑到的流(如果流能更高的话在这个割上就会超过容量,反证。) 上图为一条增广路,一条增广路即为一条s-t的路径,在路径上仍有流可以跑,其曾广的流就是该条路径上最小的剩余容量。(相当于每找一条增广路,就至少有一条边达到满流。) 直到在图中找不到增广路,此时已经达到了最大流。 找ST集合:把满流的边去掉,从S出发走到能到的点,遍历的点就是S集合;剩下的点就属于T集合。注意,如果找到了在找S集合的时候找到了T点,说明还可以继续找增广路。 [补]有一个很有趣的延伸,如多源点多终点问题。问:如果我有两个源点s1,s2,两个终点t1,t2,我想求一组流,使得s1-t1,s2-t2的流达到最大,是否可以加一个源点S,S与s1,s2相连,边流无限大;加一个终点T,T与t1,t2相连,边流无限大,然后这组ST的最大流即可。——答案是No,无法保证是s1-t1,s2-t2,有可能交错。 例子讲的感觉不是特别好,对理解感觉起不到很大作用,希望以后有新的想法后进行补充。 规约是一个重要的概念和思想。 一个图的 最大独立集 与 最小点覆盖 是不相交的两个点集,它们的并就是整个点集。 个人理解:独立集和点覆盖都是从点的角度进行划分的,如果我们从边的角度来看,①一个最小的点覆盖即为我集合中的每一个点都尽可能与更多的边相连,②同时,一条边的两个端点中,只能有一个端点在最小点覆盖中[下注] [注]我们假设有一条边两个端点(u,v)都在点覆盖之中,首先显然u,v都不是端点,因为假设u是端点的话只需要选择v即可; 给一个集合S和一堆S的子集S1,S2,...,Sm,问是否存在存在k个子集,使它们的并集为S。 构造: 集合为点,集合中的元素为边,有相同元素的边相连。(注意如果某一元素只在一个子集中出现,应该怎么处理呢!) 规约:在构造的图中找最小的点覆盖,选中的点能覆盖所有的边即为对应集合的并集能包含所有的元素。所以就完成了集合覆盖到点覆盖的规约。 构造:每个句子构造一个三角形,把对应变量但是相反取值的点相连。 规约:3SAT的有一个特点就是,每一个句子中至少有一个为真即可,每个句子都必须是真。将相同变量相反取值相连的目的就是,在最大独立集中,比如选择x为真,则剩下所有句子中x-ba一定不会被选中,同时由独立集和构造出来三角形的性质可以知道,每一个句子,有且仅有一个会被选中(为真)。如上图,x1-ba为真,x2-ba和x3任选一个为真即可满足。 search problem <=p decision version 比如:如果能在多项式时间内找到一个哈密尔顿圈,那么就能在多项式时间内找到一个哈密尔顿圈(删边) 在此再谈P和NP: 我们知道有些问题是可以从搜索问题规约到判断问题的,也就是所该问题如果能在多项式内判断,那么久能在多项式中搜索到,那么我们只需要说,这个判断问题能在多项式时间内求解,就叫做P问题,也就是上图红字的意思;那NP问题呢,必须要给出一个解的实例,判断的是这个实例是否满足求解问题,这个才是上图中的红字。比如,我如果能在多项式时间内判断哈密尔顿圈是否(Yes/No)存在,那这个就是ploy-time algorithm,如果我给出了一系列点,能过多项式时间内判断这些点能否构成哈密尔顿圈,那这个就是poly-time certifier。 构造:把一个点拆分成三个点。 构造:(下面两个图要连在一起看) 从行的角度看,一行代表一个变量;从列的角度来看,每三列代表一个句子。两边中一边是两个点,一边是一个点,所以有k个句子的话,每一行有3k+3个节点。从哈密尔顿圈的答案转到3SAT的答案看这个圈在每一行是从左到右还是从右到左。 子集和问题:给一个集合S,问是否能在集合中选取元素,使得总和为W。 构造:如下图,按照前六行和前三列进行分割,可以分成4部分,其中1,3,4部分是固定的,即在第一部分,变量v列和 变量为v(包括变量及取反)的行对应的格子为0,其余为0;第三部分全为0;第四部分按照12依次写下来。第二部分,如果Ci句子中有变量v,则记为1,因为一个句子只有三个变量,可以简单通过第二部分每一列和为3进行判定。此时集合已经构造出来,W为111444,与上面的规约相似,可以通过3SAT的简单性质进行感性的认知。 近似的想法很简单,要解决一个问题,我们希望能够做到①求解结果是最优的 ②在多项式时间内解决 ③对于任意的实例都能够通过该算法解决。现在对于部分问题,无法完全满足以上要求,所以就牺牲了①,但是我们希望结果不是盲目的,所以就引入了近似的概念。 近似算法。比如2-近似,认为W为近似解,W 为最优解,在求最小值的情况下W<=2W ;在求最大值的情况下,W>=1/2W* 给m个机器和n个任务,每个任务有一个ti的执行时间,我们认为完成最后一个任务所需的时间为负载时间,希望能够让这个负载时间最短。 第一种:将任务依次放在机器上,当某个机器空闲时立即放入新任务。此时是2近似的。 证明: 引理1.最短时间安排是大于等于任务中时间最长的任务,L* >= max tj 我们在考虑放入最后一个任务前,根据我们放置的规则,该机器是耗时最短,也就是说,该机器此时的用时是低于除掉最后一个任务后的平均时长,更低于所有任务的平均时长(引理2);再根据引理1,最后一个任务应该是小于最优解的。 补充: 在这里,我还想讨论一下这个近似算法的中等于符号,先上结论:等号不一定能够找到一个实例,但是可以构造出一种结构,通过取极限求得,我们认为这样 也算是紧的。 构造实例:有m个机器,其中m(m-1)个任务的用时为1,1个任务的用时为m。肯定有一种任务集合,可以按照以下方式进行安排,此时的贪心解为19。 此时最佳的解为10,如下图: 通过推广可以知道此时的比为(2m-1)/m,当m取极限,能够达到2倍。 第二种:将任务从大到小排序,然后依次放在机器上,当某个机器空闲时立即放入新任务。此时是2近似的。 引理3:如果有大于m个任务,那么L*>=2t(m-1)。证明:t(m+1)是目前最短的任务,且目前所有机器上都有任务了,所以该任务加入时最优的情况不过是加入设备的原有任务刚好和t(m+1)相等,即等号。 (2近似)在n个点中,选取k个中心点,使得这些中心点能够以半径R的圆包含所有的点,让其中最大的半径最小,如下图所示: 基础:距离需要满足的三个定理①(同一性)dist(x, x) = 0 ②(自反)dist(x, y) = dist(y, x) ③(三角不等式)dist(x, y) <=dist(x, z)+dist(z, y) r(C)为C集合中所有点的最大覆盖半径。(需要求min r(C)) 算法:在点集中任选一个作为中心点,然后重复以下步骤k-1次:选取距离已选点集中最远的点,加入点集。 证明:先假设r(C )< 1/2 * r(C)以选好的点画半径为1/2 * r(C)的圆,显然可知[注],这个圆里有且仅有一个r(C )中的点。那么根据在下图中,根据三角不等式可以得出: [注]在每个点上r(c )一定会包含到c点,而r(C )<1/2 * r(C),相当于大圆套小圆,所以c*一定在c的圆中。 (2近似)问题还是很好理解的,在点上加权值,要找一个点覆盖,使得权值最小。如下图左边就是一个带权的最小点覆盖。 算法: 任选一条边(i, j)加上代价,这个代价从零开始,且这个代价的最大值低于i和j节点的权值。显然,这个边权值的最大值取决于两个端点权值的最小值,我们认为当边权值与点权值相等时,对应的那个点是紧的。把所有紧的点找出来即为点覆盖。 流程: 证明: 引理:边权之和小于等于点覆盖的点权之和。这主要是由于涉及到一条边上两个点都被选(紧的)的情况,感性认知可以看上图,缩放证明如下: w(S)是等于所选的节点的权值之和的,等于所选节点节点所对应的边权之和,可以把它放大到所有节点对应边权之和,这样因为一条边(u, v)在u上算过一次后还要在v上算一次,所以等于边权和的两倍。再由上面引理可得。 主要为了线性规划和整数规划。 (2近似)没啥好说的,只需要把方程构造出来就行了。 由于求解出来结果不一定是整数,所以我们认为某一点的值大于1/2,就选入点集。 证明: 因为xi+xj >=1,且都是正数,那必至少一个点是大于1/2的(反证,两个都小于1/2则和小于1)。 给你n个物品和一个背包,每个物品有一个价值v和一个大小w,背包的容量是W,要求让背包装下尽可能大价值。 背包的时间复杂度:O(nW) 注意其中n表示物品的个数,无论是1个还是999个,他都是多项式的,这个很好理解。但是W就不一样了,这是一个数字。我理解的是这个数字会很奇特,比如1.00001,比如99999,这些有可能看起来不大但是实际在处理的时候很难处理的数字,统一的来说,如果我们把这些数字放在电脑上,都会以二进制的方式存储起来,有些数字用十进制表示很小,但是放在二进制上面就会很大,由W导致不能在多项式时间内解决(找不到一个范围/上界来框它)。 算法: 为了处理这个问题,我们改动了dp的状态转移方程,要让这个转移方程和W无关[注]。 此时还不是多项式的,然后我们再对value进行约。[注] [注]这两步中,我们把w改成v,并对v进行近似处理。OPT的含义变成了,在面对是否选择第i个物品时,要想让价值达到当前值,最少的weight。理由是更改后的误差是可以忍受的:对v进行近似,结果只会出现最大价值的上下误差,如果对w进行近似,则有可能出现该物品不能放入背包中,导致整个物品直接放弃的情况。2023-07-27 17:05:411
大O符号基础
大O符号 (Big O notation), 又称渐进符号,是用于描述函数的渐近行为的数学符号。它是指用另一个(通常更简单的)函数来描述一个函数数量级的渐进上界。 在n趋于无穷大时,这些函数从上到下增长越来越快。 即在用于描述时间复杂度时,随着问题规模的增大,从上到下所需要消耗的时间越来越多。 相关概念: 多项式时间 (Polynomial time)即指一个问题的计算时间m(n) = O(n k ), k 为常量值。 数学家有时把“如多项式时间长的算法”视为快速计算。 超多项式时间 即当计算规模足够大,解题时间将大大超过任何多项式时间的问题。 相关符号: 大Ω符号 :大O符号表示函数在增长到一定程度时总小于某函数的常数倍,大Ω符号与大O符号正好相反,表示总大于。即: 大Θ符号 是大O符号和大Ω符号的结合。即: References:2023-07-27 17:05:481
求高手帮忙找出一个算法,它能在多项式时间里判定任一给定的2 CNF公式是否可满足。
你说的是范式?2023-07-27 17:08:171
若P不等于NP,则最大独立集问题存在多项式时间绝对近似算法。
若P不等于NP,则最大独立集问题存在多项式时间绝对近似算法。 A.正确 B.错误 正确答案:B2023-07-27 17:08:241
数学历史题
前段我看CCTV说中国解决了庞家莱猜想,我只知道这个!我搜了搜 你看看 这是卡塔兰猜想(1842)。1962年我国数学家柯召独立证明了不存在连续三个整数可表为其它正整数的方幂。1976年,荷兰数学家证明了大于某个数的任何两个正整数幂都不连续。 因此只要检查小于这个数的任意正整数幂是否有连续的就行了。但是,由于这个数太大,有500多位,已超出计算机的计算范围。所以,这个猜想几乎是正确的,但是至今无人能够证实。6、 任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1)。 不断重复这样的运算,经过有限步后,一定可以得到1吗? 背景: 这角古猜想(1930)。人们通过大量的验算,从来没有发现反例,但没有人能证明。三 希尔伯特23问题里尚未解决的问题。1、问题1连续统假设。全体正整数(被称为可数集)的基数 和实数 *** (被称为连续统)的基数c之间没有其它基数。背景:1938年奥地利数学家哥德尔证明此假设在 *** 论公理系统,即策莫罗-佛朗克尔公理系统里,不可证伪。1963年美国数学家柯恩证明在该公理系统,不能证明此假设是对的。所以,至今未有人知道,此假设到底是对还是错。2、问题2 算术公理相容性。背景:哥德尔证明了算术系统的不完备,使希尔伯特的用元数学证明算术公理系统的无矛盾性的想法破灭。3、 问题7 某些数的无理性和超越性。见上面 二 的 2 5、 问题 8 素数问题。见上面 二 的 3 6、 问题 11 系数为任意代数数的二次型。背景:德国和法国数学家在60年代曾取得重大进展。7、 问题 12 阿贝尔域上的克罗内克定理在任意代数有理域上的推广。背景:此问题只有些零散的结果,离彻底解决还十分遥远。8、 问题13 仅用二元函数解一般7次代数方程的不可能性。背景:1957苏联数学家解决了连续函数情形。 如要求是解析函数则此问题尚未完全解决。9、 问题15 舒伯特计数演算的严格基础。背景: 代数簌交点的个数问题。 和代数几何学有关。10、 问题 16 代数曲线和曲面的拓扑。要求代数曲线含有闭的分枝曲线的最大数目。 和微分方程的极限环的最多个数和相对位置。11、 问题 18 用全等多面体来构造空间。无限个相等的给定形式的多面体最紧密的排列问题,现在仍未解决。12、 问题 20 一般边值问题。偏微分方程的边值问题,正在蓬勃发展。13、 问题 23 变分法的进一步发展。四 千禧七大难题 2000年美国克雷数学促进研究所提出。 为了纪念百年前希尔伯特提出的23问题。 每一道题的赏金均为百万美金。1、 黎曼猜想。见 二 的 3 透过此猜想,数学家认为可以解决素数分布之谜。这个问题是希尔伯特23个问题中还没有解决的问题。 透过研究黎曼猜想数 学家们认为除了能解开质数分布之谜外,对於解析数论、函数理论、 椭圆函数论、群论、质数检验等都将会有实质的影响。2、杨-密尔斯理论与质量漏洞猜想(Yang-Mills Theory and Mass Gap Hypothesis) 西元1954 年杨振宁与密尔斯提出杨-密尔斯规范理论,杨振宁由 数学开始,提出一个具有规范性的理论架构,后来逐渐发展成为量子 物理之重要理论,也使得他成为近代物理奠基的重要人物。杨振宁与密尔斯提出的理论中会产生传送作用力的粒子,而他们 碰到的困难是这个粒子的质量的问题。 他们从数学上所推导的结果 是,这个粒子具有电荷但没有质量。 然而,困难的是如果这一有电荷 的粒子是没有质量的,那麼为什麼没有任何实验证据呢?而如果假定 该粒子有质量,规范对称性就会被破坏。 一般物理学家是相信有质 量,因此如何填补这个漏洞就是相当具挑战性的数学问题。3、P 问题对NP 问题(The P Versus NP Problems) 随著计算尺寸的增大,计算时间会以多项式方式增加的型式的问题叫做「P 问题」。P 问题的P 是Polynomial Time(多项式时间)的头一个字母。 已 知尺寸为n,如果能决定计算时间在d (c 、d 为正实数) 时间以下 就可以或不行时,我们就称之为「多项式时间决定法」。 而能用这个 算法解的问题就是P 问题。 反之若有其他因素,例如第六感参与进来 的算法就叫做「非决定性算法」,这类的问题就是「NP 问题」,NP 是 Non deterministic Polynomial time (非决定性多项式时间)的缩写。由定义来说,P 问题是NP 问题的一部份。 但是否NP 问题里面有 些不属於P 问题等级的东西呢?或者NP 问题终究也成为P 问题?这 就是相当著名的PNP 问题。4、.纳维尔–史托克方程(Navier–Stokes Equations) 因为尤拉方程太过简化所以寻求作修正,在修正的过程中产生了 新的结果。 法国工程师纳维尔及英国数学家史托克经过了严格的数学 推导,将黏性项也考虑进去得到的就是纳维尔–史托克方程。自从西元1943 年法国数学家勒雷(Leray)证明了纳维尔–史托 克方程的全时间弱解(global weak solution)之后,人们一直想知道 的是此解是否唯一?得到的结果是:如果事先假设纳维尔–史托克方 程的解是强解(strong solution),则解是唯一。 所以此问题变成:弱解与强解之间的差距有多大,有没有可能弱解会等於强解?换句话说,是不是能得到纳维尔–史托克方程的全时间平滑解?再者就是证 明其解在有限时间内会爆掉(blow up in finite time)。解决此问题不仅对数学还有对物理与航太工程有贡献,特别是乱 流(turbulence)都会有决定性的影响,另外纳维尔–史托克方程与奥 地利伟大物理学家波兹曼的波兹曼方程也有密切的关系,研究纳维 尔–史托克(尤拉)方程与波兹曼方程(Boltzmann Equations)两 者之关系的学问叫做流体极限(hydrodynamics limit),由此可见纳 维尔–史托克方程本身有非常丰富之内涵。5.庞加莱臆测(Poincare Conjecture) 庞加莱臆测是拓朴学的大问题。 用数学界的行话来说:单连通的 三维闭流形与三维球面同胚。从数学的意义上说这是一个看似简单却又非 常困难的问题,自庞加莱在西元1904 年提出之 后,吸引许多优秀的数学家投入这个研究主题。庞加莱(图4)臆测提出不久,数学们自然的将 之推广到高维空间(n4),我们称之为广义庞加莱臆测:单连通的 ≥ n(n4)维闭流形,如果与n ≥ 维球面有相同的基本群(fundamental group)则必与n维球面同胚。经过近60 年后,西元1961 年,美国数学家斯麦尔(Smale)以 巧妙的方法,他忽略三维、四维的困难,直接证明五维(n5)以上的 ≥ 广义庞加莱臆测,他因此获得西元1966 年的费尔兹奖。 经过20年之 后,另一个美国数学家佛瑞曼(Freedman)则证明了四维的庞加莱臆 测,并於西元1986年因为这个成就获得费尔兹奖。 但是对於我们真 正居住的三维空间(n3),在当时仍然是一个未解之谜。= 一直到西元2003 年4 月,俄罗斯数学家斐雷曼(Perelman)於 麻省理工学院做了三场演讲,在会中他回答了许多数学家的疑问,许 多迹象显示斐雷曼可能已经破解庞加莱臆测。 数天后「 *** 」首 次以「俄国人解决了著名的数学问题」为题向公众披露此一消息。 同 日深具影响力的数学网站MathWorld 刊出的头条文章为「庞加莱臆测 被证明了,这次是真的!」[14]。数学家们的审查将到2005年才能完成,到目前为止,尚未发现 斐雷曼无法领取克雷数学研究所之百万美金的漏洞。6.白之与斯温纳顿-戴尔臆测(Birch and Swinnerton-Dyer Conjecture) 一般的椭圆曲线方程式 y^2=x^3+ax+b ,在计算椭圆之弧长时 就会遇见这种曲线。 自50 年代以来,数学家便发现椭圆曲线与数论、 几何、密码学等有著密切的关系。 例如:怀尔斯(Wiles)证明费马 最后定理,其中一个关键步骤就是用到椭圆曲线与模形式(modularform)之关系-即谷山-志村猜想,白之与斯温纳顿-戴尔臆测就是与 椭圆曲线有关。60年代英国剑桥大学的白之与斯温纳顿-戴尔利用电脑计算一些 多项式方程式的有理数解。 通常会有无穷多解,然而要如何计算无限 呢?其解法是先分类,典型的数学方法是同余(congruence)这个观念 并藉此得同余类(congruence class)即被一个数除之后的余数,无穷 多个数不可能每个都要。 数学家自然的选择了质数,所以这个问题与 黎曼猜想之Zeta 函数有关。 经由长时间大量的计算与资料收集,他 们观察出一些规律与模式,因而提出这个猜测。 他们从电脑计算之结 果断言:椭圆曲线会有无穷多个有理点,若且唯若附於曲线上面的 Zeta 函数ζ (s) = 时取值为0,即ζ (1) ;当s1= 0 7.霍奇臆测(Hodge Conjecture) 「任意在非奇异投影代数曲体上的调和微分形式,都是代数圆之 上同调类的有理组合。 」 最后的这个难题,虽不是千禧七大难题中最困难的问题,但却可 能是最不容易被一般人所了解的。 因为其中有太多高深专业而且抽象 参考资料:《数学的100个基本问题》《数学与文化》《希尔伯特23个数学问题回顾》 我直接复制的2023-07-27 17:08:371
P对NP问题的NPC问题
注意,NP问题不一定都是难解的问题,比如简单的数组排序问题是P类问题,但是P属于NP,所以也是 NP问题,你能说他很难解么?刚才说了,现在还不知道是否有P=NP或者P<>NP,但是后来人们发现还有一系列的特殊NP问题,这类问题的特殊性质使得很多人相信P<>NP,只不过现在还无法证明。这类特殊的NP问题就是NP完全问题(NPC问题,C代表complete)。 NPC问题存在着一个令人惊讶的性质,即如果一个NPC问题存在多项式时间的算法,则所有的NP问题都可以在多项式时间内求解,即P=NP成立!!这是因为,每一个NPC问题可以在多项式时间内转化成任何一个NP问题。比如前面说的哈米尔顿回路问题就是一个NPC问题。NPC问题的历史并不久,cook在 1971年找到了第一个NPC问题,此后人们又陆续发现很多NPC问题,现在可能已经有3000多个了。所以,我们一般认为NPC问题是难解的问题,因为他不太可能存在一个多项式时间的算法(如果存在则所有的NP问题都存在多项式时间算法,这太不可思议了,但是也不是不可能)。类似哈米尔顿回路/路径问题,货郎担问题,集团问题,最小边覆盖问题(注意和路径覆盖的区别),等等很多问题都是NPC问题,所以都是难解的问题。要解决P = NP问题,NP完全的概念非常有用。不严格的讲,NP完全问题是NP类中“最难”的问题,也就是说它们是最可能不属于P类的。这是因为任何NP中的问题可以在多项式时间内变换成为任何特定NP完全问题的一个特例。例如,旅行推销员问题的判定问题版本是NP完全的。所以NP中的任何问题的任何特例可以在多项式时间内机械地转换成旅行商问题的一个特例。 所以若旅行商问题被证明为在P内,则P = NP!旅行商问题是很多这样的NP完全的问题之一。若任何一个NP完全的问题在P内,则可以推出P = NP。不幸的是,很多重要的问题被证明为NP完全,但没有一个有已知快速的算法。2023-07-27 17:08:441
计算复杂性理论的NP与P关系问题及相关理论
在上面我们已经知道,NP是指“在非确定性图灵机上有多项式时间算法的问题”的集合,而P是指“在确定性图灵机上有多项式时间算法的问题”的集合。这里我们都考虑的是判定型问题,即考虑一个语言L,我们要判断一个字符串x是不是在L中。那么,一个等价的理解是:NP是指对在L中的x,有多项式长度的证据w,而且对语言(x,w)是有多项式时间算法的;而P是指对L中的x,有多项式时间算法判断x在不在L中。举个例子,就是考虑完美匹配问题、点集覆盖问题和图不同构问题。这三个问题都有图论背影,问题的描述如下:完美匹配问题:给定图G=(V,E),找到边的子集Fu2282E,使得对任意的v∈V,存在唯一的e∈F,v∈e;点集覆盖问题:给定图G=(V,E),和自然数k,找到点的子集Uu2282V,使得对任意的e∈E,存在v∈U,v∈e,且|U|≤k;图不同构问题:给定图G=(V,E),H=(U,F),|G|=|H|。我们说G和H是同构的,是指u2203T:V→U,对任意的s, t∈V,满足E(s,t)=F(T(s),T(t))(这里我们把边集E看作V×V→{0,1}的映射)。图不同构是问对G和H,是不是不存在这样的映射。关于这三个问题,它们在复杂性理论中,目前的地位如下:完美匹配问题:在P中。可以利用艾德蒙德算法得到运行时间的算法;点集覆盖问题:在NP中,而不知道是否在P中。实际上,它是NP完备问题,给出它的多项式算法将意味着证明NP=P。它在NP中,原因是给定一个点的子集Uu2282V,我们可以在多项式时间中验证这是否是一个满足|U|≤k的点集覆盖:U的大小很好验证。然后只需对每一条边e,遍历U中每一个元素v,检查是否有v∈e即可。运行时间至多为O(VE);图不同构问题:在AM中,而不知道是否在NP中。它之所以困难,一个直观的想法是:给定两个图G和H,首先这个问题的“证据”很难定义——不像点集覆盖问题中,一个解就是一个点集,而且点集大小≤k≤|V|是多项式大小。这里最直接的证据的定义,是说必须遍历所有的映射T:V→U,并对所有的映射验证是否满足同构的定义。而这样一个证据是指数大小的。这样我们有了:在P中、在NP而不知道是不是在P中、在AM中而不知道是不是在NP中的三个问题。 由于在多项式时间可以判断x在不在L中,蕴含着x本身就是其在L中的证据的含义,所以Pu2282NP。这个包含关系是不是严格的呢?或者说,是不是有语言L∈NP,使得Lu2209P?这就是著名的NP与P关系问题。从这个问题在1970年代被正式的提出之后,有NP完备理论赋予了它在实践上的重要性,有证明复杂性理论赋予了它纯数学理论上的重要性,有PCP理论和NP完备理论赋予了它算法理论上的重要性。这些理论或者在根本上依赖于NP和P关系问题的某些假设,或者本身就是试图去理解NP和P关系问题而发展出来的,这使得它成为了理论计算机科学乃至数学的中心问题之一。在2000年,凯莱数学研究所提出了新世纪的数学中七个中心问题,NP与P关系问题就是其中的一个。关于NP与P关系问题最早发展出的理论是NP完备理论。我们在下面一节简单了解NP完备理论。 主条目:NP完备由上面归约的知识我们知道,算法问题之间可以根据归约来定义相对的难度。即对问题A和问题B,我们认为A比B简单,记为A≤B,就是存在使用B问题解来解决A问题的算法M,且M是多项式时间的。那么,在一个复杂性类中,有没有可能存在“最难的问题”呢?具体的对NP,就是说是不是存在问题A∈NP,使得对u2200B∈NP,有B≤A呢?对这样的问题,我们称它是NP完备的。这个问题乍看起来很不容易把握。因为这需要对所有的NP中的语言L,去找到一个L到A的归约算法。然而1970年代的由史蒂芬·库克和列昂尼德·列文分别发现的库克-列文定理,证明了布尔表达式(Boolean formula)的可满足性问题(SAT问题)是NP完备的。概括的说,他们证明了,有一个通用的过程对NP中任意语言在非确定性图灵机上运行历史用布尔表达式来编码,使得该布尔表达式是可满足的,当且仅当该运行历史是对给定输入,接受该输入的。这样,我们就有了第一个被证明是NP完备的问题。在库克给出SAT问题是NP完备之后不久,理查德·卡普证明了21个图论、组合数学中常见的问题都是NP完备的。这赋予了NP完备问题在实践中的重要性。现在,已经有成千个在实践中遇到的算法问题被证明是NP完备的(参见NP完备问题列表),特别的有许多问题,如旅行商问题等的最优算法会带来很大的经济效益(旅行商问题的最优解可以给出最优的电路布线方案,而SAT的最优算法会促进程序验证等问题的进步)。由NP完备的定义,我们知道对这其中任何一个问题的多项式算法都将给出所有NP问题,也包括所有NP完备问题的多项式算法。然而尽管实际问题中遇到很多NP完备的问题,而且有很多问题在不同领域有着相当的重要性而被大量研究,至今,仍没有对NP完备问题的多项式算法,这是一些理论计算机科学家认为NP≠P的理由之一。对NP和P关系问题,NP完备理论给出了如下的暗示:如果要证明NP=P,一个可能的方向是对NP完备问题给出多项式算法;如果要证明NP≠P,那么必然的一个结果是NP完备问题没有多项式算法。 主条目:电路复杂性电路复杂性理论在1990年代以前,被众多研究者认为是解决NP与P关系问题的可能的途径之一。电路复杂性研究的对象是非一致性的计算模型电路,并考虑计算一个布尔函数所需的最小的电路的深度(depth)和大小(size)等资源。其中,大小为多项式大小的电路族可以计算的布尔函数被记为P/poly。可以证明,P包含在P/poly之中,而卡普-利普顿定理(Karp-Lipton theorem)表明若P/poly在NP之中,则多项式层级(polynomial hierarchy)将会坍缩至第二层,这是一个不大可能的结果。这两个结果结合起来表明,P/poly可以当作是分离NP与P的一个中间的工具,具体的途径就是证明任一个NP完全问题的电路大小的下界。在直观上说,电路复杂性也绕过了NP与P问题的第一个困难:相对化证明困难(relativizing proofs)。在1980年代,电路复杂性途径取得了一系列的成功,其中包括奇偶性函数(Parity function)在AC中的下界为指数,以及团问题(clique problem)在单调性电路(monotone circuit)中的下界为指数。然而在1994年Razborov和Rudich的著名论文自然性证明(Natural proof)中指出,上面所用证明电路下界的方法,在单向函数存在的前提下是不可能分离NP和P的。该结果使很多专家对证明电路下界来分离NP和P的前景表示不乐观。 计算复杂性理论的基本的主题之一是算法所需资源的下界。随着算法理论的发展,如随机算法、近似算法等算法理论的发现,计算复杂性理论也相应的展开了对随机算法去随机化(derandomization)和近似算法不可近似性(hardness of approximation)的研究。有趣的是,这些理论都与NP与P关系问题以及电路复杂性有着密切的联系。这里列表出一些理论计算机科学以NP与P关系问题为基础发展出的理论,并简单的介绍它们的研究进展:交互式证明系统理论;去随机化理论:包括伪随机数发生器(pseudorandom generator)和extractor的构造等;不可近似性:以PCP定理为基础,基于NP≠P和更强的唯一性游戏假设(Unique game conjecture),可以证明对一些问题不存在某近似比的近似算法;2023-07-27 17:08:581
举例说明算法领域的P类问题和NP类问题。为什么说现代计算机只能解决确
P:多项式时间内可以解决,太多了,如排序问题NP:多项式时间内可以验证,如大数分解问题,随便给你一个非常大的数(该数由两个非常大的素数相乘得来),你没法很快将其分解为两个素数的乘积,但若是把这两个素数告诉你,你可以很快的验证它是由这两个素数相乘得来(即多项式时间可验证)上述两个概念一开始是用来描述判定问题的,后来被拓展到其他问题(如优化问题)上现代计算机一就是冯洛伊曼结构,哪怕改成哈佛结构,也依旧只是一台图灵机,其表述能力无法超过图灵机范畴,所以只能解决确定性图灵机问题(这个名词我没听过,所以只能猜测其表示的意思)2023-07-27 17:10:351
线性规划,若原问题无可行解,对偶问题无界解,对吗
对偶问题无可行解,只能得出原问题无最优解,不能推出原问题解无界,还可能也无可行解。求解线性规划问题的基本方法是单纯形法,已有单纯形法的标准软件,可在电子计算机上求解约束条件和决策变量数达 10000个以上的线性规划问题。为了提高解题速度,又有改进单纯形法、对偶单纯形法、原始对偶方法、分解算法和各种多项式时间算法。对于只有两个变量的简单的线性规划问题,也可采用图解法求解。这种方法仅适用于只有两个变量的线性规划问题。它的特点是直观而易于理解,但实用价值不大。通过图解法求解可以理解线性规划的一些基本概念。扩展资料:线性规划的研究成果还直接推动了其他数学规划问题包括整数规划、随机规划和非线性规划的算法研究。由于数字电子计算机的发展,出现了许多线性规划软件,如MPSX,OPHEIE,UMPIRE等,可以很方便地求解几千个变量的线性规划问题。1984年美国贝尔电话实验室的印度数学家N.卡马卡提出解线性规划问题的新的多项式时间算法。现已形成线性规划多项式算法理论。50年代后线性规划的应用范围不断扩大。 建立线性规划模型的方法。参考资料来源:百度百科-线性规划2023-07-27 17:10:433
计算复杂性理论的理论与实践
计算复杂性的初衷是理解不同算法问题的难度,特别的是一些重要算法问题的困难性。为了确切的描述一个问题的困难性,计算复杂性的第一步抽象是认为多项式时间是有效的,非多项式时间是困难的。这基于指数函数增长速度的“违反直觉”的特性:如果一个算法的时间复杂性为2,取输入的规模是100,在运算速度是10每秒(关于CPU速度,参见Instructions per second,其中报告截止2009年,主流个人电脑的运算速度可以看作是每秒)的情况下,该程序将会运行年,几乎是宇宙年龄。这为多项式时间被看作是有效时间提供了直观上的证据。然而多项式的指数很大的时候,算法在实践中也不能看作是有效的。如n的多项式算法,取问题规模大小为1000,那么几乎就是2的大小。另一方面,即便一个问题没有多项式算法,它可能会有近似比很好的近似算法(参见近似算法),或有很好的启发式算法(heuristics)。启发式算法的特点是在理论上没有精确的行为的分析,或者可以表明存在很坏的输入,在这些输入上运行很慢。然而在大多数时候,它都能快速解决问题。计算复杂性中对应的理论分析是平均复杂性理论(average-case complexity theory)和光滑分析(smooth analysis)。实际中的例子包括en:Presburger arithmetic、布尔可满足性问题(参见SAT solver)和背包问题。2023-07-27 17:11:001
时间复杂度及其计算
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着 用系统的方法描述解决问题的策略机制 。对于同一个问题的解决,可能会存在着不同的算法,为了衡量一个算法的优劣,提出了<u>空间复杂度与时间复杂度</u>这两个概念。 一个算法是由 控制结构(顺序、分支和循环3种) 和 原操作(指固有数据类型的操作) 构成的,则算法时间取决于<u>两者的综合效果</u>。为了便于比较同一个问题的不同算法,通常的做法是: <p>从算法中选取一种对于所研究的问题(或算法类型)来说是基本操作的原操作,以该基本操作的重复执行的次数作为算法的时间量度。</p> 参考文章: 算法的时间复杂度和空间复杂度-总结 时间复杂度,又称时间频度,即 一个算法执行所耗费的时间 。 <u>一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。</u>一个算法中的语句执行次数称为语句频度或时间频度。记为T(n) n称为 问题的规模 ,当n不断变化时,时间频度T(n)也会不断变化。一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,<i> 若有某个辅助函数f(n),使得当n趋近于无穷大时,*T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。简单来说,就是T(n)在n趋于正无穷时最大也就跟f(n)差不多大。</i> 算法中语句执行次数为一个常数,则时间复杂度为O(1)。常见的时间复杂度有:<p><b>常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(n log2n),平方阶O(n2),立方阶O(n3),...。</b></p> <i><b>Log</b><u>2</u><b>8</b>:2为底N的对数,即2的几次方等于8,值为3</i> 常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(n log2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!) 即:常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 < 立方阶 < … < 指数阶 < 阶乘 如: 第一个for循环的时间复杂度为Ο(n),第二个for循环的时间复杂度为Ο(n2),则整个算法的时间复杂度为Ο(n1+n2+n3)=Ο(n3)。 Ο(1)表示基本语句的执行次数是一个常数,一般来说,只要算法中不存在循环语句,其时间复杂度就是Ο(1)。其中Ο(log2n)、Ο(n)、 Ο(nlog2n)、Ο(n2)和Ο(n3)称为多项式时间,而Ο(2n)和Ο(n!)称为指数时间。计算机科学家普遍认为前者(即多项式时间复杂度的算法)是有效算法。 <i>指数函数:y=ax,对数函数:y=logax,幂函数:y=xa x为变量,a为常量</i>2023-07-27 17:11:131
NPC问题的折中的解法
目前为止,所有已知解NPC问题的算法需要依照资料数量而定的超多项式(superpolynomial)时间,目前也不知道是否有任何更快的算法存在。因此要在输入资料量大的时候解决一个NPC问题,通常我们使用下列的手段来解:近似算法:这类算法可以快速发现离最佳解在一定差距内的次佳解。乱数算法:此类算法可提供一乱数产生的输入资料,让本质上解答分布均匀的受测程式可以有良好的求解效率。对于解答分布不均匀的程式,则可以降低乱数程度以改变输入资料。特例:此算法可以在题目呈献某些特殊情况时快速得解。参数化复杂度(Parameterized complexity)可视为广义的此类算法。启发式算法:这种算法在许多时候可以产生理性解答(即运用评比或线索找出解),但无法保证它效率的良莠与解答的好坏程度。一个启发式算法的例子是用在图着色问题以O(n log n)的贪婪算法找次佳解,用在某些编译器的暂存器配置阶段上,此技术又叫图着色全域暂存器配置(graph-coloring global register allocation)。每顶点视为一变量,每边代表两变量同时使用的情况,颜色则代表配置给每一变量的暂存器编号。由于大多数的RISC机器拥有大量通用暂存器,因此启发式算法很适合用来解这类题目。 依照上述NPC的定义,所谓的变换其实是多项式时间多对一变换的简称。另一种化约法称为多项式时间图灵归约(polynomial-time Turing reduction)。若我们提供一个副函式(subroutine)可以在多项式时间解出Y,又可写出呼叫此副函式的程式并在多项式时间解出问题X,代表我们可以将X多项式时间图灵变换成Y。相较起来,不同处在于多对一变换只能呼叫上述副函式一次,且副函式的回传值必须就是整个变换程式回传的值。如果有人使用图灵变换而非多对一变换来解析NPC,此问题的解答集合不一定会小于NPC。孰大孰小其实是个开放问题。如果两个概念相同,则可导出NP=反NP(co-NP)。此结论成立的道理在于NPC与反NPC的定义以图灵归约来看是相等的,且图灵变换定义的NPC包含多对一变换定义的NPC,反NPC也是相同情况。所以若是两种变换定义的NPC一样大的话,反NPC也会比照办理(在两者的定义之下)。例如SAT的反问题也会是NPC(在两者的定义之下)。因此推得NP = 反NP(证明在反NP条目中)。虽然NP是否等于反NP是个开放问题,但一般认为这似乎不大可能,也因此那两类的NPC定义也不大可能相等。另一种很常用于NPC证明的变换手法是对数空间多对一变换(logarithmic-space many-one reduction),它是一种可以在对数量级空间运用的多对一变换法。由于每道可以在对数空间完成的运算也可以在多项式时间做完,因此能使用对数空间多对一变换的场合也可以使用多项式时间多对一变换。本方法较多项式时间多对一变换优雅,它也可以让我们对算法复杂度细分出更多分类,例如P完备复杂度。而NPC的定义是否会因为使用不同变换手法而产生差异,仍是一个未知的问题。2023-07-27 17:11:201
如何在圆内尽可能画最多的圆
这个问题属于装载问题(packing problem)中的一类(equal circle packing in a circle)。看似简单,但至今没有被彻底解决。很多装载问题都属于NP hard 问题,这个equal circle packing 问题也不例外 [1]。所谓NP hard (Non-deterministic Polynomial-time hard) 是计算复杂性理论中衡量问题复杂程度的一个类。目前为止,任何属于NP hard 类的问题都找不到能在多项式时间内解决的快速算法,甚至很可能根本不存在这样的快速算法(PS:与此有关的 P/NP问题是著名的7个千禧年大奖难题之一)。多项式时间是指对于输入n,运算时间的上限可表示为n的多项式。或可以这样理解:能用多项式时间完成的算法就是快速算法。因此,属于NP hard 的装载问题一般来说不但不存在普适的填充公式,就连能快速寻找严格最优解的算法也没有。对于这些NP hard 的装载问题,只有填充数量较小和一些特殊的情况可以手动寻找和证明严格的最优填充方案,当填充数较大时只能靠近似优化算法寻找近似最优解。equal circle packing in a circle 问题可以一般表述为:将n个单位圆互不嵌入地放入一个大圆内,大圆的最小半径是多少?就我查到的资料,现在严格证明的情况只有 n =1,2,..., 13 和 19 [2-6]。其余的情况要么是还未严格证明,要么是只有用近似算法找到的近似最优解。2023-07-27 17:11:353
浅谈组合优化问题求解中的机器学习方法
关于浅谈组合优化问题求解中的机器学习方法如下:机器学习方法求解组合优化问题领域在 2015 年以来,取得很大的进展,机器学习 ML+组合优化 CO(简称 ML+CO)发展主要有两条主线,一条是监督学习路线,另外一条是强化学习路线。我们的目标是设计求解组合优化问题的机器学习算法框架,适用多个组合优化问题。组合优化问题(Combinatorial Optimization Problem,COP)是一类在离散状态下求极值的最优化问题,组合优化问题有非常多的实际应用:通讯网络、芯片设计、飞行路线调度、数据中心管理等。其中 TSP 问题是大家比较熟知的一个组合优化问题,如有一个售货员,从北京出发,经过下图当中所有的城市而且只能通过一次,最后回到北京,要选择一个合适的城市序列,使得走的路程之和或总花费最少。组合优化问题数学模型组合优化问题其实属于离散优化的问题,我们可以写成如下的数学模型:例如 TSP 问题,给定一个完全图 G,顶点集 V(G)={0,1....n-1}, 边权重ω:E(G)-> Q,我们要从 0、1 到 n-1 所有置换当中挑出一个置换,使得这个置换相邻两个顶点之间的权重之和是最小的。我们可以抽象成如下数学模型:组合优化问题分类根据计算复杂性理论,有 P 问题、NP 问题、NP-complete(NPC)问题,NP-hard问题四类,它们的定义分别为:P 问题:可以用确定性算法在多项式时间内解决的问题NP 问题:可以在多项式时间内验证是否正确的问题NPC 问题:它是一个 NP 问题,同时所有的 NP 问题都能在多项式时间内约化到它。(注意,如果这种问题存在多项式时间的算法,那么所有 NP 问题都是多项式时间可解的,即 P=NP)NP-hard 问题:所有 NP 都能在多项式内约化到它,但它不一定是一个 NP 问题。2023-07-27 17:11:421
整数分解详细资料大全
在数学中, 整数分解 (英语:integer factorization)又称 素因数 分解 (prime factorization),是将一个正整数写成几个约数的乘积。例如,给出45这个数,它可以分解成9×5。根据算术基本定理,这样的分解结果应该是独一无二的。这个问题在代数学、密码学、计算复杂性理论和量子计算机等领域中有重要意义。 基本介绍 中文名 :整数分解 外文名 :integer factorization 别称 :素因数分解 定义 :一个正整数写成几个约数的乘积 相关定理 :算术基本定理 套用领域 :代数学、密码学 因子分解,实际套用,当今的新进展,难度与复杂度,整数分解算法,特殊用途算法,一般用途算法,其他算法, 因子分解 完整的因子列表可以根据约数分解推导出,将幂从零不断增加直到等于这个数。例如,因为45=3 2 ×5,45可以被3 0 ×5 0 ,3 0 ×5 1 ,3 1 ×5 0 ,3 1 ×5 1 ,3 2 ×5 0 ,和3 2 ×5 1 ,或者 1,5,3,9,15,和 45整除。相对应的,约数分解只包括约数因子。 实际套用 给出两个大约数,很容易就能将它们两个相乘。但是,给出它们的乘积,找出它们的因子就显得不是那么容易了。这就是许多现代密码系统的关键所在。如果能够找到解决整数分解问题的快速方法,几个重要的密码系统将会被攻破,包括RSA公钥算法和Blum Blum Shub随机数发生器。 尽管快速分解是攻破这些系统的方法之一,仍然会有其它的不涉及到分解的其它方法。所以情形完全可能变成这样:整数分解问题仍然是非常困难,这些密码系统却是能够很快攻破。有的密码系统则能提供更强的保证:如果这些密码系统被快速破解(即能够以多项式时间复杂度破解),则可以利用破解这些系统的算法来快速地(以多项式时间复杂度)分解整数。换句话说,破解这样的密码系统不会比整数分解更容易。这样的密码系统包括Rabin密码系统(RSA的一个变体)以及Blum Blum Shub随机数发生器。 当今的新进展 2005年,作为公共研究一部分的有663个二进制数位之长的RSA-200已经被一种一般用途的方法所分解。 如果一个大的,有 n 个二进制数位长度的数是两个差不多大小相等的约数的乘积,现在还没有很好的算法来以多项式时间复杂度分解它。 这就意味着没有已知算法可以在O( n )( k 为常数)的时间内分解它。但是现在的算法也是比Θ(e)快的。换句话说,现在我们已知最好的算法比指数数量级时间要快,比多项式数量级时间要慢。已知最好的渐近线运行时间是普通数域筛选法(GNFS)。时间是: 对于平常的计算机,GNFS是我们已知最好的对付 n 个二进制数位大约数的方法。不过,对于量子计算机,彼得·秀尔在1994年发现了一种可以用多项式时间来解决这个问题的算法。如果大的量子计算机建立起来,这将对密码学有很重要的意义。这个算法在时间上只需要O( n ),空间只要O( n )就可以了。 构造出这样一个算法只需要2 n 量子位。2001年,第一个7量子位的量子计算机第一个运行这个算法,它分解的数是15。 难度与复杂度 现在还不确切知道整数分解属于哪个复杂度类。 我们知道这个问题的判定问题形式(“请问 N 是否有一个比 M 小的约数?”)是在NP与反NP之中。因为不管是答案为是或不是,我们都可以用一个素因数以及该素因数的素数证明来验证这个答案。由秀尔算法可知,这个问题在BQP中。大部分的人则怀疑这个问题不在P、NP完全、以及反NP完全这三个复杂性类别中。如果这个问题可以被证明为NP完全或反NP完全,则我们便可推得NP=反NP。这将会是个很震憾的结果,也因此大多数人猜想整数分解这个问题不在上述的复杂性类别中。也有许多人尝试去找出多项式时间的算法来解决这个问题,但是都尚未成功,因此这个问题也被多数人怀疑不在P中。 有趣的是,判定一个整数是否是素数则比分解该整数简单许多。AKS算法证明前者可以在多项式时间中解决。 测试一个数是否为素数是RSA算法中非常重要的一环,因为它在一开始的时候需要找很大的素数。 整数分解算法 特殊用途算法 一个特别的因子分解算法的运行时间依赖它本身的未知因子:大小,类型等等。在不同的算法之间运行时间也是不同的。 试除法 车轮分解 波拉德RHO算法 代数群因式分解算法,其中包括Pollard"s p u22121算法、Williams" p +1算法和Lenstra椭圆曲线分解法 费马素数判定法 欧拉因式分解法 特殊数域筛选法 一般用途算法 一般用途算法的运行时间仅仅依赖要分解的整数的长度。这种算法可以用来分解RSA数。大部分一般用途算法基于平方同余方法。 Dixon算法 连分数分解法(CFRAC) 二次筛选法 理性筛选法 普通数域筛选法 Shanks" square forms factorization(SQUFOF) 其他算法 秀尔算法2023-07-27 17:12:031
蚁群算法中转移概率是怎么用的.不同的蚂蚁为什么会选择不同的路径
因为不同路径的信息素和启发信息不同,所以向每条路径转移的概率也不同;具体实现可以运用轮盘赌选择,转移概率越大的路径就会有更多的蚂蚁选择.。Prime 算法和 Kruskal 算法都是用来求加权连通简单图中权和最小的支撑树(即最小树)的,Prime算法的时间复杂度为O(n^2) (n 为顶点数),Kruskal 算法的时间复杂度为 O(eln(e)) (e为边数),这两种算法都是多项式时间算法,也就是说,最小树问题已经有了有效算法去求解,属于P问题。Dijkstra 算法求解的是加权连通简单图中一个顶点到其它每个顶点的具有最小权和的有向路,最简单版本的时间复杂度是O(n^2),也是多项式时间算法。而蚁群算法是一种近似算法,它不是用来解决已存在精确有效算法的问题的,而是用来解决至今没有找到精确的有效算法的问题的,比如旅行商问题(TSP)。旅行商问题也可以说是求“最短路径”,但它是求一个完全图的最小哈密顿圈,这个问题至今未找到多项式时间算法,属于NPC问题,也就是说,当问题规模稍大一点,现有的精确算法的运算量就会急剧增加。文中的某些观点引自知乎大神余幸恩,感谢帮忙!~2023-07-27 17:12:252
数学建模中s型曲线定义(代数表达式)是什么,如何使用?
世界近代三大数学难题之一四色猜想 四色猜想的提出来自英国。1852年,毕业于伦敦大学的弗南西斯.格思里来到一家科研单位搞地图着色工作时,发现了一种有趣的现象:“看来,每幅地图都可以用四种颜色着色,使得有共同边界的国家着上不同的颜色。”这个结论能不能从数学上加以严格证明呢?他和在大学读书的弟弟格里斯决心试一试。兄弟二人为证明这一问题而使用的稿纸已经堆了一大叠,可是研究工作没有进展。 1852年10月23日,他的弟弟就这个问题的证明请教他的老师、著名数学家德.摩尔根,摩尔根也没有能找到解决这个问题的途径,于是写信向自己的好友、著名数学家哈密尔顿爵士请教。哈密尔顿接到摩尔根的信后,对四色问题进行论证。但直到1865年哈密尔顿逝世为止,问题也没有能够解决。 1872年,英国当时最著名的数学家凯利正式向伦敦数学学会提出了这个问题,于是四色 猜想成了世界数学界关注的问题。世界上许多一流的数学家都纷纷参加了四色猜想的大会战 。1878~1880年两年间,著名的律师兼数学家肯普和泰勒两人分别提交了证明四色猜想的论文,宣布证明了四色定理,大家都认为四色猜想从此也就解决了。 11年后,即1890年,数学家赫伍德以自己的精确计算指出肯普的证明是错误的。不久,泰勒的证明也被人们否定了。后来,越来越多的数学家虽然对此绞尽脑汁,但一无所获。于是,人们开始认识到,这个貌似容易的题目, 实是一个可与费马猜想相媲美的难题:先辈数学大师们的努力,为后世的数学家揭示四色猜想之谜铺平了道路。 进入20世纪以来,科学家们对四色猜想的证明基本上是按照肯普的想法在进行。1913年,伯克霍夫在肯普的基础上引进了一些新技巧,美国数学家富兰克林于1939年证明了22国以下的地图都可以用四色着色。1950年,有人从22国推进到35国。1960年,有人又证明了39国以下的地图可以只用四种颜色着色;随后又推进到了50国。看来这种推进仍然十分缓慢。电子计算机问世以后,由于演算速度迅速提高,加之人机对话的出现,大大加快了对四色猜想证明的进程。1976年,美国数学家阿佩尔与哈肯在美国伊利诺斯大学的两台不同的电子计算机上,用了1200个小时,作了100亿判断,终于完成了四色定理的证明。四色猜想的计算机证明,轰动了世界。它不仅解决了一个历时100多年的难题,而且有可能成为数学史上一系列新思维的起点。不过也有不少数学家并不满足于计算机取得的成就,他们还在寻找一种简捷明快的书面证明方法。 -------- 世界近代三大数学难题之一 费马最后定理 被公认执世界报纸牛耳地位地位的纽约时报於1993年6月24日在其一版头题刊登了一则有 关数学难题得以解决的消息,那则消息的标题是「在陈年数学困局中,终於有人呼叫『 我找到了』」。时报一版的开始文章中还附了一张留着长发、穿着中古世纪欧洲学袍的 男人照片。这个古意盎然的男人,就是法国的数学家费马(Pierre de Fermat)(费马 小传请参考附录)。费马是十七世纪最卓越的数学家之一,他在数学许多领域中都有极 大的贡献,因为他的本行是专业的律师,为了表彰他的数学造诣,世人冠以「业余王子 」之美称,在三百六十多年前的某一天,费马正在阅读一本古希腊数学家戴奥芬多斯的 数学书时,突然心血来潮在书页的空白处,写下一个看起来很简单的定理这个定理的内 容是有关一个方程式 x2 + y2 =z2的正整数解的问题,当n=2时就是我们所熟知的毕氏定 理(中国古代又称勾股弦定理):x2 + y2 =z2,此处z表一直角形之斜边而x、y为其之 两股,也就是一个直角三角形之斜边的平方等於它的两股的平方和,这个方程式当然有 整数解(其实有很多),例如:x=3、y=4、z=5;x=6、y=8、z=10;x=5、y=12、z=13… 等等。 费马声称当n>2时,就找不到满足xn +yn = zn的整数解,例如:方程式x3 +y3=z3就无法 找到整数解。 当时费马并没有说明原因,他只是留下这个叙述并且也说他已经发现这个定理的证明妙 法,只是书页的空白处不够无法写下。始作俑者的费马也因此留下了千古的难题,三百 多年来无数的数学家尝试要去解决这个难题却都徒劳无功。这个号称世纪难题的费马最 后定理也就成了数学界的心头大患,极欲解之而后快。 十九世纪时法国的法兰西斯数学院曾经在一八一五年和一八六0年两度悬赏金质奖章和 三百法郎给任何解决此一难题的人,可惜都没有人能够领到奖赏。德国的数学家佛尔夫 斯克尔(P?Wolfskehl)在1908年提供十万马克,给能够证明费马最后定理是正确的人, 有效期间为100年。其间由於经济大萧条的原因,此笔奖额已贬值至七千五百马克,虽然 如此仍然吸引不少的「数学痴」。 二十世纪电脑发展以后,许多数学家用电脑计算可以证明这个定理当n为很大时是成立的 ,1983年电脑专家斯洛文斯基借助电脑运行5782秒证明当n为286243-1时费马定理是正确 的(注286243-1为一天文数字,大约为25960位数)。 虽然如此,数学家还没有找到一个普遍性的证明。不过这个三百多年的数学悬案终於解 决了,这个数学难题是由英国的数学家威利斯(Andrew Wiles)所解决。其实威利斯是 利用二十世纪过去三十年来抽象数学发展的结果加以证明。 五0年代日本数学家谷山丰首先提出一个有关椭圆曲现的猜想,后来由另一位数学家志 村五郎加以发扬光大,当时没有人认为这个猜想与费马定理有任何关联。在八0年代德 国数学家佛列将谷山丰的猜想与费马定理扯在一起,而威利斯所做的正是根据这个关联 论证出一种形式的谷山丰猜想是正确的,进而推出费马最后定理也是正确的。这个结论 由威利斯在1993年的6月21日於美国剑桥大学牛顿数学研究所的研讨会正式发表,这个报 告马上震惊整个数学界,就是数学门墙外的社会大众也寄以无限的关注。不过威利斯的 证明马上被检验出有少许的瑕疵,於是威利斯与他的学生又花了十四个月的时间再加以 修正。1994年9月19日他们终於交出完整无瑕的解答,数学界的梦魇终於结束。1997年6 月,威利斯在德国哥庭根大学领取了佛尔夫斯克尔奖。当年的十万法克约为两百万美金 ,不过威利斯领到时,只值五万美金左右,但威利斯已经名列青史,永垂不朽了。 要证明费马最后定理是正确的 (即xn + yn = zn 对n33 均无正整数解) 只需证 x4+ y4 = z4 和xp+ yp = zp (P为奇质数),都没有整数解。 ---------------- 世界近代三大数学难题之一 哥德巴赫猜想 哥德巴赫是德国一位中学教师,也是一位著名的数学家,生于1690年,1725年当选为俄国彼得堡科学院院士。1742年,哥德巴赫在教学中发现,每个不小于6的偶数都是两个素数(只能被和它本身整除的数)之和。如6=3+3,12=5+7等等。 1742年6月7日,哥德巴赫写信将这个问题告诉给意大利大数学家欧拉,并请他帮助作出证明。欧拉在6月30日给他的回信中说,他相信这个猜想是正确的,但他不能证明。叙述如此简单的问题,连欧拉这样首屈一指的数学家都不能证明,这个猜想便引起了许多数学家的注意。他们对一个个偶数开始进行验算,一直算到3.3亿,都表明猜想是正确的。但是对于更大的数目,猜想也应是对的,然而不能作出证明。欧拉一直到死也没有对此作出证明。从此,这道著名的数学难题引起了世界上成千上万数学家的注意。200年过去了,没有人证明它。哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”。到了20世纪20年代,才有人开始向它靠近。1920年、挪威数学家布爵用一种古老的筛选法证明,得出了一个结论:每一个比大的偶数都可以表示为(99)。这种缩小包围圈的办法很管用,科学家们于是从(9十9)开始,逐步减少每个数里所含质数因子的个数,直到最后使每个数里都是一个质数为止,这样就证明了“哥德巴赫”。 1924年,数学家拉德马哈尔证明了(7+7);1932年,数学家爱斯尔曼证明了(6+6);1938年,数学家布赫斯塔勃证明了(5十5),1940年,他又证明了(4+4);1956年,数学家维诺格拉多夫证明了(3+3);1958年,我国数学家王元证明了(2十3)。随后,我国年轻的数学家陈景润也投入到对哥德巴赫猜想的研究之中,经过10年的刻苦钻研,终于在前人研究的基础上取得重大的突破,率先证明了(l十2)。至此,哥德巴赫猜想只剩下最后一步(1+1)了。陈景润的论文于1973年发表在中国科学院的《科学通报》第17期上,这一成果受到国际数学界的重视,从而使中国的数论研究跃居世界领先地位,陈景润的有关理论被称为“陈氏定理”。1996年3月下旬,当陈景润即将摘下数学王冠上的这颗明珠,“在距离哥德巴赫猜想(1+1)的光辉顶峰只有飓尺之遥时,他却体力不支倒下去了……”在他身后,将会有更多的人去攀登这座高峰。 一 数学基础问题。 1、 数是什么? 2、 四则运算是什么? 3、 加法和乘法为什么符合交换律,结合律,分配律? 4、 几何图形是什么? 二 几个未解的题。 1、求 (1/1)^3+(1/2)^3+(1/3)^3+(1/4)^3+(1/5)^3+ … +(1/n)^3=? 更一般地: 当k为奇数时 求 (1/1)^k+(1/2)^k+(1/3)^k+(1/4)^k+(1/5)^k+ … +(1/n)^k=? 背景: 欧拉求出: (1/1)^2+(1/2)^2+(1/3)^2+(1/4)^2+(1/5)^2+ … +(1/n)^2=(π^2)/6 并且当k为偶数时的表达式。 2、e+π的超越性 背景 此题为希尔伯特第7问题中的一个特例。 已经证明了e^π的超越性,却至今未有人证明e+π的超越性。 3、素数问题。 证明: ζ(s)=1+(1/2)^s+(1/3)^s+(1/4)^s+(1/5)^s + … (s属于复数域) 所定义的函数ζ(s)的零点,除负整实数外,全都具有实部1/2。 背景: 此即黎曼猜想。也就是希尔伯特第8问题。 美国数学家用计算机算了ζ(s)函数前300万个零点确实符合猜想。 希尔伯特认为黎曼猜想的解决能够使我们严格地去解决歌德巴赫猜想(任一偶数可以分解为两素数之和)和孪生素数猜想(存在无穷多相差为2的素数)。 引申的问题是:素数的表达公式?素数的本质是什么? 4、 存在奇完全数吗? 背景: 所谓完全数,就是等于其因子的和的数。 前三个完全数是: 6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248 目前已知的32个完全数全部是偶数。 1973年得到的结论是如果n为奇完全数,则: n>10^50 5、 除了8=2^3,9=3^2外,再没有两个连续的整数可表为其他正整数的方幂了吗? 背景: 这是卡塔兰猜想(1842)。 1962年我国数学家柯召独立证明了不存在连续三个整数可表为其它正整数的方幂。 1976年,荷兰数学家证明了大于某个数的任何两个正整数幂都不连续。因此只要检查小于这个数的任意正整数幂是否有连续的就行了。 但是,由于这个数太大,有500多位,已超出计算机的计算范围。 所以,这个猜想几乎是正确的,但是至今无人能够证实。 6、 任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1)。不断重复这样的运算,经过有限步后,一定可以得到1吗? 背景: 这角古猜想(1930)。 人们通过大量的验算,从来没有发现反例,但没有人能证明。 三 希尔伯特23问题里尚未解决的问题。 1、问题1连续统假设。 全体正整数(被称为可数集)的基数 和实数集合(被称为连续统)的基数c之间没有其它基数。 背景:1938年奥地利数学家哥德尔证明此假设在集合论公理系统,即策莫罗-佛朗克尔公理系统里,不可证伪。 1963年美国数学家柯恩证明在该公理系统,不能证明此假设是对的。 所以,至今未有人知道,此假设到底是对还是错。 2、问题2 算术公理相容性。 背景:哥德尔证明了算术系统的不完备,使希尔伯特的用元数学证明算术公理系统的无矛盾性的想法破灭。 3、 问题7 某些数的无理性和超越性。 见上面 二 的 2 5、 问题 8 素数问题。 见上面 二 的 3 6、 问题 11 系数为任意代数数的二次型。 背景:德国和法国数学家在60年代曾取得重大进展。 7、 问题 12 阿贝尔域上的克罗内克定理在任意代数有理域上的推广。 背景:此问题只有些零散的结果,离彻底解决还十分遥远。 8、 问题13 仅用二元函数解一般7次代数方程的不可能性。 背景:1957苏联数学家解决了连续函数情形。如要求是解析函数则此问题尚未完全解决。 9、 问题15 舒伯特计数演算的严格基础。 背景: 代数簌交点的个数问题。和代数几何学有关。 10、 问题 16 代数曲线和曲面的拓扑。 要求代数曲线含有闭的分枝曲线的最大数目。和微分方程的极限环的最多个数和相对位置。 11、 问题 18 用全等多面体来构造空间。 无限个相等的给定形式的多面体最紧密的排列问题,现在仍未解决。 12、 问题 20 一般边值问题。 偏微分方程的边值问题,正在蓬勃发展。 13、 问题 23 变分法的进一步发展。 四 千禧七大难题 2000年美国克雷数学促进研究所提出。为了纪念百年前希尔伯特提出的23问题。每一道题的赏金均为百万美金。 1、 黎曼猜想。 见 二 的 3 透过此猜想,数学家认为可以解决素数分布之谜。 这个问题是希尔伯特23个问题中还没有解决的问题。透过研究黎曼猜想数 学家们认为除了能解开质数分布之谜外,对於解析数论、函数理论、 椭圆函数论、群论、质数检验等都将会有实质的影响。 2、杨-密尔斯理论与质量漏洞猜想(Yang-Mills Theory and Mass Gap Hypothesis) 西元1954 年杨振宁与密尔斯提出杨-密尔斯规范理论,杨振宁由 数学开始,提出一个具有规范性的理论架构,后来逐渐发展成为量子 物理之重要理论,也使得他成为近代物理奠基的重要人物。 杨振宁与密尔斯提出的理论中会产生传送作用力的粒子,而他们 碰到的困难是这个粒子的质量的问题。他们从数学上所推导的结果 是,这个粒子具有电荷但没有质量。然而,困难的是如果这一有电荷 的粒子是没有质量的,那麼为什麼没有任何实验证据呢?而如果假定 该粒子有质量,规范对称性就会被破坏。一般物理学家是相信有质 量,因此如何填补这个漏洞就是相当具挑战性的数学问题。 3、P 问题对NP 问题(The P Versus NP Problems) 随著计算尺寸的增大,计算时间会以多项式方式增加的型式的问题叫做「P 问题」。 P 问题的P 是Polynomial Time(多项式时间)的头一个字母。已 知尺寸为n,如果能决定计算时间在cnd (c 、d 为正实数) 时间以下 就可以或不行时,我们就称之为「多项式时间决定法」。而能用这个 算法解的问题就是P 问题。反之若有其他因素,例如第六感参与进来 的算法就叫做「非决定性算法」,这类的问题就是「NP 问题」,NP 是 Non deterministic Polynomial time (非决定性多项式时间)的缩写。 由定义来说,P 问题是NP 问题的一部份。但是否NP 问题里面有 些不属於P 问题等级的东西呢?或者NP 问题终究也成为P 问题?这 就是相当著名的PNP 问题。 4、.纳维尔–史托克方程(Navier–Stokes Equations) 因为尤拉方程太过简化所以寻求作修正,在修正的过程中产生了 新的结果。法国工程师纳维尔及英国数学家史托克经过了严格的数学 推导,将黏性项也考虑进去得到的就是纳维尔–史托克方程。 自从西元1943 年法国数学家勒雷(Leray)证明了纳维尔–史托 克方程的全时间弱解(global weak solution)之后,人们一直想知道 的是此解是否唯一?得到的结果是:如果事先假设纳维尔–史托克方 程的解是强解(strong solution),则解是唯一。所以此问题变成:弱解与强解之间的差距有多大,有没有可能弱解会等於强解?换句话说,是不是能得到纳维尔–史托克方程的全时间平滑解?再者就是证 明其解在有限时间内会爆掉(blow up in finite time)。 解决此问题不仅对数学还有对物理与航太工程有贡献,特别是乱 流(turbulence)都会有决定性的影响,另外纳维尔–史托克方程与奥 地利伟大物理学家波兹曼的波兹曼方程也有密切的关系,研究纳维 尔–史托克(尤拉)方程与波兹曼方程(Boltzmann Equations)两 者之关系的学问叫做流体极限(hydrodynamics limit),由此可见纳 维尔–史托克方程本身有非常丰富之内涵。 5.庞加莱臆测(Poincare Conjecture) 庞加莱臆测是拓朴学的大问题。用数学界的行话来说:单连通的 三维闭流形与三维球面同胚。 从数学的意义上说这是一个看似简单却又非 常困难的问题,自庞加莱在西元1904 年提出之 后,吸引许多优秀的数学家投入这个研究主题。 庞加莱(图4)臆测提出不久,数学们自然的将 之推广到高维空间(n4),我们称之为广义庞加莱臆测:单连通的 ≥ n(n4)维闭流形,如果与n ≥ 维球面有相同的基本群(fundamental group)则必与n维球面同胚。 经过近60 年后,西元1961 年,美国数学家斯麦尔(Smale)以 巧妙的方法,他忽略三维、四维的困难,直接证明五维(n5)以上的 ≥ 广义庞加莱臆测,他因此获得西元1966 年的费尔兹奖。经过20年之 后,另一个美国数学家佛瑞曼(Freedman)则证明了四维的庞加莱臆 测,并於西元1986年因为这个成就获得费尔兹奖。但是对於我们真 正居住的三维空间(n3),在当时仍然是一个未解之谜。 = 一直到西元2003 年4 月,俄罗斯数学家斐雷曼(Perelman)於 麻省理工学院做了三场演讲,在会中他回答了许多数学家的疑问,许 多迹象显示斐雷曼可能已经破解庞加莱臆测。数天后「纽约时报」首 次以「俄国人解决了著名的数学问题」为题向公众披露此一消息。同 日深具影响力的数学网站MathWorld 刊出的头条文章为「庞加莱臆测 被证明了,这次是真的!」[14]。 数学家们的审查将到2005年才能完成,到目前为止,尚未发现 斐雷曼无法领取克雷数学研究所之百万美金的漏洞。 6.白之与斯温纳顿-戴尔臆测(Birch and Swinnerton-Dyer Conjecture) 一般的椭圆曲线方程式 y^2=x^3+ax+b ,在计算椭圆之弧长时 就会遇见这种曲线。自50 年代以来,数学家便发现椭圆曲线与数论、 几何、密码学等有著密切的关系。例如:怀尔斯(Wiles)证明费马 最后定理,其中一个关键步骤就是用到椭圆曲线与模形式(modularform)之关系-即谷山-志村猜想,白之与斯温纳顿-戴尔臆测就是与 椭圆曲线有关。 60年代英国剑桥大学的白之与斯温纳顿-戴尔利用电脑计算一些 多项式方程式的有理数解。通常会有无穷多解,然而要如何计算无限 呢?其解法是先分类,典型的数学方法是同余(congruence)这个观念 并藉此得同余类(congruence class)即被一个数除之后的余数,无穷 多个数不可能每个都要。数学家自然的选择了质数,所以这个问题与 黎曼猜想之Zeta 函数有关。经由长时间大量的计算与资料收集,他 们观察出一些规律与模式,因而提出这个猜测。他们从电脑计算之结 果断言:椭圆曲线会有无穷多个有理点,若且唯若附於曲线上面的 Zeta 函数ζ (s) = 时取值为0,即ζ (1) ;当s1= 0 7.霍奇臆测(Hodge Conjecture) 「任意在非奇异投影代数曲体上的调和微分形式,都是代数圆之 上同调类的有理组合。」 最后的这个难题,虽不是千禧七大难题中最困难的问题,但却可 能是最不容易被一般人所了解的。因为其中有太多高深专业而且抽象 参考资料:《数学的100个基本问题》《数学与文化》《希尔伯特23个数学问题回顾》2023-07-27 17:12:332
近似算法的子集和问题的近似算法
问题描述:设子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,…,xn}是一个正整数的集合,t是一个正整数。子集和问题判定是否存在S的一个子集S1,使得∑x = t。(x属于S1)1 子集和问题的指数时间算法int exactSubsetSum (S,t){int n=|S|;L[0]={0};for (int i=1;i<=n;i++) {L[i]=mergeLists(L[i-1],L[i-1]+S[i]);删去L[i]中超过t的元素;}return max(L[n]);}算法以集合S={x1,x2,…,xn}和目标值t作为输入。算法中用到将2个有序表L1和L2合并成为一个新的有序表的算法mergeLists(L1,L2)。2 子集和问题的完全多项式时间近似格式基于算法exactSubsetSum,通过对表L[i]作适当的修整建立一个子集和问题的完全多项式时间近似格式。在对表L[i]进行修整时,用到一个修整参数δ,0<δ<1。用参数δ修整一个表L是指从L中删去尽可能多的元素,使得每一个从L中删去的元素y,都有一个修整后的表L1中的元素z满足(1-δ)y≤z≤y。可以将z看作是被删去元素y在修整后的新表L1中的代表。举例:若δ=0.1,且L=〈10,11,12,15,20,21,22,23,24,29〉,则用δ对L进行修整后得到L1=〈10,12,15,20,23,29〉。其中被删去的数11由10来代表,21和22由20来代表,24由23来代表。对有序表L修整算法List trim(L,δ){ int m=|L|;L1=〈L[1]〉;int last=L[1];for (int i=2;i<=m;i++) {if (last<(1-δ)*L[i]) {将L[i]加入表L1的尾部;last=L[i];}return L1;}子集和问题近似格式int approxSubsetSum(S,t,ε){ n=|S|;L[0]=〈0〉;for (int i=1;i<=n;i++) {L[i]=Merge-Lists(L[i-1],L[i-1]+S[i]);L[i]=Trim(L[i],ε/n);删去L[i]中超过t的元素;}return max(L[n]);}2023-07-27 17:12:411
什么是NP问题,什么有是NP完全问题
在算法复杂度分析的过程中,人们常常用特定的函数来描述目标算法,随着变量n的增长,时间或者空间消耗的增长曲线,近而进一步分析算法的可行性(有效性)。引入了Big-O,Big-Ω,来描述目标算法的上限、下限复杂度函数。用Big-Θ描述和目标函数同序的复杂度函数,即由Big-Θ既是上限也是下限。常常用到如下时间复杂度函数标度1, log n, n, n log n, n^2, 2^n, n!通常将具有n^x,x为正整数形式的时间复杂度函数称为多项式复杂度。通常认为具有多项式时间复杂度的算法是容易求解的。超过多项式时间复杂度,算法增长迅速,不易求解。下图将展示NP和NP完全问题在所有问题中的位置。通常问题分为 可解决(Solvable) 和 不可解决(Unsolvable)。可决绝问题又可以分为 易解决(Tractable)、不易解决(Intractable)和不确定是否容易解决(NP)可解决(Solvable)是指存在算法能够解决的问题不可解决(Unsolvable)是指不存在解决该问题的算法,如The Halting Problem。易解决(Tractable),即P问题,是指具有最坏时间复杂度为多项式时间的算法能够解决的问题不易解决(Intractable)是指不存在最坏时间复杂度为多项式时间的算法能够解决的问题不确定是否容易解决(NP),还未被证明是否存在多项式算法能够解决这些问题,而其中NP完全问题又是最有可能不是P问题的问题类型。2023-07-27 17:12:551
np是什么意思呢?
np指NP完全问题。NP完全问题(NP-C问题),是世界七大数学难题之一。 NP的英文全称是Non-deterministic Polynomial的问题,即多项式复杂程度的非确定性问题。简单的写法是 NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P。相关信息:NP类问题:所有的非确定性多项式时间可解的判定问题构成NP类问题。非确定性算法:非确定性算法将问题分解成猜测和验证两个阶段。算法的猜测阶段是非确定性的,算法的验证阶段是确定性的,它验证猜测阶段给出解的正确性。设算法A是解一个判定问题Q的非确定性算法,如果A的验证阶段能在多项式时间内完成,则称A是一个多项式时间非确定性算法。2023-07-27 17:13:011
如何证明TSP,Hamilton,longest path问题 都是NPC-CSDN论坛
首先说明一下问题的复杂性和算法的复杂性的区别,下面只考虑时间复杂性。算法的复杂性是指解决问题的一个具体的算法的执行时间,这是算法的性质;问题的复杂性是指这个问题本身的复杂程度,是问题的性质。比如对于排序问题,如果我们只能通过元素间的相互比较 来确定元素间的相互位置,而没有其他的附加可用信息,则排序问题的复杂性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情况下是O(nlgn)等等,排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。问题的复杂性不可能通过枚举各种可能算法来得到,一般都是预先估计一个值,然后从理论上证明。为了研究问题的复杂性,我们必须将问题抽象,为了简化问题,我们只考虑一类简单的问题,判定性问题,即提出一个问题,只需要回答yes或者no的问题。任何一般的最优化问题都可以转化为一系列判定性问题,比如求图中从A到B的最短路径,可以转化成:从A到B是否有长度为1的路径?从A到B是否有长度为2的路径?。。。从A到B是否有长度为k的路径?如果问到了k的时候回答了yes,则停止发问,我们可以说从A到B的最短路径就是k。如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。然而有些问题很难找到多项式时间的算法(或许根本不存在),比如找出无向图中的哈米尔顿回路问题,但是我们发现如果给了我们该问题的一个答案,我们可以在多项式时间内判断这个答案是否正确。比如说对于哈米尔顿回路问题,给一个任意的回路,我们很容易判断他是否是哈米尔顿回路(只要看是不是所有的顶点都在回路中就可以了)。这种可以在多项式时间内验证一个解是否正确的问题称为NP问题。显然,所有的P类问题都是属于NP问题的,但是现在的问题是,P是否等于NP?这个问题至今还未解决。注意,NP问题不一定都是难解的问题,比如简单的数组排序问题是P类问题,但是P属于NP,所以也是NP问题,你能说他很难解么?刚才说了,现在还不知道是否有P=NP或者P<>NP,但是后来人们发现还有一系列的特殊NP问题,这类问题的特殊性质使得很多人相信P<>NP,只不过现在还无法证明。这类特殊的NP问题就是NP完全问题(NPC问题,C代表complete)。NPC问题存在着一个令人惊讶的性质,即如果一个NPC问题存在多项式时间的算法,则所有的NP问题都可以在多项式时间内求解,即P=NP成立!!这是因为,每一个NPC问题可以在多项式时间内转化成任何一个NP问题。比如前面说的哈米尔顿回路问题就是一个NPC问题。NPC问题的历史并不久,cook在1971年找到了第一个NPC问题,此后人们又陆续发现很多NPC问题,现在可能已经有3000多个了。所以,我们一般认为NPC问题是难解的问题,因为他不太可能存在一个多项式时间的算法(如果存在则所有的NP问题都存在多项式时间算法,这太不可思议了,但是也不是不可能)。类似哈米尔顿回路/路径问题,货郎担问题,集团问题,最小边覆盖问题(注意和路径覆盖的区别),等等很多问题都是NPC问题,所以都是难解的问题。2023-07-27 17:13:141
世界难题数学未解
世界难题数学未解 世界难题数学未解,数学是一门伟大的学科,对于逻辑思维能力不好的人来说,数学就是一个拦路虎,很多人都头疼数学,但数学也有很有趣的猜想,下面分享世界难题数学未解。 世界难题数学未解1 1、NP完全问题 例:在一个周六的晚上,你参加了一个盛大的晚会。由于感到局促不安,你想知道这一大厅中是否有你已经认识的人。宴会的主人向你提议说,你一定认识那位正在甜点盘附近角落的女士罗丝。不费一秒钟,你就能向那里扫视,并且发现宴会的主人是正确的。然而,如果没有这样的暗示,你就必须环顾整个大厅,一个个地审视每一个人,看是否有你认识的人。 生成问题的一个解通常比验证一个给定的解时间花费要多得多。这是这种一般现象的一个例子。与此类似的是,如果某人告诉你,数13717421可以写成两个较小的数的乘积,你可能不知道是否应该相信他,但是如果他告诉你它可以分解为3607乘上3803,那么你就可以用一个袖珍计算器容易验证这是对的。 人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。既然这类问题的所有可能答案,都可以在多项式时间内计算,人们于是就猜想,是否这类问题,存在一个确定性算法,可以在多项式时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。不管我们编写程序是否灵巧,判定一个答案是可以很快利用内部知识来验证,还是没有这样的提示而需要花费大量时间来求解,被看作逻辑和计算机科学中最突出的问题之一。它是斯蒂文·考克于1971年陈述的。 2、霍奇猜想 二十世纪的数学家们发现了研究复杂对象的形状的强有力的办法。基本想法是问在怎样的程度上,我们可以把给定对象的形状通过把维数不断增加的简单几何营造块粘合在一起来形成。这种技巧是变得如此有用,使得它可以用许多不同的方式来推广;最终导致一些强有力的工具,使数学家在对他们研究中所遇到的形形色色的对象进行分类时取得巨大的进展。不幸的是,在这一推广中,程序的几何出发点变得模糊起来。在某种意义下,必须加上某些没有任何几何解释的部件。霍奇猜想断言,对于所谓射影代数簇这种特别完好的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合。 3、庞加莱猜想 如果我们伸缩围绕一个苹果表面的橡皮带,那么我们可以既不扯断它,也不让它离开表面,使它慢慢移动收缩为一个点。另一方面,如果我们想象同样的橡皮带以适当的方向被伸缩在一个轮胎面上,那么不扯断橡皮带或者轮胎面,是没有办法把它收缩到一点的。我们说,苹果表面是“单连通的”,而轮胎面不是。大约在一百年以前,庞加莱已经知道,二维球面本质上可由单连通性来刻画,他提出三维球面(四维空间中与原点有单位距离的点的全体)的对应问题。这个问题立即变得无比困难,从那时起,数学家们就在为此奋斗。 在2002年11月和2003年7月之间,俄罗斯的数学家格里戈里·佩雷尔曼在发表了三篇论文预印本,并声称证明了几何化猜想。 在佩雷尔曼之后,先后有2组研究者发表论文补全佩雷尔曼给出的证明中缺少的细节。这包括密西根大学的布鲁斯·克莱纳和约翰·洛特;哥伦比亚大学的约翰·摩根和麻省理工学院的田刚。 2006年8月,第25届国际数学家大会授予佩雷尔曼菲尔兹奖。数学界最终确认佩雷尔曼的证明解决了庞加莱猜想。 4、黎曼假设 有些数具有不能表示为两个更小的数的乘积的特殊性质,例如,2、3、5、7……等等。这样的数称为素数;它们在纯数学及其应用中都起着重要作用。在所有自然数中,这种素数的分布并不遵循任何有规则的模式;然而,德国数学家黎曼(1826~1866)观察到,素数的频率紧密相关于一个精心构造的所谓黎曼zeta函数ζ(s)的性态。著名的黎曼假设断言,方程ζ(s)=0的所有有意义的解都在一条直线上。这点已经对于开始的1,500,000,000个解验证过。证明它对于每一个有意义的解都成立将为围绕素数分布的许多奥秘带来光明。 黎曼假设之否认: 其实虽然因素数分布而起,但是却是一个歧途,因为伪素数及素数的普遍公式告诉我们,素数与伪素数由它们的变量集决定的。具体参见伪素数及素数词条。 5、杨-米尔斯存在性和质量缺口 量子物理的定律是以经典力学的牛顿定律对宏观世界的方式对基本粒子世界成立的。大约半个世纪以前,杨振宁和米尔斯发现,量子物理揭示了在基本粒子物理与几何对象的数学之间的令人注目的关系。基于杨-米尔斯方程的预言已经在如下的全世界范围内的实验室中所履行的高能实验中得到证实:布罗克哈文、斯坦福、欧洲粒子物理研究所和驻波。尽管如此,他们的既描述重粒子、又在数学上严格的方程没有已知的解。特别是,被大多数物理学家所确认、并且在他们的对于“夸克”的不可见性的解释中应用的“质量缺口”假设,从来没有得到一个数学上令人满意的证实。在这一问题上的进展需要在物理上和数学上两方面引进根本上的新观念。 6、纳卫尔-斯托可方程的存在性与光滑性 起伏的波浪跟随着我们的正在湖中蜿蜒穿梭的小船,湍急的气流跟随着我们的现代喷气式飞机的飞行。数学家和物理学家深信,无论是微风还是湍流,都可以通过理解纳维叶-斯托克斯方程的解,来对它们进行解释和预言。虽然这些方程是19世纪写下的,我们对它们的理解仍然极少。挑战在于对数学理论作出实质性的进展,使我们能解开隐藏在纳维叶-斯托克斯方程中的奥秘。 7、BSD猜想 数学家总是被诸如那样的代数方程的所有整数解的刻画问题着迷。欧几里德曾经对这一方程给出完全的解答,但是对于更为复杂的方程,这就变得极为困难。事实上,正如马蒂雅谢维奇指出,希尔伯特第十问题是不可解的,即,不存在一般的方法来确定这样的方程是否有一个整数解。当解是一个阿贝尔簇的点时,贝赫和斯维讷通-戴尔猜想认为,有理点的群的大小与一个有关的`蔡塔函数z(s)在点s=1附近的性态。特别是,这个有趣的猜想认为,如果z(1)等于0,那么存在无限多个有理点(解)。相反,如果z(1)不等于0。那么只存在着有限多个这样的点。 世界难题数学未解2 在普通人群中,人群中只有1%的人智商在140分以上;有11%的智商属于120分~139分;18%属于110分~119分;46%属于90分~109分;15%属于80分~89分;6%属于70分~79分;另外,有3%的人智商低于70分,属于智能不足者。 题目是这样的 阿尔贝茨和贝尔纳德想知道谢丽尔的生日,于是谢丽尔给了他们俩十个可能的日期:5月15日、5月16日、5月19日、6月17日、6月18日、7月14日、7月16日、8月14日、8月15日、8月17日。谢丽尔只告诉了阿尔贝茨她生日的月份,告诉贝尔纳德她生日的日子。阿尔贝茨说:我不知道谢丽尔的生日,但我知道贝尔纳德也不会知道。贝尔纳德回答:一开始我不知道谢丽尔的生日,但是现在我知道了。阿尔贝茨也回答:那我也知道了。那么,谢丽尔的生日是哪月哪日? 答案是这样的 在出现的十个日子中,只有18日和19日出现过一次,如果谢丽尔生日是18或19日,那知道日子的贝尔纳德就能猜到月份,一定知道谢丽尔的生日是何月何日。为何阿尔贝茨肯定贝尔纳德不知道谢丽尔的生日呢?如上述,因为5月和6月均有只出现过一次的日子18日和19日,知道月份的阿尔贝茨就能判断,到底贝尔纳德有没有肯定的把握,所以她的生日一定是7月或8月。贝尔纳德的话也提供信息,因为在7月和8月剩下的5个日子中,只有14日出现过两次,如果谢丽尔告诉贝尔纳德她的生日是14日,那贝尔纳德就没有可能凭阿尔贝茨的一句话,猜到她的生日。所以有可能的日子,只剩下7月16日、8月15日和8月17日。在贝尔纳德说话后,阿尔贝茨也知道了谢丽尔的生日,反映谢丽尔的生日月份不可能在8月,因为8月有两个可能的日子,7月却只有一个可能性。所以答案是7月16日。 真正世界上最难的数学题 世界上最难的数学题的其实是“1+1”,不要笑,也不要认为我是在糊弄你,其实这是真的,这个题从古到今还没人能够算出来。 哥德巴赫猜想(Goldbach Conjecture):公元1742年6月7日德国的业余数学家哥德巴赫(Goldbach)写信给当时的大数学家欧拉(Euler),提出了以下的猜想: (a) 任何一个n 1717 6之偶数,都可以表示成两个奇质数之和、 (b) 任何一个n 1717 9之奇数,都可以表示成三个奇质数之和、 这就是著名的哥德巴赫猜想、从费马提出这个猜想至今,许多数学家都不断努力想攻克它,但都没有成功、当然曾经有人作了些具体的验证工作,例如: 6 = 3 + 3,8 = 3 + 5,10 = 5 + 5 = 3 + 7,12 = 5 + 7,14 = 7 + 7 = 3 + 11,16 = 5 + 11,18 = 5 + 13,、、、、等等、 有人对33×108以内且大过6之偶数一一进行验算,哥德巴赫猜想(a)都成立、但验格的数学证明尚待数学家的努力、目前最佳的结果是中国数学家 陈景润於1966年证明的,称为陈氏定理(Chen‘s Theorem) 1717 “任何充份大的偶数都是一个质数与一个自然数之和,而后者仅仅是两个质数的乘积、” 通常都简称这个结果为大偶数可表示为 “1 + 2 ”的形式、 在陈景润之前,关於偶数可表示为 s个质数的乘积 与t个质数的乘积之和(简称 “s + t ”问题)之进展情况如下: 1920年,挪威的布朗(Brun)证明了 “9 + 9 ”、 1924年,德国的拉特马赫(Rademacher)证明了 “7 + 7 ”、 1932年,英国的埃斯特曼(Estermann)证明了 “6 + 6 ”、 1937年,意大利的蕾西(Ricei)先后证明了 “5 + 7 ”,“4 + 9 ”,“3 + 15 ”和“2 + 366 ”、 1938年,苏联的布赫 夕太勃(Byxwrao)证明了 “5 + 5 ”、 1940年,苏联的布赫 夕太勃(Byxwrao)证明了 “4 + 4 ”、 1948年,匈牙利的瑞尼(Renyi)证明了 “1 + c ”,其中c是一很大的自然 数、 1956年,中国的王元证明了 “3 + 4 ”、 1957年,中国的王元先后证明了 “3 + 3 ”和 “2 + 3 ”、 1962年,中国的潘承洞和苏联的巴尔巴恩(BapoaH)证明了 “1 + 5 ”, 中国的王元证明了 “1 + 4 ”、 1965年,苏联的布赫 夕太勃(Byxwrao)和小维诺格拉多夫(BHHopappB),及 意大利的朋比利(Bombieri)证明了 “1 + 3 ”、 1966年,中国的陈景润证明了 “1 + 2 ”、 所以现在“1+1”依旧无解,可以说是真正的世界上最难的数学题了。如果能解答出这个数学题,那可真的可以名留青史了啊。 世界难题数学未解3 费马最后定理 对于任意不小于3的正整数 ,x^n + y^n = z ^n 无正整数解 哥德巴赫猜想 对于任一大于2的偶数都可写成两个质数之和,即1+1问题 NP完全问题 是否存在一个确定性算法,可以在多项式时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想 霍奇 猜想 霍奇猜想断言,对于所谓射影代数簇这种特别完美的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合 庞加莱猜想 庞加莱已经知道,二维球面本质上可由单连通性来刻画,他提出三维球面(四维空间中与原点有单位距离的点的全体)的对应问题 黎曼假设 德国数学家黎曼(1826~1866)观察到,素数的频率紧密相关于一个精心构造的所谓黎曼zeta函数ζ(s)的性态。著名的黎曼假设断言,方程ζ(s)=0的所有有意义的解都在一条直线上 杨-米尔斯存在性和质量缺口 纳卫尔-斯托可方程的存在性与光滑性 BSD猜想 像楼下说的1+1=2 并不是什么问题的简称 而就是根据皮亚诺定理得到的一个加法的基本应用,是可以简单通过皮亚诺定理和自然数公理解决的2023-07-27 17:13:231
世界上最难的数学题世界七大数学难题难倒了全世界
今天我们来和大家说说世界七大数学难题,这些可都是世界上最难的数学题哦。 说到数学难题你会想到什么,我最先想到的是哥德巴赫猜想,但其实哥德巴赫猜想并不是这七大数学难题之一,下面就让我们来一起看看当今科技如此发达的情况下还有哪些数学难题。世界七大数学难题:1、P/NP问题(P versus NP)2、霍奇猜想(The Hodge Conjecture)3、庞加莱猜想(The Poincaré Conjecture),此猜想已获得证实。4、黎曼猜想(The Riemann Hypothesis)5、杨-米尔斯存在性与质量间隙(Yang-Mills Existence and Mass Gap)6、纳维-斯托克斯存在性与光滑性(Navier-Stokes existence and smoothness)7、贝赫和斯维讷通-戴尔猜想(The Birch and Swinnerton-Dyer Conjecture)所谓的世界七大数学难题其实是于2000年5月24日由由美国克雷数学研究所公布的七个数学难题。也被称为千禧年大奖难题。根据克雷数学研究所订定的规则,所有难题的解答必须发表在数学期刊上,并经过各方验证,只要通过两年验证期,每解破一题的解答者,会颁发奖金100万美元。这些难题是呼应1900年德国数学家大卫·希尔伯特在巴黎提出的23个历史性数学难题,经过一百年,许多难题已获得解答。而千禧年大奖难题的破解,极有可能为密码学以及航天、通讯等领域带来突破性进展。一:P/NP问题P/NP问题是世界上最难的数学题之一。在理论信息学中计算复杂度理论领域里至今没有解决的问题,它也是克雷数学研究所七个千禧年大奖难题之一。P/NP问题中包含了复杂度类P与NP的关系。1971年史提芬·古克和Leonid Levin相对独立的提出了下面的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。 复杂度类P即为所有可以由一个确定型图灵机在多项式表达的时间内解决的问题;类NP由所有可以在多项式时间内验证解是否正确的决定问题组成,或者等效的说,那些解可以在非确定型图灵机上在多项式时间内找出的问题的集合。很可能,计算理论最大的未解决问题就是关于这两类的关系的: P和NP相等吗? 在2002年对于100研究者的调查,61人相信答案是否定的,9个相信答案是肯定的,22个不确定,而8个相信该问题可能和现在所接受的公理独立,所以不可能证明或证否。对于正确的解答,有一个1百万美元的奖励。 NP-完全问题(或者叫NPC)的集合在这个讨论中有重大作用,它们可以大致的被描述为那些在NP中最不像在P中的(确切定义细节请参看NP-完全理论)。计算机科学家现在相信P, NP,和NPC类之间的关系如图中所示,其中P和NPC类不交。假设P ≠ NP的复杂度类的图解。如P = NP则三个类相同。 简单来说,P = NP问题问道:如果是/不是问题的正面答案可以很快验证,其答案是否也可以很快计算?这里有一个给你找点这个问题的感觉的例子。给定一个大数Y,我们可以问Y是否是复合数。例如,我们可能问53308290611是否有非平凡的因数。答案是肯定的,虽然手工找出一个因数很麻烦。从另一个方面讲,如果有人声称答案是"对,因为224737可以整除53308290611",则我们可以很快用一个除法来验证。验证一个数是除数比找出一个明显除数来简单得多。用于验证一个正面答案所需的信息也称为证明。所以我们的结论是,给定正确的证明,问题的正面答案可以很快地(也就是,在多项式时间内)验证,而这就是这个问题属于NP的原因。虽然这个特定的问题,最近被证明为也在P类中(参看下面的关于"质数在P中"的参考),这一点也不明显,而且有很多类似的问题相信不属于类P。 像上面这样,把问题限制到“是/不是”问题并没有改变原问题(即没有降低难度);即使我们允许更复杂的答案,最后的问题(是否FP = FNP)是等价的。关于证明的难度的结果虽然百万美元的奖金和投入巨大却没有实质性结果的大量研究足以显示该问题是困难的,但是还有一些形式化的结果证明为什么该问题可能很难解决。 最常被引用的结果之一是设计神谕。假想你有一个魔法机器可以解决单个问题,例如判定一个给定的数是否为质数,可以瞬间解决这个问题。我们的新问题是,若我们被允许任意利用这个机器,是否存在我们可以在多项式时间内验证但无法在多项式时间内解决的问题?结果是,依赖于机器能解决的问题,P = NP和P ≠ NP二者都可以证明。这个结论带来的后果是,任何可以通过修改神谕来证明该机器的存在性的结果不能解决问题。不幸的是,几乎所有经典的方法和大部分已知的方法可以这样修改(我们称它们在相对化)。 如果这还不算太糟的话,1993年Razborov和Rudich证明的一个结果表明,给定一个特定的可信的假设,在某种意义下“自然”的证明不能解决P = NP问题。这表明一些现在似乎最有希望的方法不太可能成功。随着更多这类定理得到证明,该定理的可能证明方法有越来越多的陷阱要规避。 这实际上也是为什么NP完全问题有用的原因:若对于NP完全问题存在有一个多项式时间算法,或者没有一个这样的算法,这将能用一种相信不被上述结果排除在外的方法来解决P = NP问题2023-07-27 17:13:331
怎么理解 P 问题和 NP 问题
P的含义是polynomial(多项式的)。要了解什么是P问题NP问题,首先要引入算法和时间复杂度的概念。算法一般指的是一套用于解决问题的流程。算法要保障结果的正确性和运行效率。对于时间复杂度,一般指的是运算步骤次数和数据量之间的关系。比如说对于一个算法,如果数据量为n,那么如果它的运算步骤次数为2*N^2+2次,我们取最高影响的那一项为N^2。这项是整个算法增长速度最快一项。于是我们把算法复杂度计成O(N^2)。一般的算法关系如此O(logn)<O(n)<O(n*logn)<O(n^2)等等然后若K和C是任意常数,如果C<1,则O(C^n)<O(1)<O(n^k)。反之,若C>1,O(C^n)>O(n^k)。就好比2的n次方比n的任意阶多项式都增长得快。P问题指的是一些能够被多项式时间复杂度的算法准确解出的问题。而NP问题是目前为止,尚未发现多项式时间复杂度内算法能够解决的问题。NP问题目前最快也是指数级别的算法时间复杂度。在当前,我们有时会用近似算法快速解决NP问题。对于近似算法(有时用贪心法,有时用放宽条件的线性规划),我们会得到接近最优解的可行解。比如求一个最大值,我如果用的是0.9倍近似算法,意味着我的算法产生的结果最小也是最优解的0.9倍。这样可以保障得到的结果足够好。如果P=NP被证明了,也就是说NP问题都能被多项式时间复杂度解决了,那这将是人类历史的巨大变革。在目前准确解决NP问题的技巧中,你可以使用决策树算法,算法核心以及动态规划结合图的树分解等技巧。然而,这些算法技巧还不足以把NP问题放在多项式时间复杂度下面解决。2023-07-27 17:14:071
三益钢琴寿命一般多少年
钢琴寿命的长短一般涵盖着多种的因素,这其中取决于其内部材料的老化、功能的退化、结构工艺的陈旧等种种因素造成。钢琴的生命是音色音准,失却了音色音准,其寿命即告终止,尽管躯壳还摆在你的客厅里。据介绍,大部分品牌钢琴的设计,就是按20年的使用目标来选材、配置、制作和把握质量的。2023-07-27 17:05:241
自动喷水灭火系统由几部分组成,通常分为几类系统,简述这几类系统的工作原理和作用
系统分类编辑依照采用的喷头分为两类:采用闭式洒水喷头的为闭式系统;采用开式洒水喷头的为开式系统。闭式系统编辑闭式系统的类型较多,基本类型包括湿式、干式、预作用及重复启闭预作用系统等。用量最多的是湿式系统。在已安装的自动喷水灭火系统中,有70%以上为湿式系统。湿式系统由湿式报警阀组、闭式喷头、水流指示器、控制阀门、末端试水装置、管道和供水设施等组成。系统的管道内充满有压水,一旦发生火灾,喷头动作后立即喷水。1. 工作原理:湿式系统原理图火灾发生的初期,建筑物的温度随之不断上升,当温度上升到以闭式喷头温感元件爆破或熔化脱落时,喷头即自动喷水灭火。该系统结构简单,使用方便、可靠,便于施工,容易管理,灭火速度快,控火效率高,比较经济,适用范围广,占整个自动喷水灭火系统的75%以上,适合安装在能用水灭火的建筑物、构筑物内。2. 湿式系统使用范围:在环境温度不低于4℃、不高于70℃的建筑物和场所(不能用水扑救的建筑物和场所除外)都可以采用湿式系统。该系统局部应用时,适用于室内最大净空高度不超过8m、总建筑面积不超过1000㎡的民用建筑中的轻危险级或中危险级Ⅰ级需要局部保护的区域。3. 湿式系统特点:①. 结构简单,使用可靠②. 系统施工简单、灵活方便③. 灭火速度快、控火效率高④. 系统投资省,比较经济⑤. 适用范围广干式系统 dry pipe system准工作状态时配水管道内充满用于启动系统的有压气体的闭式系统。1. 工作原理干式系统原理图干式系统与湿式类似只是控制信号阀的结构和作用原理不同,配水管网与供水管间设置干式控制信号阀将它们隔开,而在配水管网中平时充满着有压力气体用于系统的启动。发生火灾时,喷头首先喷出气体,致使管网中压力降低,供水管道中的压力水打开控制信号阀而进入配水管网,接着从喷头喷出灭火。不过该系统需要多增设一套充气设备,一次性投资高、平时管理较复杂、灭火速度较慢。(详见右图)2. 干式系统适用范围干式系统适用于环境温度低于4℃和高于70℃的建筑物和场所,如不采暖的地下车库、冷库等。3. 干式系统特点①. 干式系统,在报警阀后的管网内无水,故可避免冻结和水汽化的危险,不受环境温度的制约,可用于一些无法使用湿式系统的场所。②. 比湿式系统投资高。因需充气,增加了一套充气设备而提高了系统造价。③. 干式系统的施工和维护管理较复杂,对管道的气密性有较严格的要求,管道平时的气压应保持在一定的范围,当气压下降到一定值时,就需进行充气。④. 比湿式系统喷水灭火速度慢,因为喷头受热开启后,首先要排出管道中的气体,然后再出水,这就延误了时机。预作用系统准工作状态时配水管道内不充水,由火灾自动报警系统自动开启雨淋报警阀后,转换为湿式系统的闭式系统。适于如下场所:1系统处于准工作状态是严禁管道漏水;2严禁系统误喷;3替代干式系统;重复启闭预作用系统能在扑灭火灾后自动关阀、复燃时再次开阀喷水的预作用系统。适用于灭火后必须及时停止喷水的场所。目前这种系统有两种形式:一种是喷头具有自动重复启闭的功能,另一种是系统通过烟、温感传感器控制系统的控制阀来实现系统的重复启闭功能。开式系统编辑采用开式洒水喷头的自动喷水灭火系统,包括:雨淋系统、水幕系统雨淋系统 deluge system由火灾自动报警系统或传动管控制,自动开启雨淋报警阀和启动供水泵后,向开式洒水喷头供水的自动喷水灭火系统。亦称开式系统。应采用雨淋系统的场所详见《自动喷水灭火系统设计规范》(GB 50084-2001)4.2.5条。水幕系统 drencher systems由开式洒水喷头或水幕喷头、雨淋报警阀组或感温雨淋阀,以及水流报警装置(水流指示器或压力开关)等组成,用于档烟阻火和冷却分隔物的喷水系统。主要组成编辑洒水喷头在自动喷水灭火系统中,洒水喷头担负着探测火灾、启动系统和喷水灭火的任务,它是系统中的关键组件。洒水喷头有多种不同形式的分类。1、按有无释放机构分类为闭式和开式的分类2、按喷头流量系数分类,包括K=55、80、115等,其中K=80的称为标准喷头。3、按安装方式分类,有下垂型、直立型、普通型和边墙型喷头。报警阀报警阀是自动喷水灭火系统中接通或切断水源,并启动报警器的装置。在自动喷水灭火系统中,报警阀是至关重要的组件,其作用有三:接通或切断水源、输出报警信号和防止水流倒回供水源、以及通过报警阀可对系统的供水装置和报警装置进行检验。报警阀根据系统的不同分为湿式报警阀、干式报警阀和雨淋阀。报警阀的公称通径一般为50、65、80、100、125、150、200MM七种。1、湿式报警阀用于湿式喷水灭火系统。它的主要功能是:当喷头开启时,湿式阀能自动打开,并使水流入水力警铃发出报警信号。湿式阀按其结构形式有三种:座圈型湿式阀、导阀型湿式阀、蝶阀型湿式阀。2、干式报警阀用于干式报警系统。它的阀将闸门分成两部分,出口侧与系统管数和喷头相连,内充压缩空气,进口侧与水源相连。干式报警阀利用两侧气压和水压作用在阀上的力矩差控制阀的封闭和开启,一般可分为差动型干式报警阀和封闭型干式报警阀两种。3、雨淋阀用于雨淋喷水灭火系统、预作用喷水系统,水幕系统和水喷雾灭火系统。这种阀的进口侧与水源相连,出口侧与系统管路和喷头相连,一般为空管,仅在预作用系统中充气。雨淋阀的开启由各种火灾探测器装置控制。雨淋阀主要有双圆盘型、隔膜型、杠杆型、活塞型和感温型等几种。监测器监测器用来对系统的工作状态进行监测并以电信号方式向报警控制器传送状态信息。其主要包括水流指示器、阀门限位器、压力监测器、气压保持器和水位监测器等。1、水流指示器可将水流的信号转换为电信号,安装在配水干管或配水管始端。其作用在于当失火时喷头开启喷水或者管道发生泄漏或控制中心以显示喷头喷水的区域和楼层,起辅助电动报警作用。2、阀门限位器是一种行程开关也称信号阀,通常配置在干管的总控制闸阀上和通径大的支管闸阀上,用于监测闸阀的开启状态,一旦以生部分或全部关闭时,即向系统的报警控制器发出报警信号。3、压力监测器是一种工作点在一定范围内可以调节的压力开关,在自动喷水灭火系统中常用作稳压泵的自动开关控制器件。报警器报警器是用来发出声响报警信号的装置,包括水力警铃和压力开关。1、水力警铃是得用水流的冲击发出声响的报警装置。其特点为结构简单、耐用可靠、灵敏度高、维护工作量小、是自动喷水各个系统中不少缺少的部件。2、压力开关是一种靠水压或气压驱动的电气开关,通常与水力警铃一起安装使用。压力开关利用水力闭合弱电路实现报警。当报警阀的阀打开,压力水经管道首先进入延时器后再流入压力开关内腔,推动膜片向上移动,顶柱也同时上升,将下弹簧板顶起,触点接触闭合,接通电路,发出电信号输入报警控制箱,发出报警信号,从而启动消防泵。2023-07-27 17:05:255
请大家推荐合适的电影
1、《与狼共舞》凯文斯科特纳主演,3小时史诗西部片(不是背对背数三下同时开枪的那种老派西部片),非常好看!当年就一举夺得十几项奥斯卡。2、《心灵捕手》罗宾威廉姆森、马特达蒙主演。和“心灵鸡汤”一个意思,马特是个高智商的混混,看罗宾教授如何能让他的天赋发挥到有用的地方。3、《闻香识女人》阿尔帕西诺主演,双目失明的老兵对人世已无留恋,但一个单纯的学生的出现却改变了他的想法……4、《海上钢琴师》一个从出生就没离开过轮船的离奇钢琴师……5、《机器人瓦利》里面的机器人都没有对白,但却很感人,很好看的动画片6、《云中漫步》奇诺里维斯主演的唯美爱情片……7、《七宗罪》布拉德皮特携好莱坞金牌配角摩根弗里曼演出的经典悬疑片,因为是连环凶杀案的题材,所以尸体是少不了了,但这个电影真的非常好看,绝对悬疑,经典!8、《狙击电话亭》别名《绝命铃声》科林法瑞尔主演,全片场景几乎就是围绕着纽约的一个电话亭展开,题材新颖、情节跌宕起伏、强烈推荐!!9、爱德华诺顿的电影都很不错,在这里推荐《一级恐惧》爱德华搭档李察吉尔演绎的经典悬疑,结尾之前爱德华一直都是被同情的受害者,看过结尾后……,《American History X》“美国X档案”片中爱德华扮演白人至上的种族主义者,值得一提的是他片中的弟弟是经典中的经典《终结者2》John Connor的扮演者,《25小时》一个毒贩的最后一天是如何度过的…… 《红龙》著名的“沉默的羔羊”系列。《大买卖》爱德华和老牌影帝罗伯特德尼罗同场飚戏,过瘾过瘾。《魔术师》真爱无敌。以上都是本人看过的,觉得很好的推荐给你,绝对不是网上现查的,还有的已经不记得名了,想起来再补充。2023-07-27 17:05:2213
韩国三益钢琴市场价大概多少啊?看中了SE-121M
三益SE-121M这款琴官网价三万五,琴行打折下来不到三万,可以说进口琴中性价比最高的了。再看看别人怎么说的。2023-07-27 17:05:152