//======================================================================================= // == Preferential Attachment Graph Model == //======================================================================================= // Last modified : 2007-08-14 // Version : ALPHA 2 // Compiler : CVS 2007-08-14 // Operating System : Windows Vista // JRE : Sun JRE 1.6 // Author : Viktor Erdelyi //======================================================================================= //======================================================================================= // == Main module - model definition == //======================================================================================= model Test { //----------------------------------------------------------------------------------- // -- Variables & constants -- n=100; var net; // var nyetwork; var v1; var v2; var degrees; names = [ "" ++ i : i is [1..n] ]; degree(node) = (+)(net(node)); //----------------------------------------------------------------------------------- // -- Model updater schedule -- schedule modder cyclic 1 { 1: degrees := [ degree(i) : i is [0..n-1] ]; v1:=time; v2:=weightedSelection([0..rint(time)],degrees); net:=[[ (i==v1 and j==v2 and i<>j and net(i)(j)==0) or (i==v2 and j==v1 and i<>j and net(i)(j)==0) => 1 otherwise net(i)(j) : j is [0..n-1]] : i is [0..n-1]]; //nyetwork:=[ [a,b]: a is [0..n-1], b is [0..n-1] when net(a)(b)==1 ]; printLn(v1++" "++v2); degrees := [ degree(i) : i is [0..n-1] ]; printLn(degrees); printLn("===============[ End of turn #"++time++" ]==============="); } //----------------------------------------------------------------------------------- // -- Startup sequence -- startUp { net:=[[/*discreteUniform(0,1)*/0 : i is [0..n-1]] :j is [0..n-1]]; //nyetwork:=[[a,b]: a is [0..n-1], b is [0..n-1] when net(a)(b)==1 ]; degrees:=[0 : termeszetesen_itt is [0..n-1]]; degrees := [ degree(i) : i is [0..n-1] ]; printLn (degrees); stop(n-1); } } //======================================================================================= // ==< EOF >== //=======================================================================================