concepts.pdsketch.regression_rule.SubgoalSerializability#

class SubgoalSerializability[source]#

Bases: JacEnum

The subgoal serializability of a regression rule. By definition, a regression rule is called strongly serializable if all its subgoal prefix refinements can be extended to a new subgoal prefix refinement plan by adding a new subgoal at the end.

This serializability can be used to weakened in two ways:
  • Not all subgoal prefix refinements can be extended. Therefore, the algorithm needs to keep track of a set of possible subgoal prefix refinements.

  • When the new subgoal is added to the end and being refined, some of the preconditions corresponding to that subgoal might need to be promoted to an earlier subgoal.

If we use the first mechanism to weaken the serializability, we call the regression rule-weakly serializable (SubgoalSerializability.RULE). If we use the second mechanism to weaken the serializability, we call the regression order-weakly serializable (SubgoalSerializability.ORDER). If we use both mechanisms to weaken the serializability, we call the regression weakly serializable (SubgoalSerializability.WEAK).

Methods

from_string(value)

type_name()

Return the type name of the enum.

choice_names()

Returns the list of the name of all possible choices.

choice_objs()

Returns the list of the object of all possible choices.

choice_values()

Returns the list of the value of all possible choices.

is_valid(value)

Check if the value is a valid choice.

assert_valid(value)

Assert if the value is a valid choice.

Attributes

classmethod __getitem__(name)#

Return the member matching name.

classmethod __iter__()#

Return members in definition order.

classmethod __len__()#

Return the number of members (no aliases)

__new__(value)#
classmethod assert_valid(value)#

Assert if the value is a valid choice.

classmethod choice_names()#

Returns the list of the name of all possible choices.

classmethod choice_objs()#

Returns the list of the object of all possible choices.

classmethod choice_values()#

Returns the list of the value of all possible choices.

classmethod from_string(value)#
Parameters:

value (str | JacEnum)

Return type:

JacEnum

classmethod is_valid(value)#

Check if the value is a valid choice.

classmethod type_name()#

Return the type name of the enum.

ORDER = 'order'#
RULE = 'rule'#
STRONG = 'strong'#
WEAK = 'weak'#