2019年9月16日 星期一

【什麼啦!這也是資訊科學】番外篇之從排隊策略看資訊科學

電腦的中央處理器(CPU)在面對同時執行許多程式的時候,需要良好的「排程(Scheduling)」方式,讓它的效能能夠因此而提升,在資訊科學的專業領域被稱為提高CPU的「輪流循環(I/O burst)」,也就是設法提升流量(throughput)、降低等候時間(waiting time)的概念。(寫這些看起來很厲害的名詞時候一定要同時寫中、英文才能表示出專業的氣息)

這件事情延伸到現實生活中,可以對照在商場排隊結帳時的狀況。一般來說,櫃檯採取的是「先來先結帳(First In First Serve)」策略,看起來沒什麼大問題也很合乎思考邏輯的方法,如果有個櫃檯出現同時要結帳大量商品的客人,就會讓那一列的客人陷入比預期中還要久的等待

(我明明前面只排兩個人,等了半小時。旁邊那一列已經結了十個人了,我要不要換一列然後重新排啊…)






比較大的賣場,可能會出現「快速通道」的結帳策略應用,讓結帳商品量小的客人因此可以省掉過多的等待時間,這個方法稱為「優先佇列排隊(Priority Queue)」。

(其實,反過來設定「量大專用通道」也是可以啦,只是一般市民對於何謂「量大」的解讀,不見得跟你我一樣就是了…)








還有一種「循環制排隊法(Round Robin)」,如果結帳的量超過一個程度,就只能先結清部份商品,然後你必須帶著剩下的東西,回到隊伍最後方重新再排一次。如果你今天正在排隊購買好吃又熱門的包子,店家會要求一個人能夠買的份量,不然有可能所有的量就被一個人給買光光了。只是,在商場買家用品採用這種排隊策略會容易被認為「違反人性」,想想,問題究竟出在哪裡?






[延伸閱讀 - 全聯結帳「慢慢蛇」? 網秒指:三寶客人害的]
https://news.tvbs.com.tw/life/1200668