public class PolicyAgent extends AbstractPolicyAgent
Constructor and Description |
---|
PolicyAgent(java.lang.String id,
Perimeter perimeter,
java.util.List<PolicyAction> actions) |
PolicyAgent(java.lang.String id,
Perimeter perimeter,
java.util.List<PolicyAction> actions,
java.util.List<PolicyAction> specialActions) |
PolicyAgent(java.lang.String id,
Perimeter perimeter,
java.util.List<PolicyAction> actions,
java.util.List<PolicyAction> specialActions,
int validation)
Should be use when validation is active.
|
PolicyAgent(java.lang.String id,
Perimeter perimeter,
java.util.List<PolicyAction> actions,
java.util.List<PolicyAction> specialActions,
java.util.List<? extends InnerAgent> agents,
double epsilon)
This constructor should be use when a policy agent is created after a merge rollback.
|
PolicyAgent(java.lang.String id,
Perimeter perimeter,
java.util.List<PolicyAction> actions,
java.util.List<PolicyAction> specialActions,
java.util.List<? extends InnerAgent> agents,
double epsilon,
java.lang.String linkedPolicyAgentID)
This constructor should be use when a policy agent is split.
|
Modifier and Type | Method and Description |
---|---|
void |
applyActionToStructure(PolicyAction policyAction) |
java.lang.String |
applyPolicyAction(PolicyAction action) |
void |
applyRandomActionToStructures() |
void |
askAndUpdateLocalLearners() |
PolicyAction |
askLocalLearners() |
static FeaturesDouble |
averagePosition(java.util.List<FeaturesDouble> positions) |
PolicyAction |
chooseActionToApplyToStructures() |
void |
fetchAnswersFromAgents() |
double |
getHighestGain() |
java.lang.String |
getIndexOfBestAction(java.util.Map<java.lang.String,java.lang.Integer> numberOfPerceptionForEachAction) |
PolicyAction |
getLastAction() |
double |
getLastGain() |
PolicyAction |
getLastSpecialAction() |
boolean |
isCurrentlyExperimenting() |
java.lang.String |
keepControlGroup() |
void |
live() |
java.lang.String |
mergeControlGroup(java.util.List<java.lang.Integer> IDs) |
java.lang.Double |
min(java.util.List<java.lang.Double> numbers) |
void |
resetTrust() |
java.lang.String |
rollbackControlGroup() |
java.lang.String |
rollbackFromMerge() |
java.lang.String |
rollbackFromSplit() |
void |
setHighestGain(double highestGain) |
java.lang.String |
splitControlGroup()
The policy agent uses this function to split his control group (lower levels policy agents)
and create a new policy agent of the same level with one of the split control group.
|
void |
updateLocalLearners(PolicyAction action) |
getActions, getId, getInnerAgents, getLocalLearners, getPerimeter, getSequence, getSpecialActions
public PolicyAgent(java.lang.String id, Perimeter perimeter, java.util.List<PolicyAction> actions)
public PolicyAgent(java.lang.String id, Perimeter perimeter, java.util.List<PolicyAction> actions, java.util.List<PolicyAction> specialActions)
public PolicyAgent(java.lang.String id, Perimeter perimeter, java.util.List<PolicyAction> actions, java.util.List<PolicyAction> specialActions, int validation)
id
- perimeter
- actions
- specialActions
- public PolicyAgent(java.lang.String id, Perimeter perimeter, java.util.List<PolicyAction> actions, java.util.List<PolicyAction> specialActions, java.util.List<? extends InnerAgent> agents, double epsilon)
id
- perimeter
- actions
- specialActions
- agents
- epsilon
- public PolicyAgent(java.lang.String id, Perimeter perimeter, java.util.List<PolicyAction> actions, java.util.List<PolicyAction> specialActions, java.util.List<? extends InnerAgent> agents, double epsilon, java.lang.String linkedPolicyAgentID)
id
- perimeter
- actions
- agents
- epsilon
- public void live()
live
in class AbstractPolicyAgent
public PolicyAction chooseActionToApplyToStructures()
public java.lang.Double min(java.util.List<java.lang.Double> numbers)
public void applyActionToStructure(PolicyAction policyAction)
public void applyRandomActionToStructures()
public java.lang.String getIndexOfBestAction(java.util.Map<java.lang.String,java.lang.Integer> numberOfPerceptionForEachAction)
public void updateLocalLearners(PolicyAction action)
public java.lang.String applyPolicyAction(PolicyAction action)
public PolicyAction askLocalLearners()
public void askAndUpdateLocalLearners()
public static FeaturesDouble averagePosition(java.util.List<FeaturesDouble> positions)
public void fetchAnswersFromAgents()
public java.lang.String splitControlGroup()
public java.lang.String mergeControlGroup(java.util.List<java.lang.Integer> IDs)
public java.lang.String rollbackControlGroup()
public java.lang.String rollbackFromSplit()
public java.lang.String rollbackFromMerge()
public java.lang.String keepControlGroup()
public double getHighestGain()
public void resetTrust()
public PolicyAction getLastAction()
public PolicyAction getLastSpecialAction()
public double getLastGain()
public void setHighestGain(double highestGain)
public boolean isCurrentlyExperimenting()