什么是计算?这个问题非常值得思考。
人类为了更好地认识和改变世界,结合自然规律创造了一系列规则。这些规则被广泛接受,例如计数系统。
我们很容易理解一个苹果、两个橘子等具体数量,也能够切实体会一次和两次是什么意思,因为这些规则从小便被注入我们的头脑。但如果要你为”一次””两次”这些数量概念下定义,或者有一天来了一位外星人,你要怎样向它介绍”一次”这个概念?
- 这件事看起来很容易,实际上并没有那么理所当然。
- 我们也许会觉得事情本来就理所当然,这是常识;但正因为太熟悉,反而不知道该怎样科学地介绍它。
计数系统有什么用?它可以计数。假设我们已经建立了一些基本概念,抛开刚才那个看起来十分无聊的问题,可以看到一些显而易见的描述:
通过计数系统,我们知道两个苹果可以给两个人吃。如果再来一个人,那么平均每个人就无法得到一个完整的苹果。
在这套计数系统中可以进行运算。例如,加法告诉我们两个苹果加一个苹果等于三个苹果;除法告诉我们两个人的苹果分给三个人时,每个人分不到一个完整的苹果。通过运算可以得到新的信息。当然,运算规则也是由人类建立并达成共识的。换句话说,运算意味着从一些信息得到另一些信息。
总的来说,借助计数系统和运算过程,我们能够获得更多信息。
这类运算通常发生在人的头脑中。如果过程太复杂,就需要借助符号(阿拉伯数字和 +-×÷)、计算规则(例如竖式加法)以及记录工具(纸和笔)。符号和规则可以称为模型。总之,通过运算可以得到新的结果,而运算规则是确定的。
这套通用系统可以获得一些稳定的结果,但这套计算过程的适用范围可能有限。我们可以通过加法和乘法知道一个苹果加一个苹果等于两个苹果,却更希望获得复杂的信息。例如,明天是否下雨就无法立刻直接算出来。人类擅长的做法,是把复杂问题拆解为一步步简单的事情。
为了解决复杂问题,我们可以构建更复杂的模型。但问题越复杂,计算过程自然也越复杂。
此时,人脑和计算纸都可能无能为力,所以需要机器帮助我们运算。就像人类不愿一直步行而制造交通工具一样,当我们不愿计算或算不过来时,就制造机器来帮助计算。
那么该怎样开始计算?首先,需要一些能够由设备实现的基础操作。
因此,计算机的本质就是用物理设备实现计算过程。
在计算之前,还要把具体问题转换为可以按这些规则计算的形式。也就是说,要把“明天天气怎样”转换为一系列加法和乘法,再通过计算得到数值结果,最后把这些数值转换为有关天气的具体信息。
本质上,因为没有一套足够好的模型可以直接描述天气,所以我们把天气转换为数值模型,而数值可以按照现有的计算规则处理。
为什么计算如此重要?今天的电子计算机能够做的,归根结底仍是 1+1=2 这类计算。但为什么越来越多的人类问题都能由这些简单计算解决?
- 是否所有问题都可以转换为
1+1=2这类形式来计算? - 如果不能,是否存在更好的方式?
举一个简单的例子:类脑计算。也就是说,我不关心实际的计算过程或得出结果的过程,只关心结果。例如,我要从 A 地前往 B 地,却不知道怎样规划,就寻找自然界中最聪明的动物之一——蚂蚁——来帮助规划。一种最直观的方式就是