学过微积分的人都知道泰勒展开公式,它是将一个在x=x0处具有n阶导数的函数f(x)利用关于(x-x0)的n次多项式来逼近函数的方法,用标准的数学术语来描述是这样的:

若函数f(x)在包含x0的某个闭区间[a,b]上具有n阶导数,且在开区间(a,b)上具有(n 1)阶导数,则对闭区间[a,b]上任意一点x,成立下式:

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(1)

泰勒公式形式

其中,表示f(x)的n阶导数,等号后的多项式称为函数f(x)在x0处的泰勒展开式,剩余的Rn(x)是泰勒公式的余项,是(x-x0)n的高阶无穷小。

1、泰勒公式产生的背景

泰勒当年为什么要发明这条公式?因为当时数学界对简单函数的研究和应用已经趋于成熟,而对于一些复杂函数如 sinx,cosx,e^x等,在计算任意一点如当x=2.3相应的函数值等于多少,这些数据通常需要借助计算器才可以计算出来,而且只是得到一个近似值。因此数学家们就开始了漫长的思考之路,有没有办法跟这些表达式的图像长得差不多的一个多项式函数呢?说白了就是sinx,conx这类函数能不能用多项式去表达呢?这就是泰勒展开式的出发点!换句话说,泰勒展开公式,是对展开点附近的函数,进行的一个“误差可控多项式仿真”。比如按照上述公式,sin(x)的多项式仿真如下,有了下面的多项式仿真表达式,求任意点的函数值就变得非常容易了。

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(2)

sin(x)的多项式展开

下图为在x=Pi处对cos(x)进行多项式二次仿真的动态图。

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(3)

对cos(x)在x=pi处的多项式仿真

2、泰勒公式的几何意义

根据导数的定义,f(x)在x=x0处的导数f‘(x0)约等于 f(x)-f(x0) / x-x0,

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(4)

泰勒公式的几何意义

如果只考虑二项,也即有如下公式:

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(5)

3、泰勒公式的哲学意义
  • “导数”的真谛

大家都知道《自然哲学的数学原理》是牛顿的一本划时代名著,数学即哲学,按照这种思想我们先理解一下导数的哲学含义。”导“在中文中的基本意思是”方向“的意思,所以导数也可以叫做”方向数“,它是表征函数每一时刻所正在运行的方向,它决定了函数的运行,所以说“导数”是函数的原因,函数是“导数”的结果。举例来说:

速度是位移的导数,速度导致了位移;

加速度是速度的导数,加速度导致了速度。

  • 高维低阶

举个例子,假设位移 s=x^2 x,则速度v=2x 1,两者在坐标系中的分布如下图所示。

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(6)

位移与速度的几何关系

在上图中,速度函数v(t)与在X轴上的投影围成的图形面积为位移s,该面积与s(t)在t=2时的取值刚好相等。此外,我们还发现:v比s的阶低,v是1次多项式,s是2次多项式,也就是高维下的表达,往往就比低维下简单!

二维到三维,是工程制图的升维飞跃,学过工程制图的同学深有体会,一个复杂结构,如果画在平面图中,需要有:正视图/左视图/上视图/甚至斜视图/剖面图等等,特别复杂,但如果在三维作图软件中作三维模型,一个模型就足够了,就是这个道理。

物理学发展史中,这样的故事层出不穷。最开始探索的物理学家的理解比较浅也比较局限,提出的理念往往很复杂,后来的物理学家在他们基础上,统一整合了一类理论,提出新的理论反而是形式简洁美妙,这就是升维思维的奇功。简洁的物理公式,其实是最高级的。

  • 泰勒公式的真谛

按照以上理解,泰勒公式就可以理解成:

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(7)

泰勒二项式的哲学意义

如果进一步展开,则有如下意义:

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(8)

泰勒多项式的哲学意义

4、敏捷研发的数学基础

敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本,然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。

用泰勒公式来解释,这里在很短时间内开发出的产品核心功能即f(x0),只是这里的f(x0)并不完全等于客户的需求,两者存在一个“差值”。在后续每个迭代中通过各种不同形式的测试以及不同的会议对产品进行不断的完善,即对原始产品f(x0)进行不断修订,直至达到符合客户的要求,实现对客户需求进行“仿真”的目的。

经典决策研究范式(泰勒公式的哲学意义与敏捷研发)(9)

敏捷研发流程示意图

,