斐波那契数列之美
有这样一个数列:1、1、2、3、5、8、13、21、34……前两个元素为1,其他元素均为前两个元素和。在数学上以如下递归的方法定义:
这就是斐波那契数列的数学定义。那数学家是如何发现(或创造)出这个这个数列,它又有什么意义呢?莫着急,我们先从斐波那契的生平说起。
斐波那契是一位数学家,生于公元1170年,籍贯大概是比萨,卒于1240年后。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。斐波那契数列因他解决兔子繁殖的应用题而引入,故又称为“兔子数列”。除此之外,他对欧洲数学的另一大贡献就是引进阿拉伯数字,从而取代了复杂的罗马计数法。
对于程序员而言,或许它是仅次于Hello World,最常见的一道编程题。简单易懂,多数人可以很快的明白它的定义并尝试写出它的编码。但这个数列就是为了考试而生?是数学家编造出来故意玩弄程序员,还是隐藏着某个宇宙的终极奥秘,它生冷的公式下面又蕴藏着哪些数学之美。
先卖一个关子,我们先看它在现实的意义,然后再分析其中的数学原理。上面这张图是一个树干的简化图。确实像一颗树,而且树干也是分层的。推理能力不错,可以去当砍树工了。如果你还能从中看出每一层树干个数(1,2,3,5,8,13)都是斐波那契数列中的元素,只需要早产一千年,斐波那契就只能是个砍树工了。
也许这个例子并不充分,我们在看看大自然中最常见的美——花儿,数一数每一层花瓣的数目,是否也是斐波那契数列中的一个元素。
首先是花瓣数目最少的百合,下面是一张百合的图片。
可以看到百合花分为2层,每层都是3个花瓣,而3确实是该数列的第四个元素。如果你觉得百合的花瓣数太少,数的不尽兴,那我们再来看看菊花的花瓣数目。慢着,菊花是什么(脱口而出:一男一女一菊花)。好吧,居然也是斐波那契的第六个元素:8。
严肃点,人家正在讨论数学问题呢,笑什么笑。看看真正的菊花是多少个花瓣,果然还是斐波那契数列的第八个元素:21。
你开始怀疑,现实世界中也许真的有一种力量,似乎对自然的美赋予了一个看不见的数学公式:斐波那契数列。那美女呢?我只喜歡看美女。好吧,作为男人,我懂i你们的需求,上妹子~
这下大家满意了吧。脑海里面瞬间想起了王力宏那首《美》,查了一下,原来歌词里Mei这个音重复的次数都是1,2,3,5。原来歌声中也能发现斐波那契数列的美。可能你还纳闷,美女甩头跟斐波那契数列有什么关系?其实,在数学上,这称为斐波那契螺旋线,比如向日葵,飓风图,还有宇宙星云图中都会看到类似的轨迹,而这个轨迹中隐藏着这个数列。如下图,脖子不要拉伤。
终于你相信,自然的美,总能找到斐波那契数列的规律了,可这里面的数学原理又是什么呢?”打破砂锅问到底”是一个好的态度。你有没有发现,美女那么多,看多了会审美疲劳,会觉得都是一个模子出来的。而丑的话却各有千秋?这TMD也是数学管的?恩,你可能知道我要说什么了——黄金分割。
早在古希腊,就有人发现了黄金分割,似乎在1.618这个比例是最美的,建筑物的比例,雕塑的比例,然后再到美女的比例,都在这个值的区间内。这也就解释美女为什么看上去都差不多的原因。实际上,黄金分割和斐波那契数列本质上是一种概念的两种外在形式。下图是七位数的斐波那契数列,我们让相邻的两个分别相除,则会发现,数字越大,这个值越接近黄金分割值。
在极限的情况下,我们认为相邻两个元素的商等于黄金分割值,我们假设值为△,则有如下等式:
而该数列又满足X(n) = X(n-1) + X(n-2),我们替换X(n)后,等式转换为:
是不是一切都明了了,我们把X(n-1)/X(n-2)记为△,则X(n-2)/X(n-1)则是它的倒数1/△,这样,该等式就是△(黄金分割值)的一元二次方程1 + 1/△ = △:
套用二次方程公式
,我们可以得到△ =(1 + √5)/2,约等于1.618。终于,我们用数学,证明了这个美的存在和公式下的数学之美。
其实,这不是斐波那契数列的全部,数学家并不甘于到此为止,而是进一步的发现了更本质的规律,只要数列满足X(n) = X(n-1) + X(n-2),无论前两个值是多少,都满足黄金分割的条件,这就是Brady Number。而斐波那契数列是最简单的特例:前两个元素均为1
再后来,数学家还发现了费马大定理和这个数列的关系(费马大定理的证明历时三百五十年),并应用到诸多领域(比如加密)。你会发现,学习数学并不只是为了考试,虽然数学的美是隐蔽的,也是纯粹的,永恒的。
如果这篇文章让你感受到了一丝数学之美的话,我只想说,分享也是一种美:)