这是千万年自然选择的结果,没有学会在环境噪音衰减时闭嘴的人,在自然界已经被淘汰掉了。
在森林里,鸟类的声音就是环境噪音,也是天然的警报器。当有很多鸟叫的时候就说明没有风险,当鸟叫减少时,意味着鸟发现了危险动物,就是需要警觉的时候。所有动物都会提高警觉,不出声音。只有当鸟叫重新开始时,警报才会解除。
其实不论是鸟叫、虫鸣还是蛙鸣,都是为了求偶,在不得已的情况下进行的危险行为,因为这暴露了自己的位置,很容易被天敌发现(小时候就是这么抓蟋蟀的,嗯《三体》也说过!)。但是,如果不叫,雌性也发现不了雄性,连交配的机会都没有,祖传的DNA怎么送给异性啊!既要传宗接代,又要保护自己,只能有一个办法,就是一方面扯破嗓子呼叫雌性,另一方面竖起耳朵警觉任何潜在的危险,有危险先保命,马上闭嘴。
所以我们喜欢听小鸟的叫声,因为那会给你带来安全感,你可以把紧绷的神经放松下来。我们的猿类祖先最喜欢的事情,可能就是在鸟叫声中睡大觉。最焦虑的事情就是周围没有任何鸟叫,因为危险正在靠近。
经过几千万年的自然选择,对环境噪音衰减越敏感的生物,存活和交配成功性越大,这种本能也就在DNA中保留下来,逐渐成为大脑中的预警机制。
教室里嘈杂声就是环境噪音,大量的环境噪音预示着安全。当嘈杂声减弱时,大家开始警觉,闭嘴,观察,这都是大脑深处的预警机制开始起作用,不是你的意识能控制的。
当有人说“好安静时”,大家发现没有危险,警报解除,就又开始讲话了。
这也是为什么很多轻音乐里会加入鸟叫的原因,因为会让你有安全感,可以放松。
这个问题其实很好,说明提问者还有好奇心,不会对问题视而不见。
补充,推荐Dan Gibson(丹·吉布森)的森林鸟鸣的轻音乐专辑。
可以有效缓解压力、改善心情,适合在工作时听,不干扰思路。
《
Solitudes.Whispering.Woods》
全体的突然的沉默必然与「沉默」这个信息的传递有关。即使个人有「在周遭安静之时同样保持安静」的行为模式,也需要考虑整体的行为。
这里我基于「生命游戏(
Conway's Game of Life)」构造了一个简化模型,在参数适当的时候,是可以出现「突然安静」的行为的。
图1:一个正在演化的生命游戏
生命游戏中,对于任意细胞,规则如下:
每个细胞有两种状态-存活或死亡,每个细胞与以自身为中心的周围八格细胞产生互动。(如图,黑色为存活,白色为死亡)
- 当前细胞为存活状态时,当周围低于2个(不包含2个)存活细胞时, 该细胞变成死亡状态。(模拟生命数量稀少)
- 当前细胞为存活状态时,当周围有2个或3个存活细胞时, 该细胞保持原样。
- 当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态。(模拟生命数量过多)
- 当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。 (模拟繁殖)
(以上摘自:
https:// zh.wikipedia.org/wiki/% E5%BA%B7%E5%A8%81%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F)
这里我增加了一个行为:随机地变化,即人可能随机地从安静的状态变到说话,也可能从说话的状态变为安静的状态。设这个概率为
。
为什么要用生命游戏作为基础模型呢?因为如果仔细思考,会发现这个规则与人说话的行为很相似:周围说话的人少时,讨论很可能无法长久;而人太多时,会插不上嘴。人适当的时候,会激励周围的人加入讨论。
我用一个50x50的网格来表示一个班级,其中每个格子有两个状态:0或1。0代表安静、1代表说话。用格子中1的数目表示当前声响的大小。
我对这个模型进行了10000次迭代,果然出现了「突然安静」现象:
此时,
.
可以看到,在大约t=4500时,声响突然地几乎降到了0,而后又上升到了平均水平。在对数坐标下看的更加清晰(其实也更加合理):
几乎毫无预兆。
我试验了十次,大的安静间隙出现了三次,而小的安静间隙几乎每次都出现过。
----------
当然啦,这个模型还是有缺陷的,比如这里「安静」这个信号的传递距离是非常短的,和实际不太符合。以及人似乎应当对「声音的变化程度」更加敏感。不过即使忽略了这两个问题,依旧有这些现象,倒是挺有意思的。
——————
代码:
GameOfLife = { 224 , { 2 , {{ 2 , 2 , 2 }, { 2 , 1 , 2 }, { 2 , 2 , 2 }}}, { 1 , 1 }}; start = RandomChoice [{ 9 , 1 } -> { 0 , 1 }, { 50 , 50 }]; iteration [ m_ , p_ ] := CellularAutomaton [ GameOfLife ][ Mod [ m + RandomChoice [{ 1 - p , p } -> { 0 , 1 }, { 50 , 50 }], 2 ]] slist = {}; p = 0.007 ; n = 10000 ; Module [{ m = start , m2 }, Do [ m2 = iteration [ m , p ]; slist = slist ~ Join ~ { Total @ Flatten @ m2 }; m = m2 ;, { n } ] ] ListPlot [ slist , AxesLabel -> { t , sound }]