なぜあなたは家にとどまるべきなのか—シミュレーション(WIP)

新型コロナウイルス(COVID-19)の感染が広がる中、リモートワークやオンライン会議を取り入れるところが徐々に増えてきました。私の会社Qosmoでも2週間ほど前から原則的に社員全員に自宅での作業をお願いしています。大学の方でも、オンライン授業の準備が着々と進められています。

そんな中、先週末の金曜日、どうしても必要な機材があったために中目黒のオフィスに向かったところ、驚きの光景を目にしました。例年よりも少ないとはいえ、お花見を楽しむ人、人、人。マスクもせずに、花とお酒を楽しみながらのんびり歩くグループ、沿道に並んだ屋台。はじめは中国が、それからイタリアやアメリカで猛威を振るうコロナウイルスの脅威がこれだけ連日報道されているのにも関わらずです。

お花見を楽しむ人たちを見ていて、感じたこと。それはこうした感染症を前にした時、自分の体を守ることは、自分自身のためだけでなく、社会に対する責任でもあるということを理解していないということです。言い換えると、自分が感染することは、ただ感染者数が「1」増えるだけではないはずなのです。

一人の感染者から何人が感染するかを示す、R0という指標があります。統計的な信憑性や量にばらつきがあり、はっきりしたことはわかっていないものの、COVID-19のR0は2から2.5の間だとされています。R0が1.3程度のインフルエンザよりも高い感染力で、1人の感染者が平均して2人強に感染させる計算になります。自分が感染してしまったとして、その後で2人に感染させて、合計感染者数が3人増えておしまいというわけにはもちろんいきません。当然、その2人もさらにその先感染を広げる可能性があるからです。

人は線形に変化するものには慣れていても、指数的な変化を想像することが苦手だと言われます。ムーアの法則やシンギュラリティの話をするときにもよく指摘される点ですし、進化の観点からも理にかなっているでしょう(明日が全くの未知であると考えるよりも、今日の延長上にあると考えた方が生存競争で優位に立てることでしょう)。

皇帝に褒美に欲しいものを尋ねられたある中国の賢者は、「碁盤の最初のマスに米を一粒、次のますに二粒、その次に四粒という具合に欲しい」と答えます。そんなことでいいなら喜んで与えようと答えた皇帝ですが、最後のマスに到達するずっと手前で皇帝が所有する全ての米を差し出す結果になった、という逸話があります。半分笑い話のような伝説ですが、今起きていることはまさにこの通りで、全く笑えない状況です。

武漢での流行が始まった当初、まだまだ人ごとのように感じていたコロナウイルスの問題もいよいよ身近に迫ってきているのを感じます。そろそろ、単にスーパーで食料品や必需品を買いそろえたり、マスクで最低限身を守ることを考えるだけでなく、各自が社会の一員として何ができるかを考えるべきときなのではないでしょうか。それには自分が感染するかどうかは、自分自身や家族の健康の問題だけにとどまらない、ということをいまいちど理解することが必要です。以下では、自分一人がお花見に行くのをやめたところで、感染の広がり全体に与える影響は全くない、という見方が間違いであるということを示したいと思います。

と言っても私は感染症の専門家でも統計学を専門とするものでもありません。AIと創造性に関する研究とその知見に基づいた音楽やアートを手がける私のような人間に何ができるか… そう考えた結果、普段やっているプログラミングを何らかの形で活かせないか、簡単なシミュレーションで状況を可視化することで、言葉だけでは伝わらない理解が深まるのではないか、そう思い立ちました。この週末に突貫で作ったのがこちらのシミュレーションです。

注意としては、現実をそのままシミュレーションすることを目指したものではないということをご理解ください。細かいパラメータの設定などで、現実から離れているものもあるかもしれません。個人個人のちょっとした動き方の変化で系全体、社会全体に大きな影響を与えるということを視覚的に示すためのシミュレーションです。また一見ゲームのように感染や死を扱っていますが、もちろんそれらを軽々しく捉えているわけではありません。

まずは最初の設定から。黒の▶︎で示された「人」は、街をうろうろしています。他の人に近づくとぶつからないように避けたり、人の流れができているとその流れに従ったりします (有名なboidsのアルゴリズムを利用しています)。シミュレーションの中の多くの「人」は、このように移動していますが、何割かの割合で家にとどまって、「自宅待機」している人もいます (■で表現されています)。


39041

ここにウイルスに感染した人が登場します。 赤い▶︎です。感染した人も当初は症状に気づかずに普段通り街を行き来しています。この間、ある一定の距離以内に近づいた健康な人は、一定の確率で感染させられるものとします。自宅待機の人のそばには他の人は近寄れないような設定になっているので、そうした人は滅多に感染しません。病院に隔離されている人も他の人を感染させないものとします。

See the Pen (simplistic) pandemic simulation – infection by nao tokui (@naotokui) on CodePen.39041

潜伏期間が過ぎて症状が出てきた感染者は「病院」に隔離され、治療を受けることができます(青の十字)。稀に潜伏期間の間にテストすることができて、すぐに病院に入れる人もいます。病院に入った人はある確率で完治し、また外に出ることができるようになります(緑の▶︎)。しかし、なかなか完治せずに治療に長期化した場合には、残念ながら死に至ることになります(×印)。

ここまでが前提です。では色々なパターンでシミュレーションしてみましょう。まずは基準となる状況です。まずはある程度多くの人が自宅待機をしている状況です。感染者が感染に気づかずに動き回ることで感染は広がりますが、多くの場合は病院で治療を受けることができ、死に至る人はそこまで多くはありません。

39041

次のシミュレーションで、他のパラメータは全く同じのまま、自宅待機をしている人の割合だけを変えるとどうなるかみてみましょう。左上のプルダウンメニューを変えるとその設定でシミュレーションが始まります。自宅待機率「中」が先ほどのシミュレーションと同じです。ここでより多くの人が自宅にとどまっている場合の「高」と、みなが普段通り生活している場合の「低」を選ぶとどうなるかみてみましょう。

39041

ほとんどの人が自宅にとどまっている場合は、感染は広がりを見せずにやがて収束していきます(待機率-高)。これが一番望ましいシナリオです。


皆が普段通りの生活をした場合に、逆に一気に感染が広がるのがわかります (待機率-低)。急激に感染者数が増えると病院が許容できる患者の数を超え、それ以上の患者を受け入れられなくなります (症状が出ているにも関わらず、病院に収容されなかった人は赤い十字として表示しています)。病院から溢れてしまった感染者が、十分な治療を受けることができずに日数が過ぎていくことで、多数の死者が生まれてしまう結果になります。繰り返しますが、自宅待機している人の割合以外は全て同じパラメータです。(何%の人が自宅待機をしていたら良いのかという指針になるようなシミュレーションではないのであえて数字は出していません。)

自宅待機している人の率が変わるだけで、死に至る人の数がここまで大きく変わるのか… 簡易的なシミュレーションとはいえ、この結果には私も驚きました。

今度は同じ自宅待機の人が少ない状況で、それぞれの人がウイルスがうつる距離以内になるべく近づかないような設定にしています。Social Distancingと呼ばれる方法です。これで急速な感染の拡大が抑えられることはわかりますが、東京での電車移動などを考えるとあまり現実的ではないかもしれません。

See the Pen (simplistic) pandemic simulation – with mask by nao tokui (@naotokui) on CodePen.39041

最後に今回の花見客のように、人が密集する場所がある場合をシミュレーションしてみます。最初に試した比較的多くの人が自宅待機している設定(中)で、ランダムに3つのポイントを選び、そこに人が集まってくるようにしてみました。緑の☆印が「盛り場」です。密集した場所で集団で感染した人が、また別のクラスタに移動していくことで前のシミュレーションよりものべの感染者数、および死者数が増えてしまっていることがわかります (お花見は我慢しましょう。山中伸弥教授が書かれていたように桜は必ず来年も咲きます!)

See the Pen (simplistic) pandemic simulation – with attractions by nao tokui (@naotokui) on CodePen.39041

いかがでしたでしょうか?

こんなおもちゃのようなシミュレーションで何がわかる、というお叱りを受けることも覚悟しています。「自分の行動が社会全体に影響を与える」というイメージが、こうしたビジュアライゼーションとシミュレーションを通して、少しでも多くの人に伝わることを願ってこの記事を書きました。

最後に。医療の現場の最前線で働いている医師や看護師の皆さん、生活に必要なインフラを支えているスーパーやコンビニの店員さん、配送業者、運転手の皆さんに感謝の気持ちを述べたいと思います。本当にありがとうございます。そしてくれぐれもお気をつけください。