人类发明计算机,最初就是用来计算的,代替人来进行复杂烦琐和耗时的运算。

为了让计算机能够明白人想要什么、具备什么条件,就需要按照一定的规则为计算机提供计算的参数。渐渐地,人们发现很多问题都能抽象为数学问题让计算机通过运算来解决。例如,人们需要计算机在屏幕上显示出文字,就需要计算出这些文字的点阵信息;需要在屏幕上显示一幅画,就需要计算每个像素点的颜色信息,以及如何用三原色来组合得到;需要在屏幕上显示动态变化的画面,就需要计算每个像素点的颜色变化,以及如何更节省地处理没有变化的像素;需要显示三维图形,就需要计算和生成用来构成曲面的三角形……

可以说,所有的信息处理,对计算机而言都是运算,无论是文字处理还是图像处理,无论是视频动画还是交互操作,无论是视听娱乐还是数据分析,一切的一切,所有的人机交互过程,都是计算。

在信息世界中,一切皆是计算。所以,计算机的算力尤其重要,它从根本上决定了信息处理的速度和效率,因而人们对计算能力和速度的追求也就永无止境,计算机的运算能力在摩尔定律的推动下不断迭代更新。然而,解决问题的最终效率,还取决于解决问题的方法,也就是算法。算法是解决某类问题的统一范式,代表着用系统的方法描述解决问题的策略机制。算法的好坏,无疑会影响计算的结果,尤其是在大量数据的处理方面,先进的算法可以节省大量的资源,这是一个不断优化的过程。而有没有相关的算法实现,更是决定了有没有可能解决某一个问题。

于是,用计算机解决现实问题,就成为算法的本质任务。而算法是基于数学和逻辑的,没有数学,也就没有算法。逻辑也可看作是哲学层面的数学。数学理论的发展和突破,常常能直接应用在最新的算法之中。

我们从最简单的排序问题开始,实现排序的算法很多,如选择排序、冒泡排序等;然后再看查找问题,相应的算法有顺序查找、折半查找等;接下来再看动态规划和线性回归,算法正渐渐成为为程序而生的算法,需要依赖程序结构和数据结构了。回到当前计算机发展的巅峰——人工智能,其涉及的算法已经非常复杂,随机森林、蒙特卡洛等众多的算法来自概率论、统计学、逼近论、凸分析等各方面的研究成果,并且围绕人工智能的核心机器学习来推进。这时候的算法,几乎就是数学,数学是算法赖以形成的基础。

以当前热议中的ChatGPT为例,作为基于Transformer架构的生成式预训练语言模型,ChatGTP可以生成高质量的自然语言文本。ChatGTP主要是针对生成任务进行了优化,它似乎能“听懂”自然语言中对数学函数的描述,不仅能生成一般的知识性回答,还能生成专业论文甚至程序代码。谷歌工程主管Matt Welsh表示,ChatGPT和GitHub Copilot预示着编程终结的开始,生成式AI将在3年内终结编程。而ChatGPT惊艳表现背后的数学原理,正是基于“逆向概率”的贝叶斯公式。表面上看来,贝叶斯方法建立在主观经验判断基础上,根据客观事实不断修正来分析事物本质,似乎与经典统计学相悖,但是其算法威力却是惊人的。在我们认识事物不全面的情况下,贝叶斯方法是一种非常理性且科学的方法,而这正好适合聊天机器人的进化过程,也使得它超凡脱俗般地快速成长。

在信息世界中,算法决定着命运。而数学,则决定并引导了算法。