ترفندهای خفن برای ساختن گروه‌های قوی توی شبکه‌های بزرگ!

Fall Back

احتمالاً تا حالا اسم تشخیص جوامع (Community Detection) به گوشتون خورده، اونم توی شبکه‌هایی مثل شبکه‌های اجتماعی، گراف‌های اطلاعاتی یا حتی ارتباطات اینترنتی. خلاصه‌ش اینه که می‌خان بفهمن کی با کی دوست‌تره و چه گروه‌هایی قوی‌تر و محکم‌تر به هم وصله. اما مشکلی که همیشه هست اینه که خیلی از روش‌ها میان یه عالمه گروه درست می‌کنن که بعضیاشون درست و حسابی بهم وصل نیستن یا نصفه‌نیمه کنار هم قرار گرفتن! همین باعث می‌شه فهمیدن و تحلیل کردن اون گروه‌ها سخت شه و قابل اعتماد نباشه.

حالا یه راه‌حل خفن به اسم Well-Connected Clusters یا همون WCC (یعنی ساختن گروه‌هایی که اعضاش واقعاً بهم وصل باشن و از هم نپاشن) و Connectivity Modifier یا همون CM اومده که این مشکل رو توی کلی الگوریتم حل می‌کنه. ولی یه ایراد اساسی داشت: رو شبکه‌های خیلی خیلی بزرگ (مثلاً شبکه‌هایی با میلیاردها ارتباط!) این روشا خیلی کند و سنگین بودن و عملاً کار نمی‌کردن.

توی این مقاله اومدن این دوتا روش محبوب رو با زبون HPE Chapel که مخصوص پردازش موازی و بهینه‌سازی کارهای سنگین رو چندتا هسته‌ی کامپیوتره پیاده‌سازی کردن. یعنی اگه کامپیوترت کلی هسته (Core) داشته باشه، این روشا رو می‌تونی موشک‌وار اجرا کنی! مثلاً اگر ۱۲۸ تا هسته استفاده کنی، دیتاستی مثل Open-Alex که بالای دو میلیارد ارتباط داره رو فقط تو چند دقیقه خوشه‌بندی می‌کنی؛ در حالی‌که قبلاً همچین چیزی اصلاً ممکن نبود.

اینا علاوه بر اون، کدهاشون رو توی یه چهارچوب اپن‌سورس و پرسرعت به اسم Arkouda/Arachne هم گذاشتن. Arkouda/Arachne یعنی بستری که به کاربرها اجازه می‌ده با حجم بالای داده‌های گرافی (یعنی اطلاعاتی که توش همه‌چی به‌هم وصله) راحت و سریع کار کنن و تحلیل انجام بدن.

خلاصه‌اش این می‌شه که با بهینه‌سازی و استفاده از ابزارهای موازی‌سازی، حالا می‌تونیم تحلیل جوامع قوی توی بزرگ‌ترین شبکه‌های دنیا رو آسون و سریع انجام بدیم؛ اونم با کیفیتی که قبلاً آرزو می‌کردیم! تازه این کار باعث می‌شه از نتیجه‌ی تحلیل‌ها مطمئن‌تر باشیم چون دیگه گروهامون حداقل واقعاً به‌هم وصلن و بی‌ربط کنار هم قرار نگرفتن. اگه با دنیای آنالیز شبکه‌ها سروکار داری، این روش جدید واقعاً می‌تونه تحولی ایجاد کنه؛ به‌خصوص اگه دیتاهات به اندازه کل اینترنت بزرگ باشه!

منبع: +