k47.cz
mastodon twitter RSS
bandcamp explorer
««« »»»

Simulace epidemie

9. 3. 2021 — k47

Teď pozor, vydávám se na tenký led do oboru amatérské epidemiologie & dopouštím se přečinu, z něhož jsem na Začátku Toho Všeho nebyl příliš nadšený. Diletanti rozdávající rady, protože si přečetli dva odstavce z wikipedie, umí udělat pěkný graf a cítí se důležitě. Něco na ten způsob. Averze k samo-domo epidemiologii ale postupně měkla, když se znovu a znovu ukazovalo, že víra v expertní expertízu, když je třeba & kde je třeba, byla přehnaně optimistická. Plus se pořád ještě necítím dost arogantně na to, abych ostatním radil co dělat.

Ok, když máme preambuli za sebou (která je ve své podstatě čestným prohlášením nepříčetnosti), můžu konečně začít.

Jde o konec předminulé aktualizace. Tam jen tam na okraj padlo, že kdyby skupina lidí žila pohromadě, zcela bez kontaktu s okolím, byla by připravena na epidemii. Měli by společnost, bez kontaktu by se k nim virus nim nemohl dostat + seřízli by náklady na provoz N-1 domácností. Co potřebujeme? 2000 kalorií denně, kolem 20 stupňů Celsia a místo kam složit hlavu v Epikurejském stylu. Všechno ostatní jsou jen buržoazní výstřelky. Nešlo o hrubě idealistický návod, jak to zařídit na úrovni společnosti (tj. radit lidem, co mají dělat, viz ↑), jen možnost pro osobní potřebu, alternativa, když bude nejhůř.

Nicméně, jak reálné dopady na šíření viru může mít segmentace společnosti na menší celky, které se spolu stýkají jen omezeně? Teď v Republice funguje rozdělení na dvou úrovních – okresy a obce. Separace není perfektní, pořád se počítá, že se lidé stýkají v zaměstnání, přesto aspoň na papíře má nějaká separace probíhat a má to přinést pozitivní změnu.

Napsal jsem proto maličký program v jazyku D, který tohle simuluje. Vytvoří milionovou populaci na mřížce 1000x1000, každý občan Republiky Čtverec ve výchozím stavu dostane 10 rizikových kontaktů náhodně vybraných z okolí o průměru 100 políček. Pak program začne simulovat šíření viru po těchto kontaktech. Na detailech moc nezáleží, má to jen demonstrovat abstraktní patogen a ten to demonstruje obstojně. Šíří se exponenciálně, dosáhne saturace, zpomalí a asymptoticky se lepí k hranici maximální penetrace.

Pak do hry vstoupí segmentace a různá míra jejího dodržování. Každý občan má stále 10 kontaktů, jen někdy, podle oné míry, jsou vybráni ze segmentu 10x10, který se nepřekrývá se segmenty sousedními. A jak postupně narůstá míra striktnosti rozdělení, od 0% do 99.9%, zpomaluje se i šíření viru. Křivka má stále stejný tvar, jen je víc roztažená a pozvolnější, více zvladatelná.

V řeči grafů:

Překvapilo mě, jak striktní rozdělení musí být, aby to mělo smysl. 90% minimum, řekl bych, jinak nejde o víc než o maličký hrbolek v cestě.

Kdyby tohle byla akademická studie, teď někdy by se tu vyskytla sekce threats to validity a v ní jen lakonické: Svět takhle nefunguje.

Simulace bere počet kontaktů jako fixní, mění jen jejich rozložení. Naše současná omezení mají za cíl snížit celkový počet kontaktů a ořezat ty, které přepadávají do jiného okresu a do jiné vsi. Navíc program uvažuje maličké regiony o 100 lidech, tedy mnohem méně než typická obec. Nemá to aplikovatelnost k hmatatelné realitě, jde o simulovaný sen o těch fiktivních asketických pospolitostech.


+1: Alternativní titulek: Byl jsem mladistvým epidemiologem

píše k47, ascii@k47.cz