圖/123RF
文/蘋果
每天起床後最考驗耐心的時刻,絕對是站在電梯門前看著顯示螢幕上的數字緩慢跳動。在多數人看來,電梯像是在四處亂逛,實際上,它冷靜的電腦大腦正在進行一場精密的數學運算。
排程演算 掃描巡視
如果電梯的運作邏輯像排隊結帳,採用「先到先服務」(First-Come,First-Served)原則,整棟大樓很快就會陷入混亂。假設一樓的乘客先按按鈕想去十樓,3秒後九樓有人按鈕想去八樓,接著二樓又有人按鈕想去三樓。而電梯真的照著按鈕順序跑,就得先從一樓直衝十樓,再掉頭回九樓接人送到八樓,接著降回二樓載人去三樓。這種折返跑讓電梯在垂直軌道上來回空跑,馬達過熱耗電,所有人等待的時間加總起來也變成一場災難。
為了解決這個問題,電腦科學家設計了一套「掃描與巡視演算法」(SCAN/LOOK Algorithm)。這套演算法的邏輯很像拿著掃把的清潔人員,既然要掃走廊,就順著同一方向一路把垃圾收齊,不會每看見多了一張紙屑就折返一次。當電梯啟動向上行駛時,系統會鎖定「往上」的行進方向,沿途只管兩件事:車廂內部有人要在前方的上方樓層出去,或者前方樓層正好有乘客同樣按下了「往上」的呼叫鍵。
而最聰明的地方在於轉向的時機,傳統的掃描邏輯會一路開到頂樓才回頭,而現代電梯更常採用靈活的巡視邏輯,只要上方「最後一個請求」處理完畢,確認更高樓層已經沒有任何人需要往上,電梯就會立刻掉頭向下,開始順路接送所有想往下的乘客,省下衝到頂樓的空跑時間。
短暫駐足 高效解答
當大樓裡有多台電梯聯合作業時,背後的控制器更像一個即時交通指揮官。每當有新的樓層請求進來,系統會在幾毫秒內同時比對每台電梯的即時位置、行進方向以及車底感測器測出的載重。某台電梯即使距離目標只有兩層樓,只要它正載著滿滿的乘客朝反方向全速移動,系統就會判定這趟任務成本過高;這時控制器會改派另一台距離稍遠、但正好順路且空間充裕的車廂前來支援。
每一次在電梯前的短暫駐足,眼前那串跳動的數字,其實是演算法在數線與邏輯條件裡,替整棟大樓默默推導出的高效率解答。