روش های موجود برای تشخیص تشکل های همپوشان در شبکه های ایستا……………. 21
روش نفوذ دسته……………………………………………………………………………………… 21
روش افراز گراف و دسته بندی یال ها…………………………………………………………… 22
روش بسط محلی و بهینه سازی…………………………………………………………………… 23
روش تشخیص فازی…………………………………………………………………………………… 24
روش الگوریتم های پویا و مبتنی بر عامل…………………………………………………….. 25
روشهای دیگر…………………………………………………………………………………………. 26
مقایسه روش های تشخیص تشکل های همپوشان در شبکه های ایستا……………… 26
مجموعه داده ها……………………………………………………………………………………. 27
معیارهای ارزیابی………………………………………………………………………………. 29
نتایج آزمایش ها…………………………………………………………………………………… 30
تحلیل نتایج………………………………………………………………………………………….. 37
تشخیص تشکل های همپوشان در شبکه های پویا………………………………………… 38
جمع بندی………………………………………………………………………………………… 38
فصل سوم: ارائه راه حل و روش های پیشنهادی………………………………………. 42
مقدمه…………………………………………………………………………………………….. 42
نگاهی دقیق تر به روش انتشار برچسب…………………………………………….. 42
الگوریتم……………………………………………………………………………………………. 43
تحلیل پیچیدگی زمانی……………………………………………………………………….. 45
بهبود کارایی روش انتشار برچسب……………………………………………………… 46
الگوریتم………………………………………………………………………………………… 46
الگوریتم مبتنی بر انتشار برچسب برای تشخیص تشکل های همپوشان در شبکه های پویا…… 48
الگوریتم…………………………………………………………………………………………… 48
فصل چهارم: آزمایش ها و نتایج……………………………………………………………. 52
مقدمه…………………………………………………………………………………………… 52
بهبود کارایی روش انتشار برچسب در شبکه های ایستا………………………………. 52
پیاده سازی روش پایه………………………………………………………………………… 52
پیاده سازی روش پیشنهادی………………………………………………………………. 53
مجموعه داده ها………………………………………………………………………………… 53
معیار ارزیابی………………………………………………………………………………… 54
نتایج آزمایش ها……………………………………………………………………………. 54
تحلیل نتایج…………………………………………………………………………………. 57
تحلیل پیچیدگی زمانی…………………………………………………………………… 58
تشخیص تشکل های همپوشان در شبکه های پویا…………………………………… 58
مجموعه داده ها………………………………………………………………………….. 59
معیارهای ارزیابی……………………………………………………………………………… 60
نتایج آزمایش ها……………………………………………………………………………… 60
تحلیل نتایج………………………………………………………………………………… 63
تحلیل پیچیدگی زمانی……………………………………………………………………… 64
فصل پنجم: بحث و نتیجه گیری………………………………………………………. 66
نتیجه گیری……………………………………………………………………………………….. 66
پیشنهاد ها برای کارهای آینده…………………………………………………………….. 67
منابع و مآخذ…………………………………………………………………………………… 69
چکیده:
بسیاری از ساختارهای پیچیده طبیعی و اجتماعی را میتوان به صورت شبکه در نظر گرفت. جادهها، پایگاههای اینترنتی، شبکه های اجتماعی، ارتباطات سازمانی، روابط خویشاوندی، تبادل نامههای الکترونیک، تماسهای تلفنی و تراکنشهای مالی تنها چند نمونه از این شبکهها هستند. امروزه تحلیل شبکهها یکی از شاخههای پژوهشی پرطرفدار و پرکاربرد در سطح جهان است و توجه پژوهشگران بسیاری از رشتههای مختلف از جمله علوم کامپیوتر و علوم اجتماعی را به خود اختصاص داده است. نتایج حاصل از این پژوهشها، ابزار و اطلاعات مفیدی را برای استفاده در حوزههای مختلف از جمله: ارتباطات، امنیت و تجارت در اختیار قرار میدهد.
یکی از موضوعات پرکاربرد در زمینه تحلیل شبکهها، شناسایی تشکلها در شبکه است. میتوان هر تشکل را تودهای متراکم از رئوس در نظر گرفت که از طریق یالهای اندکی با تشکلهای دیگر در ارتباط است. به عنوان مثال افراد با علایق و تمایلات مشابه در شبکههای اجتماعی، صفحات با محتوای مرتبط در فضای وب، مقالات با حوزههای مشابه در پایگاه مقالات، همگی نمونههایی از تشکلها در شبکههای مختلف هستند. در سالهای اخیر، کارهای بسیاری در زمینه شناسایی تشکلها، انجام گرفته و الگوریتمها و ابزارهای متعددی ارائه شده است اما همچنان تلاش برای ارائه روشهای بهتر از منظرهای مختلف از جمله سرعت، دقت و مقیاسپذیری ادامه دارد.
در این پایان نامه، دو روش پیشنهادی، یکی برای افزایش کارایی تشخیص تشکل های همپوشان در شبکه های ایستا و دیگری برای شبکه های پویا به همراه نتایج آزمایش های متعدد انجام شده برای ارزیابی کارایی آنها ارائه شده است.
فصل اول: مقدمه
مقدمه:
در دنیای امروز، ما با سیستم های پیچیده ای[1] در پیرامون خود احاطه شده ایم، از جامعه که در آن میلیون ها عضو با یکدیگر در حال تعامل هستند تا شبکه های تلفن همراه و کامپیوتر که میلیون ها کاربر را به یکدیگر متصل میکنند. همچنین توانایی ما برای استنتاج و درک محیط اطراف، وابسته به شبکه ای از میلیاردها سلول عصبی[2] در مغز ماست. این سیستم های پیچیده نقش های بسیار مهمی در جنبه های مختلف زندگی ما ایفا میکنند. درک، توصیف، پیش بینی و کنترل این سیستم ها از جمله بزرگترین چالش های ما در جهان مدرن است.
معمولا در پشت هر کدام از این سیستم های پیچیده، شبکه ای عظیم قرار دارد که تعاملات بین اجزای این سیستم ها را مشخص میکند. به عنوان مثال: فعل و انفعالات شیمیایی درون بدن موجودات زنده، تعاملات میان سلول های عصبی مغز، روابط دوستی، خویشاوندی و اجتماعی، شبکه جهانی اینترنت، تراکنش های مالی، خطوط انتقال و توزیع نیرو، راه های ارتباطی زمینی، هوایی و دریایی، همگی بخشی از مواردی هستند که میتوان آنها را به صورت یک شبکه توصیف کرد. همچنین میتوان گفت که شبکه ها قلب بسیاری از فناوری های انقلابی عصر حاضر هستند. موتورهای جستجو[3]، شبکه های اجتماعی مجازی[4]، شبکه های کامپیوتری جهانی، شبکه جهانی مخابرات و تلفن همراه تنها تعدادی از این نمونه ها هستند.
با وجود تفاوت و تنوع بسیار زیادی که در ماهیت، اندازه، کاربرد، رفتار و ویژگی های مختلف این سیستم ها و شبکه ها، چه از نوع طبیعی و چه ساخته دست بشر وجود دارد، میتوان اصول و قوانین مشخص و مشابهی را در میان آنها مشاهده کرد. برای مثال: شبکه واکنش های شیمیایی که اجزای آن را مولکول های بسیار کوچک تشکیل میدهند، شبکه جهانی وب[5] که در آن صفحات وب به وسیله پیوندهای وب[6] به یکدیگر متصل شده اند، شبکه های اجتماعی که از روابط میان افراد تشکیل شده اند و بسیاری موارد دیگر، همگی قابل توصیف با ساختارها و قوانین مشابهی هستند و این امر به عنوان یک مزیت بزرگ تلقی میشود. زیرا میتوان تمام این سیستم های متفاوت طبیعی و مصنوعی را توسط ابزارهای ریاضی و مدل سازی مشابهی توصیف کرد.
با توجه به اینکه از سال ها پیش بسیاری از این سیستم ها، مانند: ساختارها و واکنش های زیستی، راه های ارتباطی، روابط اجتماعی و نظایر آن و همچنین دانش مطالعه بر روی سیستم ها و شبکه ها شناخته شده اند، پرسشی که ممکن است مطرح شود این است که چرا اهمیت این موضوع تنها در چند دهه اخیر آشکار شده است؟ پاسخی که میتوان داد این است که در گذشته ابزارهای مناسبی برای جمع آوری، نگهداری و پردازش این اطلاعات وجود نداشت اما امروزه با توسعه چشمگیر فناوری هایی نظیر کامپیوتر و شبکه های ارتباطی دیجیتال، این امکان فراهم آمده است که گردآوری، ترکیب، اشتراک و تحلیل این اطلاعات با سهولت، سرعت و دقت بالا و هزینه کم قابل اجرا باشد.
دانش شبکه[7]
دانش شبکه شاخه ای از علوم بشری است که به مطالعه بر روی شبکه ها میپردازد و تلاش میکند با استفاده از نتایج بررسی های خود، از آنها برای درک بهتر سیستم های پیچیده بهره بگیرد. به طور کلی میتوان چهار ویژگی را برای این دانش برشمرد که در ادامه به اختصار به آنها اشاره میشود (1):
ماهیت میان رشته ای: با توجه به نحوه برخورد با مسئله در حوزه مطالعه شبکه ها، این دانش تنها به یک شاخه خاص از علم محدود نبوده و میتواند در علوم گوناگون از قبیل: علوم اجتماعی، زیستی، کامپیوتر، فیزیک، شیمی، اطلاعات، اقتصاد، امنیت و بسیاری از موارد دیگر کاربرد داشته باشد. به عنوان مثال، روشی که در حوزه علوم اجتماعی برای تشخیص افراد و گرو های موثر بر جامعه مورد استفاده قرار میگیرد، ممکن است در شبکه های کامپیوتری برای مدیریت ترافیک شبکه به کار برده شود.
عملگرایی و تمرکز بر داده ها: بر خلاف نظریه گراف ها که بیشتر به جنبه های انتزاعی و ریاضی مسائل توجه دارد، این دانش بیشتر بر حوزه کاربرد عملی و داده های مسئله تمرکز میکند. به همین جهت ابزارها و روش هایی که در این زمینه ارائه میشوند، بر روی داده ها و مسائل واقعی آزمایش میشوند تا قابلیت و کارایی آنها مشخص شود.
بیان کمی و ریاضی: مطالعه شبکه ها برای توصیف و مطالعه بهتر و دقیق تر، از ابزارها و روش های ریاضی بهره میبرد. به عنوان مثال: نظریه گراف ها، آمار و احتمالات، داده کاوی[8]، تئوری اطلاعات[9]، کنترل و فیزیک آماری از جمله علومی هستند که در این حوزه کاربرد دارند.
پردازش و محاسبات: از آنجا که اغلب مسائل مطرح شده در این حوزه، حجم عظیمی از اطلاعات را در بر میگیرند، بخش مهمی از کار به طراحی و بکارگیری روش هایی معطوف میشود که بتوانند از عهده محاسبات سنگین مورد نیاز برآیند. به همین منظور طراحی الگوریتم ها، پایگاه داده ها و داده کاوی بخشی از ابزارهای نرم افزاری هستند که بسیار به کار برده میشوند.
کاربردهای دانش شبکه:
کارایی و تاثیر هر شاخه از علم، علاوه بر دستاوردهای نظری، در حوزه کاربردهای عملی نیز مورد بررسی قرار میگیرد. در این بخش به اختصار به چند مورد از کاربردهای دانش شبکه ها اشاره میکنیم.
کاربردهای اقتصادی
[چهارشنبه 1399-10-10] [ 05:26:00 ب.ظ ]
|