Package edu.tufts.hrilab.action.learning
Class ActionLearning
java.lang.Object
edu.tufts.hrilab.action.learning.ActionLearning
Top level class in charge of maintaining action learning, including the current learning state
and other paused learning states (a paused learning state is different from a parent learning state),
...
-
Constructor Summary
ConstructorsConstructorDescriptionActionLearning
(StateMachine stateMachine, RootContext rootContext, boolean useGui) -
Method Summary
Modifier and TypeMethodDescriptionvoid
check to see if the goal should be added to the action being learned and if so add it.void
changeLearningExecution
(Symbol status) void
modifyAction
(Predicate action, Predicate modification, Predicate location) modifyAction(actor,action, modification, location)void
registerWithTRADE
(Collection<String> groups) Register this class with TRADE to make its services available.boolean
boolean
shouldIgnore
(Goal goal) void
boolean
updateActionLearning
(Predicate newAction, Symbol status)
-
Constructor Details
-
ActionLearning
- Parameters:
stateMachine
- state machine used to store world informationrootContext
- root context which will be used to instantiate observers and simulation capability
-
-
Method Details
-
registerWithTRADE
Register this class with TRADE to make its services available. -
startQueuingGoals
public void startQueuingGoals() -
updateActionLearning
-
shouldIgnore
-
addGoal
check to see if the goal should be added to the action being learned and if so add it.- Parameters:
goal
- goal to add
-
getLearningStatus
-
changeLearningExecution
-
shouldExecute
public boolean shouldExecute() -
modifyAction
modifyAction(actor,action, modification, location)- Parameters:
action
- : predicate containing action and arguments: arguments are required for grounding of new action/goal onto learning state actionName(actor, arg0, arg1, ... argN) predicate containing new action predicate and old task predicate like(newAction(arg0, arg1 ... argN), existingAction(arg0, arg1 ... argN)modification
- : information regarding the modification to make : type(actionStep, actionStep) : type(actionStep) : type(type, type) //TODO:brad is this actually valid? : type: insert, delete, replace : insert(action_predicate) : delete(action_predicate) : replace(new_action_predicate, old_action_predicate)location
- : reference in action script : relation(actionStep, actionStep) : relation(actionStep) : relation: and/before/after/condition/effect/argument : before(action_predicate) : after(action_predicate) : and(relation,relation)) : condition() : effect() : argument()
-