有人注意到市民似乎不會呼叫最近的服務設施嗎?解釋一下剛剛的發現
我在原本的A區有各式各樣的設施(EX:消防局),後來新建了一個B區,也放了消防局
但A區跟B區還沒用道路連接起來B區就有房屋失火了,此時我看B的消防局還有很多空車
但B消防局並沒有派出車輛就讓房子燒毀了,他們在附近而已
後來A區跟B區連接起來了,又有房子失火了,此時A區消防局有派車來,火也順利撲滅了
,但比較近的B區消防局反而派車去支援A區,A區也有空車阿@@
問題:房子失火時似乎不會呼叫最近的消防局給予服務,似乎是在某個範圍內隨機呼叫的
,也沒有檢驗道路是否有通,這樣在交通順暢的情況下問題不大,但若以剛剛的情況下,
萬一A區塞車的話,B區又要有房子燒毀了,而該房子附近明明就有消防局
以下是假設性問題,字多,可直接end:
若我觀察到的不是偶然而是經常發生的話,我會認為是一個非常小的bug,雖然我們還是
要將設施分散建設,防止該設施群產生過多的車流影響彼此,但當我們希望某個設施
盡量服務附近區域時,就會有問題了
解法也不難:
在呼叫服務的時候從最近的設施開始呼叫就可以了,也許有人會認為這樣會消耗太多運
算資源,但我們可以注意到,建造服務設施時會有綠綠的服務範圍,這個服務範圍根據
官方的說法是有將道路遠近方向大小考慮進去的,這個綠綠的服務範圍運作起來是很順
暢的,顯然演算法不錯,不會增加太多運算量,事實上以我學演算法的經驗來看,在一
個graph裡面找最近的neighbor的確也是很快的
大家有發現嗎?還是只有我而已XD