31 #include "crminrobotagent.h"
32 #include "ctrnninrobotagent.h"
33 #include "lineqinrobotagent.h"
41 CRobotAgent(
const char* pch_name,
unsigned int un_identification,
CArguments* pc_agent_arguments,
CArguments* pc_model_arguments, TBehaviorVector vec_behaviors);
47 virtual void SimulationStepUpdatePosition();
48 virtual void SetBehaviors(TBehaviorVector vec_behaviors);
49 virtual TBehaviorVector GetBehaviors();
51 virtual EAgentType GetType();
55 virtual float* GetFeaturesSensed()
const;
57 virtual CRobotAgent* GetRandomRobotWithWeights(
double f_range);
58 virtual CRobotAgent* GetRandomRobotWithWeights(
unsigned int u_nearestnbrs);
64 virtual void SetWeight(
double f_weight);
65 virtual double GetWeight()
const;
67 virtual void Sense(
unsigned int u_nearestnbrs);
68 virtual void FVsOfWcFeature(
const CFeatureVector* pc_feature_vector,
unsigned int *fv1,
unsigned int *fv2);
69 virtual double GetFVSenseRange()
const;
70 virtual unsigned int GetColor();
71 virtual unsigned int GetSelectedNumNearestNbrs();
73 virtual void SetMostWantedList(
unsigned unFeatureVector,
unsigned int state);
74 virtual unsigned int* GetMostWantedList();
76 virtual void CheckNeighborsResponseToMyFV(
unsigned int* pun_number_of_toleraters,
unsigned int* pun_number_of_attackers,
unsigned int* pun_number_of_unconverged,
bool b_logs);
83 virtual double CountWeightsInAgentListList(TAgentListList* ptlist_agent_list_list,
double f_range);
85 double m_fFVSenseRange;
87 TBehaviorVector m_vecBehaviors;
93 double m_fBitflipProbabililty;
95 float* m_pfFeaturesSensed;
96 unsigned int* m_pbMostWantedList;
98 double m_fResponseRange;
99 unsigned int m_uSelectedNumNearestNbrs;
106 #endif // ROBOTAGENT_H_