AllainScience2020.03.30新型コロナウイルスの感染者数は、かくして指数関数的に「爆発的増加」する新型コロナウイルスの感染者数は、指数関数的に激増していく。最初は感染者が多くないと感じられても、いきなり増えて慌て始めたころには手遅れになり、爆発的増加(いわゆる“オーバーシュート”)をもたらしてしまう──。その理由を数学的に解き明かした。新型コロナウイルスによる感染症「COVID-19」のパンデミック(世界的大流行)は、どのくらいのスピードで広まっているのだろうか──。これは誰もが抱いている問いだが、直感ではなかなか答えられない。問題は、人間の脳は過去の経験から直線的な推測を下すが、感染症は指数関数的に拡大する点にある。3月16日時点の米国の感染者数は約4,000人だった。「全人口に比べたら大したことないじゃないか。そんなに大騒ぎしているんだ」と思う人もいるかもしれない。感染者は18日には約8,000人になった。これは2日間ごとに4,000人が新たに感染するという意味ではない。直線的な思考ではそういう結論になるかもしれないが、現実ははるかに厳しいのだ。感染の伸びは右肩上がりになっている。感染者数の推移のグラフを見れば、カーヴがどんどん急になっていく様子がわかるだろう。指数関数では大きな数に到達するまでに時間はかからない。ここで注目すべきは伸び率だ。この場合、16日から18日の2日間で100パーセント増加しているので、20日には新規感染者数は16,000人に増えることになる[編註:実際に20日の正午時点で16.605人となり、さらに2日後の22日には32,644人に達した]。いま知っておくべきこと、研究開発のいま、社会や経済への影響など、『WIRED』ならではの切り口から最新情報をお届けする。そもそも指数関数的な増加とは?ただし、これは必ずしも感染速度を正確に反映した数字ではない。検査件数が増えている影響は確実にあるだろう。それに、実際には検査で陽性が確認された数よりはるかに多くの感染者がいるはずだが、ここでは感染拡大の大まかな傾向を理解するために、事実を単純化して考えることにする。指数関数的な増加について理解するために、有名なたとえ話をしておこう。小遣いを増やしたいと思った女の子が、両親にある提案をする。1セントから始まって、毎日、前日の倍の額を欲しいというのだ。2日目は2セント、3日目は4セントをもらう。大したことはないと思うだろうか。30日目には、小遣いの額は1,000万ドル(約10億9,400万円)を超える。:【重要】新型コロナウイルスは、あなたが何歳であろうと感染する。「大切な人を死なせる」危険性があるこれは持論に過ぎないのだが、何かを本当に理解するにはモデル化が必要になる。それでは、ウイルス感染をどのようにモデル化するか、また「指数関数的な拡大」とは何を意味するのか説明させてほしい。指数関数的拡大の単純モデルまず、人口の一定数(N)が新型コロナウイルスに感染している集団を想定してみよう。感染者はほかの人を感染させる可能性がある。感染を広げる確率は人によって違うが、全体では患者数は1日に20パーセント増えると仮定しよう。感染増加率は0.20だ。総感染者数(N)が増えるにつれ、1日当たりの新規感染の数(?N)も増えていく。Nが1,000人なら新規の感染者は200人だが、10,000人だと2,000人になる。これは数式では以下のように表せる。「a」は増加率で、「?t」は時間変化(ここでは日数)だ。Popularもはや日本の自動車メーカーは後塵を拝している。Rogers感染の増加率(?N/?t)は速度のようなものだと考えることができる。この場合に恐ろしいのは、クルマが進めばそれだけ速度も上がっていくという点だろう。この場合のクルマの移動距離は、感染者の総数になる。Nの値は微分を使って時間の関数でも求められるが、まずは数値計算をしてみよう。この場合の数値計算とは、短い時間軸に区切って患者数を割り出していくことだ。具体的には特定の日のNを計算し、そこから次の日の新規感染者数を導く。前述の感染の増加率の式を使うと、以下のような感染者の総数を求める方程式が得られる。ALLAIN変数について説明しておくと、「i」は日にちを表す。「i+1」はその翌日で、それさえ理解してしまえばあとはかなり単純だ。人口1万人の小さな町で、初日の感染者数が1人だとしよう(N0は1になる)。上のグラフを見ればわかるように、30日目あたりまでは感染のリスクはそれほど大きくないように思える。米疾病管理予防センター(CDC)の外出自粛勧告に従う人は、ほとんどいないだろう。感染者数はそのあと急増する。これこそが指数関数的な増加の特徴だ。状況が悪くなるまでは特に問題があるようには見えないが、感染者が急に増え始めてから慌てていては遅すぎるのだ。このグラフはPythonで作成している。グラフの左上にある鉛筆のアイコンをクリックすると変数を変えられるようにしてあるので、さまざまな数値でどうなるか試してみてほしい。鉛筆の右にある「▶︎」を押すと、スクリプトが実行される。増加率の低下は大きな違いを生む指数関数がどのようなものか理解できただろうか。前述の増加率の式の時間枠を非常に小さい値に縮めていくと(つまり微分計算をする)、以下の方程式が得られる。ALLAINこれは、感染者の総数(N)はスタート時点の感染者数(N0)と自然対数の底「e」を「at」乗した数の積になることを示している(繰り返しになるが「a」は増加率で「t」は時間だ)。これが感染者数は指数関数的に拡大すると言われるゆえんだ。駆動パラメーターである時間は指数に含まれる。Popularもはや日本の自動車メーカーは後塵を拝している。Rogers人口1万人の架空の町に話を戻そう。状況は悪化の一途をたどるが、それは2つの仮定条件に基づいたシナリオである。感染増加率が常に一定であること。次に、回復者はゼロで、一度感染した人は永遠にウイルスをばら撒き続けること。幸いなことに、このいずれも現実にはそうではない(さもなければ、世界の全人口があっという間に新型肺炎に感染してしまう)。それでも、これらの数式から求められるモデルは、感染流行の初期段階においてはかなり正確だ。それでは、感染増加率を少しだけ下げることに成功するとどうなるだろう。増加率が0.20の場合(青)と0.19の場合(赤)を比較したのが以下のグラフだ。45日目の総感染者数の差は2,645人になっている。指数関数であるために、指数のわずかな違いによって全体像が大きく変わってくるのだ。ここからわかるのは、大した問題にはならないだろうと思われていた初期段階での対応が、極めて重要であるという点だ。誰かひとりがスーパーヒーローになって世界を救うことはできないが、それぞれが手を洗う、社会的距離を保つといった基本的なことを実践すれば、感染者の数を減らすことが可能になる。国ごとのデータの比較から見えることそれでは現実世界の感染状況を見ていこう。感染者の総数は実際に指数関数的に増えているのか、感染増加率はどの程度なのかといったことだ。Data」からとってきている。まとめると、国ごとの感染状況の推移は以下のようになる。感染が実際に指数関数的に拡大しているかはコンピューターを使えば判断できるが、ここではわかりやすくするために自然対数に変えてみよう。前述の指数関数の方程式の両辺をN0で割り、自然対数(ln)にすると、以下のような数式が得られる。t」の単純な一次関数になる。最初に両辺をN0で割るのは、単位がついている数だと対数がとれないので、方程式からN0を消去するからだ。Popularもはや日本の自動車メーカーは後塵を拝している。Rogersこれでかなり扱いやすい数式にすることができた。感染者数の自然対数をとると、これは時間に比例して増えていく一次関数になる。以下のグラフの薄い色の実線がそれだ。直線になっているのは、どの国もグラフの一部(特に感染拡大の初期)だけであることに注意してほしい。最初に書いたように、感染が実際に指数関数的に広がっていくなら、すぐに全人類がウイルスの餌食になってしまうはずだ。このグラフからはいくつかの事実が読み取れる。一部が線型であることから、感染は指数関数的に増えているということが示された。次に、感染増加率(a)の値を求めることができる。イランとイタリアに関しては2つの異なる増加率が得られた。ここから言えるのは、韓国の増加率はある時点では0.614と異常に高く、コントロール不能だったという点である。幸いなことに、この状態が続いたのは5日間だけだった。イランとイタリアは、ともに初期のある段階で感染が爆発的に拡大したが、のちに伸びは緩やかになっている。これについては、外出規制などの対策が功を奏したのか、それとも感染しやすい状況にあった人は全員感染したことで状況が落ち着いただけなのかは不明だ。米国とフランスは同じような傾向を示しているが、米国のほうが数日遅れになっている。ウイルスは、あなたが何歳であろうと感染する。いま知っておくべきこと、研究開発のいま、社会や経済への影響など、『WIRED』ならではの切り口から最新情報をお届けする。Science『WIRED』は"未来"を実装するメディアです。この絶え間なく変化し続ける世界を理解するために必要な情報とアイデアの源泉であり、カルチャーからビジネス、科学、デザインに至るまで、生活のあらゆる側面をテクノロジーがいかに変えていくのかに光を当てます。わたしたちが"発見"するブレイクスルーやイノヴェイションが、新たな思考や人と人とのつながり、そして新しい産業を生み出すのです。