My Project
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Firm Class Referenceabstract

Public Member Functions

 Firm (Model m, int id, double s, int x, int y, int c)
 
void initializeKnowledge (Random RandomNumbersGenerator)
 
void updatePerformanceThreshold (double avep)
 
void performAction ()
 
void checkAlive ()
 
boolean isDead ()
 
void identifyRivals ()
 
void updateKnowledge ()
 
abstract void experientialExploration (KnowledgeField kf1, double p, boolean anyLowIntermediateCD)
 
abstract void experientialExploitation (KnowledgeField kf1, double currentExpertise, double p, boolean anyLowIntermediateCD)
 
abstract void vicariousExploration (KnowledgeField kf2, double wd2, boolean anyIntermediateCD)
 
abstract void vicariousExploitation (KnowledgeField kf1, KnowledgeField kf2, double d1, double d2, double cd)
 
abstract void exitField (KnowledgeField kf)
 
abstract int getExperientialExploration ()
 
abstract int getExperientialExploitation ()
 
abstract int getVicariousExploration ()
 
abstract int getVicariousExploitation ()
 
abstract int getExitField ()
 
abstract java.awt.Color getColor ()
 
int getIdentity ()
 
int getYourCluster ()
 
int getNumRivals ()
 
int getNumRivalsInsideCluster ()
 
double getCognitiveDistance ()
 
int getNumFields ()
 
double getLowestExpertise ()
 
double getAverageExpertise ()
 
double getHighestExpertise ()
 
double getPerformance ()
 
double getSize ()
 
int getX ()
 
int getY ()
 
double getDistanceCoefficient (int x, int y)
 
KnowledgeBase getKnowledgeBase ()
 

Public Attributes

ArrayList< FirminspirationFirms = new ArrayList<Firm>()
 
double numRivalsInsideCluster
 
double numRivals
 The total number of rivals.
 

Protected Attributes

Model model
 The model that creates the agents.
 
CommonKnowledge commonKnowledge
 
boolean rivalsChanged
 Whether the set of rivals changed.
 
double similarityThreshold
 
double maxCognitiveEffort
 
ArrayList< FirmfirmList
 
double valuesSI []
 
ArrayList< FirmrivalsList = new ArrayList<Firm>()
 My rivals.
 
int identity
 A firm's identity.
 
double size
 A firm's size, the integral of performance.
 
double sizeAttained
 
int xPos
 
int cluster
 The firm is a member of this cluster.
 
double avePerformance
 
double lowPerformance
 
double minCriticalPerformance
 
boolean dead = false
 Dead firms will be eliminated.
 
KnowledgeBase myKnowledge
 A firm's knowledge base.
 
KnowledgeBase rivalKnowledge
 
double aveCognitiveDistance
 
double minCriticalCognitiveDistance
 
double maxCriticalCognitiveDistance
 
int maxNumFields
 The maximum number of fields.
 
double maxExpertise
 
double decayRate
 The rate of decay of capital and knowledge.
 
int expExploration
 
int vicExploration
 
int expExploitation
 
int vicExploitation
 
int exit
 
int numFields
 The number of knowledge fields of a firm.
 
double lowestExpertise
 
double averageExpertise
 
double highestExpertise
 

Detailed Description

The parent class of all firms.

Constructor & Destructor Documentation

Firm.Firm ( Model  m,
int  id,
double  s,
int  x,
int  y,
int  c 
)
inline
Parameters
m
id
s
x
y
c

Member Function Documentation

void Firm.checkAlive ( )
inline

The firm checks that (1) it has sufficient financial resources to do anything and that (2) it has at least one knowledge field left. If it has not, the boolean variable "dead" is set true. If it still has knowledge fields, they are deleted from CommonKnowledge. The counter of exits is increased. Later on, Model kills the agents whose boolean variable "dead" is true.

abstract void Firm.exitField ( KnowledgeField  kf)
abstract
Parameters
kf
abstract void Firm.experientialExploitation ( KnowledgeField  kf1,
double  currentExpertise,
double  p,
boolean  anyLowIntermediateCD 
)
abstract
Parameters
kf1
currentExpertise
p
anyLowIntermediateCD
abstract void Firm.experientialExploration ( KnowledgeField  kf1,
double  p,
boolean  anyLowIntermediateCD 
)
abstract

These methods are called by "updateKnowledge". They are written in the children, because they specify the actions undertaken by each kind of agent.

Parameters
kf1
p
anyLowIntermediateCD
double Firm.getAverageExpertise ( )
inline
Returns
double Firm.getCognitiveDistance ( )
inline
Returns
Returns a firm's cognitive distance from its rivals, averaged over all of its knowledge fields.
abstract java.awt.Color Firm.getColor ( )
abstract

This method is written in the children. It tells whether it's an Innovator or an Imitator.

double Firm.getDistanceCoefficient ( int  x,
int  y 
)
inline

Returns a distance coefficient in the [0,1] interval: 0 denotes maximum distance, 1 denotes zero distance. It refers to the distance between the quering firm and this firm. The distance coefficient is 1 when distance has no effect.

Parameters
x
y
Returns
abstract int Firm.getExitField ( )
abstract
Returns
abstract int Firm.getExperientialExploitation ( )
abstract
Returns
abstract int Firm.getExperientialExploration ( )
abstract

These methods return a firm's actions. They are implemented in the children.

Returns
double Firm.getHighestExpertise ( )
inline
Returns
int Firm.getIdentity ( )
inline
Returns
Returns its identification number to other agents.
KnowledgeBase Firm.getKnowledgeBase ( )
inline

Returns its knowledge base.

Returns
Returns its knowledge base.
double Firm.getLowestExpertise ( )
inline

Return lowest, highest and average depth of a firm's knowledge fields.

Returns
int Firm.getNumFields ( )
inline

Returns the number of knowledge fields.

Returns
int Firm.getNumRivals ( )
inline
Returns
These methods return the number of rivals.
int Firm.getNumRivalsInsideCluster ( )
inline
Returns
These methods return the number of rivals.
double Firm.getPerformance ( )
inline

Returns its performance.

Returns
Returns its performance.
double Firm.getSize ( )
inline

Returns its size.

Returns
Returns its size.
abstract int Firm.getVicariousExploitation ( )
abstract
Returns
abstract int Firm.getVicariousExploration ( )
abstract
Returns
int Firm.getX ( )
inline

Return its position.

Returns
Return its X position.
int Firm.getY ( )
inline

Return its position.

Returns
Return its Y position.
int Firm.getYourCluster ( )
inline
Returns
Returns the cluster it is part of.
void Firm.identifyRivals ( )
inline

Rivals are selected among the most similar competitors, independently of distance. However, the more distant the rivals, the more cognitive effort is necessary to spend. The search for rivals stops as soon as the maximum cognitive effort allowed is reached. This search is only carried out if similarity indexes changed.

void Firm.initializeKnowledge ( Random  RandomNumbersGenerator)
inline

Initialization of knowledge. A substantial part of initialization is carried out within buildObjects of Model, where BEIs are created. Here, a subset of these BEIs is picked up.

Parameters
RandomNumbersGenerator
boolean Firm.isDead ( )
inline
Returns
void Firm.performAction ( )
inline

This method is called by the 'main', which is inside Model. In this case, performAction has been subdivided into:

  • checkAlive;
  • identifyRivals;
  • updateKnowledge.
void Firm.updateKnowledge ( )
inline

Decisions that affect knowledge are carried out. This methods computes the data upon which experimental exploration, experimental exploitation, vicarious exploration, vicarious exploitation, and exit are carried out by the children. Exit is carried out here, after all other actions. Furthermore, this method measures:

  • The number of knowledge fields;
  • Minimum, maximum and average expertise;
  • Size and sizeAttained;
  • Average performance of this firm's knowledge fields;
  • Average cognitive distance of this firm's knowledge base from its rivals.
void Firm.updatePerformanceThreshold ( double  avep)
inline

Updates the threshold of performance.

Parameters
avep
abstract void Firm.vicariousExploitation ( KnowledgeField  kf1,
KnowledgeField  kf2,
double  d1,
double  d2,
double  cd 
)
abstract
Parameters
kf1
kf2
d1
d2
cd
abstract void Firm.vicariousExploration ( KnowledgeField  kf2,
double  wd2,
boolean  anyIntermediateCD 
)
abstract
Parameters
kf2
wd2
anyIntermediateCD

Member Data Documentation

double Firm.aveCognitiveDistance
protected

Cognitive distance averaged over all knowledge fields.

double Firm.avePerformance
protected

Performance averaged over all knowledge fields.

double Firm.averageExpertise
protected

The average expertise of knowledge fields.

CommonKnowledge Firm.commonKnowledge
protected

Knowledge fields are common knowledge.

int Firm.exit
protected

The number of times a firm abandons a knowledge field.

int Firm.expExploitation
protected

The number of times existing knowledge is exploited.

int Firm.expExploration
protected

The number of times an original Exploration of new knowledge.

ArrayList<Firm> Firm.firmList
protected

The list of firms, from which the rivals are drawn.

double Firm.highestExpertise
protected

The highest expertise among knowledge fields.

ArrayList<Firm> Firm.inspirationFirms = new ArrayList<Firm>()

The firm from which ideas are taken (the rival or the firm itself).

double Firm.lowestExpertise
protected

The lowest expertise among knowledge fields.

double Firm.lowPerformance
protected

The lower threshold of performance as a percentage of the time average of past performance.

double Firm.maxCognitiveEffort
protected

The maximum cognitive effort to be spent in order to take account of rivals

double Firm.maxCriticalCognitiveDistance
protected

The upper threshold of cognitive distance, adjusted to past values.

double Firm.maxExpertise
protected

The maximum expertise that can be attained.

double Firm.minCriticalCognitiveDistance
protected

The lower threshold of cognitive distance, adjusted to past values.

double Firm.minCriticalPerformance
protected

The lower threshold of performance, adjusted to past values.

double Firm.numRivalsInsideCluster

The number of rivals in one's own cluster (meaningful for clustered firms only).

KnowledgeBase Firm.rivalKnowledge
protected

A rivals' knowledge base, or the compound knowledge of rivals.

double Firm.similarityThreshold
protected

Agents are considered rivals if. the similarity of their knowledge is greater than this threshold

double Firm.sizeAttained
protected

The maximum size attained, needed in order to implement linear decay.

double Firm.valuesSI[]
protected

Firms' similarity index: a vector of firmList.size()

int Firm.vicExploitation
protected

The number of times existing knowledge is exploited by imitation.

int Firm.vicExploration
protected

The number of times new knowledge is explored by imitation.


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