计算器迭代法求黄金比例(具有递推关系的运算---黄金分割)(1)

黄金分割

分数法在本质上是一种对称的方法。在这里,我们通过讨论研制点心的问题来说明分数法,我们需要在给定的区间内选定一些点,在这些点上安排试验。分数法每次选两个点,这两个点关于区间[a,b]中心点是对称的。具体表示如下:

x1=a p(b-a),x2=a b-x1

其中p为给定的分数,通常取p=1/3,称这种方法为分数法。因为区间的中心点为x0=a (b-a)/2,当p<1/2时,容易得到:

a<x1< x0< x2<b,x2-x0=x0-x1

所以,这两个点是关于中心点对称的,如图(1)所示

计算器迭代法求黄金比例(具有递推关系的运算---黄金分割)(2)

图(1) 线段分割示意图

在两个选定的点上安排试验,如果得到f(x1)<f (x2),则认为合适点即合适的糖的比例在x1和b之间,用x1代替a;否则,则认为合适点在a和x2之间,用x2代替b。然后,在新构建的区间上重复上面的操作。显然,这样的操作是可以持续做下去的,最终可以得到满意的结果。

许多学者,比如华罗庚( 1910~1985)推荐在上述方法中取p=1-0. 618=0. 382,并且称这样的方法为优选法。其中0. 618是一个很重要的数,这个数是我们曾经讨论过的方程

x2 x-1=0 (1)

的一个近似解。从求根公式知道,这个方程的正解为(√5-1)/2,这个解是一个无理数,可以表示0.618033988,因此近似值为0.618.这个数就是大名鼎鼎的黄金分割数。我们来分析这个方程的意义。

计算器迭代法求黄金比例(具有递推关系的运算---黄金分割)(3)

欧多克索斯

考虑按比例把一条线段分为两个部分的问题。不失一般性,令线段的长度为1,分为两部分中有一部分为x,那么另一部分就是1- x。据说,古希腊柏拉图学派的欧多克索斯(约前400~前347)研究过这个问题。.正如我们在《图形与图形关系的抽象》中介绍过的那样,欧多克索斯深入地研究过线段的比例问题,许多研究专家分析,欧几里得《几何原本》中的第V卷和第Ⅻ卷的主要内容就是取材于欧多克索斯的研究。欧多克索斯认为,如果线段的长度之间满足下面的比例,那么得到的线段分割是最完美的,并称其为黄金分割(Golden Section)。这个比例为:

x:1= (1-x):x

根据这个比例容易得到方程(1),因此方程的解就是黄金分割的比例,容易验证

(√5-1)/2:1=[1-(√5-1)/2]:(√5-1)/2

是满足黄金分割的要求的。人们经常把黄金分割的原理用于造型艺术设计,比如艺术品长与宽的比例;建筑物上线段的比例,门窗长与宽的比例,等等。画家达·芬奇( 14 52~1519)在他的绘画中不仅使用了投影的方法,也较多地使用了黄金分割,据说他的名画《蒙娜丽莎》中的脸就符合黄金分割的原理。

计算器迭代法求黄金比例(具有递推关系的运算---黄金分割)(4)

斐波那契

数值0. 618还与一个重要的数列极限有关。意大利数学家斐波那契(1170~1250)曾经周

游地中海沿岸诸国,我们在《数的表示》中曾经介绍过,他回国后于1202年出版《算经》一书,把印度的十进制的计数方法介绍给了欧洲。事实上,1228年他在《算经》的修订本中又加上了下面的“兔子问题”:

“某人在一处有围墙的地方养了一对兔子,假定每对兔子每月生一对小兔,而出生后两个月就能生育。问从这对兔子开始,一年内能繁殖多少对兔子?”

如果把这个问题一般化,就形成了著名的“斐波那契数列”:

1,1,2,3 ,5,8,13, 21,34,55 ,89 ,144,…

下面,我们来分析斐波那契数列。如果用h(n)表示上述数列的第n项,那么这个数列的通项公式可以表示为:

h(n)=h(n-1) h(n-2)

非常有趣的是,这个数列前后两项比值的极限近似为0.618,即当n→∞时,极限a=limh(n-1)/h(n)存在并且近似值为0.618。我们来证明这个结果。因为可以认为当:n→∞时,limh(n-1)/h(n)=limh(n-2)/h(n-1)=a。在通项公式的等号两边同时除以h(n-1)后取极限,可以得到:1/a=1 a,这正是方程(1)的形式,于是就得到了我们所要的结论。

与任意取点安排试验的方法比较,分数法或者优选法是一种有目的选点的方法,这样的方法,在同样的精度下,可以减少试验次数,因此可以减少经费和人力。或者说,在同样的试验次数下,可以提高试验的精度。但是,利用分数法安排试验,每次试验之前必须知道上一次试验的结果,这样在整体上就可能会延长试验的时间。由此可见,在实际问题中一个普遍好的方法往往是不存在的,需要我们具体问题具体分析,寻找一个针对“这个”问题合适的方法。从哲学层面考虑,似乎“具体问题具体分析”有悖于数学强调的“普适性”。事实并不是这样,如果一个放之四海而皆准的好方法不存在,那么我们只能退而求其次,而退而求其次中最好的方法就是“分类”。也就是说,我们希望寻求一种方法,使得这个方法在尽可能大的类中是好的,比如我们上面讨论的问题,如果不突出强调时间,那么可以用分数法;如果突出强调时间,那么可以用任意取点的方法。当然,还可以根据问题的背景创造新的方法,比如分批试验的方法,逐步随机试验的方法等等。

,