پیش‌نویس:الگوریتم راواس

از testwiki
نسخهٔ تاریخ ۲ ژانویهٔ ۲۰۲۴، ساعت ۱۵:۳۹ توسط imported>Marzie kamkar (صفحه‌ای تازه حاوی «این الگوریتم یکی از روش‌های خوشه‌بندی سلسله‌مراتبی شبکه است.<ref>{{Cite journal|last=Ravasz|first=E.|last2=Somera|first2=A. L.|last3=Mongru|first3=D. A.|last4=Oltvai|first4=Z. N.|last5=Barabási|first5=A.-L.|date=2002-08-30|title=Hierarchical Organization of Modularity in Metabolic Networks|url=http://dx.doi.org/10.1126/science.1073374|journal=Science|volume=297|issue=5586|pages...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

این الگوریتم یکی از روش‌های خوشه‌بندی سلسله‌مراتبی شبکه است.[۱] در این روش ابتدا هر راس شبکه یک انجمن مجزا در نظر گرفته می‌شود و در ادامه در هر مرحله راس‌های دارای مشابهت بیشتر با یکدیگر یک انجمن تشکیل خواهند داد.

ماتریس مشابهت

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

برای تعریف مشابهت بین رئوس، ماتریسی تعریف می‌شود به طوری که درایه xij این ماتریس، که نشان دهنده مشابهت میان دو راس i و j است، اینگونه تعریف می‌شود:

xij=J(i,j)min(ki,kj)+1Θ(Aij)

که J(i,j) تعداد همسایه‌های مشترک دو راس است و در صورتی که بین دو راس پیوند مستقیم وجود داشته باشد این عدد را با ۱ جمع می‌کنیم. Θ(x) نیز یک تابع پله‌ای است که در صورتی که x0 باشد برابر صفر و در صورتی که x>0 باشد برابر یک است. قطر اصلی این ماتریس را نیز صفر قرار می‌دهیم. همانطور که مشخص است ماتریس مشابهت یک ماتریس متقارن است که قطر اصلی آن صفر است.

زمانی که راس‌ها با یکدیگر ادغام شده و یک انجمن تشکیل دهند، مشابهت بین دو انجمن به روش‌ها مختلف می‌تواند تعریف شود. مثلا در بعضی موارد کمترین xij در نظر گرفته می‌شود به طوری که i عضو انجمن اول و j عضو انجمن دوم باشد، و یا می‌توان به طریق مشابه بیشترین xij را در نظر گرفت. در الگوریتم راواس میانگین مشابهت انجمن‌ها در نظر گرفته می‌شود. به این معنی که میانگین xij روی تمامی i و jهای متعلق به انجمن‌‌های متمایز را به عنوان مشابهت دو انجمن در نظر می‌گیریم.

الگوریتم

گام اول: هر راس را یک انجمن متمایز در نظر می‌گیریم و ماتریس مشابهت را محاسبه می‌کنیم.

گام دوم: دو راس یا دو انجمن با بیشترین مشابهت را پیدا کرده و آن دو را با هم ادغام می‌کنیم.

گام سوم: مشابهت میان انجمن جدید و تمامی انجمن‌ها را محاسبه می‌کنیم.

گام چهارم: گام دوم و سوم را آنقدر تکرار می‌کنیم تا تمامی راس‌ها عضو یک انجمن شوند.