[ DATT-A9DARXなまずサラダ味 > 攻略 - A列車で行こう9・Exp. > ニューゲームで試す(マップ一覧) > 地形の特徴・地形の複雑度 ]

小一時間で初心者卒業。6つのシナリオマップを順番に楽しみながら基本をマスターファイナルエディションを超えてゆけ。(初版公開:2018年8月1日、最終更新:2020年9月22日)


地形の特徴・地形の複雑度

公式ガイドブック(全4冊)の「マップ攻略」では、「産業構成比」「都市情報」「資金」「交通施設」と「主な施設」が掲載されているが、地形に関するデータは掲載されていない。ゲーム画面でも地形に関するデータを表示する機能はない。「サテライト」の画像(標高を色分けして示したもの)を見よということである。人の目で画像を見ているだけでは『データ』ではない。ここでは、この「サテライト」の画像をキャプチャ(※Windowsの通常の操作である[Print Screen]キーを使用)して『データ』をつくってみよう。
※諸般の事情により、セーブ・ロードの画面に表示される256×256ピクセルの状態でキャプチャする。「建造物初期化」を実行しておく。


▲スクリーンショットからトリミングして、このようなPNG画像を用意してほしい

heightpixels
2308
22014
21024
20037
19034
18055
170118
160122
150198
140247
130334
120443
110536
100686
90728
80774
70824
60966
501061
401111
301282
201513
101497
032523
-33364
-102099
-201896
-301240
-40728
-50570
-60594
-70804
-809106
  1. 「40m四方」を「1ピクセル」で表現したハイトマップである
    ※「40m四方」の中に、標高を持つ点が「10m」間隔で9個あるうち、「40m四方」ごとに、その中で左上(? あるいは絶対値の最大?)などの代表の1点だけを取って描画されているとみられる
  2. 「高さ」の値は「-80m」から「230m」まである
    ※「サテライト」で描画されるとき「10m」単位に丸められている
  3. 「0m」の地点を「平地」とする
    ※「20m」などの高さで平らな土地があっても、ここでいう「平地」には算入しない
  4. 「平地の輪郭」(「砂浜」)は「平地(%)」に算入し、「水面(%)」には算入しない
    ※プレーヤーがゲーム内で建物を配置するときに、建物の一部が「0m」の地点にかかっていれば「水面」にもかかる位置で配置できることから、このように数えることとした
    ※便宜上、「-3m」という高さの値を持たせた
サンプルデータ
マップコンストラクションで作成したマップの「サテライト」の画像のピクセルの色を読み取って数値化したデータ
その他のマップについてはこちらこちらから

このままでは「サテライト」の画像と同じく、割合(面積)を見て何か言うことしかできない。地形の特徴をあまさず表現する「多変量データ」にしていこう。1つ1つの「変量」は、アンケートの設問のようなものと思ってもよい。「あなたはどんな人ですか」と聞かれても答えに窮すが、具体的な設問が9つあって順番に答えると「こんな人です」ということが浮かび上がるイメージだ。

ここでは「このマップはどんな地形ですか」ということが知りたいので、「サテライト」の画像を人の目で見たときに読み取ることができるさまざまなことがらを、地形データ(ハイトマップ)を使って表現していく。このデータには「平面の座標」と「標高」という、実質的に2種類の情報しか含まれていないので、この情報から言えることだけを言うことになる。


▲色はこちらを参考にした

colorpixels
#58575751827.9%
#87878744206.7%
#b4b4b430104.6%
#dbdcdc3588754.8%平地
#1bacfa793112.1%水面
#1293f9910613.9%

これらを組み合わせ、なるべく重複しないよう考えたのが、以下の9つの変量である。とりうる最大値で割る「正規化」をしておこう。

※すべて文字で書いていることをお許しいただきたい。「/」は割り算の記号である。分数のように見て、「/」の左側を分子、右側を分母と思ってもらいたい。

【注意】このゲームでの「空間」は現実とは異なり、“地球の丸み”がない。現実の地図(地理院地図)やGISとの間でのデータ交換などは行なわせないことを強く推奨する。ここは数学らしく取り組むことに徹し、このゲームでの「空間」の(数学上の)表現に沿って、いわば『このゲーム限りのGIS』を自作するような取り組みをさせたい。その上で、現実の地図やGISにおける実務的な種々の工夫や計算上の注意などにつなげてほしい。

フリーの統計解析環境「R」を用いても算出できるが、ここでは自作のツール「点・望・山(M243-11Y)」および「PAL8-CNV ~ぱるはちこんぶ~」を用いた。

ここで得た「V1」から「V9」までの各変量間における相関係数行列を以下に示す。当然ながら「V7」「V8」「V9」の3変量は互いに相関係数が高い。次に「V2」と「V6」の相関係数が高い「V1」とほかの8変量との間では、極端に低い相関係数は出ない。(「V1」「V5」「V8」の間で互いに相関係数が高いと見ることもできる。)「V7」「V8」「V9」の3変量と、ほかの「V1」を除く5変量との間では、「V5」と「V8」、および「V3」と「V7」の相関係数が高い。一方、「V5」と「V7」の間では相関係数が最も低い

V1V2V3V4V5V6V7V8V9
V11
V2-0.3121
V3-0.3670.1491
V40.485-0.3690.4851
V5-0.603-0.054-0.127-0.5661
V6-0.1910.7690.277-0.113-0.2631
V7-0.246-0.2850.4560.302-0.006-0.2351
V8-0.522-0.0270.226-0.310.554-0.2160.4541
V9-0.425-0.0890.392-0.0180.267-0.2280.8360.8241

次に、「R」の「rpart」を使って「回帰木」を作成した。

「V2」から「V8」までの変量を使って「V1」を説明する回帰分析の結果を「木」のかたちで示したものだ。最下段で8つに分かれる。これを左から(「V1」が小さい順に)「Type A」「Type B」「Type C」「Type D」「Type E」「Type F」「Type G」「Type H」と便宜的に呼ぶこととし、地形の特徴とした。この8つの中では、「V1」が小さい順のほかに順序はない。

「回帰木」は、(1)すでによくわかっているデータ(※1)を使って作成し、(2)よくわからないデータ(※2)が「木」のどこに分類されるかすでによくわかっているデータどれと似ているか)を調べるという使い方をする。
※1 「トレーニングデータ」「正解データ」「教師データ」などと呼ぶ
※2 「テストデータ」「学習に用いないデータ」などと呼ぶ。

ここ(※自作のツール「点・望・山(M243-11Y)」)では、この(1)すでによくわかっているデータとして、このゲームに搭載された機能である「地形の自動生成」を使用して生成した地形データの中から、人の目で見て選んだ20個の地形データを使用した。

※「回帰木」の最下段の通りに並べた。なお、「回帰木」の最下段の枠の中の数字は、そこに分類されたデータにおける「V1の平均」である。「木」のかたちで表示する都合上、「V1」の大小が入れ替わって並んでいる部分もある。

ここで「V1」という変量だけを単独で見ることを地形の複雑度と呼ぶこととした。「V1」の値を対数的に5つの区間に分け、低いほうから「Poor」「Average」「Good」「Excellent」「Too Complicated」というラベル(値の区間の名前)を与えた。

ゲームとしてのプレイアビリティは、地形の複雑度が「Good」なら問題なく、「Excellent」なら特別に優れ、そのほかは「Good」より劣ると判断してよい。「プレイアビリティが低い(線路や建物の配置の自由度がなさすぎるありすぎる)」ということは『難易度が高い』(考えることやすることがたくさんある)ということであり、決して「つまらない」とか「取るに足らない」とは限らない。もちろん、マップのよしあしは地形の特徴と一体で考えるべきもの。地形の特徴地形の複雑度が意味のあるかたちでつりあっていれば楽しいつりあっていなければ楽しくない、と考えるとよい。

地形の
特徴
地形の
複雑度
V1 V2 V3 V4 V5 V6 V7 V8 V9 平地
(%)
水面
(%)
ひしめきMType DGood 0.12 0.05 0.35 0.12 0.31 0.20 0.73 0.16 0.45 32.5 5.4
エアポートMType DGood 0.14 0.08 0.46 0.11 0.31 0 0.38 0.15 0.27 53.3 8.2
あかりMType DAverage 0.06 0.33 0.44 0.04 0.43 0.40 0.39 0.15 0.23 52.2 33.4
メトロポリタンMType DExcellent 0.17 0.06 0.30 0.07 0.24 0.16 0.48 0.15 0.31 55.7 6.1
タ陽MType DPoor 0.04 0.13 0.49 0.05 0.36 0.40 0.53 0.32 0.42 70.8 13.0
エキスパァM.Type EPoor 0.03 0.31 0.29 0.02 0.12 0.52 0.36 0.58 0.44 57.2 31.0
一級河川の川リバーMType DGood 0.12 0.09 0.46 0.14 0.28 0.17 0.51 0.26 0.38 44.0 9.0
ゆだMType DGood 0.13 0.00 0.55 0.22 0.27 0 0.41 0.04 0.23 35.8 0.4
ネオン橋ブリヂMType HGood 0.09 0.05 0.39 0.06 0.46 0.16 0.15 0.13 0.06 68.9 5.0
かまちMType HAverage 0.06 0.02 0.47 0.08 0.62 0.01 0.12 0.07 0.05 70.8 2.3
三日月島MVType DToo
Complicated
0.35 0.33 0.57 0.17 0.08 0.40 0.27 0.19 0.23 20.9 32.6
10ヴォスMType FExcellent 0.17 0.34 0.30 0.03 0.24 0.07 0.04 0.11 0.07 47.8 34.1
ドリームMType APoor 0.04 0.08 0.49 0.03 0.58 0.16 0.29 0.59 0.39 82.9 7.7
マリネ屋MType FAverage 0.06 0.42 0.31 0.01 0.61 0.19 0.21 0.44 0.12 50.7 41.7
スタァライト川崎MType DAverage 0.06 0.01 0.56 0.22 0.14 0.01 0.28 0.16 0.20 40.6 1.0

相違ありません

多変量解析のおもしろさを伝える題材として「卵の形は産む数や環境要因、巣の特徴などと関係がない一方で、「ハンド・ウイング指数」が最も高い、つまり最も効率的に飛べる鳥は、卵の非対称性または楕円率が最も高いことがわかった」(2017年6月27日)がおすすめである。

【豆知識】このページで「回帰木」という呼び方で紹介しているものは「CART法」という名前で発表されたもので、その考案者はのちに「ランダムフォレスト(Random Forest)」を提案している。特定の分野では「決定木」「決定木分析」と呼んできた(すべて手作業で作成する場合すら含む)が、わたしたちがこれから取り組む「理数探求」としては、数学と統計学の諸概念や用語に照らして一般化した呼び方である(応用には踏み込まない)「回帰木」という名前を使うことが強く望まれる。「CART法」は、与えた多変量データを総当たりで調べ尽くしてくれるアルゴリズムである。影響の大きいものだけを選択的に見ていく「変数選択法」による重回帰分析や手作業の混ざる「決定木分析」よりも、はるかにエレガントな方法であるといえる。半端な形ではあるが「ランダムフォレスト(Random Forest)」に通じてゆく、機械学習の入り口と捉えさせるようにしたいものである。よりクラスタリングに片足を乗せた方法として「ID3」「C4.5」の系統があり、その実用性が重宝されているが、折衷的な方法であるので「理数探求」で取り上げるのは妥当でないと考えられる。幾何学へのいざないとしては「最小全域木(MST)」「アルファシェイプ(α-shape)」「凸包(convex hull)」などにつなげられるだろう。


公式ガイドブック対照表

マップコンストラクション


※ゲーム内の地形データの著作権はゲームソフトのメーカーに帰属すると思われます。


All Rights Reserved. ©2018-2020, tht. このサイトについて