なんやかんや3記事目になりましたlocality_factorの挙動についてですが、ほんとうは今回で最後にするつもりだったのですが、まだ足りないためもう1回くらい続きそうです。
前回までの記事のリンクをとりあえず貼っておきますのでまだ見てない方はそちらから先に読むといいと思います。
今回はより実践的に一直線上に都市を配置するのではなく平面上に都市を配置した場合にどうなるのかというのを中心に検証していきます。
恒例となりつつある今回のマップですが、これです。
670四方くらいのマップに60×60の格子状の道路を作り、その交点付近におなじみの都市を建設してその旅客の湧き具合を観察していきます。
ちなみに都市の間隔は60マス、13×13の碁盤の目を作り、都市の総数は169都市です。
これを作るのが面倒くさくて時間がかかりました。
これでもふた昔前の大きいマップ程度のサイズ感ですが、これ以上大きな検証用のマップを作るのもまた酷なので。
今回の記事のグラフはマップ端の都市における客の湧き方と中央の都市における客の湧き方を観察する手前、グラフは座標系で作成しています。
今回も乗り物をルートなしにして駅に客を貯めてたまった客の量をグラフ化しました。
早速ですがグラフをぺたぺた貼っていきます。
locality_factor=1のときは同一都市内での移動が圧倒的に多いのは前回の記事の通りですが、都市の数が多いのでその比率は下がっているように思えます。
この二つのグラフから見てわかるように、locality_factorが距離に与える影響はマンハッタン距離ではなく直線距離であることがわかると思います。
続いてlocality_factorを48(マップの対角距離の5%)に設定します。
まぁ、こんな感じになっています。
続いて84(対角距離の10%)にします。
基本的に多少のばらつきがあるものの概ね前回の記事のグラフを回転体にしたようなグラフとなっています。
さて、問題はここからでlocality_factor=210にしたときのグラフを見ればわかると思います。
210に設定したとき、なぜか四隅の都市への旅客発生が異常に多くなりました。
またこのときのマップ中央の都市からの旅客発生ですが、特定の都市への旅客が発生しない状況となり、中央からの旅客発生のグラフが作成できない状態となりました。
いろいろ原因を調べたかったのですが、よくわかりません。
対角距離の15%~30%程度の値を入れると端からの旅客発生に対しては四隅の都市に集中する傾向にあり、中央都市からの旅客発生はそれ以上の値にすると同様の症状となりました。(たぶんマップ内全体の人口が多すぎるせいなんじゃないかと思いますが…)
参考としてlocality_factor=300のデータも載せておきます。
よくわかりませんが謎の壁になっています。
最後に420(対角距離の50%)です。
相変わらず壁はありますが、概ね前回の記事の旅客発生を0,0座標を軸に回転させたらこんな感じになるんじゃないでしょうか。
そんな感じで今回の検証をしましたが、わかったこととしてはlocality_factorが旅客発生に及ぼす距離としてはマンハッタン距離ではなく直線距離だということです。
あともう1回くらいはlocality_factorと戯れることになりそうです。