什么是算法
“算法”是难以理解的。它是神秘的,它是无所不知的,它是万能的。除了不是。算法是一个简单的概念,如今已具有许多复杂的表现形式。算法在社交网络核心中的中央和不透明位置像Facebook导致一些人通常以一种神秘的方式看待算法。算法已成为某些技术性高且难以理解的事物的代名词,这些事物要么是客观真理的仲裁者,要么在另一端是完全不可信的事物。
但是,当人们提到“算法”时(无论是Facebook还是其他科技公司的推荐算法,还是一般来说只是“算法”),他们真的知道这意味着什么吗?评判有多广泛该术语已被使用和滥用,很可能不会被滥用。当Mashable着手进行算法探索时,我们想马上获得一些收益:无论如何,什么是算法?
Mashable采访了华盛顿大学计算机科学教授Pedro Domingos,他还写了 一本书关于算法在我们的生活中扮演着越来越重要的角色。在对您遇到的下一个计算机算法印象深刻或不信任之前,请回到为我们的世界提供动力的概念的基础。
算法是一组非常具体的指令
算法的例子包括如何烤蛋糕,求二加二的总和,甚至根据美国宪法管理一个国家。为什么?因为根据Domingos的说法,算法的定义是“一系列指令”。而已!
如今,算法通常指的是“告诉计算机做什么的一系列指令”。计算机程序是以计算机编程语言编写的算法,计算机可以理解并执行。
为计算机编写的算法也必须非常精确,通常使用“ if”,“ then”和“ else”指令。例如,无人驾驶汽车可能会在导航算法上显示“如果方向向左转,然后向左转”。看看使计算机遵循一组看似简单的说明需要多么具体?
在大众的想象中 推荐算法已经成为我们关于什么是算法的主宰。也就是说,当许多人考虑或提及算法时,他们所指的是诸如Netflix认为您可能喜欢的电视节目或国际旅行者属于禁飞名单。尽管这些算法极为复杂,但从本质上讲,它们仍然只是计算机完成特定任务所遵循的一组指令。
“使用计算机,该算法会变得更加复杂,” Domingos说。“加法是一种在几行文本中定义的算法。计算机可以具有需要数百万行定义的算法。”
2.人们早在计算机还没有存在之前就编写和使用算法
早在巴比伦时代,人类就在编写算法,以帮助他们建立数学方程式,从而使他们能够管理自己的农业社会。
“在计算机之前就有算法了,因为您不需要计算机来执行算法,因此算法可以由人执行,”多明戈斯说。
使用计算机的算法最早在20世纪中叶问世,当时军方开始编写公式,例如,确定将导弹对准移动物体的位置。然后,这个概念进入了商业管理领域,其中的计算机运行着用于管理工资等的公式,在科学上可以跟踪天空的运动。
拉里·佩奇(Larry Page)和谢尔盖·布林(Sergei Brin)撰写了现代算法的转折点 Google PageRank算法。搜索引擎算法并不仅仅是依靠页面中的信息来确定它与搜索词的相关性,还结合了许多其他信号,这些信号将帮助它获得最佳结果。最值得注意的是,基于指向这些页面的链接数量,还有多少其他链接指向该文章,以及这些文章的声誉如何。这是相关性的有力标志。剩下的就是历史。