ایجاد توپولوژی Erdos-Reiny:
از تابع generate_random_graph برای تولید گراف ER استفاده شده است. این تابع همراه با این داکیومنت آورده شده است(generate_random_graph.m)
برای تولید گراف ER با 1000 گره و متوسط درجه گراف 10،احتمال وجود لبه های گراف برابر با p=averagedegree/numberofnodes=10/1000=0.01 می باشد.
کد زیر گراف ER را با پارامتر n=1000,p=0.01 تولید و ماتریس مجاورت آن را در فایلی به نام ERf.dat ذخیره می کند.
clear all
e=generate_random_graph(0,1000,0.01);
[II,JJ,s]=find(e);
N=1000;
ERv=zeros(N,N);
for i=1:length(II)
ERv(II(i),JJ(i))=1;
end
معیارهای اندازه گیری گرافErdos-Reiny:
معیار تغییرات قطر شبکه در اثر ایجاد خرابی
برای محاسبه قطر شبکه ابتدا کوتاه ترین مسیرهای بین زوج گره های شبکه را محاسبه می کنیم و سپس از بین این کوتاه ترین مسیرها، طولانی ترین مسیر را به عنوان قطر شبکه انتخاب می کنیم.
برای این کار از الگوریتم دایکسترا برای محاسبه کوتاه ترین مسیر بین زوج گره ها استفاده می کنیم(کد این الگوریتم به نام simple_dijkstra.m همراه با داکیومنت آورده شده است):
کد محاسبه قطر شبکه:
function diam = diameter(adj)
diam=0;
for i=1:size(adj,1)
d=simple_dijkstra(adj,i);
diam = max ([max(d),diam]);
end
در مرحله بعد برای ایجاد خرابی در شبکه یک برنامه به زبان C# نوشته شده است: