首页
学习
活动
专区
工具
TVP
发布

算法将决定我们未来吗?

优质文章,第一时间送达

以色列历史学家赫拉利在《未来简史》中认为,在未来,算法和数据将统治世界。

Δ赫拉利

难道我们人类真的要被算法控制了吗?先不急于论证这个命题的真伪,我们先从算法本身讲起。

“算法”中文名出自《周髀算经》。而英文名Algorithm 来自于9世纪波斯数学家al-Khwarizmi,他在数学上提出了算法这个概念。“算法”原为"algorism",意思是阿拉伯数字的运算法则,在18世纪演变为"algorithm"。

Δ周髀算经

算法被用于程序运行是在19世纪中旬。1842年,Ada Byron为巴贝奇分析机编写求解伯努利方程的程序,这是算法第一次邂逅程序。

ΔAda Byron

二战期间,英国数学家图灵提出了著名的图灵论题,并提出一种假想的计算机的抽象模型,这个模型被称为图灵机。图灵机的出现解决了算法定义的难题,图灵的思想对算法的发展起到了重要作用。

Δ图灵

2006年,托马斯•科尔曼,查尔斯•雷瑟尔森,罗纳德•李维斯特,克利福德•斯坦等人在《算法导论》一书中曾解释过算法:“任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。

可以这样理解,算法是指逻辑性地分析和解决问题的系统方法和步骤。(不仅计算机需要算法,我们在日常生活中也在使用算法)。

算法必须具备如下5个重要特性:

有穷性,执行有限步骤后,算法必须中止。

确切性,算法的每个步骤都必须确切定义。

可行性,算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。

输入项(Input),一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件。输出项(Output),一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。

算法有两大要素:

一. 数据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。一个计算机的基本运算和操作有如下四类:

1. 算术运算:加减乘除等运算

2. 逻辑运算:或、且、非等运算

3. 关系运算:大于、小于、等于、不等于等运算

4. 数据传输:输入、输出、赋值等运算

二. 算法的控制结构:一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。

虽然算法广泛应用在计算机领域,但却完全源自数学。实际上,最早的数学算法可追溯到公元前1600年-Babylonians有关求因式分解和平方根的算法。

那么又是哪8种计算机算法造就了我们今天的生活呢?请看下面的表单,排名不分先后:

1、归并排序算法

归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John von Neumann于1945年发明。

Δ归并排序法

2、快速排序算法

快速排序算法,结合了集合划分算法和分治算法,不是很稳定,但在处理随机列阵(AM-based arrays)时效率相当高。

Δ快速排序法

3、傅立叶变换

傅立叶变换算法非常简单,但却相当强大,整个数字世界都离不开它,其功能是实现时间域函数与频率域函数之间的相互转化。能看到这篇文章,也是托它的福。

Δ傅立叶变换示意图

4、迪杰斯特拉算法 (Dijkstra’s algorithm)

可以这样说,如果没有这种算法,互联网肯定没有现在的高效率。只要能以“图”模型表示的问题,都能用这个算法找到“图”中两个节点间的最短距离。

虽然如今有很多更好的方法来解决最短路径问题,但迪杰斯特拉算法的稳定性仍无法取代。

Δ迪杰斯特拉算法

5、RSA非对称加密算法

如果没有这个算法对密钥学和网络安全的贡献,如今互联网的地位可能就不会如此之高,也不可能有线上交易这回事。

RSA算法,密钥学领域最牛的算法之一,由RSA公司的三位创始人提出,奠定了当今的密钥研究领域。用这个算法解决的问题简单又复杂:保证安全的情况下,如何在独立平台和用户之间分享密钥。

ΔRSA非对称加速算法

6、哈希安全算法(Secure Hash Algorithm)

确切地说,这不是一种算法,而是一组加密哈希函数,由美国国家标准技术研究所首先提出。无论是你的应用商店,电子邮件和杀毒软件,还是浏览器等等,都使用这种算法来保证你正常下载,以及是否被“中间人攻击”,或者“网络钓鱼”。

现在很火的区块链也大量运用了哈希算法。

Δ哈希算法

7、链接分析算法(Link Analysis)

在互联网时代,不同入口间关系的分析至关重要。从搜索引擎和社交网站,到市场分析工具,都在不遗余力地寻找互联网的真正构造。而寻找这些构造使用的算法就叫链接分析算法。

谁会用这个算法呢?Google的网页排名,Facebook向你发送信息流时(所以信息流不是算法,而是算法的结果),Google+和Facebook的好友推荐功能,LinkedIn的工作推荐,Youtube的视频推荐,等等。

Δ链接分析算法

8、随机数生成算法

到如今,计算机还没有办法生成“真正的”随机数,但伪随机数生成算法就足够了。这些算法在许多领域都有应用,如网络连接,加密技术,网络游戏,人工智能,以及问题分析中的条件初始化。

Δ随机数生成算法

从人类历史视角去观察算法发展,可以发现:其作为一种工具,发源于数学领域,普遍运用于计算机世界,现在在大数据和深度学习的加持下,变得更加智能。但是究其本源,其终究是一个工具,是人类主观能动性的产物。

当然,随着机器学习和人工神经网络兴起,越来越多的算法会独立演化、自我改进、从自己的错误中学习。这些算法分析的数据量是天文数字,远远超过人力范围,而且它们也能学会找出人类找不出的模式、采用人类想不到的策略。最早的种子算法或许是由人类开发,但随着算法逐渐成长,自我演进,就会走出自己的路,前往人类未曾踏足的领域。

因此,面对进击的算法,作为创造者的人类也应不断进化。

毫无疑问,算法正深刻影响人类的未来,全方位渗透到人类生活方式的方方面面,但离决定人类的未来,还差些火候,你觉得呢?

-END-

“在未来面前,我们都是孩子。”

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180130G1G89G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券