Conscience Core
CscKnowledgeItemTargetMemberFocusState.h
Go to the documentation of this file.
1 /*
2  * CscKnowledgeStanding.h
3  *
4  * Created on: 31 mai 2014
5  * Author: ilieszaoui
6  */
7 
8 #ifndef CscKnowledgeItemTargetMemberFocusState_H_
9 #define CscKnowledgeItemTargetMemberFocusState_H_
10 
13 
15 
17  public:
18  CscKnowledgeItemTargetMemberFocusState(int knoItemIdIn, string knoItemNameIn, const vector<const TargetMemberValues *> *inputsTargetValuesIn, const vector<const TargetMemberPonderation *> *inputsTargetPercentsIn, CscUnitType unitTypeIn, string targetOriginMember, bool symemtrySearch, int nbStateMax, int deltaPerStateMax, bool optionCutLastestIfTheSameAndWorst, bool optionCutBeginingIfTheSame, bool optionDeltaPerStateMaxDegressive, float percentAvg, float percentMax, float stateDuration, float stateDelay, float solvedAt, bool outputTypes[], CscArtificialIntelligenceTypes aiTypes, bool strictPonderations);
19 
20  void sequencePostTraitment(CscSequence *sequenceIn) override;
21  int getSequenceCountAutorized(float initStateValue) override;
22  float getExtrapolationResult(CscSequence *sequenceIn) override;
23  bool isStatesSupportOf(CscState *state1, CscState *state2) override;
24  bool isObjectiveSupportOf(CscKnowledgeItem *knowledgeItem) override;
25  float evaluateState(CscState *stateIn, const CscWorldEntity *entity, CscState *initialState) override;
27 
28  CscPerson *generatePerson(CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration) override;
29  CscPerson *generatePersonGenetic(CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration);
30  CscPerson *generatePersonKinematic(CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration);
31  int getActionmaxJointDelta(float initStateValue);
32  map<CscStrategyType, float> strategyElitism;
33  map<CscStrategyType, float> strategyProbability;
34 
35  static CscKnowledgeItemTargetMemberFocusState *create(int targetId, string targetName,
36  string targetMemberName,
37  float posX, float posY, float posZ,
38  CscUnitType unitType, string targetOriginMember, bool symemtrySearch,
39  int nbStateMax, int deltaPerStateMax,
40  bool optionCutLastestIfTheSameAndWorst,
41  bool optionCutBeginingIfTheSame,
42  bool optionDeltaPerStateMaxDegressive,
43  float percentAvg,
44  float percentMax,
45  int stateDuration,
46  int stateDelay,
47  float solvedAt,
48  bool outputTypes[],
50  bool strictPonderations = false) {
51 
52  auto inputsTargetValues = new vector<const TargetMemberValues *>();
53  auto inputsTargetPercents = new vector<const TargetMemberPonderation *>();
54 
55  // State objective
56  CscMemberInputStatus *inputsFinalCore = new CscMemberInputStatus(targetMemberName);
57  TargetMemberValues *targetMemberVal = new TargetMemberValues();
58  map<CscInputType, float> inputsTargetValuesCore;
59  inputsTargetValuesCore[POS_X] = posX;
60  inputsTargetValuesCore[POS_Y] = posY;
61  inputsTargetValuesCore[POS_Z] = posZ;
62  inputsFinalCore->values = inputsTargetValuesCore;
63  targetMemberVal->memberValues = inputsFinalCore;
64  inputsTargetValues->push_back(targetMemberVal);
65 
66  // State Percents
67  CscMemberInputPonderation *percentsFInalCore = new CscMemberInputPonderation(targetMemberName);
68  TargetMemberPonderation *targetMemberPonderation = new TargetMemberPonderation();
69  map<CscInputType, float> inputsTargetPercentsCore;
70  percentsFInalCore->values = inputsTargetPercentsCore;
71  targetMemberPonderation->memberValues = percentsFInalCore;
72  inputsTargetPercents->push_back(targetMemberPonderation);
73 
74  return new CscKnowledgeItemTargetMemberFocusState(targetId, targetName, inputsTargetValues, inputsTargetPercents, unitType, targetOriginMember, symemtrySearch, nbStateMax, deltaPerStateMax, optionCutLastestIfTheSameAndWorst, optionCutBeginingIfTheSame, optionDeltaPerStateMaxDegressive, percentAvg, percentMax, stateDuration, stateDelay, solvedAt, outputTypes, aiTypes, strictPonderations);
75  }
76  };
77 }
78 
79 #endif /* CscKnowledgeItemTargetGenetic_H_ */
POS_Y
@ POS_Y
Definition: CscMemberInputStatus.h:15
CscWorldEntity
Definition: CscWorldEntity.h:19
conscience_core::knowledge::CscKnowledgeItemTarget
Definition: CscKnowledgeItemTarget.h:22
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:34
conscience_core::knowledge::CscKnowledgeItem::TargetMemberValues::memberValues
CscMemberInputStatus * memberValues
Definition: CscKnowledgeItem.h:79
conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState::strategyElitism
map< CscStrategyType, float > strategyElitism
Definition: CscKnowledgeItemTargetMemberFocusState.h:32
CscUnitType
CscUnitType
Definition: CscUnitType.h:14
CscMemberInputStatus::values
map< CscInputType, float > values
Definition: CscMemberInputStatus.h:56
conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState::strategyProbability
map< CscStrategyType, float > strategyProbability
Definition: CscKnowledgeItemTargetMemberFocusState.h:33
conscience_core::knowledge::CscArtificialIntelligenceTypes
uint64_t CscArtificialIntelligenceTypes
Definition: CommandParser.h:21
conscience_core::knowledge
Definition: CscEntityReflexion.h:35
CscPerson
Definition: CscPerson.h:19
CscKnowledgeItemTarget.h
CscState
Definition: CscState.h:24
conscience_core::knowledge::CscKnowledgeItem::TargetMemberValues
Definition: CscKnowledgeItem.h:78
CscGeneration
Definition: CscGeneration.h:20
POS_Z
@ POS_Z
Definition: CscMemberInputStatus.h:15
CscMemberInputPonderation
Definition: CscMemberInputPonderation.h:19
conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState::create
static CscKnowledgeItemTargetMemberFocusState * create(int targetId, string targetName, string targetMemberName, float posX, float posY, float posZ, CscUnitType unitType, string targetOriginMember, bool symemtrySearch, int nbStateMax, int deltaPerStateMax, bool optionCutLastestIfTheSameAndWorst, bool optionCutBeginingIfTheSame, bool optionDeltaPerStateMaxDegressive, float percentAvg, float percentMax, int stateDuration, int stateDelay, float solvedAt, bool outputTypes[], CscArtificialIntelligenceTypes aiTypes, bool strictPonderations=false)
Definition: CscKnowledgeItemTargetMemberFocusState.h:35
CscStrategyType.h
POS_X
@ POS_X
Definition: CscMemberInputStatus.h:15
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:31
CscMemberInputPonderation::values
map< CscInputType, float > values
Definition: CscMemberInputPonderation.h:22
conscience_core::knowledge::CscKnowledgeItemTargetMemberFocusState
Definition: CscKnowledgeItemTargetMemberFocusState.h:16
CscMemberInputStatus
Definition: CscMemberInputStatus.h:26
conscience_core::knowledge::CscKnowledgeItem::TargetMemberPonderation::memberValues
CscMemberInputPonderation * memberValues
Definition: CscKnowledgeItem.h:84
conscience_core::knowledge::CscKnowledgeItem::TargetMemberPonderation
Definition: CscKnowledgeItem.h:83
conscience_core::knowledge::CscKnowledgeItem
Definition: CscKnowledgeItem.h:43
CscSequence
Definition: CscSequence.h:51