concepts.dm.pdsketch.operator.Effect#

class Effect[source]#

Bases: object

The effect of an operator. It is basically a wrapper around VariableAssignmentExpression.

Methods

Attributes

unwrapped_assign_expr

Unwrap the DeicticAssignExpression and return the innermost AssignExpression.

update_from_execution

update_from_simulation

Whether the effect should be updated from simulation, instead of the evaluation of the expression.

assign_expr

The underlying assign expression.

mode

FUNCTIONAL (the description is a pure function), SIMULATION (the actual effect computation will be computed by the simulator), and EXECUTION (the actual effect can only be observed by actually executing the operator in the environment).

ao_discretization

The And-Or discretization of the effect.

__init__(assign_expr, simulation=False, execution=False)[source]#
Parameters:
__new__(**kwargs)#
set_update_from_simulation(update_from_simulation=True)[source]#
Parameters:

update_from_simulation (bool)

ao_discretization: Any | None#

The And-Or discretization of the effect.

assign_expr: VariableAssignmentExpression#

The underlying assign expression.

mode: FunctionEvaluationDefinitionMode#

FUNCTIONAL (the description is a pure function), SIMULATION (the actual effect computation will be computed by the simulator), and EXECUTION (the actual effect can only be observed by actually executing the operator in the environment).

Type:

The mode of the effect. There are three possible modes

property unwrapped_assign_expr: AssignExpression | ConditionalAssignExpression#

Unwrap the DeicticAssignExpression and return the innermost AssignExpression.

property update_from_execution: bool#
property update_from_simulation: bool#

Whether the effect should be updated from simulation, instead of the evaluation of the expression.