concepts.pdsketch.regression_rule.RegressionRule#

class RegressionRule[source]#

Bases: object

Methods

Attributes

BodyItemType

alias of AchieveExpression | BindExpression | RuntimeAssignExpression | ListExpansionExpression | RegressionCommitFlag | OperatorApplicationExpression | RegressionRuleApplicationExpression | ConditionalRegressionRuleBodyExpression | LoopRegressionRuleBodyExpression

argument_names

The names of the arguments of the regression rule.

argument_types

The types of the arguments of the regression rule.

nr_arguments

The number of arguments of the regression rule.

serializability

name

The name of the regression rule.

arguments

The arguments to the regression rule.

goal_arguments

The arguments that appear in the goal of the regression rule.

binding_arguments

The arguments that do not appear in the goal of the regression rule.

preconditions

The preconditions of the regression rule.

preconditions_conjunction

The conjunction of the preconditions of the regression rule.

goal_expression

The goal expression of the regression rule.

all_effects

The side effects of the regression rule.

body

The body of the regression rule, including operator applications and achieve expressions.

always

Whether the regression rule is always applicable.

max_reorder_prefix_length

The maximum length of the prefix of the body that might need to be reordered.

max_rule_prefix_length

The maximum length of the prefix of the body that need tracking of all possible refinements.

__call__(*args)[source]#

Ground the operator with a list of arguments.

Return type:

RegressionRuleApplier

__init__(name, parameters, preconditions, goal_expression, all_effects, body, always=False)[source]#

Initialize a regression rule.

Parameters:
__new__(**kwargs)#
iter_effects()[source]#
Return type:

Iterable[Effect]

pddl_str()[source]#
Return type:

str

BodyItemType#

alias of AchieveExpression | BindExpression | RuntimeAssignExpression | ListExpansionExpression | RegressionCommitFlag | OperatorApplicationExpression | RegressionRuleApplicationExpression | ConditionalRegressionRuleBodyExpression | LoopRegressionRuleBodyExpression

all_effects: Tuple[Effect, ...]#

The side effects of the regression rule.

always: bool#

Whether the regression rule is always applicable.

property argument_names: Tuple[str, ...]#

The names of the arguments of the regression rule.

property argument_types: Tuple[ObjectType | NamedTensorValueType, ...]#

The types of the arguments of the regression rule.

arguments: Tuple[Variable, ...]#

The arguments to the regression rule.

binding_arguments: Tuple[Variable, ...]#

The arguments that do not appear in the goal of the regression rule.

body: Tuple[AchieveExpression | BindExpression | RuntimeAssignExpression | ListExpansionExpression | RegressionCommitFlag | OperatorApplicationExpression | RegressionRuleApplicationExpression | ConditionalRegressionRuleBodyExpression | LoopRegressionRuleBodyExpression, ...]#

The body of the regression rule, including operator applications and achieve expressions.

goal_arguments: Tuple[Variable, ...]#

The arguments that appear in the goal of the regression rule.

goal_expression: ValueOutputExpression#

The goal expression of the regression rule.

max_reorder_prefix_length: int#

The maximum length of the prefix of the body that might need to be reordered.

max_rule_prefix_length: int#

The maximum length of the prefix of the body that need tracking of all possible refinements.

name: str#

The name of the regression rule.

property nr_arguments: int#

The number of arguments of the regression rule.

preconditions: Tuple[Precondition, ...]#

The preconditions of the regression rule.

preconditions_conjunction: AndExpression#

The conjunction of the preconditions of the regression rule.

property serializability#