枝掘
ブランチマイニングって効率がいいとよく言うけど
何の効率がいいのかと常々疑問に思っていた
効率
たとえば「密度」にはいろいろある
個数密度は単位体積当たりの数を表すし
質量密度は単位体積当たりの質量を表す
まあ普段密度といったら質量密度のことだろうが
実はこのようにいろいろある
では「効率」はなんだろう
単位コスト当たりの効果、リターンのことかな
Minecraftの中の採掘作業におけるコストを挙げてみる
時間
空間
採掘ブロック数∝消費つるはし数∝消費資源数
時間は言うまでもなく削減したい
採掘が楽しくてやっているんだ!という人は別にどんな掘り方をしても楽しさは変わらないだろうが
空間
これは読み込みチャンクを余り広げないためになるべく小さくしたい
ここで私が言う「空間」は、採掘した空洞の数ではなく、空洞全体のさしわたしの大きさであるとする
さしわたしの大きさが減少すると、平均的には移動時間も削減される
採掘ブロック数
これが多いと、せっかく発見して採掘した資源もトータルでみると目減りしてしまう
一番計算しやすく、一番経済的にとっつきやすいのがこれだろう
今回はこれを軸にして考えてみる
リターンが「得られる資源数」であることは言うまでもない
ではブランチマイニングのときどう振る舞うか
掘っていて壁に露出した資源を採掘することが合理的であることは自明だから
露出する壁の数を考えてみる
e = (露出する壁の数)/(採掘ブロック数)
とする
これが今回考える「効率」である
たとえば一本の通路を掘っているとする
ただただ掘るだけなら、e = 3である
なぜなら2マスの空洞に対して上下左右に6マスの露出があるから
そこで壁を2マス掘ってみよう
空洞の変化量は+2であるのに対し,
露出しているブロックの変化量は+2である
あれれ、おかしいな
効率が悪くなっている
角のところが重なっているので、露出数が思ったより増えない
もう2マス奥に掘ってみると
空洞の変化量は+2
露出しているブロックの変化量は+6
普通になった
このまままっすぐ行けばe = 3に漸近する
このことから、eは曲がれば曲がるほど小さくなるという特徴がある
じゃあずっと直進すればいっか…
まてまて、よく見るのは「ブランチ」マイニングだろう
曲がりまくっている
皆のするブランチマイニングはこの採掘ブロック数効率を少し犠牲にしながら、
空間、及び時間効率を高めていると言えるのではないか
結局、ブランチマイニングをすれば採掘ブロック数効率の低下を無視できるくらい時間効率を上げられる
採掘するブロックの数が多少増えて排出する丸石の数が増えようとも、皆時間が大事なのだ
まあゲームだし当然といえば当然
掘る数が増えても手は疲れないからね
今日の画像
零