元包自动机(Cellular Automata)这里就不介绍了,可以在我的其他博文中了解到,有兴趣的朋友也可以去百度一切。这里利用元包自动机进行森林火灾蔓延模拟,当然这肯定不是基于物理的模拟了。最简单的基于元包自动机的森林火灾模型(Cellular Automata Forest Fire Model)大家可以在这个网站 Cellular Automata Forest Fire Model 了解到,作者用Java写了小程序进行模拟。
森林火灾模型介绍(The rules of Cellular Automata Forest Fire Model):
- 燃烧的树(红色格子)会在下一步变成空地(白色格子)。A burning tree (red cell) becomes an empty site (white cell)。
- 如果一颗非燃烧的树(绿色格子)周围有树燃烧,那么它会在下一步变成燃烧的树(白色格子)。A tree (green cell) becomes a burning tree (white cell) if at least one of its nearest neighbors is burning.
- 一片空地(白色格子)以概率 pGrowth 变成树木(绿色格子)。At an empty site (brown cell), a tree grows with probability pGrowth .
- 如果非燃烧的树(绿色格子)周围不存在树燃烧,那么它将以 pLightening 的概率遭受雷击( lightening strike)并变成一颗燃烧的树(红色格子)。A tree without a burning nearest neighbor becomes a burning tree with probability pLightening (e.g. lightening strike).
根据以上规则,编写小程序(Following the above principle, we can programme the Cellular Automata Forest Fire Model ):
说明 (Help):
- pGrowth = 0.02 ; pLightening = 0.00006;
- 鼠标/空格键 停止或者开始。(Press SPACE BAR / Click Mouse to pause or to begin.)
- 键盘”R”键 重新随机生成生命。(Press R to randomly reset the state of all the cells.)
- 红色表示新增加的生命。(Red Cell means the cell is born.)
参考(Reference):
下载(Download ):
PS.
- 可以发现,在一开始,树木(绿色)疯狂的生长。过一段时间后,由于雷电的打击,导致火灾发生。火灾会迅速蔓延,并将树木成群燃烧掉。火灾过后,新的树木又会生长出来。(At the start of this model, you will see trees growing uncontrollably. After a while, lightening strikes will start fires. The fires will spread, destroying trees in big swaths. Behind the fires, new trees will grow up again.)
他的意义是什么?有力学意义吗
你说一下,人生的意义是什么?