concepts.dm.crow.planners.regression_planning_impl.crow_regression_planner_priority_tree_v1.hash_state_human#

hash_state_human(planning_state)[source]#

Hash the planning state for human-readable output. Note that this function is not toally consistent with hash_state. This function is a “stronger” version of hash_state. For example, the following two states with different hash_state corresponds to the same human-readable hash.

State1:

unordered{ achieve@4 clear(V::x) }
Scopes:
    0: {}
    1: {}
    2: {'x': ObjectConstant<A: block>, 'y': ObjectConstant<B: block>}
    3: {'x': ObjectConstant<B: block>, 'y': ObjectConstant<C: block>}
    4: {'x': ObjectConstant<B: block>}

State2:

unordered{ achieve@2 clear(V::y) }
Scopes:
    0: {}
    1: {}
    2: {'x': ObjectConstant<A: block>, 'y': ObjectConstant<B: block>}
    3: {'x': ObjectConstant<B: block>, 'y': ObjectConstant<C: block>}
    4: {'x': ObjectConstant<B: block>}
Parameters:

planning_state (PriorityTreeNodeData) – the planning state to hash.

Returns:

the hash of the planning state. It is a tuple of strings.

Return type:

Tuple[Any, …]