عارف قدمائی
عارف قدمائی
خواندن ۶ دقیقه·۵ سال پیش

دینامیک انتشار ویروس کرونا، آیا قرنطینه لازم است؟

تو این کار، تلاش کردم که با یه شبیه سازی انتشار آلودگی توی ‌شبکه، یه تخمین‌هایی از انتشار کرونا به دست بیارم و بررسی کنم که آیا واقعا لازمه شهر‌ها رو قرنطینه کنیم؟ دورکاری چه تاثیری می‌تونه داشته باشه و ...


وقتی من شروع به نوشتن این مطلب کردم، هنوز به این بیماری، اپیدمی گفته می‌شد. طبق تعریف، به رخداد شیوع سریع بیماری عفونی به تعداد زیادی از افراد در یک جمعیت خاص در یک دوره زمانی کوتاه، معمولاً دو هفته یا کمتر، اپیدمی گفته می‌شود. ولی امروزه، طبق اعلام سازمان جهانی بهداشت (WHO)، کووید۱۹، پاندمی است. پاندمی نوعی از همه‌گیری یک بیماری گفته می‌شود که از مرز چند قاره فراتر رفته باشد. در طول تاریخ چند پاندمی رخ داده‌است که از مشهورترین آن‌ها می‌توان به آبله و سل و وبا اشاره کرد. یکی از فجیع‌ترین پاندمی‌ها بیماری مرگ سیاه بود که در سده چهاردهم، ۷۵ تا ۲۰۰ میلیون نفر را کشت. پیش از کرونا، یکی از پاندمی‌ها در دوران معاصر، دنیاگیری ۲۰۰۹ آنفلوانزای خوکی بود.

طبق تجربه‌های گذشته و بررسی داده‌های اخیر، در این موقعیت، سرعت همه‌گیری ویروس نمایی است: در ابتدا آهسته و سپس به سرعت. این اتفاق در طی چند روز آینده خواهد افتاد. شاید یک یا دو هفته. وقتی این اتفاق رخ می‌دهد، با توجه به شرایط ممکن است سیستم خدمات درمانی شما از پای بیایند، شهروندان شما در راهروها درمان خواهند شد، پرستاران و دکترانی که در سیستم خدمات درمانی خسته خواهند شد. بعضی از اونها می‌میرند. آنها مجبور هستند تصمیم بگیرند که به کدام بیمار اکسیژن وصل شود و کدام بمیرد.
تنها راه جلوگیری از این اتفاقات رعایت فاصله اجتماعی از همین امروز است. فردا نه، همین امروز.

رشد ویروس در کشور‌ها

تعداد موارد مبتلا به ویروس کرونا در جهان از ۲ بهمن تا ۲۰ اسفند
تعداد موارد مبتلا به ویروس کرونا در جهان از ۲ بهمن تا ۲۰ اسفند

تعداد موارد مبتلا به ویروس به صورت نمایی رشد پیدا کرد تا زمانی که چین تونست اون رو محدود نگه داره. اما بعد از اون، ویروس به بیرون از چین راه پیدا کرد و الان کرونا یک ویروس فراگیر در سطح جهان هستش که هیچ‌کس نمی‌تونه اون رو متوقف کنه.

تعداد موارد مبتلا به ویروس کرونا در خارج از چین از ۲ بهمن تا ۲۰ اسفند
تعداد موارد مبتلا به ویروس کرونا در خارج از چین از ۲ بهمن تا ۲۰ اسفند

حالا ما در ادامه می‌خواهیم به کمک شبیه‌سازی، اولا یک مدلی ارائه بدیم که دینامیک انتشار این ویروس در جامعه رو توصیف کنیم، سپس عوامل موثر بر کنترل یا همه‌گیری را بررسی کنیم.


در قدم اول، یه شبکه‌ی مستقل از مقیاس می‌سازیم. گراف این شبکه این‌جوریه که یه هسته‌ی اولیه داره که همه با هم همسایه هستن. هر عضو جدیدی که وارد می‌شه، با تعداد m تا راس به صورت تصادفی همسایه می‌شه، با این شرط که هر چقدر یه راس همسایه‌های بیشتری داشته باشه، احتمال همسایگی با اون راس بیشتر می‌شه. قبلا دیده‌ایم که این شکل از شبکه‌ها، برای مدل‌سازی دسته‌ی عظیمی از شبکه‌ها از قبیل ارتباطات انسان‌ها در شبکه‌های اجتماعی و خطوط هوایی، تا وابستگی‌های نرم‌افزار‌ها به هم و برهمکنش پروتئین-پروتئین مورد استفاده قرار می‌گیرند.

حالا، این همسایگی رو من تو این شبکه، ارتباط روزانه تعریف کردم. این‌جوری، آدمای معروف شبکه همیشه معروف‌تر می‌شن. مثالشم این‌جوری ببینید، یه نفر که میاد تو یه محله‌ی جدید، احتمال خیلی زیاد با بقالی ارتباط داره، احتمال کمتری با کتاب‌فروشی محله و دیگه خیلی کم با همسایه‌ی خونه بقلی. این m یکی از پارامتراییه که برامون مهمه.

خب، یه n هم داریم که تعداد اعضای شبکه است.

دوتا پارامتر دیگه هم داریم که خوبه که کنترلشون کنیم. یکی a، تعداد روزیه که طول می‌کشه یه عضو بعد بیماری از سیستم خارج بشه. حالا یا درمان، یا مرگ یا "قرنطینه". اون یکی هم b، احتمال این‌که یکی تو ارتباط با فردی که بیماری داره و هنوز از سیستم خارج نشده، بیمار بشه.

بعد باید انتشار بیماری رو مدل کنیم. کاری که من انجام می‌دم، اینه که اول کار، همیشه ۱۰ نفر بیمار هستن. تا زمانی که هر کدوم از این آدم‌ها از شبکه خارج نشدن، (توی a روز اولیه از ابتلا) برای هر کدوم از همسایه‌‌های این آد‌م‌ها، روزی یک بار یک عدد تصادفی تولید می‌کنیم و اگر این عدد از b کوچیک‌تر بود، اون آدم مبتلا می‌شه. بعد a روز هم هر فرد مبتلا از سیستم خارج می‌شه. یعنی بعد یه مدتی، جمعیت داخل شبکه واقعا کمتر از جمعیت اولیه است، و ممکنه یه نفر یا یه گروه کاملا ایزوله شن،‌ به این معنی که با هیچ عضوی خارج از جمع خودشون ارتباط خواهند داشت.

پس پارامترهای ما شدن این‌ها:

  • جمعیت اولیه، n
  • تعداد کسانی که هر کس روزانه پیششون می‌ره، m
  • تعداد روزی که طول می‌کشه کسی از سیستم خارج بشه (درمان، مرگ، قرنطینه)، a
  • احتمال انتقال بیماری، b

فعلا هم تا قسمت‌های پایانی، با صد هزار نفر عضو کار می‌کنم. همیشه هم اول کار فقط ۱۰ نفر بیمار هستند.

تعداد افراد بیمار در طول زمان

با فرض این‌که فردی بعد از رهایی از بیماری، دوباره مریض نشه، در چنین مدلی شکل تعداد افراد بیمار در گذر زمان چنین چیزیه، کم و کیفش با توجه به پارامترها تغییر می‌کنه، ولی در مجموع همیشه چنین نموداری خواهیم داشت:

یک شروع اولیه‌ی سرد، به دنبالش یک رشد نمایی، رسیدن به یک قله‌ی جدی، و بعد منفی شدن شیب رشد بیماری در جامعه. این به این معنیه که اگه چیزی عوض نشه، بیماری فقط به این خاطر از بین می‌ره که دیگه کسی نیست که اون رو بیمار کنه، حالا یا مردم خارج شدن، یا شبکه تیکه تیکه شده و یه قسمتایی با بقیه ارتباط ندارن. یعنی اگه جهشی پیدا بشه که کسایی که خارج شدن دوباره مبتلا بشن، به جز مرگ فعلا راه خاصی نیست.

در ادامه، اثر پارامترهای مختلف رو بررسی می‌کنیم:

تعداد ارتباطات در روز

برای دیدن اثر تعداد تعاملات، احتمال انتشار رو ۱ درصد و زمان خروج از سیستم رو ۵ روز در نظر می‌گیرم.

 کل افرادی که در طول دوره بیمار شده اند
کل افرادی که در طول دوره بیمار شده اند

همین‌جوری که می‌بینید، با این اعداد، کافیه هر فرد، روزی سراغ بیشتر از ۵ نفر بره. بعد اون دیگه تعداد بیمار‌ها یهو زیاد می‌شه. عدد ۵ هم تو این مشخصات، نقطه‌ی تغییر فاز بیماری به اپیدمیه.

تعداد روزی که جامعه درگیر بیماریه
تعداد روزی که جامعه درگیر بیماریه

تعداد روز‌هایی هم که طول می‌کشه بیماری از سیستم خارج بشه رو هم تخمین می‌زنیم. دیده می‌شه که اون هم با تعداد ارتباطات رابطه‌ی خطی داره.

شناسایی سریع‌تر بیماران و خارج کردن اونا از جامعه، می‌تونه این تغییر فاز رو عقب بندازه.

شناسایی به موقع بیماران

حالا، با احتمال انتشار احتمال ۱ درصد و تعداد ارتباطات ۴، زمان خروج از سیستم رو تغییر می‌دیم.

 کل افرادی که در طول دوره بیمار شده اند
کل افرادی که در طول دوره بیمار شده اند
جامعه چند روز درگیر بیماریه
جامعه چند روز درگیر بیماریه

نتایج واقعا تکان دهنده است. با این شرایط، اگه بیمار ۱۴ روز تو جامعه باشه و شکل ارتباطیش رو تغییر نده، ۶۰٪ جامعه بیمار می‌شن و ۲۵۰ روز جامعه درگیر این اپیدمیه.

هر چقدر زودتر تشخیص بدیم و هر چقدر زودتر خودمون رو از جامعه جدا کنیم، ابعاد این فاجعه کمتر و کمتر می‌شه.

احتمال انتقال بیماری

حالا رعایت مسائل بهداشتی چه تاثیری داره؟ اگه احتمال انتقال رو زیاد کنیم چطوری می‌شه؟

این قسمت دیگه کاملا دست خودمونه، این‌که چقدر حواسمون هست که به موقع اقدام‌هایی که این‌ور اون‌ور می‌بینیم برای پیشگیری رو چقدر جدی بگیریم.

کافیه این درصد انتقال بشه ۵ درصد. تقریبا کل جامعه بیمار می‌شن، یک سال اپیدمی ادامه داره و با احتساب ۲٪‌ مرگ و میر .... .

بستن راه شهر‌ها

حالا یه مساله‌ی دیگه رو می‌خوایم بررسی کنیم. اندازه‌ی شهر چه تاثیری تو داستان داره؟ اگه ویروس تو قم باشه یا تو تهران، فرقی می‌کنه؟

شرایط رو این‌جوری ببینیم، احتمال انتقال ۱٪ ، تعداد تعاملات ۴ و بیماری ۷ روز هست.

درصد مبتلایان
درصد مبتلایان
تعداد روز حضور بیماری در جامعه
تعداد روز حضور بیماری در جامعه

از نمودار‌های بالا چی می‌فهمیم؟

درک من از نمودار اینه که اگه با شرایط یک‌سان، دو تا شهر مبتلا باشن، جدا کردن شهر‌ها شاید تعداد مبتلایان رو تغییر جدی نده، ولی، زمانی که لازمه تا بیماری کنترل بشه رو کاهش می‌ده. این رو بذارید در کنار این مساله که اگر ما خروج و ورود یک شهر رو ببندیم، ممکنه که بیماری به یه سری شهر‌ها سرایت نکنه.


کنترل این مدل اپیدمی‌ها نیاز به همکاری همگانی داره، فقط به کمک همه که می‌تونیم جلوی یه فاجعه رو بگیریم.


کدهایی که من برای این مساله زدم رو می‌تونید این‌جا پیدا کنید. حالت های مختلف رو امتحان کنید و اگر چیز جالبی دیدید حتما به من هم بگید. شبیه سازی با زبان C++ ، و آنالیز و کشیدن نمودار‌ها، با Python بوده.




فیزیککروناقرنطینه
یکی که یه دوره‌ای تلاش می‌کرد فیزیک‌خوان‌ بشه، الان می‌خواد دیتاساینتیست‌ بشه.
شاید از این پست‌ها خوشتان بیاید