计算机、数学、运筹学等领域的32个重要算法

640?wx_fmt=jpeg

来源: 必达智库

奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。

01 A* 搜索算法

图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。

02 集束搜索

又名定向搜索,Beam Search,最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最符合条件的节点,m是固定数字——集束的宽度。

03 二分查找

Binary Search,在线性数组中找特定值的算法,每个步骤去掉一半不符合要求的数据。

04 分支界定算法

Branch and Bound,在多种最优化问题中寻找特定最优化解决方案的算法,特别是针对离散、组合的最优化。

05 Buchberger算法

一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。

06 数据压缩

采取特定编码方案,使用更少的字节数(或是其他信息承载单元)对信息编码的过程,又叫来源编码。

07 Diffie-Hellman密钥交换算法

一种加密协议,允许双方在事先不了解对方的情况下,在不安全的通信信道中,共同建立共享密钥。该密钥以后可与一个对称密码一起,加密后续通讯。

08 Dijkstra算法

针对没有负值权重边的有向图,计算其中的单一起点最短算法。

09 离散微分算法

Discrete differentiation,f'(x)=(f(x + h)-f(xh))/2h。 

10 动态规划算法

Dynamic Programming,展示互相覆盖的子问题和最优子架构算法。

11 欧几里得算法

Euclidean algorithm,计算两个整数的最大公约数。最古老的算法之一,出现在公元前300前欧几里得的《几何原本》。

12 期望-最大算法

Expectation-maximization algorithm,又名EM-Training,在统计计算中,期望-最大算法在概率模型中寻找可能性最大的参数估算值,其中模型依赖于未发现的潜在变量。EM在两个步骤中交替计算,第一步是计算期望,利用对隐藏变量的现有估计值,计算其最大可能估计值;第二步是最大化,最大化在第一步上求得的最大可能值来计算参数的值。

13 快速傅里叶变换

Fast Fourier transform(FFT),计算离散的傅里叶变换(DFT)及其反转。该算法应用范围很广,从数字信号处理到解决偏微分方程,到快速计算大整数乘积。

14 梯度下降

Gradient descent,一种数学上的最优化算法。

15 哈希算法

Hashing,用于汇总或概率识别数据的功能。通常,这意味着将数学公式应用于数据,从而生成可能或多或少独特于该数据的字符串。该字符串比原始数据短得多,但可用于唯一标识它。

16 堆排序

Heaps,在计算机科学中,堆是一种专门的基于树的数据结构。堆是许多应用程序最喜欢的数据结构:堆排序,选择算法(找到它们的最小值,最大值或最大值,中间线甚至是次线性时间中的任何第k个元素),图算法。

17 Karatsuba乘法

需要完成上千位整数的乘法的系统中使用,比如计算机代数系统和大数程序库,如果使用长乘法,速度太慢。该算法发现于1962年。

18 LLL算法

Lenstra-Lenstra-Lovasz  lattice reduction,以格规约(lattice)基数为输入,输出短正交向量基数。LLL算法在以下公共密钥加密方法中有大量使用:背包加密系统(knapsack)、有特定设置的RSA加密等等。

19 最大流量算法

Maximum flow,该算法试图从一个流量网络中找到最大的流。它优势被定义为找到这样一个流的值。最大流问题可以看作更复杂的网络流问题的特定情况。最大流与网络中的界面有关,这就是最大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一个流网络中的最大流。

20 合并排序

Merge Sort,用于将列表(或只能按顺序访问的任何其他数据结构,例如文件流)重新排列为指定顺序的排序算法。

21 牛顿法

Newton's method,求非线性方程(组)零点的一种重要的迭代法。

22 Q-learning学习算法

这是一种通过学习动作值函数(action-value function)完成的强化学习算法,函数采取在给定状态的给定动作,并计算出期望的效用价值,在此后遵循固定的策略。Q-leanring的优势是,在不需要环境模型的情况下,可以对比可采纳行动的期望效用。

23 两次筛法

Quadratic Sieve,现代整数因子分解算法,在实践中,是目前已知第二快的此类算法(仅次于数域筛法Number Field Sieve)。对于110位以下的十位整数,它仍是最快的,而且都认为它比数域筛法更简单。

24 RANSAC

是“RANdom SAmple Consensus”的缩写。该算法根据一系列观察得到的数据,数据中包含异常值,估算一个数学模型的参数值。其基本假设是:数据包含非异化值,也就是能够通过某些模型参数解释的值,异化值就是那些不符合模型的数据点。

25 RSA

公钥加密算法。首个适用于以签名作为加密的算法。RSA在电商行业中仍大规模使用,大家也相信它有足够安全长度的公钥。

26 Schönhage-Strassen算法

在数学中,Schönhage-Strassen算法是用来完成大整数的乘法的快速渐近算法。其算法复杂度为:O(N log(N) log(log(N))),该算法使用了傅里叶变换。

27 单纯型算法

Simplex Algorithm,在数学的优化理论中,单纯型算法是常用的技术,用来找到线性规划问题的数值解。线性规划问题包括在一组实变量上的一系列线性不等式组,以及一个等待最大化(或最小化)的固定线性函数。

28 奇异值分解

Singular value decomposition,简称SVD,在线性代数中,SVD是重要的实数或复数矩阵的分解方法,在信号处理和统计中有多种应用,比如计算矩阵的伪逆矩阵(以求解最小二乘法问题)、解决超定线性系统(overdetermined linear systems)、矩阵逼近、数值天气预报等等。

29 求解线性方程组

Solving a system of linear equations,线性方程组是数学中最古老的问题,它们有很多应用,比如在数字信号处理、线性规划中的估算和预测、数值分析中的非线性问题逼近等等。求解线性方程组,可以使用高斯—约当消去法(Gauss-Jordan elimination),或是柯列斯基分解( Cholesky decomposition)。

30 Strukturtensor算法

应用于模式识别领域,为所有像素找出一种计算方法,看看该像素是否处于同质区域( homogenous region),看看它是否属于边缘,还是是一个顶点。

31 合并查找算法

Union-find,给定一组元素,该算法常常用来把这些元素分为多个分离的、彼此不重合的组。不相交集(disjoint-set)的数据结构可以跟踪这样的切分方法。合并查找算法可以在此种数据结构上完成两个有用的操作:

  • 查找:判断某特定元素属于哪个组。
  • 合并:联合或合并两个组为一个组。

32 维特比算法

Viterbi algorithm,寻找隐藏状态最有可能序列的动态规划算法,这种序列被称为维特比路径,其结果是一系列可以观察到的事件,特别是在隐藏的Markov模型中。

640?wx_fmt=jpeg

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fibonacci(求前四位数)

FibonacciTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription2007年到来了。经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列 (f[0]0,f[1]1;f[i] f[i-1]f[i-2](i>2))的值全部给背了下来。 接…

fiddler如何设置过滤https_手把手教你如何给网站设置https

我也是小白一枚,最近开了一个博客站点,个人博客除了微信分享功能不能开通外,其他的功能我都要试着做一下,磨练磨练自己。跟一些大佬分享有所不同,我这篇文章是以一个小白的角度来写,这样有一个优势&#xf…

php 解释语言,php是解释型语言吗

PHP是属于解释型语言,还是编译型语言?下面先来看一下计算机语言的发展史:第一代:机器语言,全部都是01010二进制代码,计算机能够直接的识别,运行效率是最高的,但是难编,难…

清华大学施路平:发展人工通用智能最好的时机到了!

来源:学术头条 今年8月,一辆来自清华的无人驾驶自行车登上了Nature的封面。这是中国的人工智能芯片首次登上Nature,在全球引发热议。这辆自行车不仅可以平衡自身,还可以绕过障碍物,甚至可以响应简单的声音命令。自行车…

设置线程堆栈大小_哇擦,传说中的堆栈溢出和快速排序

stack overflow堆栈溢出和快速排序这两个概念对开发人员来说并不陌生,但是通知都只是听说过,真正开发过程中却很少会遇到。我也是敲代码好些行后非常有幸撞上了,而且还是两个一起出现的,这其中过程的滋味还是相当酸爽,…

八张图看懂上海人工智能产业发展现状

来源:中商产业研究院据《行动方案》提出:集聚优势创新资源,聚焦开展专项行动,到2021年,全力打响上海人工智能“一流创新生态”标志性品牌。此外,《行动方案》中还提出多项任务,大力推进上海市人…

软件版本号命名规范_软件发布版本介绍

一、 软件版本阶段介绍Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。Beta版: 该版本相对于α版已有了很大的改进,消除了严重的…

“情感计算”的蓬勃发展依赖于收集大量的行为和情感数据

Illustration: iStock/IEEE Spectrum来源: IEEE电气电子工程师学会这是一篇guest post。这里表达的观点只是作者的观点,并不代表IEEE Spectrum或IEEE的立场。技术在生理和心理上变得更加亲密,这就产生了对新技术的需求,这些新技术…

Java控制修改手机系统设置,安卓修改大师配置Java运行环境教程 教你快速使用

安卓修改大师是一款专业免费对任何APK安装包进行反编译的软件,但是运行软件之前首先需要配置电脑上的Java运行环境,否则无法运行。下面来说一下如何配置Java环境。类别:编程工具 大小:4.39M 语言:简体中文评分&am…

取一定范围内随机小数 c_算伪随机概率中C值的快捷方法

目前计算伪随机概率C值的方法,一般是二分法。二分法是个非常讨厌的方法,因为虽然简单却麻烦,想算个稍微精确点的数,需要十分巨大的计算量。如果像高中时那样手动计算,真是要算到眼花。本文给出了一个十分简单快捷的方法…

AI实时特效,魔幻修图,Adobe Photoshop相机拯救PS菜鸟

图片来源:https://twitter.com/beckihagen/status/1191436317005008896/photo/3来源:机器学习研究会订阅号上传一张特效照片需要几步?常规来说需要三步:拍照→修图→发布。为了拯救手残党,Adobe 将 Photoshop 的部分功…

北斗卫星现在什么情况?这些数据不能不看

来源 | 微博林晓弈 (知名科学科普博主) 、太空精酿的空间站(spacebrewer)11月5日凌晨1时43分,在我国西昌卫星发射中心,北斗三号第3颗倾斜地球同步轨道(IGSO-3)卫星由长征三号乙运载火箭发射升空。至此&…

ASP对XML的增、删、改、查

首先看一下xml文件 text.xmlencoding使用gb2312中文&#xff0c;如果要用英文则用utf-8 <?xml version"1.0" encoding"gb2312"?><root><row ID"2" COMPNAME"闪电儿" ADDR"河北省唐山市" 邮编"063000&…

下一代欺骗技术

来源&#xff1a;数据机器人 回想起当许多与会者听到“欺骗”一词时&#xff0c;蜜罐仍然是我想到的第一件事。的确&#xff0c;当欺骗技术在多年前首次出现时&#xff0c;蜜罐是描述欺骗工作方式的最类似技术&#xff0c;因为蜜罐试图欺骗攻击者与其进行交互。但是&#xff0c…

php登录个性验证码,PHP七种不同的个性创意验证码例子

验证码图片html代码:第一个图像验证码类,其他6种验证码类请下载查看:class captcha{/**----------------------------------------------------------* 生成验证码----------------------------------------------------------* static* access public------------------------…

突发!ASML断供中芯国际

来源&#xff1a;芯榜据日经新闻6日报道&#xff0c;荷兰半导体设备供应商阿斯麦尔&#xff08;ASML&#xff09;供应极紫外光&#xff08;EUV&#xff09;光刻机给中芯国际的计划已经中止&#xff0c;多位ASML供应商关系人士指出&#xff0c;ASML是为了避免因供应最先进的设备…

马化腾:微信将被谁颠覆,领衔下一代互联网的终端居然是?

来源&#xff1a;梧桐会导语1&#xff64;10年一更替&#xff0c;互联网格局将如何演变&#xff1f;2&#xff64;第三代互联网谁主沉浮&#xff1f;3&#xff64;谁是下一个苹果&#xff0c;谁是下一个诺基亚&#xff1f;4&#xff64;全球科技巨头的下一步动作是什么&#xf…

matlab trendsurface,MATLAB 添加新的预测性维护产品

图1&#xff1a;源自脉宽调制波形的脉宽趋势和跟踪。中心迹线(橙色)是脉宽的跟踪。该波形包含与采集波形相同的100k个点。对每个测量值进行升采样(upsampled&#xff0c;即加大采样率)以匹配源波形每个周期的持续时间。跟踪图始终与源波形同步。由于跟踪功能具有时间同步特性&a…

苹果一键越狱工具_最新苹果越狱工具现世,可越狱所有iOS版本!

出于安全原因考虑&#xff0c;apple默认是不允许用户有iPhone和其他iOS设备的完全控制权限。越狱是指通过利用iOS操作系统中的漏洞使得可以通过定制的软件来获取设备的root和完全访问权限。近日&#xff0c;一个由黑客、安全研究人员和逆向工程师组成的团队——Unc0ver&#xf…

你认识的世界与客观世界间差了N光年

想象一下这样的场景&#xff0c;你得到一个金属盒子并被告知不可能知道盒子里的内容。你可以尝试钻它&#xff0c;烧它&#xff0c;用 X 射线照它&#xff0c;摇晃它&#xff0c;打破它以及其他各种手段&#xff0c;但是你永远无法打开它或者知道里面是什么。这个盒子里装着的就…