All pastes #675574 Raw Edit

Miscellany

public text v1 · immutable
#675574 ·published 2007-08-30 08:57 UTC
rendered paste body
//=======================================================================================
//                     == 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 >==
//=======================================================================================