科学和数学

前两天和许彬老师聊天,讨论到经济学和数学之间的关系,以及物理学和数学之间的关系。同时,我在《学会学习和思考》课程里面专门会讨论科学和数学的关系。再考虑到,这样的关系的讨论对于我自己的研究生也很有意义。我就整理在这里。

数学是用人类的思维来描述某种关系,某种结构。例如,最没有结构的一群东西就是集合。集合上面加上一定的关系,就会产生例如偏序、序、群(加法、乘法)等等这样的结构。再进一步可以再加入更多的关系——也就是映射——从而产生更丰富的结构。一般来说,这样的数学结构是描述现实的。但是,原则上,数学不必要一定和现实符合,只要结构体系内部是自洽的就可以。运用这样的描述结构的形式化语言,人类的思维能够走到比自然语言要深刻和准确的多得多的地方去。实际上,数学就可以看做对自然语言的扩充。

科学是在某一类现象上运用数学结构来描述这一类现象。这个时候就需要回答为什么样的现象选择什么样的数学结构来描述,为什么选择这样的数学结构来描述,这样的是否管用——一般指能够帮助理解这一类现象甚至针对具体情况通过这个数学结构给出来的结论和实际这个现象能够一定程度上符合。如果能够做到,则这样的数学结构被称为这类现象的理论。更进一步,所谓的理解,一般指的是,不仅仅后面的数学结构和实际相符,还指能够用比较少的逻辑起点(一般体现为模型假设)就能够把一大类现象放到同样的数学结构里面去描述。这也就是科学理论在统一性和简单性上的要求。

现在让我们回到物理学和经济学,以及两者跟数学的关系的对比。

物理学是用数学结构来描述物理现象,例如天体的运动、汽车的运动、原子的运动、光子的运动、物质的构成等等。那么,是不是物理学就是数学的应用学科,或者直接叫做应用数学得了?不是。物理学自己的东西在于根据这些现象提出哪些最基本的成系统的假设,建立什么样子的方程。建立方程之后,就是数学的事情了,或者说真的就是应用数学这个学科的事情了。当然,有的时候,方程的求解非常困难,不能直接依靠数学方法,需要依靠物理对问题的理解来提出合适的近似方法。这个时候,物理还是能够在帮助应用数学这一方面发挥点作用。甚至,有的时候,很可能物理提出来所需要的数学结构还没有准备好。那么,这个时候,物理学还能够促进基本数学的发展。在这里,我们一定要非常注意,像物理学这样的具体学科、具体某类问题的科学,其主要贡献,或者说成为一个学科的地方,一定是在把问题变成什么样的数学结构这一点上。有了这样的认识,我们就很容易理解为什么物理学可以用来控制一个卫星飞到宇宙空间的预定轨道,为什么物理学可以用来理解这个世界是如何运行的了。物理学是实践科学,一定要管用,尽管理论本身的系统性、简单性也是追求之一。

那么,经济学是什么样的学科呢?原则上,经济学为了给经济现象,例如厂商给某个产品的定价、厂商生产某个产品的原材料和工艺和定价之间的关系、社会对这个产品的需求和这个产品的定价之间的关系、消费者为什么购买某个产品、这两个人、企业或者国家为什么合作或者打架等等等等,寻找数学结构的一个科学。注意,既然是科学,则一定要管用——理论和实际比较相符,和促进理解——理论本身的系统性、简单性。对于这些问题,作为一个学科,首先需要提出一个描述框架(可以是整体就一个框架,也可以对不同的现象用不同的框架),然后要在框架内给每一类现象一个大概的描述。

这个要求,物理学是做得到的。整体的框架叫做Hamiltonian(哈密顿量)理论,以及等价的Lagrangian(拉格朗日量)理论或者作用量理论。针对每一个现象,物理学会告诉你这个时候的Hamiltonian(哈密顿量)如何写下来。实验上只要测量出来这个Hamiltonian(哈密顿量)的参数,就可以大概计算出来这个系统的行为,并且可以和进一步的实验来比较。

那么,经济学做到了吗?大概有。就是写下来一个效用(Utility)函数,然后计算这个效用函数的极值就可以大概用来解释实际观察到的现象。如果这个学科真的是这样,则这个学科的核心理论必须是一个针对什么样的现象给出来大概的Utility函数的这样一个配方。这个就好像是,物理学提供的就是一个Hamiltonian(哈密顿量)框架再加上每一类现象下来这个Hamiltonian(哈密顿量)的配方。

但是,经济学做到了吗?没有,基本上,无论针对什么现象,我们都没有一个合适的写下来能够解释现实的Utility的配方。我们仅仅知道,如果完全理性的经济人假设管用的话,这个Utility函数只考虑直接金钱形式的收益,而且是一个增函数——也就是导数项大于零,这么多。大概,我们还可以猜测边际效益递减,也就是导数项是减函数。至于从金钱收益如何到Utility,不知道。更进一步,如果是现实的人,而不是假设的经济人,Utility函数包含哪些因素,函数形式如何,就更加不知道了。这个时候,你问,经济学是什么?我说,就是这个离现实非常远的经济人假设和约束下目标函数求机制的数学。这句话的主谓宾,分别是,“经济学”是一个“假设”和“数学”。如果一个科学理论,其自身完全就是数学,那么,这个理论它就不是科学。约束下求极值是经济学吗,还是物理学?

物理学也天天用这个,不仅天天求极值,还天天求分布函数(统计物理学),还天天求概率幅(量子力学)呢。但是,这些都不是物理学本身。物理学在于告诉你对于具体情景如何写下来这个用来求极值的对象函数也就是Hamiltonian(哈密顿量),以及为什么这个时候要用求极值来处理,那个时候要用求分布函数或者几率幅来处理。这是物理学,而不是如何求出来极值。

那什么是经济学?这样看来,也就是效用(Utility)函数的框架和经济人假设了。但是,没有具体给一个针对什么样的情景来写出来效用(Utility)函数的配方,同时,经济人假设离实际十万八千里。怎么办?应该说,效用(Utility)函数框架,还是有可能是有道理的。问题在于,我们需要如何写下来具体形式的配方。具体科学不是数学,再强调一遍,不能说实际应用经济学的人去写他们的效用(Utility)函数去吧,我们不管。不管你写下什么样的效用(Utility)函数来,反正我们告诉你,求极值就对了。如果是这样的话,经济学是数学还是具体科学呢?当然,你说,还算具体科学,因为我们告诉你,求极值就可以得到和实际相符的结果。如果真的是这样,也还可以理解,尽管缺配方永远是一个大缺陷。可是,经济学连这一点都做不到啊。因此,成了完完全全的数学。不需要和现实相符——因为现实里面总是有我理论上考虑不到的很多肮脏的因素。很有道理,但是,你看看人家物理学:无论多肮脏,人家只要把一项一项加到Hamiltonian(哈密顿量)里面去,就是能够做到越来越准确。那怎么办?

还是跟物理学学习和借鉴,依靠实验,依靠理论和现实的比较,来让理论逼近现实,然后还要尽量保留理论的系统性和简单性。让我们去看看找到一个能够把一项一项逐渐加到效用(Utility)函数里面的配方,去找找一个考虑了产品之间的原材料和工艺依赖关系的约束和目标的体系,一个考虑了决策者非金钱收益的效用(Utility)函数的配方,并且进一步,考虑是否保持求极值,还是有的时候也要算算分布函数(Quantal Response Equilibrium),甚至是不是还要考虑几率福(目前没看到这个需求,甚至这样做的影子)。

用物理学和数学的关系,经济学和数学的关系,理解了科学和数学的关系之后,我想就可以更好地理解各个具体学科和数学的关系了,也就明白为什么我一定要让我的学生深刻理解数学了——它是你描述具体学科问题的武器库。