見出し画像

コロナ禍での接触、危険度を計算してみよう

まえがき

新型コロナウイルスは、多くの人を苦しめています。僕には力がないので苦しんでいる人たちを直接助けることはできません。でも、しなくても良い苦労、あるいは、ちょっとがんばれば大きく報われる努力はあります。今回、とある事情から、感染リスクを算出する簡単な方法を発見したので、それらを公式化して公開します。特に「会のリスクの公式」は、お互いの組織の人数だけで算出できるので、○○会みたいなのを開催する際に参考にしていただければと思います。客観的な説明が難しい分野だけに、こういった感染リスクの指標なく、「感染リスクの程度を理解してくれない人」に対するリスクの説明は大変かと思います。上司がこのあたりを理解してくれないと、部下は危険を承知で業務に携わらないといけません。公式は全て1fp(感染リスクポイント)を単位として算出できます。1fpは、1対1で人間が対面することで発生する感染リスクです。3fpなら、3人と対面するリスクと同等です。本稿は、自作発言しなければ自由に印刷してもらってかまいません。流石に「この公式の通りにしたのに感染した!!」といったクレームには対応できませんが、改善案・間違いの指摘があればコメント欄にお願いします。
  どうか一人でも多くの役に立ちますように。

本稿ここから

新型コロナとの戦い、ついに人類側のワクチンで王手がかかるかと思いきや、意外と苦戦どころか結構反撃されていますね。このあたり、要因は色々あると思うんですが、なんとか対処しないとまだまだ被害者が増えそうです。そこで考えたんですが、さんざんいわれていることですが、基本的ですぐにできる対処法として、やっぱり人間の行動変容が大事だと思うんです。

ただ、自粛自粛といっても、自粛の意味がわかって自粛している人もいれば、どうもなんだかわかってない人も多い印象。そこで提案したいのが、「自粛効果の点数化」あるいは「行動の危険度数値化」です。一定の公式に当てはめて計算すれば、

あなたの先ほどの行動の危険度は○○点です
あなたはこの2日間で自粛点数△点を獲得しました

とかできるわけです。そこで今回は、各種公式の提案と、自粛の際にどう自粛するかのコツ(指針)を提案したいと思います。

公式

公式はこんな感じです。詳しい説明を見たい方は続く説明の方をご覧ください。

個人リスクの公式・・・一人の人間が特定の集団内で感染するリスク
集団リスクの公式・・・特定の集団が内包する感染リスク
集団リスクの最大値の公式・・・集団リスクが最大の場合(最悪の状況)の感染リスク
2集団間の接触リスクの公式・・・一定のサイズの集団同士が接触する場合の感染リスク

会のリスクの公式・・・特定の空間に集まった人間が発生させる感染リスク

ちなみに、リスクの単位は「人と人が一対一で会うことのリスク」を1感染リスクポイント(1fp)として仮に名づけ、単位の最小値とします。
これらの公式のうち、会のリスクの公式については大変計算しやすいので、是非使ってみてほしいところです。ちなみに、会のリスクは接触確認アプリで数値を互いに1個ずつ交換するだけで計算できます。

公式の使い方

会のリスクの公式・・・特定の空間に集まった人間が発生させる感染リスク

概念的には最後に出てくる公式ですが、すぐに使えるので是非参考にしてほしい公式です。

会のリスクの公式

このような公式になります。実際に、合コンを例に計算してみましょう。
ABCの三人が合コンする際、三人が別々の組織に属していると、全員がそれぞれの組織に対するリスクを負うことになります

2集団間の接触リスクの公式_図1

会のリスクの公式_計算

このように、ごく一般的な部署の規模であっても、750fp、つまり750人と対面で話すのと同等のリスクを負うことになります。


個人リスクの公式・・・一人の人間が特定の集団内で感染するリスク

この公式は、他の公式の元になるもので、計算したからといって特に面白いことはありません。そして、精密なリスク計算にはなりますが、集団の人間関係を詳細に把握している必要があります。

個人リスクの公式

個人リスクの公式_計算


集団リスクの公式・・・特定の集団が内包する感染リスク

集団リスクの公式

集団リスクの公式_計算

集団リスクの最大値の公式・・・集団リスクが最大の場合(最悪の状況)の感染リスク

いわゆる組み合わせ論です。

集団リスクの最大値の公式

集団リスクの最大値の公式_計算


2集団間の接触リスクの公式・・・一定のサイズの集団同士が接触する場合の感染リスク

2集団間の接触リスクの公式

2集団間の接触リスクの公式_計算


コツ

自粛する際のコツは3つほど思いつきました。一般的に言われていることですが、公式を使えばどれくらいのリスクがあるか計算できます。

・大きな集団はなるべくグループを分ける
・グループはしっかり分け、別グループはなるべく接触しない
・複数グループに属する人間をなるべく減らす

ひとつずつ説明します。
まず、「大きな集団はなるべくグループを分ける」ですが、これは「集団リスクの最大値の公式」からわかるように、集団のリスクは大きければ大きいほど跳ね上がります。グループのサイズが2倍になると、リスクは4倍以上になります。
会社でいえば、一緒に仕事をしなくても良い部署同士は、(可能なら)空間自体を仕切ってしまいます。

次に「グループはしっかり分け、別グループはなるべく接触しない」ですが、グループ分けしても接触が多くては意味がありません。これは「2集団間の接触リスクの公式」あるいは「会のリスクの公式」からわかるように、一人の接触が集団全体にリスクを及ぼすからです。面と向かって行わないといけない、あるいは共同作業しなくてはならない仕事は仕方ないにしても、判子ひとつをもらうためにバラバラに上司の下へ直参するのは賢くありません。書類等は所定の場所において直接会わないのが望ましいと言えます。
  また、飲み会等ですが、これは開催方法によってリスクはかなり異なります。同じ部署にいてもともと顔を突き合わせて働いている社員同士が、同じメンバーのみで貸切で歓送迎会をすることはそれほど大きなリスクの増加にはなりません。そこに、別のグループ、別部署、普段会わない社長などが加わることは大きなリスク増です。遠慮してください。他の会社のメンバーとの飲み会などもってのほかです。

次に、「複数グループに属する人間をなるべく減らす」ですが、これは「会のリスクの公式」がわかりやすいと思います。なんらかの会合(会議だけでなく、仕事や飲み会など空間を共有するならなんでも含みます)において、その会合のリスクは、参加者の属する組織やグループの人数が多いほど危険です。どうしても出ないといけない場合は、感染対策をしてリスク軽減を図ることが大切です。

集団感染の数理

本資料は、感染予防において集団をどのように構築するべきか、そして集団感染をどのようにプログラムに落とし込むべきかを議論するためのものです。

・単純な外出自粛や接触抑止はコストが高い
・行動自粛にはコツがある
・自粛の理由を理解せずにやみくもに自粛してもつらいだけで効果が薄い

こういったところを数学的に説明していきます。

感染ネットワークとコスト

感染ネットワークは、人間同士のつながりを線で表したものです。線で直接繋がった人とは直接会う機会があり、感染リスクがあることを示します。また、直接のつながりがなくても、誰かを介して間接的に感染するリスクはあります。例として、ABCZの三人の関係を表した感染ネットワークを出します。

クラスターの数理1-1

このネットワークでは、A B C の三人はお互いに直接会う機会がある関係です。ABCの誰かが感染すると、他の2人にも直接感染する可能性があります。一方、AさんZさんはお互いに直接の知り合いではなく、会う機会もありません。AさんとZさんがお互いに感染をおこすためには、BさんかCさんを仲介する必要があります。このリスクは、お互いの間にある最短ルートの線の本数を数えることでカウントできます。実際にカウントしてみると、
A⇔B=1
A⇔C=1
A⇔Z=2
B⇔C=1
B⇔Z=1
C⇔Z=1
となります。これは、「お互いの間で何ステップで感染が成立するか」という値に他なりません。
当然、このコロナ禍ではこの値は多い方が良いわけです。
この値を暫定的に「対人コスト値」と呼びましょう。この値で、さらに感染確率も計算できます。
例えば、お互いにマスクをつけることで感染確率が50%になると仮定します。つまり、感染者と直接会っても、50%の確率で感染しないという仮定をおきます。

そうすると、AさんとBさんのように1ステップで直接会える人同士は確率50%です。一方、AさんからZさんまで感染しようとすると、確率50%の接触を二回行う必要があるので、50%×50%=25%ということになります。このように、感染確率を具体的に考えられるのが感染ネットワークです。まとめると、この4人の関係性から考えられる互いの感染リスクは
A⇔B、A⇔C、B⇔C、B⇔Z、C⇔Z は50%。
A⇔Zは25%です。

この関係は、感染確率によらず成り立つと考えられます。つまり、感染確率を表す方法は

「人を何人経由して感染するか」

を数値化することです。この値が感染コストを算出するのに役立ちます。今回は話を簡単にするために感染確率50%を仮定しましたが、これはもちろん人によって違います。

さらに、感染に必要な最低人数の逆数を個人の感染リスクとし、これらを合算することで集団全体の感染リスクを定義してみましょう。

感染リスク

感染リスクはどう定義すべきでしょうか。

クラスターの数理1-1

ABCZさん4人の全感染ルートを数えてみると、
A⇔B=1
A⇔C=1
A⇔Z=2
B⇔C=1
B⇔Z=1
C⇔Z=1
です。これは、各人間同士の感染コストです。つまり、感染コストが大きいほどウイルスは感染に苦労し、感染リスクは減ります。ほとんどの人は直接会うので感染コストが1です。直接会う場合、感染リスクは感染コストの逆数で1/1=1、最も高リスクです。感染コストは1が最小値なので、当然感染リスクが最大です。一番危ない関係と言えます。AさんとZさんはお互いに最低でも1人を介して感染しないといけないので、感染コストは2、感染リスクは1/2です。

従って、
A、Zさんの持つリスクは1+1+1/2の計2.5
B、Cさんの持つリスクは1+1+1の計3
となり、AさんとZさんはちょっとだけリスクが低いことになります。集団全体が持つリスクの合計は、11です。
AさんとZさんが繋がっていたら全員感染コストが1なので、理論上のコストの最大値は12です。二人が距離を置くことでちょっとだけ集団全体のリスクも下がっていたわけです。

感染コストが最も大きい集団

もうすこし踏み込んで、感染ネットワークの色々なパラメータの公式を書いておきます。
まず、最も密な感染ネットワークを考えます。感染において、最もリスクの高いネットワークです。例として全部で10人いる集団を考えます。

クラスターの数理3-1

バカ正直に数えて計算すれば、①⇔②が1、①⇔③が1、...⑨⇔⑩が1まで全てコストが1なので、1/1×45=45です。まあ、ここまで読んでいらっしゃる読者殿はこんなことしなくても良いのはお分かりかと思います。

全体の人数をn=10とすると、人と人のつながりSnは最大で

クラスターの数理3-2

と計算できます。全ての接続がコスト1なので、数えるまでも無く45/1=45が感染リスクです。この値が、集団が持ちうる感染リスクの最大値です。ここからどれだけ減らせるかが感染対策の肝でしょう。このような集団は感染対策における最悪パターンなので、この集団を基準にすると対策の効果がよくわかります。この最悪パターン

クラスターの数理3-3

を満たしている集団を、最も密度の高い集団最も感染リスクの高い集団、あるいは最も感染コストの低い集団ということができます。ウイルスにとっては蔓延しやすい、実に美味しい集団です。

この集団の特徴を言い換えると、全員が直接会う知り合い同士で、間接的な知り合いはいない集団です。

注意したいのは、この数値は「直接接触のリスク」に注目するもので、仲のよさは全く関係ありません。たとえば、上司と部下がこの状態で、顔も見たくない険悪な状態でも、仕事の上で同じ空間で呼吸するなら直接接触です。このタイプの集団はとても相互感染しやすいですが、同じ職場、同じクラスなど空間を共有するなら誰でもこのタイプの集団とみなせるでしょう。

密な集団は意外と疎にならない

最も密な集団には面白い性質があります。それは「多少接触を減らしても大して効果がない」という点です。怖いですよ!

先ほどのネットワークから適当に接続を取り除いてみます。つまり、直接会わないようにします。45本のうち、半数以上の25本を削除してみましょう。

クラスターの数理4-1

先ほどの公式で算出した45本の接触から、25本の接触を減らしました。つまり、直接会わないことにしました。今後、①番さんは、②番さんに書類を渡すために③番さんにお願いすることにします。見てわかるとおり、⑨番さんは多くの人とのつながりを維持している一方で、⑩番さんは用心して2人とだけ繋がっています。

それでは、各人間同士でどれくらいの人間を介せば会えるのか(何人を介せば感染するのか)数えてみましょう。

クラスターの数理5-1

直接会えるのは、1⇔3、1⇔4、1⇔5、1⇔6、1⇔9、2⇔3、2⇔7、2⇔8、3⇔5、3⇔6、3⇔7、3⇔9、4⇔7、4⇔10、5⇔9、6⇔7、6⇔8、7⇔9、8⇔9、9⇔10、の20本。

1人介せば会えるのが1⇔2、1⇔7、1⇔8、1⇔10、2⇔4、2⇔5、2⇔6、2⇔9、3⇔4、3⇔8、3⇔10、4⇔5、4⇔6、4⇔9、5⇔6、5⇔7、5⇔8、5⇔10、6⇔9、7⇔8、7⇔10、8⇔10の22本。

2人介せば会えるのが2⇔10、4⇔8、6⇔10の3本。

リスク1の組み合わせが20人、リスク1/2の組み合わせが22人、リスク1/3の組み合わせが3人でした。集団全体のリスクは

クラスターの数理5-2

と計算できます。この集団は、32fpのリスクを内包しています。
リスク最大の密なネットワークの接続数45から25本も減らしたのに、リスクは45から32に減っただけ。がんばった割にはいまひとつです。

⑩番さんは気の毒ですね。2人としか会わないようにしたのに、2人介せばすぐ感染してしまいます。

クラスターの数理4-2

うまく対人関係を減らす

このように、やみくもに人とのつながりを絶っても寂しいだけで効果は薄いです。特に、用心して2人としか会わないようにしていた⑩番さんは、ほとんどの場合1人介せば感染するし、最大でも2人を介した3次感染までしか感染防御できていません。
このように、やみくもに人とのつながりを減らしても思ったほど感染予防にはなりません

ではこちらはどうでしょう。先ほどと同じく25本の接続を切りました。一見すると先ほどのネットワークと変わりません。でも、実は明確なルールによって切っています。わかりますか?

クラスターの数理6-1

実はあるルールとは「偶数と奇数」です。偶数は偶数同士、奇数は奇数同士でしか繋がっていません。ですから、1⇔2は接続がなく、到達可能性は無限大に低いです。

クラスターの数理6-2

つまり、このネットワークは実質的にこのようになっています。接続数は最大値の45本から25本減らして20本ですが、完全に二つのクラスターに分離しているため、片方で感染が蔓延しても、もう片方は無事ですむ可能性が高くなります。会社で言えば部署の区分けと言ったところでしょうか。

クラスターの数理6-3

このように切断すれば、感染確率をほぼゼロ(地球上にいる以上、厳密にゼロになることはありません)にすることができます。この場合、感染コストはきわめて高くなり、計算上は無限大に近くなると考えられます。感染リスクは感染コストの逆数としていますので、偶数クラスターから奇数クラスターへの感染リスクは、無限小になります。実際に数えてみましょう。

クラスターの数理7-1

感染コスト1
1⇔3、1⇔5、1⇔7、1⇔9、3⇔5、3⇔7、3⇔9、5⇔7、5⇔9、7⇔9、
2⇔4、2⇔6、2⇔8、2⇔10、4⇔6、4⇔8、4⇔10、6⇔8、6⇔10、8⇔10
の計20通り

感染コスト無限大
1⇔2、1⇔4、1⇔6、1⇔8、1⇔10、3⇔4、3⇔6、3⇔8、3⇔10、5⇔6、5⇔8、5⇔10、7⇔8、7⇔10、9⇔10、
2⇔3、2⇔5、2⇔7、2⇔9、4⇔5、4⇔7、4⇔9、6⇔7、6⇔9、8⇔9
の25通り

感染コスト1の組み合わせが20通り、感染コスト無限大の組み合わせが25通りになりました。全体のリスクは、

クラスターの数理7-2

となります。

なお、1/∞はわかりやすくするためにおいたもので、地球上にいる以上は、無限大に感染コストがかかることはありません。必ず有限です。でも現実的に感染が極めて困難であることを表しています。そして感染リスクの値は厳密には”現実的にはゼロとみなせる極めて小さい値”です。状況によってはこの値は無視できないので、色つきで計算に加味したことを明示しています。きっちり隔離して感染リスクをゼロとみなしていたつもりが、一人抜け出していたなんてことは現実でもフィクションでもよくあることです。人間が逃げなくても、大気中に漏れ出したウイルスが回りまわってだれかの口に飛び込むことだってありえます。

さて、無事にリスクを45から20まで減らすことができました。このように、感染リスクを減らすときには、「意図的に」接続を切ることが大切です。偶数と奇数は決して重ならないので、きっちり分けることができました。逆に、特定の人が嫌いだからといって、好き嫌いだけで接触を断っても意味がないかもしれません。

(つらい)現実に対処する

とはいっても、部署を完全に分離するなど無理な話ですし、実生活で特定の人と全く会わないようにするのも非現実的です。ここでは折衷案として、「なるべく減らす」ことでどれだけリスクを低減できるか、低減率を定式化してみます。低減率がわかれば、どのような方針でどれくらい接触を減らせばよいのかという指標になりますね。そこで2集団間の接触リスクの公式の出番です。

n=5人のグループを偶数と奇数で2つのクラスターに分ける場合を考えます。
それぞれの集団の人数をn1、n2とします。

クラスターの数理8-2

理想としては完全分離したいところですが、例えば営業部と開発部のようにちょっとだけは会わないといけない場合を考えます。

まず、分離されている「奇数グループ」と「偶数グループ」が仮に全て繋がっている場合を考えます。全体が一つだと見ると、このふたつの集団はお互いに相互感染できるので、感染ルートは6通り。

クラスターの数理8-1

このように、隔絶された二つのクラスター間の「本来の接続数」は両集団のサイズによります。この値が、クラスター分けしなかった場合のリスクの大きさでもあります。仮に、人間が誰か一人と直接会うことの感染リスクを「対人リスク1」とすると、この2つの集団にとって、お互いの感染リスクは6です。

端的に言えば、この集団のどこかに属していれば、他の誰かと一対一で会うという行動の6倍のリスクを伴うということです(厳密には自分自身への感染でなければ二次感染なので少しリスクが減るが、全体的なリスクとしては6という認識でよい)。これは、自身のリスクというよりも、集団全体のリスク、いうなれば公共の福祉に属するような概念です。

つまり、この感染リスク6倍は、集団n1とn2がきちんとお互いになるべく会わないようにするといった対策を講じなかったときに、この集団全体が負うリスクです。リスクの主語は集団であり、その集団に属するために副次的に自身のリスクも高まるという計算です。そのため、このリスクは単純な個人のリスクとしてはいささか多めの値となります。

会のリスク

さて、この2集団間の接触リスクの公式ですが、個人が使う場合に特化した公式があります。それが会のリスクの公式です。特定の会合(空間を共有することで感染リスクを持つ行動全てを指す)に出席した人間の組織属性を、会合のリスクとして算出するものです。個人的にはこれが一番有用な概念と考えています。飲み会や井戸端会議、サークル活動など人と人が一箇所に集まる行動全てが当てはまります。

考えとしては簡単で、参加者の属している組織で、直接接触する人の人数をお互いに掛け合わせるというものです。これは、それぞれの参加者は、組織からのウイルスを持ち込むリスクと、組織にウイルスを持ち込むリスクを負う責任があるという考えに基づいています。先の2集団間の接触リスクの公式を個人化したものといえます。

A社に属するAさんと、B社に属するBさんと、C社に属するCさんが、合コンをもつとします。奇数メンバーの合コンとか、人数少なすぎるとかの突っ込みはなしで。あくまで数学的な話です。AさんのA社における部署は10人。BさんのB社における部署は15人。CさんのC社における部署は20人。

2集団間の接触リスクの公式_図1

このとき、Aさんは自分を含めて10人に感染を起こす可能性と共に、自分を含めた10人のうちだれかが既に感染していた場合には、BさんCさんに感染させ、さらにその先にいる14人と19人に被害を与える可能性があります。

そして、AさんからBさんに感染させ、そこからBさんの部署へ感染を拡大させるには2段階必要なので、感染リスク1/2を掛けます。最後に、これらの計算はすべてのルートを二重に計算している(A→BとB→Aは同じコストの二重計上)のでさらに1/2します。厳密に言えばA→B感染は1/1なのですが、簡易に計算するときはほとんど影響しないので、AさんとAさんの部署メンバー9人は、ひとくくりに計算します。

会のリスクの公式_計算

結果、この会合のリスクは750fp、この会に参加して無防備に会話すれば、750人と会話するのと同程度のリスクがあることがわかります。マスクをつけて軽減したところで、こんな大人数と会話していたのでは焼け石に水です。

さらに、もしも、Aさんがこの他に、15人のメンバーを有する何らかのチームに所属していた場合、さらにリスクは跳ね上がり、11250fpとなります。この試算ではABCさんの家族については言及していませんので、事態は寄り深刻になるかもしれません。

2集団間の接触リスクの公式_図2

このように、全く別のグループ同士が集まることのリスクはとても大きいと言えます。どうしても集まる必要があるときは、自分のすぐ後ろには家族や同僚や友達のネットワークがあり、自分が感染の窓口になりかねないことを自覚し、可能な限りの対策を講じてほしいと思います。

一方で、会合を持つ上で危険度が上昇しにくい会というのもあります。例えば、歓送迎会を元々同じ部屋で仕事していたメンバーのみで行えば、実質的に仕事中のリスクを超えるものではありません(もちろん、お酒が入って大声でしゃべりだしたらこの限りではありませんが)。

どうでしょう、歓送迎会は、会社の会議室を一箇所貸しきって、少数で持ち寄り、またはデリバリーで頼んだ食事でやってみては。それなら大きな問題にはならないと思います。あくまで節度は持ってほしいですが。

会のリスク(さらに簡易)

この概念を日常生活に拡張する場合は、もうひとつの指標も良いと考えられます。日常の移動中のリスクは、会のリスクの公式で計算できませんよね。つまり、一般的には人は自身が属している集団サイズ(例えば、同じ部屋で仕事をしている部署の人数)は把握できますが、街中でであったり仕事で外部の人間と会う場合には相手のクラスターの所属人数を知ることができません。このとき、対象をランダムな災害と捉え、n2を1あるいは地域の感染状況に基づいた一定値を用います。つまり、n1の奇数集団に属している人間は、タクシーで相乗りした場合に感染リスク3を負わせることになるのです。まあ、これは自粛する際の本当に個人的な指標です。

ひとついえるのは、「大きな集団に属している人は、自粛するだけですごく偉いけど、自粛せずに感染を広げたらすごく責められるかも」ということです。どんなに個人が用心していても、非常識な人から感染する可能性はあるので、感染したこと自体を責めるのはひどいと思いますので、この数値を持って個人を攻撃することはやめていただきたいと思いますが。

シミュレーションするときにはどう計算するか

最後に、プログラムの話です。これは補足情報なので、現時点では読み飛ばしていただければ。

これをシミュレーションプログラムでどう実装するかというと、仮想的な媒介者を仮定するとわかりやすいです。感染率を1/xに減らすということは、その逆数分の経路を用意する事とみなせるからです。

クラスターの数理9-1

この「仮の人」は、いわば自粛効果の擬人化です。仮にこの子を「自粛ちゃん」と名づけましょう。この子が(つまり集団のみんなが)がんばることで、感染リスクを下げることができるわけです。自粛ちゃんが無防備で何もしていないとき、感染リスクは1であり、感染コストは1/2です。

クラスターの数理9-2

互いに対処することで、集団内のリスクを別として、1から1.6まで感染コストを増やしたと解釈できる値です。

結論:
・プログラムの実装上は、各感染につき、違うクラスターとしている場所(例えば法mが違う場合)に1/xのサイコロを振る処理が妥当である。
・感染抑止対策を経路(結合度)として図示する場合は、両者間に直線x(抑止策の期待値1/xの逆数)人の仮の知人を想定する。
・これは、直接会う人を減らすべきであるという政策の図示である。


この記事が気に入ったらサポートをしてみませんか?