這個問題挺有意思的,可以用一個很簡單的模型來解釋這個問題。這個模型非常簡單,雖然沒有考慮任何的「心理」因素,只是純粹從物理的角度去考慮,得到的結果就已經非常穩定了。最近在準備一個小小的演講,其中就包括這個問題。
首先展示結果。統計的結果如下圖所示,我們可以給出所有位置上站人的統計計數。下圖是一個 6 人電梯,電梯是正方形的,邊長為 1 ,每個人看成一個圓盤,我們關注圓盤的圓心的座標,圓盤的半徑為 0.12,兩個人的距離因此至少要大於 0.24。換句話説,如果把人擠到一條邊上去,這個電梯一列最多站 4 人,這與我們通常見到的電梯比較相似。我們來統計圓心位置的分佈,我們一共採樣了十萬個可能的構象,最終統計的結果如下圖所示。在實際生活中,圖中紅、黃、綠色的區域即為最可能被人佔據的位置。
可以發現,一個「隨機」分佈的程序,最後得到的結果卻並不是均勻分佈的,得到了一個像「電子雲」一樣的概率分佈圖。在四個角上,出現了明顯的「熱點區域」,即大家傾向於往四個角去站。除此之外,每條邊的中心和整個電梯的中心也是「熱點區域」。至於邊界上的那些區域,則是因為人的體積因此「圓心」無法進入的區域,所以那些計數為 0。
理解這個現象其實並不難,用普通人能聽懂的話來解釋就是:只有有人站到邊角上去,我們「隨機」產生的構象才可能合法。我們平時的一些行為也正是為了讓更多人能站進電梯,所以我們會自動地站到邊角上去。用物理學的語言來描述:正如前面提到的,在電梯的四邊上出現了「禁戒區」,在我們每個人的附近也有這樣的禁戒區,其他人(的圓心)無法站到距離我們自己(的圓心)距離小於兩倍半徑的區域內。系統為了容納其它的粒子,讓這些禁戒區儘可能重疊會是一個比較好的方案。因此,雖然只是隨機產生大量構象,但是人與電梯的角、邊之間產生了一種等效的相互作用。這種相互作用是一種「熵力」,名叫「排空力」。
接下來是關於具體方案的一些討論:
我們首先馬上就來考慮某種「最優」的佔據方案,而是首先把人來「隨機」放置到電梯內,這裏的「人」我們將其抽象為「圓盤」。我們期待生成這樣一系列的合法的「隨機」的排布方式(如下圖):
我們這裏討論的「隨機」的時候,其實有兩種方案:
方案一(進電梯式):
在電梯中新引入一人,座標隨機放置。
如果新引入者與之前其他人的座標不衝突(不產生交疊),則引進下一個。
繼續引入,判斷衝突,直到需要引入的 N 人全部進入電梯。
方案二(真·隨機式):
隨機引入 N 人,座標隨機放置,生成一組完整的構象。
如果 N 人的座標中存在任意一對座標衝突,則認定該組構象不合法,重新放置全部 N 人的座標直到全部合法為止。
這兩種方案看起來都是「隨機」,但是本質非常不同。方案一把這個概率拆成了一系列條件概率的乘積,這一乘積與方案二的「真·隨機」方式通常並不等價。方案一在新引入一個人的時候,最終是否接受該位置,完全取決於前面幾個人留下了多少的空位。如果前面幾個人站位非常變態,且不會對其位置進行調整(方案一中沒有對之前產生的座標的調整)的情況下,下一個人可能根本沒法進入電梯,這是非常低效的,因此,如果依然對方案一戀戀不捨,那麼就需要引入先進入電梯者位置的調整,這可能會涉及到對人類行為比較複雜的建模(包括人與人之間的排斥)。因此,為了簡化,我們不考慮人與人之間的相互作用,直接用方案二來產生大量的合法的排布構象,然後進行一個簡單的統計,看看大家最可能站在哪些位置上、是不是某些位置上出現的概率更大。
有興趣的朋友可以下載我寫的 Python 程序,修改電梯的邊長、人的等效半徑、採樣次數等參數對這一問題進行研究,這個程序可以間隔若干步生成一系列合法的構象、並統計生成 2D 的熱度圖。