گزارش پروژه ی درس مباحث ویژه
برنامه ی مربوط به رسم گراف های خواسته شده در فولدر methods قرار داده شده است. همچنین نتایج شامل مقدار فراوانی هر درجه به ازای هر یک از الگوریتم های خواسته شده در پروژه، معیارهای مورد نظر شامل مرکزیت میانوندی، فاصله ی ژئودزی، ضریب خوشیدگی،تعداد گروه های ایزوله و اتصال پذیری گره در فولدر result موجود می باشد. تولید گراف های خواسته شده توسط NetworkX 1.7 است.
نمودارهای خواسته شده در فایل excel به نام result-mabahes موجود می باشد. با توجه به نمدارهای رسم شده می توان نتایج زیر را گرفت:
1) طبق الگوریتم BA فراوانی بر حسب درجه ی ایجاد شده از power law پیروی می کند.
2) نمودار مربوطه برای الگوریتم ER از power law پیروی نکرده و از پواسون پیروی می کند.
3)نمودار مربوطه برای الگوریتم SW از پواسون پیروی می کند.
4) نمودار مربوط به الگوریتم KE از power law پیروی می کند.
5) همچنین گراف p,g را در حالتیکه p=1 و g=0 است رسم شده است ( که در واقع نقطه ی بهینه از لحاظ تغییرات قطر است dd/df)
همچنین طبق خواسته ی مساله نمودار را در صورت خرابی تصادفی به ازای الگوریتم های موجود و با درصد های خرابی 10% ، 15% ، 20% و 30% رسم نموده ایم. به ازای کلیه ی حالات SW بدترین حالت را دارد و وضعیت گراف های p,g و BA در ازای درصد های خرابی متفاوت از سایر الگوریتم ها بهتر است.
نمودارها را در شکل زیر می توانید مشاهده نمایید ( معیار رسم نمودارها متوسط فاصله ی ژئودزی پس از حملات است).
from networkx import *
import sys
import networkx as nx
from random import random
vNum = 1000
G=nx.erdos_renyi_graph(vNum,0.01)
T10 = copy.deepcopy(G)
T15 = copy.deepcopy(G)
T20 = copy.deepcopy(G)
T30 = copy.deepcopy(G)
for b in range (0 ,vNum):
c = random() * 100
if (c <= 10):
T10.remove_node(b)
for b in range (0 ,vNum):
c = random() * 100
if (c <= 15):