龙曲线

来源:互联网 发布:隐藏li标签 js怎么写 编辑:程序博客网 时间:2024/04/26 05:52

趁着电影《侏罗纪世界》热映,恰好我也拉拉杂杂花了很长时间把英文原著《侏罗纪公园》(Jurassic Park)读完了,我也说说和恐龙和这本书有关的事物,龙曲线。

龙曲线
图1 《侏罗纪公园》小说封面

侏罗纪公园的原著作者是Michael Crichton。小说中主要人物之一是位数学家叫Ian Malcolm,他是研究混沌(不是抄手也不是云吞)理论的数学家,也是小说中InGen生物基因公司的顾问。他一开始就反对建侏罗纪公园。虽然现在人类可以上外太空,可以造出毁灭地球的武器,但有些事情是人类是无能为力的,比如准确预测风暴,地震,股票市场等。这些事情不是不可决定性的,是决定性的。理论上知道初始状态,知道外在影响因素,是可以推断将来的状态的。但是对于混沌系统,细微的初始状态的不同,细微的外在因素的影响,会导致巨大的未来状态的变化.导致我们不能预测混沌系统的准确状态。

Ian Malcolm反对建侏罗纪公园就是基于此混沌理论。InGen公司可以通过先进的基因技术、计算机技术等来复活侏罗纪的恐龙、植物等;可以在相对封闭的岛上建一个公园,他们甚至让复活的恐龙都是母的,不能自行繁殖;他们认为这样一切都人为可控。可是Ian Malcolm通过他的混沌理论分析认为那是妄想。事情的发展证明了他的判断。一场暴风雨,一个公司内的叛徒,一次断电,计算机程序中的缺陷,计算机使用者的不细心,还有恐龙基因中含有的青蛙的基因片断等等微小因素,导致侏罗纪公园最终发展不可控制被军队接管并炸毁。

在《侏罗纪公园》小说几页插页中有龙曲线,从简单到复杂。龙曲线是一种自相似的分型曲线(self-similar fractal curves)。我理解的图形的自相似就是它从大的尺度看整体和从小的尺度看局部是相似的。而分型曲线的特点是无论从任何尺度来看,它都重复相同的模式。一张图胜过千言万语,上图。图2是《侏罗纪公园》中出现的龙曲线的第一张图,图3是最后一张图。第一张图的模式不断重复,就可以生成最后一张图,而且这个过程可以无限循环下去。Ian Malcolm在讲解他的混沌理论时用龙曲线来类比。从龙曲线的第一代我们能想到它通过若干次迭代能发展出那么复杂而漂亮的图形吗?好像比较困难。混沌理论也是这样,我们即使知道了初始条件,也很难推出后续的发展。这里的蝴蝶扇动了一下翅膀,我们能预料会在哪里生成飓风吗?我们知道大年初一的天气,能知道今年雨水怎么样吗?股票上周涨停,我们能知道下周是涨还是跌吗?好像都比较困难。

龙曲线第一代
图2 龙曲线第一代

龙曲线第七代
图3 龙曲线第七代

我们拿出一张白纸,对折,再对折,又对折,还对折,这样循环下去。假设纸都厚度是0.1毫米,那么对折20次后纸的累加厚度超过珠穆朗玛峰(everest),42次到月球(42是个特殊的数字,以后有机会写一篇文章),94次就是整个可见宇宙的大小。大家不信自己折一折。这是倍增(或复利)的威力,以后有机会写一篇相关文章。今天我们先把折纸打开来,确保每个折痕都是直角,那么折4次的时候就是图2龙曲线的第一代,折下去没几次就会生成图3的龙曲线。这样生成龙曲线的方法是不是很简单呢?

龙曲线有物理学家研究,如John Heighway,本文图上的龙曲线就是以他命名的,叫Heighway龙曲线。有数学家和计算机科学家研究,如Donald Knuth,没错,写《计算机程序设计艺术》的图灵奖获得者。写《侏罗纪公园》的作家Michael Crichton在研究,而且用在了自己写的书里。还有我在研究,一个程序员,您正在看的本文是我写的。当然,我是研究别人的研究成果,而且浅尝辄止。我承认我是这些人里最没名气的。

如果你之前折纸遇到了困难,也可以用我的一个程序来生成龙曲线。戳龙曲线。此程序用了一种叫L-System的方法,一种字符串重写(string rewriting system)方法,配合我的亲密数编程语言来生成龙曲线。有兴趣你可以试试。

《侏罗纪公园的》的结局显示了人类控制自然是困难的,人类在自然面前是渺小的,从这点来看,作者对待科技是悲观的。可生物会自己找寻出路,恐龙即使全是母的,也会找到出路繁殖,从恐龙的角度看,我们应该乐观。

注:本文首发亲密数

参考资料

  • https://www.youtube.com/watch?v=wCyC-K_PnRY

  • http://en.wikipedia.org/wiki/Dragon_curve

  • http://en.wikipedia.org/wiki/Jurassic_Park_(novel)

  • http://mathworld.wolfram.com/LindenmayerSystem.html

  • http://scienceblogs.com/startswithabang/2009/08/31/paper-folding-to-the-moon/

0 0