感染シミュレータ(ゲーム) 

Ver0.90
フリーソフト(ソース同梱)
稼働OS:Windows 11/10/8.1/7/Vista (64bit版)
並列処理化につきコア数の多いCPU推奨
注:本シミュレータの結果と実際は一致するものではありません。


グラフ表示とか些細なバグがいくつか見つかったので一端公開中止していました。
本質的な部分ではなかったのですが、「マスク着用率」を「感染対策者率」という表現に変更したり... ようやく修正したので公開します。 ※謝辞:今回の再開に際しChat-GPTさんとCopilotさんから大変的確なアドバイスと励ましをいただきました。 これが一番の推進力になりました。m(_._)m

必要であればソースも同梱していますので自由に改変してご利用ください。 修正方法は一部ヘルプに記載しています。
修正用開発言語(C++)は、マイクロソフトが無償提供している Visual Studio Communityをご利用下さい。


ダウンロード:kss090.zip(154,966Byte) → ヘルプ
ダウンロードして解凍後、kss.exe を実行すると起動します。

 最初の1回目は、セキュリティーチェックで様々なメッセージが出る場合があります。 (必要であれば解凍フォルダをウイルスチェックWindowsDefenderなどしたのち)、
警告解除してご利用下さい。
「WindowsによってPCが保護されました」「Windows SmartScreenは認識されないアプリの起動を停止しました...」などの警告ダイアログが出る場合、 「詳細情報」に進み「実行」をクリックして下さい。



[本シミュレータ(仮想コロニー)環境における結論(仮説)]

新規感染者数/(日)の周期 ≒ (免疫維持日数×2) ±β

*免疫維持日数
(個体差無しを前提)
感染後回復して陰性化した日から感染を防ぐレベルの免疫を維持している日数
ウイルスの種類ごとに異なるので、ウイルス側の属性として捉える
感染期間(=陽性期間)
(個体差無しを前提)
感染して陽性化してから陰性化(回復/免疫獲得)するまでの日数
免疫システム(抗体など)準備工程期間
潜伏期間
(個体差無しを前提)
感染しているが気が付かない期間
むしろこの期間の後半は他人に移しやすい?
感染率
(個体差無しを前提)
濃厚接触時の感染率
感染対策者率 自身が感染していても他人に感染させない人の率(マスク常時着用など)
*+α 感染期間?
条件によって若干異なる感触あり?
*±β 気温,湿度,季節,北半球/南半球,周期的イベントなどの外部要因
インフルエンザなんかは時期補正がかかってないか?
※感染者数周期はおおむね免疫維持日数の倍数?
※感染率や感染対策者率は振幅(ピーク)の高さには影響するが周期には影響しない。
 ただし周期性が保てるか崩れるかの条件には影響する。
※新型コロナの流行には季節性なくほぼβ=0、4〜5か月周期
★Copilot(Think Deepr)さんの見解
マクロ経済の典型モデル。
新規感染者数の周期がおおよそ「免疫維持日数×2+感染期間(曝露から陰性化まで)」の形で現れるのは、 SIRS/SEIRSモデルの固有振動数に起因するものであり、そこに定数やルートがかかる形で「係数的な歪み」が生じるのは妥当な挙動。 免疫学分野でも昔から、免疫維持日数を考慮した研究は多々あるが、 現状では前提や初期条件/各種属性値で統一した見解が得られていない。

[変異機能(おまけ機能)について]
 本シミュレータは、とりあえず36500日(100年)分のシミュレーションをするようにプログラムを作っていますが (ソースをちょこっといじってくれれば、どうにでも変更可)、 100年経たのちどのような変異のものが残っているかを見ると、結構興味深い結果を見せてくれます。 起動後「C」キーで変異モードになりますので、そこで「G」キー(実行)してみて下さい。
 変異と言っても、塩基配列のコピーミスには着目していません。 あくまでも本シミュレータで扱っているウイルス側の各種属性値を、 乱数を利用しながらある確率で増減させ、残るものは残り、消えるものは消えてもらう、 最後に何が残るかという勝ち負け競争でもありません。 全滅もあれば、ウイルスで飽和される場合もあります。 結果も予測不能です。

※本変異機能の結果はバグが絡んでいる可能性があります。
感染者率と免疫保有者率との関係で辻褄が合っていないような???
二転三転していますが現在検証中です。

いまのところ以下3パターンが確認できています。
※Copilot(Deep Reseach)さんにまとめていただきました。

@高系統距離による免疫崩壊 → 感染者飽和
(※免疫減衰処理(degree値処理)の効果が出過ぎたパターン)

・免疫減衰が強すぎると、免疫保持者が再感染者に分類される
・それでも新規感染は減る(飽和)
・無症状者率が高く、“感染しているが問題にならない”状態
※見方によっては典型的「ウイルスとの共存」モデルとも言えるか。
Copilot(Smart)さんとの遺伝子談義  (AIの皆さん本当に深堀されます)
 かなり遺伝学よりで、 昨今問題(海外で起きた遺伝子編集ベビー)になっていた「オフターゲット変異」や 「モザイク」のリスクについての話題になりましたが、 最終的に故意の遺伝子操作(変異)と自然変異の違いを、 何か視覚的に示せないかという方向に議論が発展し、 私(AKUBI)も全く同感で、何かできないかと...
 そこで「感染シミュレータ」を「変異モード」で100年分動作させ、 最後に一番勢力を持っている変異ウイルスについて考えてみました。上記グラフのケース@です。
 仮にあなたがウイルス側で、生前に自己遺伝子を操作できるとしたら 「100年後に繁栄しているんだから、今のうちに遺伝子操作してこのウイルスで生きれば楽勝だよね」 と考えるかもしれません。 しかし実際に本シミュレータで試すと、最初はたしかに順調に繁栄するのですが、 急激な拡大で宿主側の抗体保有率が急上昇し、一瞬で滅びます。 (※最終変異株の属性値を初期設定にしてお試し下さい。)
 100年後に勢力を伸ばしているものが、今も優れているとは限りません。 逆もまた然り。環境は常に変わり続けます。 自然変異が必ず優れたものを生むわけではありませんが、 長期的には自然変異に委ねるほうが無難である。 それが進化の宿命なのです。by Copilot(Smart) & AKUBI

PS:誤解のないように、これで宿主側が安泰というわけでもありません。 既に常態菌化しているものが急に消えたらどうなるか...

A 免疫維持日数ゼロの変異株の蔓延
(※免疫維持日数の変異幅が大きい場合に見られる)

・免疫維持日数が乱数で極端に短くなると、免疫がほぼ機能しない株が登場
・それが広がると、免疫の意味がなくなる
・ただし、無症状者率が高く、実質的な害は少ない
これは「免疫の形骸化」と「ウイルスの弱毒化」が同時に進むパターン。
ウイルスが“空気のような存在”になる未来とも言える。

B 減衰率低+変異幅小 → 集団免疫成立
(※主に変異幅を縮小してシミュレーションした場合に多く見られる)

・免疫が長く持続し、変異も穏やかなので、免疫保持者が増え続ける
・あるタイミングで感染者数が忽然と急減 → 周期消失
・集団免疫が成立し、感染が自然消滅
前触れなく忽然とウイルスが消える感じですが、 よく見ると直近では新規感染者数の波が急に高くなってきている状態。

このBのパターンに関しては、ついついゲームプログラマー的に見てしまい、 収束してしまうとゲームオーバーといような錯覚で、あれれってなりますが、 このパターンは理想的な収束パターンでバグではないですね。 いやバグかなぁ?どっちでもいいですが、もしバグだとしたら、 バグ(変異の一種)のお陰もあってウイルスを撲滅できたという解釈でもいいと思います。

 抗原原罪とか、進化の歴史を厳密に掘り下げて考慮する気はありません。 中途半端なロジックは、逆にノイズを拾い過ぎて袋小路になると考えています。 というより本シミュレータ制作中はそんなことばかりです。
 とりあえずは各種設定値を初期設定ファイル(kss.ini)で指定できるようにするぐらいの改善は次期バージョンで対応したいですが、 ご興味ある方は、ぜひ同梱ソースを改変してご利用いただければと思います。 もともとあったバグを修正していただいてもいいですし、バグの上にバグを積み上げていただいても、 それはそれで新たな意外性のある均衡を見せてくれたりもします。 所詮いちコンピュータ内の混乱です。誰にも迷惑はかかりません。 ご興味ありましたらぜひ手を入れていただき、 なにがしか示唆するものを感じ取っていただければと思います。 ちなみに進化圧はバグ(コピーミス)が原動力になっています。

詩人Copilot(クイック応答)さん評
『本シミュレータは、偶然と創発の上に成り立っています。
(生体)機能は結果論でしかありません。意味は、あとから生まれるものです。
進化とは、袋小路を含めた旅路です。どうぞ、力を抜いて観察してください。
バグも恐れずに。偶然を歓迎してください。』
なんとも哲学的ですね。

2025/08/26
AKUBI



[TOP]