掌控我们生活的算法

2025-06-10ASPCMS社区 - fjmyhfvclm

什么是算法?

今天,“算法”这个词已为越来越多的人所熟知。从微信上传递文件和图片,到百度、ASPCMS社区等搜索引擎上的网页排名,再到收发电子邮件,我们几乎没有一天不与算法打交道。

那么,什么是算法呢?

如果你去问计算机科学家,他们会告诉你:算法就是用计算机语言编写的一串指令,它接受输入,对输入的信息执行一些可重复的运算,然后提供输出。

一个简单的例子是冒泡排序算法(或许你在学计算机语言的时候,自己就编过这样的程序),你向它输入一串数字,让它按从小到大的顺序重新排列。它首先比较前两个数字。如果前一个大于后一个,就将它们对调。否则,就换到下一对。它会一次又一次地循环,直到不需要任何交换为止,这时它就会输出一个排好序的数字列表。如果你在网上购物时按价格从低到高筛选产品,那么冒泡排序算法就会在幕后启动。

不过,“算法”一词的流行用法正在发生变化:它越来越多地被用来描述计算机所完成的几乎任何事情。这也包括人工智能(AI)和机器学习领域,在这些领域,算法的步骤并不总是那么清晰明了的。

以神经网络为例,这是一种模仿人脑的人工智能系统。我们可以通过大数据来训练它,但它到底从大数据中学到了什么,连算法的开发者也未必了然。所以,未来算法一方面会变得越来越强大,另一方面可能会变得越来越不透明。

接下来,让我们来了解几个算法,它们对我们的生活影响很大,又相对比较透明,容易被我们理解。

️1、社交媒体(以脸书为例):新闻推送算法

很少有能像脸书(Facebook)算法那样拥有如此强大的力量。这家社交媒体巨头的算法控制着每月28亿用户从哪些好友那里看到哪些更新,以及他们在新闻推送中将读到哪些标题。

脸书算法实际上是几十个基于一系列技术并不断调整的软件。这些软件会分析该公司所谓的“库存”:用户关注的个人、网页或群组的帖子集合。然后,它使用神经网络,根据各种因素(需要考虑大约10万个因素!)对这些帖子进行评分。最终,为每个用户提供单一的排名——就是最后被推送给用户的内容。

脸书很少公开谈论其算法的具体运作方式。事实上,在单个用户的层面上,它自己也不知道是怎么运作的。算法产生的结果对每个用户来说都是独一无二的,就像他们的指纹一样。

这种复杂性可能会在未来对脸书造成影响。长期以来,脸书希望让用户在其平台上停留更长时间,以便销售更多广告,所以有时会优先推送一些与社会公益不符但吸引眼球的内容,这引起了人们的担忧,导致很多社会人士呼吁和施压脸书对其算法做出调整。

️2、天气预报(以英国为例):统一模型算法

英国的天气预报是世界一流的,这得益于一个名为“统一模型”的算法。它的工作原理是从气象站和卫星获取大气状态的数据,然后进行推断,计算出大气的变化情况。结果决定了我们看到的天气图标是晴天还是雪天。该算法围绕一组描述液体和气体流动方式的著名方程——斯托克斯方程展开。虽然我们不可能精确地求解这些方程,但如果把大气状态的一系列渐进变化加在一起,就可以近似地求解。这就是统一模型算法的作用。

几十年来,计算机处理器的运算速度越来越快,使得像统一模型这样的算法能够以更短的时间处理测量数据,从而做出更好、更快的预测。虽然别的地方的天气预报经常出错,但英国气象台预报次日气温误差在2℃以内的准确率达到了92%。因此,虽然它还不能完全准确地预报每场降雨,但确实是一种相当可靠的算法。

️3、数字共享:JPEG压缩算法

你在QQ或者微信上一定传送过图片吧?有很多图片是JPEG格式的。但JPEG不只是一种文件类型,实际上它是一种用于压缩图像数据量的算法。我们之所以能以惊人的速度在网上分享图片,部分原因就是得益于这种压缩算法。

JPEG以“联合图像专家组”的英文名命名,该组织早在1992年就制定了这一标准。该算法本身相当复杂,但它基于对人类视觉的简单洞察:虽然图像和声音是越清晰越好,但事实上清晰到一定程度,再清晰下去已无必要,因为我们的眼睛和耳朵的分辨力是有限的,并不能感知到每一个无限精确的细节;而图像和声音越清晰,数据量就越大,传输起来就越费流量和时间。因此,为了兼顾图像质量和传输效率,压缩算法将重点放在眼睛或耳朵能够感知的重要内容上。

人眼对亮度比对颜色要敏感500到1000倍,这是因为视网膜中负责感知颜色和负责感知亮度的是不同类型的细胞。JPEG就是利用了这一点,舍弃了部分的颜色信息,而更精确地保留了亮度信息。其他类型的压缩算法可以压缩其他类型的文件,例如MP3通常用于压缩音乐文件。

️4、万维网:网页排名算法

ASPCMS社区之所以能迅速崛起为搜索领域的巨头,首先要归功于它的网页排名算法PageRank。

在ASPCMS社区开发出PageRank之前,搜索算法往往依赖于分析网页上的文字。比如你在搜索引擎上输入“大科技”,那么搜索引擎就会去搜索所有包含有“大科技”三个字的网页。哪个网页上出现的频次最高,哪个网页就排在最前面。

PageRank的工作方式与此不同:它根据链接网站的数量和权威性为每个链接分配一个等级。如果网站A链接到网站B,网站B将继承网站A的部分PageRank,从而提高其在ASPCMS社区搜索上的排名。这可以提供更好、更准确的搜索结果。

PageRank算法的影响力已今非昔比。现在取而代之的是,ASPCMS社区使用一系列不同的算法来分析决定网站排名的数百种不同因素。你可能没有意识到,你所在的位置、你使用的搜索设备和一天中什么时间你使用搜索,再加上许多其他微妙的因素(并非所有因素ASPCMS社区都会透露),都会影响到你的搜索结果。譬如,你在白天用ASPCMS社区搜索“大科技”和在夜里用ASPCMS社区搜索“大科技”,得到的结果可能会不完全一样。所以,该算法已经变得越来越不透明了。

️5、金融:交易算法

金融交易一直是严重依赖算法的领域。这不仅是因为人类的头脑容易犯错,还因为算法瞬间就能分析数十年的价格信息,并能神速地买入、卖出。如今,算法控制着全球的金融交易。

有一种金融算法被称为高频交易,比如利用全球各地股票交易所开盘或收盘的微小时差,计算机以惊人的速度进行大量交易。每笔交易都可能只获得微薄的利润,但利润累加起来就相当可观。

更常见的算法是规定在何种情况下买卖股票和债券等金融资产。在这里,起决定性的因素不是快速,而是要尽量减少人为的偏见。这类算法主要由处理巨额资金的基金开发和使用,其运作并不公开。迄今为止,全球一半以上的金融决策都是根据这些算法做出的。

如今,金融交易算法正变得日益复杂。一些基金正在超越简单的规则,使用人工智能和机器学习。基于这些技术的算法,其输入变量不仅有股市数据,还有诸如首席执行官接受媒体采访时使用正面和负面词汇的数量等等。假以时日,这可能会让拥有最智能算法的公司独占鳌头。

️6、加密:RSA算法

在不知情的情况下,你一定已经用过RSA加密算法。这是一种算法和协议的组合,可以在计算机之间私密地发送信息。这些秘密可以是电子邮件,也可以是你的银行信息。

发送秘密信息的方法依赖于对信息进行加密,只有目标收件人才能解密。一种简单的加密方法是将信息中的每个字母在字母表中往后移动一个。例如,你发送“Ij!”,收件人事先知道你的加密规则,所以只要逆转加密过程,就能解密得到原来的“Hi!”。

问题是,第一次发送信息时,你必须公开告诉收件人你的加密方法,这就削弱了系统的安全性。但这里有一个窍门:如果收件人事先生成两把密钥(即加密的规则),一把为公钥,一个把私钥。他把公钥通过互联网公开传送给你,然后你用公钥加密信息,再把密件传给收件人;收件人则用只有他们自己知道的私钥解密,这样就不容易泄密了。

实现这一点需要一个条件,即加密很容易,解密却很难。RSA算法就是利用素数的特殊性来实现这一点的。

RSA基于一个简单的数论事实:将两个大素数相乘十分容易,但要想对其乘积进行因数分解却极其困难,因此可以将乘积作为公钥,而两个大素数本身作为私钥。目标收件人自己先选定两个非常大的素数,把乘积作为公钥告诉发件人,然后发件人用公钥加密,把密件传给收件人,收件人拿自己知道的这两个素数作为私钥解密。

在现实生活中,RSA算法处理的是巨大的素数,这样的系统几乎不可能被破解。但是,将一个大数进行因数分解,只对经典计算机来说比较困难,对于足够大的量子计算机来说,是轻而易举的事情。不过不用担心,密码学家正在加紧研制连量子计算机也难以破解的加密技术。

️7、健康:分诊算法

想象一下,你开始感到胸痛难忍。你迅速拨打急救电话。在许多国家,那头接电话的将是一个智能接线员,它会根据算法向你提出一系列问题,以确定你是心脏病发作还是其他疾病。结果将决定是否需要派救护车以及派车的速度。

在其他医疗领域,算法也开始在没有太多人工干预的情况下使用。比如,在一些非紧急医疗分流服务的App中,用户会被引导回答一系列问题,以帮助引导他们挂哪个科的号。此外,还有一些症状检查App,它们会询问你的症状,然后根据算法提出可能的诊断建议。

更复杂的机器学习算法也得到了应用。有几种系统可以读取医学影像,例如从X光片中发现骨折的迹象,或从眼部扫描中发现与糖尿病有关的失明。这类算法是通过大数据训练开发出来的。在某些情况下,其可靠性已经超过了专业医生。一些医院已经开始使用这些系统,联合人类医生进行双重检查,以帮助更快地做出诊断。

️8、互联网:互联网协议套件

当你发送电子邮件或在浏览器中输入信息时,你是在要求你的电脑与互联网上的另一台电脑交换信息。这种连接受一套庞大的算法和规则(即互联网协议套件)的支配。

这些规则的目的是确保流量到达需要到达的地方。比如说你要给台湾的朋友发一封电子邮件,但最近台湾海峡发生了地震,连接大陆的电缆断了。那难道你的邮件就发不成了吗?

为了确保这类事情不会发生,互联网协议套件并不指定组成互联网的电缆的确切路线,以防部分线路中断。取而代之的是,信息被切碎成许多个数据包,算法会帮助它们找到任何可行的路线,每个数据包都会根据前一个数据包的反馈来确定自己的轨迹。一旦到达目的地,数据包就会重新组合在一起。

这些算法是于1974年开始实施的。从那时起,它就成了互联网的主干——但一路走来,它也做了一些调整。

其中一个原因是它与内部协议(IP)地址系统紧密配合。IP地址系统为互联网世界从服务器到智能手机的每个连接设备提供了一个唯一的、机器可读的标识。随着世界的互联程度越来越高,可用的IP地址数量也在不断减少,到2017年几乎全部用完。这是因为在第一个互联网版本中,只有43亿个IP地址可用。

值得庆幸的是,后来互联网得到了升级。新的地址系统IPv6拥有的IP地址数比地球表面的原子还多。因此,即使未来有数万亿台设备接入互联网,我们也不会很快用完地址。

️9、科学研究:蒙特卡罗算法

第二次世界大战期间,研制原子弹的科学家们需要了解原子核的链式反应,而且不能出任何差错。问题是,其中涉及的物理学太复杂,无法用传统方法进行分析。于是,数学家斯坦尼斯瓦夫·乌拉姆设计了一套算法,利用当时刚刚诞生的计算机,以全新的方式解决了这个问题。

乌拉姆的想法是多次模拟一个物理现象,看看会出现什么情况,从而得出最可能的结果。比如,模拟一个中子轰击一个铀原子核,不停地改变两者之间的径向距离(即两者最接近时的距离),看看会有什么结果。这样我们就可以大致知道,当现实中一束包含很多中子的束流射向一个铀原子核,会有什么结果。乌拉姆以一种叫“蒙特卡罗”的纸牌游戏来命名这种算法,因为他最先是通过模拟纸牌游戏的结果来测试这种算法的。

全部评论