//=======================================================================================
// == 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 >==
//=======================================================================================