本文目录一览:
- 1、世界上最复杂的程序算法有哪些?
- 2、世界上十大数学问题
- 3、风靡全球的十大算法
- 4、世界十大数学难题有哪些
世界上最复杂的程序算法有哪些?
Jump-pointer: 在作LA(v,d)的时候, 如果一层一层的往上搜索很慢. 有没有可能直接跳呢? 比如我们知道LA(u,d) = LA(v,d),如果u是v的一个ancestor. 如果直接储存了LA(u,d), 并且可以在log(n)的时间"跳"到u, 那么只要log n的时间就能找到LA(v,d). 这个算法要用 O(n log n)的preprocess time + O(log n)的time. 每一次跳的距离是上一次的1/2倍.,[这个算法很简单的]。
世界上十大数学问题
世界十大数学难题
1 P(多项式算法)问题对NP(非多项式算法)问题
在一个周六的晚上,你参加了一个盛大的晚会。由于感到局促不安,你想知道这一大厅中是否有你已经认识的人。你的主人向你提议说,你一定认识那位正在甜点盘附近角落的女士罗丝。不费一秒钟,你就能向那里扫视,并且发现你的主人是正确的。然而,如果没有这样的暗示,你就必须环顾整个大厅,一个个地审视每一个人,看是否有你认识的人。生成问题的一个解通常比验证一个给定的解时间花费要多得多。这是这种一般现象的一个例子。与此类似的是,如果某人告诉你,数13,717,421可以写成两个较小的数的乘积,你可能不知道是否应该相信他,但是如果他告诉你它可以因子分解为3607乘上3803,那么你就可以用一个袖珍计算器容易验证这是对的。不管我们编写程序是否灵巧,判定一个答案是可以很快利用内部知识来验证,还是没有这样的提示而需要花费大量时间来求解,被
看作逻辑和计算机科学中最突出的问题之一。它是斯蒂文·考克(StephenCook)于1971年陈述的。
2 霍奇(Hodge)猜想

二十世纪的数学家们发现了研究复杂对象的形状的强有力的办法。基本想法是问在怎样的程度上,我们可以把给定对象的形状通过把维数不断增加的简单几何营造块粘合在一起来形成。这种技巧是变得如此有用,使得它可以用许多不同的方式来推广;最终导至一些强有力的工具,使数学家在对他们研究中所遇到的形形色色的对象进行分类时取得巨大的进展。不幸的是,在这一推广中,程序的几何出发点变得模糊起来。在某种意义下,必须加上某些没有任何几何解释的部件。霍奇猜想断言,对于所谓射影代数簇这种特别完美的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合。
3 庞加莱(Poincare)猜想
如果我们伸缩围绕一个苹果表面的橡皮带,那么我们可以既不扯断它,也不让它离开表面,使它慢慢移动收缩为一个点。另一方面,如果我们想象同样的橡皮带以适当的方向被伸缩在一个轮胎面上,那么不扯断橡皮带或者轮胎面,是没有办法把它收缩到一点的。我们说,苹果表面是"单连通的",而轮胎面不是。简单说就是任何一个封闭的三维空间,只要它里面所有的封闭曲线都可以收缩成一点,这个空间就一定是一个三维圆球大约在一百年以前,庞加莱已经知道,二维球面本质上可由单连通性来刻画,他提出三维球面(四维空间中与原点有单位距离的点的全体)的对应问题。这个问题立即变得无比困难,从那时起,数学家们就在为此奋斗。
4 黎曼(Riemann)假设
有些数具有不能表示为两个更小的数的乘积的特殊性质,例如,2,3,5,7,等等。这样的数称为素数;它们在纯数学及其应用中都起着重要作用。在所有自然数中,这种素数的分布并不遵循任何有规则的模式;然而,德国数学家黎曼(1826~1866)观察到,素数的频率紧密相关于一个精心构造的所谓黎曼蔡塔函数z(s$的性态。著名的黎曼假设断言,方程z(s)=0的所有有意义的解都在一条直线上。这点已经对于开始的1,500,000,000个解验证过。证明它对于每一个有意义的解都成立将为围绕素数分布的许多奥秘带来光明。
5 杨-米尔斯(Yang-Mills)存在性和质量缺口
量子物理的定律是以经典力学的牛顿定律对宏观世界的方式对基本粒子世界成立的。大约半个世纪以前,杨振宁和米尔斯发现,量子物理揭示了在基本粒子物理与几何对象的数学之间的令人注目的关系。基于杨-米尔斯方程的预言已经在如下的全世界范围内的实验室中所履行的高能实验中得到证实:布罗克哈文、斯坦福、欧洲粒子物理研究所和筑波。尽管如此,他们的既描述重粒子、又在数学上严格的方程没有已知的解。特别是,被大多数物理学家所确认、并且在他们的对于"夸克"的不可见性的解释中应用的"质量缺口"假设,从来没有得到一个数学上令人满意的证实。在这一问题上的进展需要在物理上和数学上两方面引进根本上的新观念。
6 纳维叶-斯托克斯(Navier-Stokes)方程的存在性与光滑性
起伏的波浪跟随着我们的正在湖中蜿蜒穿梭的小船,湍急的气流跟随着我们的现代喷气式飞机的飞行。数学家和物理学家深信,无论是微风还是湍流,都可以通过理解纳维叶-斯托克斯方程的解,来对它们进行解释和预言。虽然这些方程是19世纪写下的,我们对它们的理解仍然极少。挑战在于对数学理论作出实质性的进展,使我们能解开隐藏在纳维叶-斯托克斯方程中的奥秘。
7 贝赫(Birch)和斯维讷通-戴尔(Swinnerton-Dyer)猜想
数学家总是被诸如x2+y2=z2那样的代数方程的所有整数解的刻画问题着迷。欧几里德曾经对这一方程给出完全的解答,但是对于更为复杂的方程,这就变得极为困难。事实上,正如马蒂雅谢维奇(Yu.V.Matiyasevich)指出,希尔伯特第十问题是不可解的,即,不存在一般的方法来确定这样的方法是否有一个整数解。当解是一个阿贝尔簇的点时,贝赫和斯维讷通-戴尔猜想认为,有理点的群的大小与一个有关的蔡塔函数z(s)在点s=1附近的性态。特别是,这个有趣的猜想认为,如果z(1)等于0,那么存在无限多个有理点(解),相反,如果z(1)不等于0,那么只存在有限多个这样的点
[img]风靡全球的十大算法
作者 | George Dvorsky
编译 | 深度学习这件小事
1 排序算法
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。
稳定的
冒泡排序(bubble sort) — O(n^2) 鸡尾酒排序(Cocktail sort,双向的冒泡排序) — O(n^2) 插入排序(insertion sort)— O(n^2) 桶排序(bucket sort)— O(n); 需要 O(k) 额外空间 计数排序(counting sort) — O(n+k); 需要 O(n+k) 额外空间 合并排序(merge sort)— O(nlog n);需要 O(n) 额外空间 原地合并排序— O(n^2) 二叉排序树排序 (Binary tree sort) — O(nlog n)期望时间; O(n^2)最坏时间;需要 O(n) 额外空间 鸽巢排序(Pigeonhole sort)— O(n+k); 需要 O(k) 额外空间 基数排序(radix sort)— O(n·k); 需要 O(n) 额外空间 Gnome 排序— O(n^2) 图书馆排序— O(nlog n) withhigh probability,需要(1+ε)n额外空间
不稳定的
选择排序(selection sort)— O(n^2) 希尔排序(shell sort)— O(nlog n) 如果使用最佳的现在版本 组合排序— O(nlog n) 堆排序(heapsort)— O(nlog n) 平滑排序— O(nlog n) 快速排序(quicksort)— O(nlog n) 期望时间,O(n^2) 最坏情况;对于大的、乱数列表一般相信是最快的已知排序 Introsort—O(nlog n) Patience sorting— O(nlog n+k) 最坏情况时间,需要额外的 O(n+ k) 空间,也需要找到最长的递增子串行(longest increasing subsequence)
不实用的
Bogo排序— O(n× n!) 期望时间,无穷的最坏情况。 Stupid sort— O(n^3); 递归版本需要 O(n^2)额外存储器 珠排序(Bead sort) — O(n) or O(√n),但需要特别的硬件 Pancake sorting— O(n),但需要特别的硬件 stooge sort——O(n^2.7)很漂亮但是很耗时
2 傅立叶变换与快速傅立叶变换
傅立叶是一位法国数学家和物理学家,原名是JeanBaptiste Joseph Fourier(1768-1830), Fourier于1807年在法国科学学会上发表了一篇论文,论文里描述运用正弦曲线来描述温度分布,论文里有个在当时具有争议性的决断:任何连续周期信号都可以由一组适当的正弦曲线组合而成。当时审查这个论文拉格朗日坚决反对此论文的发表,而后在近50年的时间里,拉格朗日坚持认为傅立叶的方法无法表示带有棱角的信号,如在方波中出现非连续变化斜率。直到拉格朗日死后15年这个论文才被发表出来。谁是对的呢?拉格朗日是对的:正弦曲线无法组合成一个带有棱角的信号。但是,我们可以用正弦曲线来非常逼近地表示它,逼近到两种表示方法不存在能量差别,基于此,傅立叶是对的。为什么我们要用正弦曲线来代替原来的曲线呢?如我们也还可以用方波或三角波来代替呀,分解信号的方法是无穷多的,但分解信号的目的是为了更加简单地处理原来的信号。用正余弦来表示原信号会更加简单,因为正余弦拥有原信号所不具有的性质:正弦曲线保真度。一个正余弦曲线信号输入后,输出的仍是正余弦曲线,只有幅度和相位可能发生变化,但是频率和波的形状仍是一样的。且只有正余弦曲线才拥有这样的性质,正因如此我们才不用方波或三角波来表示。
3 Dijkstra 算法
Dijkstra算法是典型的算法。Dijkstra算法是很有代表性的算法。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。
4 RSA算法变换
RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。
5 安全哈希算法
一种对输入信息(例如消息)进行摘要的算法。摘要过程能够完成下列特点:不同的输入信息绝对不会具有相同的指纹:相近输入信息经过摘要之后的输出信息具有较大的差异,同时计算上很难生产一个与给定输入具有相同指纹的输入。(即不可逆)。
6 整数因式分解
这是在计算机领域被大量使用的数学算法,没有这个算法,信息加密会更不安全。该算法定义了一系列步骤,得到将一合数分解为更小因子的质数分解式。这被认为是一种FNP问题,它是NP分类问题的延伸,极其难以解决。许多加密协议(如RSA算法)都基于这样一个原理:对大的合数作因式分解是非常困难的。如果一个算法能够快速地对任意整数进行因式分解,RSA的公钥加密体系就会失去其安全性。量子计算的诞生使我们能够更容易地解决这类问题,同时它也打开了一个全新的领域,使得我们能够利用量子世界中的特性来保证系统安全。
7 链接分析
链接分析,源于对Web结构中超链接的多维分析。当前其应用主要体现在网络信息检索、网络计量学、数据挖掘、Web结构建模等方山。作为Google的核心技术之一,链接分析算法应用已经显现出j惊人的商业价值。
8 比例积分微分算法
你是否曾经用过飞机、汽车、卫星服务或手机网络?你是否曾经在工厂工作或是看见过机器人?如果回答是肯定的,那么你应该已经见识过这个算法了。大体上,这个算法使用一种控制回路反馈机制,将期望输出信号和实际输出信号之间的错误最小化。无论何处,只要你需要进行信号处理,或者你需要一套电子系统,用来自动化控制机械、液压或热力系统,这个算法都会有用武之地。可以这样说,如果没有这个算法,现代文明将不复存在。
9 数据压缩算法
在现今的电子信息技术领域,正发生着一场有长远影响的数字化革命。由于数字化的多媒体信息尤其是数字视频、音频信号的数据量特别庞大,如果不对其进行有效的压缩就难以得到实际的应用。因此,数据压缩技术已成为当今数字通信、广播、存储和多媒体娱乐中的一项关键的共性技术。
10 随机数生成
在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。
世界十大数学难题有哪些
难题”之一:P(多项式算法)问题对NP(非多项式算法)问题
难题”之二:霍奇(Hodge)猜想
难题”之三:庞加莱(Poincare)猜想
难题”之四:黎曼(Riemann)假设
难题”之五:杨-米尔斯(Yang-Mills)存在性和质量缺口
难题”之六:纳维叶-斯托克斯(Navier-Stokes)方程的存在性与光滑性
难题”之七:贝赫(Birch)和斯维讷通-戴尔(Swinnerton-Dyer)猜想
难题”之八:几何尺规作图问题
难题”之九:哥德巴赫猜想
难题”之十:四色猜想
