- 空潜战(5) [2017/04]
- 对一位妓女的逻辑和心理剖析 [2016/08]
- 韭菜多久才能长粗壮? [2015/04]
- 象拔蚌 [2013/11]
- 如何种好韭菜? [2014/04]
- 如何种好蓝莓? [2015/05]
- 前几年最离奇的空难 [2014/03]
- 如何种葱? [2015/08]
- 诺奖获得者被赶下飞机是歧视吗? [2015/10]
- 决定六四大屠杀的一个版本 [2013/06]
- 徒弟不再认师傅,赵看来是玩完了 [2015/12]
- 布劳恩为何向美军投降? [2014/01]
- 西门庆性交地点的变换 [2015/07]
- 二战时法国女人和德国军人 [2014/11]
- 韭菜的生长特性 [2014/08]
- 中国生产的大飞机,我绝对不坐的 [2015/11]
- 中国社会更安全吗? [2018/04]
- 奥本海默受到的待遇 [2014/11]
- 从俄国拒卖中国战略轰炸机扯起 [2015/09]
- 广场舞兴起的根本原因 [2016/10]
- 对北朝鲜疯子可以这样选择 [2016/02]
- 女人不识路 [2016/08]
- 长春被围后百姓的惨状 [2017/12]
- 气候大会怎么不邀请郎咸平参加? [2015/12]
- 事故是车子没有停定导致的吗? [2016/08]
法布尔的松毛虫圆圈和死循环
法国的法布尔是个昆虫的观察大师,不过,他的生物理论水平很低。他曾经用自己想到的例子,挖苦达尔文的演化论。不过,他实在没有理解达尔文理论的硬核部分。
他有一篇专门描述松毛虫行为的文章。我简单叙述如下。
松毛虫行走时,一定排出单列纵队。最前面的一只是领队的。领队的选取是随机的。每只松毛虫走时吐出很细的丝线,后面的就头顶着前面的尾,沿着地上的丝线行走。就是两只松毛虫也一定遵循同样的规则。只有前面的那只领队的,走时,经常要四处探头,寻找路线,后面的只跟着前面的尾巴就行了。
松毛虫队伍绝对不会原地后转,沿着丝线路往回走。
一天,法布尔在院里花盆下面的一队松毛虫爬上了花盆。法布尔决定作一实验。当松毛虫队伍沿着花盆行走,队伍在沿上形成一个闭合的圆圈时,他用毛刷子把后面多余的毛虫扫掉。这样,每只松毛虫都认为自己不是领队的,紧跟着前面的尾巴前进。
松毛虫的行走规则就是:跟着前面的尾巴,一直前进。
计算机程序中,一个循环程序,如果设定的跳出循环的条件永远无法满足,那么,该循环就永远循环下去,没有停止的可能。俺曾故意编造了这样的程序,为了显示程序在运行,比方设计其运行结果是要输出某种数值,一运行该程序,发现计算机显示屏上,数据一闪而过,像流水一样,飞速前进,永无止境。这就是计算机进入了死循环的结果。要想停止该程序的运行,必须强制中断运行,就是“杀死”该程序。
那么,松毛虫的死循环会怎样结束?
松毛虫队伍第一天里走了十几个小时,不停止。晚上,温度低,松毛虫累了,时走时停。最后,卷曲了身子,停下取暖。第二天,温度上升了,松毛虫队伍再次转圆圈。
第三天,松毛虫和第二天一样转圆圈。不过,晚间很冷,盆沿上的毛虫分成两堆,挤在一起取暖。
第四天,几乎还是一样的。
后来的一天,晚间很冷,松毛虫挤在一起,有几只被挤出了花盆沿。那几只跟着一位新领袖,下去了。余下的毛虫,仍然在转圆圈。因为少了7只毛虫,毛虫队伍在花盆沿上不再是一个圆圈,有了缺口。这样,毛虫队伍就有了一个领队的。
在实验的第八天,天气很热,毛虫队伍在领队的带领下,离开了那条丝线圆圈,下到了盆底下。最后,回到了毛虫巢里。
毛虫不是机器,总会打破规则,最后才冲破了死循环,回到了家里。
法布尔估算了一下,那队松毛虫大概共走了48小时,行进了250米左右。不过,他的实验也证实了,毛虫在8天的时间里,没有吃任何食物和水,也没有饿死。
计算机进入了死循环后,永远运行,最后的结果会怎样?应当是在相当的长的时间里,某部分硬件坏掉,程序停止。或者,硬件没坏,但程序自己瘫痪了。
/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}