正在阅读:用HTML5演森林大火!解读《野火烧不尽》用HTML5演森林大火!解读《野火烧不尽》

2010-10-12 12:29 出处:PConline 作者:oldj 责任编辑:wujinlong

  之前读了方舟子的科普文章《野火烧不尽》,一直觉得很受启发,最近趁着假期空闲,我也用计算机模拟了一下文中介绍的森林大火的实验,见这个链接。

森林大火模拟演示
点击图片开始实验

  实验是这样的:在一片空地上,随机地种上一些树,随着时间的推移,这些树会向周围扩张(周围长出新的树木),也有一定的概率枯死,而枯死的树有一定概率会发生自燃,或者你也可以通过点击地面的某一点丢下一个火种,火焰周围8个格子中的树木(包括枯树和还在生长的树)会被引燃,于是大火便蔓延开来,如果火种周围没有树木,则火焰熄灭。实验就是观察在不同的参数下,枯树自燃或人为引发的森林大火会达到什么样的规模。

  当然,我的实验和方舟子文中介绍的原始实验细节上有一些不同,不过基本思想是一致的。运行的效果绿色的点代表生长中的树木,黄褐色的点代表枯树,红色的点是火焰,黑色及灰色的点是刚被烧过的地方。

  根据《野火烧不尽》的介绍,野火的发生遵循幂律,野火的规模越大,发生的频率就越低。在我的实验中,野火发生的概率是均匀分布的,不过这个概率是一个可调的参数。类似地,我发现,野火发生的概率越高,每次野火的规模就越小,虽然野火总数增加了,但总的来说造成的损失并不大,野火发生的概率越低,每次野火的规模就越大,甚至一次野火就能烧毁整个森林。

  这个结论很容易解释,因为森林中的树木在不断地生长、死亡,如果没有野火,它们将慢慢地密集地布满整个地表,渐渐达到“自组织的临界状态(自身逐渐形成的高度敏感的不稳定状态)”,树木越密集,发生野火时火势就越容易蔓延,造成的损失就会越大。而如果不时地有野火发生,烧掉一些枯树及及密集的地方,使森林保持一定的空隙,这倒反而不会造成太大的损失。

  我们大多数人的观念中,或许都认为森林大火是一件不好的事情,因此一旦发生森林大火,我们就会组织人员前去灭火。但森林大火真的有百害而无一利吗?不是的。事实上,在人类文明出现之前,森林与野火已经共存了几亿年,每年都有无数次森林野火发生,但森林从未被野火完全毁灭,地球上依旧绿意盎然,森林与野火早就已经形成了一种共存的关系。

  原始实验论文中还谈到一个例子:在1972年之前,美国黄石公园对野火采取零容忍政策,一旦发现野火就尽量将其扑灭。这就像是模拟程序中超低的点火频率,也出现了类似的后果:1988年黄石公园突发大火,烧掉了32万公顷的森林,占黄石公园面积的36%。所以据说后来美国林业部门对自然因素引起的野火不再扑灭,只要它不威胁到生命、财产的安全就任其燃烧,林务员还时不时地在严格控制下有选择地放火烧掉一部分森林。

  这一种看似矛盾的共存关系在很多地方都能看得到,比如草原上狼与羊之间的关系。要知道,矛盾总是存在,并且无法避免,迟早总会发生的,与其人为地压制矛盾造成一种表面的和谐,不如尊重一下自然规律,让矛盾不时地小规模地出现、消化。

  另外,方舟子的另一篇科普文章《生物大灭绝为什么反复发生》中提到:“生物灭绝和地震、森林大火、沙堆坍塌一样,发生的频率也遵循幂律”,许多看似复杂的事情背后都有一个简单的幂律,我之前也曾注意到软件的下载量与排名之间也存在幂函数关系,看起来幂律出场的地方之多真是超乎想象。

  最后,再贴一下我做的网页版的森林大火实验的地址。这个程序基于 HTML5 ,只能在比较新的浏览器(如 Firefox、Chrome 等)上运行,建议使用 Chrome 。

  本文转载自:老杰的博客

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品