concepts.pdsketch.regression_rule.AchieveExpression#

class AchieveExpression[source]#

Bases: object

An achieve expression. This is used in the definition of regression rules. Each achieve expression has two properties: serializability and csp_serializability.

  • serializability: ‘strong’, ‘rule’, or ‘order’. Strong serializability means that the achieve expression is serializable for any state that satisfies the preconditions of the achieve expression, i.e., all achieve expressions prior to the current achieve expression. Rule serializability means that the achieve expression is serializable only for some refinement of the achieve expressions prior to the current achieve expression. However, there exists some refinement for previous expressions such that this new achieve expression can be planned based on the results of previous subgoals. Order serializability means that this subgoal is only serializable with respect to the order of the subgoals. Therefore, when plan for the sequence of subgoals, the order of the subgoals are preserved, but the preconditions for the subsequent rules might need to be promoted to a previous point in the plan. There is no absolute comparisons between the “rule” and “order” serializability, they are weaker than the “strong” serializability in different ways.

  • csp_serializability: ‘some’ or ‘forall’. Some continuous serializability means that the achieve expression is serializable for some continuous values of the action parameters. Forall continuous serializability means that the achieve expression is serializable for all continuous values of the action parameters.

Methods

Attributes

refinement_compressible

sequential_decomposable

goal

The goal of the achieve expression.

maintains

The list of maintain expressions.

serializability

'strong', 'rule', or 'order'.

csp_serializability

'some' or 'forall' or 'none'.

once

Whether the goal to be achieved is a one-time achievement or should we keep "holding" the goal.

__init__(goal, maintains, serializability='strong', csp_serializability='none', once=False)[source]#
Parameters:
__new__(**kwargs)#
csp_serializability: SubgoalCSPSerializability#

‘some’ or ‘forall’ or ‘none’.

Type:

The continuous serializability of the achieve expression

goal: ValueOutputExpression#

The goal of the achieve expression.

maintains: Tuple[ValueOutputExpression, ...]#

The list of maintain expressions.

once: bool#

Whether the goal to be achieved is a one-time achievement or should we keep “holding” the goal.

property refinement_compressible: bool#
property sequential_decomposable: bool#
serializability: SubgoalSerializability#

‘strong’, ‘rule’, or ‘order’.

Type:

The serializability of the achieve expression