My Project
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | List of all members
Model Class Reference

Classes

class  HistoricFirm
 

Public Member Functions

LayeredMatrix GenerateKnowledgeNetwork ()
 
boolean WriteKnowledgeGraph (LayeredMatrix network, String filename)
 
boolean WriteActionGraph (String filename)
 
boolean WriteAllActionsGraph (String filename)
 
void InsertHistoricAction (Firm actor, Firm inspiration, int action_type)
 
double[][] GenerateSimilarityNetwork ()
 
boolean WriteSimilarityGraph (double[][] network, String filename)
 
boolean SaveAllActionsGraph ()
 
boolean SaveAllActionsGraphEnd ()
 
boolean SaveActionGraph ()
 
boolean SaveActionGraphEnd ()
 
boolean SaveKnowledgeGraph ()
 
boolean SaveKnowledgeGraphEnd ()
 
boolean SaveSimilarityGraph ()
 
boolean SaveSimilarityGraphEnd ()
 
void buildObjects ()
 
void performAction ()
 
void updateStats ()
 
double powerLaw (double min, double max, double exponent)
 
int getTorus (int c)
 

Static Public Member Functions

static void main (String[] args)
 

Public Attributes

int worldLength = 100
 
int numClusters = 1
 the number of clusters
 
float varClusterPos = 20.0f
 
int numInnovatorsInACluster = 10
 
int numImitatorsInACluster = 10
 
int numIsolatedInnovators = 10
 
int numIsolatedImitators = 10
 
int maxFieldsPerFirm = 5
 
float maxExpertise = 10.0f
 
float decayRate = 0.1f
 
float cognitiveDistanceWindow = 0.5f
 
float maxCognitiveEffort = 1.0f
 
int newBEIsIDs
 
int clusteredImitatorDeaths = 0
 
int isolatedImitatorDeaths = 0
 
int clusteredInnovatorDeaths = 0
 
int isolatedInnovatorDeaths = 0
 
CommonKnowledge commonKnowledge
 
BufferedWriter stats
 time series
 
FileWriter BEIs
 
FileWriter KFs
 knowledge fields at each simulation step
 

Static Public Attributes

static int stopsAt = 2
 the number of simulation steps
 
static boolean changeSeed = false
 the seed of random numbers generators More...
 
static long seed = 100000
 
static int saveNetworkStep = 5
 
static int simulation_number = 1
 
static int numBusinessElements = 2
 
static int newBusinessElements = 1
 
static int originOfPerformance = 0
 
static int step = 1
 the simulation step
 
static int run = 1
 the counter of simulations (runs)
 
static ArrayList< FirmfirmList
 the list of firms
 
static ArrayList< BusinessElementInstance >[] instances
 a vector of lists of BEIs, one for each business element
 

Private Member Functions

void updateKFdata ()
 
void updateBEIdistribution ()
 

Detailed Description

Model manages all other agents and objects.

Author
Sirio Capizzi
Guido Fioretti
Ruggero Rossi

Member Function Documentation

void Model.buildObjects ( )
inline

Here, the objects populating the model are created. These include:

  • Common knowledge;
  • The output files;
  • Firms;
  • The random numbers generator.

Initialilzations of various objects:

  • Business element instances;
  • Knowledge;
  • Betweenness centrality;
  • A matrix recording past actions.
LayeredMatrix Model.GenerateKnowledgeNetwork ( )
inline

Knowledge Network Nodes are knowledge fields, that are linked if they share an instance of a business element. All nodes are black. Their labels show knowledge fields' IDs. Edges are colored depending on which business element any two knowledge fields have in common:

  • BE1: Blue;
  • BE2: Yellow;
  • BE3: Red;
  • BE4: Green;
  • BE5: Purple.
Returns
double [][] Model.GenerateSimilarityNetwork ( )
inline

The Similarity Network. The Similarity Network depicts a similarity index between firms' knowledge bases at a particular simulation step. Nodes represent firms. All nodes are black. Labels show firms' IDs. The labels of clustered firms also show their cluster's number preceded by a 'C'. The similarity index between two firms' knowledge bases is illustrated by edge color.

  • If 0.0 <= Similarity Index < 0.2 –> No edge
  • If 0.2 <= Similarity Index < 0.4 –> Yellow edge
  • If 0.4 <= Similarity Index < 0.6 –> Orange edge
  • If 0.6 <= Similarity Index < 0.8 –> Red edge
  • If 0.8 <= Similarity Index <= 1.0 –> Violet edge
Returns
Returns a matrix representing the network between all firms. The matrix is an adiacency matrix: the element of a (row,column) is the weight of the link between the rowth-firm and the columnth-firm that weight is calculating summing the intersection values between the two firms. Hence it is a symmetric matrix. The diagonal is posed = 0 (no link with themselves).
int Model.getTorus ( int  c)
inline

This function returns a coordinate on a torus worldLength x worldLength.

Parameters
c
Returns
void Model.InsertHistoricAction ( Firm  actor,
Firm  inspiration,
int  action_type 
)
inline

This method is called by firms in order to store any action they undertake in the matrix of past actions.

Parameters
actor
inspiration
action_type
static void Model.main ( String[]  args)
inlinestatic

The main. Here is where everything starts.

Parameters
args
void Model.performAction ( )
inline

Several actions are carried out:

  • Dead agents are removed from their lists;
  • Betweeness centrality is updated;
  • The histograms of the business elements are updated.
double Model.powerLaw ( double  min,
double  max,
double  exponent 
)
inline

MATHEMATICAL FUNCTIONS This function is called by buildObjects in order to initialize the size of firms according to a power law. It is also called in order to substitute dead firms.

Parameters
min
max
exponent
Returns
boolean Model.SaveActionGraph ( )
inline
Returns
boolean Model.SaveActionGraphEnd ( )
inline
Returns
boolean Model.SaveAllActionsGraph ( )
inline

A series of methods to write information on:

  • Action Network;
  • HistoricAction Network;
  • Knowledge Network;
  • Similarity Network.
Returns
boolean Model.SaveAllActionsGraphEnd ( )
inline
Returns
boolean Model.SaveKnowledgeGraph ( )
inline
Returns
boolean Model.SaveKnowledgeGraphEnd ( )
inline
Returns
boolean Model.SaveSimilarityGraph ( )
inline
Returns
boolean Model.SaveSimilarityGraphEnd ( )
inline
Returns
void Model.updateBEIdistribution ( )
inlineprivate

The distribution of business element instances. This prints the following information on BEIs.dat:

  • Simulation step;
  • Business element starting from 1, with 0 representing undefined business element instances;
  • The name of each business element instance;
  • The number of replicas;
  • The number of firms that have at least one replica.
void Model.updateKFdata ( )
inlineprivate

Output data on knowledge fields:

  • Simulation step;
  • What knowledge fields are there;
  • How many instances of each knowledge field exist;
  • A measure of performance (e.g., betweeness centrality) of each knowledge field.
void Model.updateStats ( )
inline

The output file for all time series produced by this model (66 variables):

  • Minimum number of rivals for isolated and clustered innovators and imitators (4);
  • Maximum number of rivals for isolated and clustered innovators and imitators (4);
  • Sum of number of rivals for isolated and clustered innovators and imitators + inside cluster rivals (6);
  • Sum of vicarious exploitation for isolated and clustered innovators and imitators (4);
  • Sum of vicarious exploration for isolated and clustered innovators and imitators (4);
  • Sum of experiential exploitation for isolated and clustered innovators (2);
  • Sum of experiential exploration for isolated and clustered innovators (2);
  • Sum of exit for isolated and clustered innovators and imitators (4);
  • Sum of cognitive distance for isolated and clustered innovators and imitators (4);
  • Sum of performance for isolated and clustered innovators and imitators (4);
  • Minimum number of knowledge fields for isolated and clustered innovators and imitators (4);
  • Maximum number of knowledge fields for isolated and clustered innovators and imitators (4);
  • Sum of number of knowledge fields for isolated and clustered innovators and imitators (4);
  • Minimum expertise for isolated and clustered innovators and imitators (4);
  • Maximum expertise for isolated and clustered innovators and imitators (4);
  • Sum of expertise for isolated and clustered innovators and imitators (4);
  • Sum of deaths of isolated and clustered innovators and imitators (4).
boolean Model.WriteActionGraph ( String  filename)
inline

The network of actions: Action The network of past actions: HistoricActions Nodes represent firms. Their labels tell their IDs. The labels of clustered firms also show their cluster's ID preceded by a 'C'. Actions are illustrated by nodes' colors and edges' colors. Nodes representing Innovators are black if they undertake no action. Their rim is also black.

  • If Innovators undertake Experiential Exploration: Red node.
  • If Innovators undertake Experiential Exploitation: Blue rim. Nodes representing Imitators are always gray, with gray rim. Vicarious learning is represented by edge color for both Innovators and Imitators:
  • Vicarious Exploration: Red edge.
  • Vicarious Exploitation: Blue edge.
Parameters
filename
Returns
boolean Model.WriteAllActionsGraph ( String  filename)
inline

HistoricAction begins. Salva il grafo delle intersezioni tra i BEI delle aziende.

Parameters
filename
Returns
Returns 0 if ok
boolean Model.WriteKnowledgeGraph ( LayeredMatrix  network,
String  filename 
)
inline

salva il grafo delle intersezioni tra i BEI della CommonKnowledge

Parameters
network
filename
Returns
Returns 0 if ok
boolean Model.WriteSimilarityGraph ( double  network[][],
String  filename 
)
inline

salva il grafo delle similarità tra aziende returns 0 if ok.

Parameters
network
filename
Returns

Member Data Documentation

FileWriter Model.BEIs

business element instances at each simulation step

boolean Model.changeSeed = false
static

the seed of random numbers generators

if true, it selects at random

int Model.clusteredImitatorDeaths = 0

the number of times an Imitator located in a cluster dies

int Model.clusteredInnovatorDeaths = 0

the number of times an Innovator located in a cluster dies

float Model.cognitiveDistanceWindow = 0.5f

the central window of intermediate cognitive distance

CommonKnowledge Model.commonKnowledge

stores the number of instances of each knowledge field and computes the betweeness centrality of the graph of knowledge fields, which measures performance

float Model.decayRate = 0.1f

the rate of decay of capital and knowledge

int Model.isolatedImitatorDeaths = 0

the number of times an isolated Imitator dies

int Model.isolatedInnovatorDeaths = 0

the number of times an isolated Innovator dies

float Model.maxCognitiveEffort = 1.0f

the maximum cognitive effort that can be spent to take account of rivals

float Model.maxExpertise = 10.0f

the maximum expertise that can be attained on a knowledge field

int Model.maxFieldsPerFirm = 5

the maximum number of knowledge fields that a firm can manage

int Model.newBEIsIDs
Initial value:

the starting point for the IDs of new BEIs created during the simulation, read and updated each time a new BEI is created the number of business elements multiplied by the number of firms

int Model.newBusinessElements = 1
static

how many novel business elements are created when original exploration is made

int Model.numBusinessElements = 2
static

the number of business elements: product, market, technology, organization, etc.

int Model.numImitatorsInACluster = 10

the number of imitators in one cluster

int Model.numInnovatorsInACluster = 10

the number of innovators in one cluster

int Model.numIsolatedImitators = 10

the number of isolated imitators

int Model.numIsolatedInnovators = 10

the number of isolated innovators

int Model.originOfPerformance = 0
static

0: Random performance; 1: Betweenness centrality.

int Model.saveNetworkStep = 5
static

the intervals at which network data are written

long Model.seed = 100000
static

the seed of the random numbers generators

int Model.simulation_number = 1
static

the number of simulations, always = 1 in single-run (this is used in the names of the graphs)

float Model.varClusterPos = 20.0f

the variance of the position of clusters and isolated firms in the world

int Model.worldLength = 100

the world is a torus obtained from a square


The documentation for this class was generated from the following file: