Class PerformanceMeasuresNode
java.lang.Object
edu.tufts.hrilab.action.db.performanceMeasures.PerformanceMeasuresNode
Tree to keep track of the probability an action will succeed and the expect time given arguments
Using tree instead of table for easier lookup of queries using unbound args
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetExperience
(List<Symbol> argValues) getPerformanceMeasures
(List<Symbol> argValues) getTimeDistribution
(boolean holds) getTimeProbability
(List<Symbol> argValues, boolean holds) sampleEffects
(Map<Predicate, Boolean> given) boolean
savePerformanceMeasures
(com.google.gson.stream.JsonWriter writer, com.google.gson.Gson gson) recursively save performance measures using the json writervoid
setEffectInformation
(List<Predicate> effects) void
incremental update of effect modelsvoid
updatePerformanceModels
(List<Symbol> argValues, boolean isSuccess, double time) incremental update of experience and time distributionvoid
updatePerformanceModels
(List<Symbol> argValues, double experience, double holds, double successTimeMean, double successTimeVar, double successSumSqDiff, double failureTimeMean, double failureTimeVar, double failureSumSqDiff, ConfigEffectMeasures effMeasures, Map<String, List<Predicate>> dependentGroups) batch update of time distribution (reading performance measures from file)
-
Constructor Details
-
PerformanceMeasuresNode
-
-
Method Details
-
setEffectInformation
-
savePerformanceMeasures
public boolean savePerformanceMeasures(com.google.gson.stream.JsonWriter writer, com.google.gson.Gson gson) recursively save performance measures using the json writer- Parameters:
writer
- json writergson
- used to convert config classes to json
-
updatePerformanceModels
incremental update of experience and time distribution- Parameters:
argValues
- input values to action parameters, used to find correct performance nodeisSuccess
- did the effect hold / did the action succeedtime
- time to complete the action
-
updateEffectPerformanceModels
public void updateEffectPerformanceModels(Map<Predicate, Boolean> effectHolds, List<Symbol> argValues) incremental update of effect models- Parameters:
effectHolds
- map from effect predicate to boolean valueargValues
- input vaules to aciton parameters, used to update correct performance node
-
updatePerformanceModels
public void updatePerformanceModels(List<Symbol> argValues, double experience, double holds, double successTimeMean, double successTimeVar, double successSumSqDiff, double failureTimeMean, double failureTimeVar, double failureSumSqDiff, ConfigEffectMeasures effMeasures, Map<String, List<Predicate>> dependentGroups) batch update of time distribution (reading performance measures from file)- Parameters:
argValues
- input values to action parameters, used to find correct performance nodeexperience
- total number of times action has been executedholds
- number of times the effect hold / did the action succeedsuccessTimeMean
- mean time to complete the action with specified argssuccessTimeVar
- variance time to complete the action with specified args
-
getPerformanceMeasures
-
sampleEffects
-
getExperience
-
getTimeDistribution
-
getTimeProbability
public org.apache.commons.lang3.tuple.Pair<Double,Double> getTimeProbability(List<Symbol> argValues, boolean holds) - Parameters:
argValues
-- Returns:
- mean, variance
-
getExperience
-