My Project
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
KnowledgeBase Class Reference

Public Member Functions

 KnowledgeBase (double maxE)
 
boolean isThereField (KnowledgeField kf)
 
int howManyOfThisBEI (long BEI_ID)
 
int getNumFields ()
 
double getExpertise (KnowledgeField kf)
 
double getLowestExpertise ()
 
KnowledgeField getKFwithLowestExpertise ()
 
double getAverageExpertise ()
 
double getHighestExpertise ()
 
KnowledgeField getKFwithHighestExpertise ()
 
Set< Map.Entry< KnowledgeField, ExpertiseData > > getKnowledge ()
 
void tuneFieldExpertise (KnowledgeField kf, double fraction)
 
void setField (KnowledgeField kf, double d)
 
void removeField (KnowledgeField kf)
 
void removeAllFields ()
 
Set< KnowledgeFieldfields ()
 
Object clone ()
 
double getMaxExpertise ()
 

Protected Member Functions

void accountForDistance (double dC)
 

Protected Attributes

double maxExpertise
 The maximum expertise allowed.
 

Private Attributes

HashMap< KnowledgeField, ExpertiseDataknowledge
 

Detailed Description

Contains knowledge fields and their depths.

Author
Sirio Capizzi
Guido Fioretti
Ruggero Rossi

Constructor & Destructor Documentation

KnowledgeBase.KnowledgeBase ( double  maxE)
inline
Parameters
maxE

Member Function Documentation

void KnowledgeBase.accountForDistance ( double  dC)
inlineprotected

Takes account of the effect of distance on expertise. The expertise of all fields are multiplied by a distance coefficient.

Parameters
dC
Object KnowledgeBase.clone ( )
inline

Makes a copy of this knowledge base.

Set<KnowledgeField> KnowledgeBase.fields ( )
inline

Returns all knowledge fields.

Returns
double KnowledgeBase.getAverageExpertise ( )
inline
Returns
double KnowledgeBase.getExpertise ( KnowledgeField  kf)
inline

Gets an expertise value. If the field is not there, it returns zero.

Parameters
kf
Returns
double KnowledgeBase.getHighestExpertise ( )
inline
Returns
KnowledgeField KnowledgeBase.getKFwithHighestExpertise ( )
inline
Returns
KnowledgeField KnowledgeBase.getKFwithLowestExpertise ( )
inline
Returns
Set<Map.Entry<KnowledgeField,ExpertiseData> > KnowledgeBase.getKnowledge ( )
inline

Returns the whole knowledge base.

Returns
double KnowledgeBase.getLowestExpertise ( )
inline

Get the lowest, the average and the highest expertise. Get the knowledge field with lowest expertise and the knowledge field with highest expertise.

Returns
double KnowledgeBase.getMaxExpertise ( )
inline

Yields the maxExpertise that has received as parameter.

Returns
int KnowledgeBase.getNumFields ( )
inline

Returns the number of fields.

Returns
int KnowledgeBase.howManyOfThisBEI ( long  BEI_ID)
inline

Checks how many replicas of a specific BEI are in this knowledge base.

Parameters
BEI_ID
Returns
boolean KnowledgeBase.isThereField ( KnowledgeField  kf)
inline

Checks whether a specific knowledge field is there. It must check BEIs because it is eventually invoked before KFs' IDs have been fixed. (by Firm, at knowledge initialization)

Parameters
kf
Returns
void KnowledgeBase.removeAllFields ( )
inline

Removes all instances of all knowledge fields.

void KnowledgeBase.removeField ( KnowledgeField  kf)
inline

Removes just one instance of one knowledge field.

Parameters
kf
void KnowledgeBase.setField ( KnowledgeField  kf,
double  d 
)
inline

Adds a new knowledge field with its expertise, or resets the expertise of an existing one. The greatest expertise ever attained is reset as well.

Parameters
kf
d
void KnowledgeBase.tuneFieldExpertise ( KnowledgeField  kf,
double  fraction 
)
inline

Tunes the expertise of a knowledge field by increasing or decreasing it by an amount which is a fraction of the maximum expertise ever attained by that field.

Parameters
kf
fraction

Member Data Documentation

HashMap<KnowledgeField,ExpertiseData> KnowledgeBase.knowledge
private
Initial value:
=
new HashMap<KnowledgeField,ExpertiseData>()

A firm's knowledge is made of items composed by a knowledge field, its current expertise, and the maximum expertise it ever attained. It is organized as a hashmap with Key: KnowledgeField, and Value: ExpertiseData, where ExpertiseData is composed of current expertise and the maximum expertise ever attained.


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