見出し画像

ゾンビ論文レビュー「人間vsゾンビ」 閉鎖空間におけるゾンビ・パンデミックシミュレーション

この記事ではJuan P. Orianaらによる、閉鎖空間で人間たちがゾンビから逃げる様子をシミュレーションした、"Simulation Pedestrian Avoidance: The Humans vs Zombies Scenario"を解説する。

現段階ではarXivにしか掲載されていないが、何かしらの学術雑誌に掲載された際には情報を更新する。

なお、使用される動画は論文に示された補足資料である。youtubeにアップされているだけなので、そのうち消えるかもしれない。


概要

この論文では、点で表した人間とゾンビを円形の閉鎖空間に入れて、あるアルゴリズムに従って動きを制御することで、ゾンビ・パンデミックシミュレーションを行っている。

まず、人間は次の三つのルールに従って動く。①最も近い人間から離れようとする。②最も近いゾンビから逃げる。③壁にぶつからないようにする。次に、ゾンビはたった一つのルールに従って動く。①最も近い人間を追いかける。

なお、人間同士がぶつかったかゾンビが人間を捕まえた場合には、それぞれが一時停止してから初速ゼロで歩き出すことになっている。もちろん、捕まった人間はゾンビに変化した後で歩き出す。

以上のルールで、人間の初期総数とゾンビの最大歩き速度を変更しながらシミュレーションを行った。すると、ゾンビと人間の最大歩き速度が同じ場合でも、ゾンビは必ず人間に追いつき、人間を滅ぼすことができる。人間の数が増える(=人口密度が高まる)、あるいはゾンビの方が速いほどその傾向は高まる。

しかし、ゾンビが一体から二体に増えて同じ人間を追いかけ始める場合に限り、互いにぶつかり合うために一生追いつくことはない。つまり、人間が滅ぶこともない。ただし、人間の数が増えると人間がぶつかりあって速度がリセットされるし、ゾンビの最大歩き速度が速くなるとぶつかりながらも追いつきやすくなるため、人間が滅ぶ頻度が増える。


詳細

はじめに

この論文には、歩行者をシミュレーションで再現するためにはどのようなモデルが考えられるか?という背景・目的があり、先行研究も豊富に存在する。そのモデルは専ら歩行者同士が衝突を回避するためのアルゴリズム作成を目的としており、衝突回避のシミュレーションを行う環境の一例としてのみ人間とゾンビのいる世界を想定している。ゆえにタイトルに"Simulating Pedestrian Avoidance"(歩行者の回避シミュレーション)と入っているのである。

私はこの論文を「本物のゾンビを扱う(と仮定しても矛盾しない)論文」と定義した。なぜなら、シミュレーション内の世界においてゾンビと人間は仮想的にでも同等の存在として扱われており、その世界においてはゾンビが偽物か本物か区別できないからである。あるいは、仮想世界が現実世界の写像であることから逆算して、現実世界にもゾンビが存在してもおかしくないと言っても良いかもしれない。つまり、この論文において仮想世界におけるゾンビがごく単純なモデルで記述されているのは、現実のゾンビが有する様々なパラメータをそぎ落とした写像だからである、ということだ。

と、難しく書いてみたが、私が「本物のゾンビを扱う論文」と定義する理由をちょっとだけもっともらしく書いてみたかっただけだ。「私はゾンビ・パンデミックシミュレーションの論文を本物のゾンビを扱う論文として認識していますよ」と理解していただければよい。


人間とゾンビのモデリング

人間とゾンビは次のようにモデリングされる。なお、以下「歩行者」という単語を使った場合は、人間とゾンビを一緒くたに指していると理解していただきたい。

人間とゾンビの歩行者モデル

まず歩行者は次の三つのルールを有する。この論文が衝突回避をテーマにしていると分かっていれば飲み込めるルールだろう。

  1. 最大歩き速度が定義されている。言い換えると、歩く速度に上限がある。

  2. 歩行者同士がぶつかった際、速度はゼロになる。

  3. 歩行者同士がぶつかった後、互いに逆方向に歩き出す。

次に、人間は追加で三つのルールを有する。1と3はゾンビの有無に関わらず設定すべきルールで、2はシミュレーションにゾンビを導入したがために設定されたルールと言える。

  1. 一番近い人間から遠ざかる。衝突を避けるため。

  2. 一番近いゾンビから遠ざかる。ゾンビに噛まれないようにするため。

  3. 壁から遠ざかる。これも衝突を避けるため。

各ルールを受けて人間がどの方向に動くかは上図にまとめた通りだが、まず各ルールがシミュレーションの演算に与える影響を「遠ざかりたい気持ち」とでも呼んでおくと、遠ざかりたい気持ちは対象に近づくほど大きくなり、その大きさも対象が何であるかに依存する。論文内では具体的な数式で示されおり、それをグラフ化すると下図のようになる。

人間が有するルール

たとえば、一直線上に2mおきに人間、人間、ゾンビの順番で並んでいたとする。このとき、上図より遠ざかりたい気持ちはそれぞれ約0.5と約5となりゾンビから遠ざかりたい気持ちが勝つ。したがって、真ん中の人間は人間の方向に進むことを選択する。一直線上に並ばない場合は中学理科の力の合成よろしくベクトル合成によって進むべき方向が決まる。

また、基本的にゾンビ、壁、人間の順番で距離を置きたがるという設定になっているが、これはゾンビにぶつかれば感染、壁にぶつかれば痛い、人間にぶつかっても大したことがないと考えれば、妥当な設定と言える。

次にゾンビだが、追加ルールはひとつしかない。まあ、ゾンビなので。

  1. 最も近い人間を追いかける。

ゾンビは壁やほかのゾンビにぶつかりそうでも気にしない、ということになる。これがシミュレーションにどう影響してくるかは、結果の段でわかる。

そのほかにも細かい条件はあるが、私はゾンビと人間のモデルに注目したいので、割愛する。ただし、ゾンビと人間の最大歩き速度は言及がない場合どちらも4m/sである。


結果① 人間とゾンビが一人ずつ

最も簡単な条件でのシミュレーションは人間とゾンビが一人ずつの場合である。この条件では、下の動画の通りゾンビが人間に追いつくことでシミュレーションは完了した。なお、黄色い点がゾンビ、青い点が人間を表している。

なぜ最大速度が同じにもかかわらずゾンビが人間に追いつけたかというと、シミュレーション上ではゾンビの追跡機能が非常に正確であったために人間よりもちょっとだけインをとって追いかけることができたからである。上の動画では同じ円周軌道を通っているように見えるところ、その実、ゾンビはちょっとだけ人間よりも小さな円周軌道を通っているのである。

よって、一人のゾンビが一人の人間を追いかけるとき、必ず追いつくことができる。これが最も単純な条件の結論である。


結果② 人間が二人とゾンビが一人

次に単純なモデルは人間を一人増やしただけのこのモデルだが、この場合は片方の人間は生き延びることもある。とはいえ、永遠に歩き続けなければならない状況を生存可能と呼べるのはシミュレーションの中だけなのだが。

動画を見ればわかるように、人間の片方がゾンビに追いつかれてゾンビになったあと、二人になったゾンビは残り一人を追いかけ始めるが、互いにぶつかり合ってその都度速度がリセットされてしまう(歩行者ルール2による)。

したがって、いくら人間よりもインをとろうが永遠に追いつくことはない。二人のゾンビが一人の人間を追いかけるとき、追いつくことはないのだ。これを論文中では"Convergent Pursuit"(収束的追跡)と呼んでいる。逆に、別々のゾンビを追いかけることは"Divergent Pursuit"(発散的追跡)である。


結果③ 人間がたくさんとゾンビが一人

結果①と②より、人間が何人いようと必ずゾンビは二人になり、そのあと同じ人間を追いかけ始めるとそれ以上感染は進まないことが予想される。二人のゾンビには一人の人間しか見えていないため、ほかにたくさん人間がいようと状況は結果②と変わらないからだ。

では別々の人間を追いかけ始めた場合、ちゃんと人間を滅ぼしてくれるのだろうか。一例を下に示す。人間が40人いた場合のシミュレーションだ。

期待通り、別々の人間をねらった二人のゾンビは次々と感染を広げ、一分足らずの間に完全に人間を滅ぼしてくれた。

ただし、「一例」と言った通り、同じ条件で何回もシミュレーションをしてみると毎回人間が滅ぶわけではない。40人で始めた際の人間が滅ぶ可能性は、おおむね50%であるという。

また、人数が増えるほど滅ぶ可能性は高まる。理由は二つあり、まず人数が多いと発散的追跡が生じやすくなるからだ。追いかける候補が多いため、共通する一人を追いかけ始めるケースが少なくなるのだろう。次に、人数が多いほど人間同士の接触が増え、その都度速度がリセットされるため、ゾンビが簡単に人間に追いつけるようになるからだ。また、その頻度があまりに高いと収束的追跡が生じた場合でも追いつけるようになる。

さらに、ゾンビの最大歩き速度が人間のよりも小さい場合も検討している。人間の滅ぶシナリオの検討に余念のない、なんて親切な調査なのだろうか。その調査によれば、当然ながらゾンビが遅い方が人間は滅びにくい。具体的には、人間の最大歩き速度を4.0m/sで固定すると、ゾンビが3.8m/sのとき破滅のシナリオが起きる確率は最小で25%と小さく、4.2m/sのとき75%まで上昇するという。もちろん人数が増えるとほぼ100%になる。


総論

以上のように、この論文で設定された閉鎖空間においては、人間とゾンビの歩き速度の大小と人間の総数によって人間の生存可能性が決定される。論文中ではもう少し詳しく、ゾンビの最大歩き速度と人間の総数に依存して人間が滅びるまでに必要な時間が変わるということも突き止めている。

また、人間の総数が歩行者の実際の歩き速度(最大歩き速度ではない)に与える影響も調べている。簡単に言えば、人間が40人までならば最大歩き速度の4m/sで歩けるが、それを超えると段々と下がっていき、60人を超えると平均で2m/sも出せないという。もちろん人数が多いと何度のぶつかって速度がリセットされるからだ。おそらく、この結論が本来のシミュレーションの目的なのだろう。

まとめると、この論文はゾンビの最大歩き速度と人間の総数をパラメータとして、シミュレーション終了時の歩行者に対するゾンビの割合、ゾンビが100%になるまでにかかった時間、歩行者の実際の歩き速度の三点を調査したのである。あるいはこの三点を、人間が滅びるかどうか、滅びた場合にかかった時間、なぜ滅びることになったかと言い換えても良いはずだ。


最後に

上述の通り、この論文の主眼は歩行者が接触を避けるためのモデル作成にある。ただ、歩行者ルール三つと人間のルール三つからゾンビに関するものを抜いた場合を考えると、シミュレーションの最適解はその場に留まり続けることになる。ゾンビを導入することで、その均衡が破られる。つまるところ、歩行者に目的を持って歩かせるための方便がゾンビだったのだろう。

ただし以下の通り、ゾンビについて学べることも多々ある。多少無理やりであることは承知の上だ。

まず、この論文は歩行者や地形を単純化して作ったモデルである。ゆえに「人間とゾンビを円形の閉鎖空間に入れると、ある条件では人間は生き残りました!(永遠に歩き続ける必要あり)」という結論が得られるのだが、そんな情報がゾンビ・アポカリプスを生き残るのに有用であるわけがない。コロッセオで奴隷を戦わせる有力者だったら手をたたいて喜ぶかもしれないが。

私が何を指摘したいかというと、歩き速度が同じである限り、円形の閉鎖空間でさえなければ人間はゾンビに捕まらないのだ。なぜならゾンビが最適なインをとることが捕まる条件だったからだ。たとえば、永遠に続く一直線上の道ではゾンビはインをとることができないし、曲がり角を設定するとゾンビが壁にぶつかってしまうために最適なインを取り続けることができない。そのほか、様々な設定でゾンビが人間に追いつけないシチュエーションを作ることができる。

ただし、永遠に歩き速度が同じであるという仮定が成り立つはずもない。ゾンビの体力は無尽蔵かもしれないが、実際の人間の体力には限界があるからだ。しかも限界を迎えたら必ず立ち止まって休憩をとる必要がある。よって、「このシミュレーションには〇〇というリアリティが足りない。だからゾンビは人間に追いつけないという結果が妥当」と批判しても、さらに上のリアリティを被せることによって帳消しにできる。そしてリアリティを被せ続けるとシミュレーションは行き詰まり、妄想を根拠にした言い合いが始まってしまう

したがって、「このモデルが満たされる状況が存在するか?シミュレーション結果からその状況における学びはあるか?」と考える必要がある。

学びとして真っ先に上げたいのは、密閉空間にゾンビと一緒に閉じ込められ、逃げるしか選択肢がない場合は助からない、ということだ。当たり前のことではあるが、その当たり前が単純なモデルで確かめられた成果は大きい。なぜなら、次に調べるべきが「モデルにどんな条件を追加すれば助かることができるのか?」と一本道になるからだ。といっても、最も単純な条件と言えばゾンビを破壊することなのだが。つまり、標準的なSZRモデルの適用である。

もしも私が条件を付け加えるならば、ゾンビを破壊するための条件を付け加えたい。ほかの条件はこのままにして、たとえば人間がゾンビの後ろから接触した場合はゾンビが動かない死体に変化する、というような。動かない死体は、きっと誰も近づきたくないだろうから壁と同じ設定にしておくのが自然だろう。そうなると、人間がゾンビを破壊するたびに逃走ルートが絞られていく。人間有利な条件にはならないはずだ。

ただ、ゾンビを人間に置き換えて考えればわかるが、後ろからこっそり近づいた程度で破壊できるわけもない。そこで、パラメータに「ゾンビを破壊するために必要な人間」も設定する。ゾンビの進行方向とは別の方向からゾンビに二人近づいたら、ゾンビを破壊できる。ゾンビは最も近い人間を追いかける条件があるため、誰かは犠牲になるだろう。これを三人四人と増やしていくと、ゾンビを破壊する最適な人数が見えてくるはずだ。

そういうものを機械学習?とかで学ばせるのも面白いと思うが、難点が二つある。一つ目は、ゾンビから逃げる人間にどうやってゾンビに近づくための条件設定を施すのか、だ。たとえば、ゾンビから一定以上の距離にいる人間を「勇気ある者」に変化させて、一定時間はゾンビの後ろをとるようにモデリングするとか?いや、なんとなくしっくりこない。二つ目は、そもそも今の私にはそんなスキルがないことだ。だから勉強中ではあるのだが…。

また、ゾンビが互いに接触すると停止して人間に追いつくことができないという結果は非常に興味深い。「接触して停止」というのは、例えば「接触してコケる」とでも言い換えられるだろうか。いわゆる「走るゾンビ」に追われる人間というのは映画でよく見る展開であるが、人間もゾンビも接触してコケることは滅多にない。そんな描写は興ざめだからだ。しかし今回のシミュレーションでは人口密度が高まると人間もゾンビもコケる頻度が増えることを示した。ならば、不利なのはゾンビの方だ。一応人間は互いに距離を取り合うことができるが、ゾンビは新鮮な獲物をめがけて走るのみだ。彼らが互いを鑑みずに滅茶苦茶に走れば、接触転倒が増えて段々と数を減らすだろう。

余談だが、ゾンビの密度に注目した作品と言えば映画版の『ワールドウォーZ』だ。獲物しか見えないゾンビたちが壁の向こうから聞こえる音楽に飛びつき、積み重なって巨大な壁を超えるシーン。あれは大いに楽しかった。人間を滅ぼす気概が感じられて、映画スタッフに感謝したものだった。


以上の議論より、次の二点をこの論文から得た学びとしたい。

  1. ゾンビアポカリプスにて人間は逃げるだけでは生き残ることができない(当たり前)

  2. 大量のゾンビが襲ってきた場合、彼らはお互いにぶつかってもつれて転んで追いつけない可能性がある

以上。

いいなと思ったら応援しよう!