concepts.dm.crow.planners.regression_planning_impl.crow_regression_planner_astar_v2.CrowRegressionPlannerAStarv2#
- class CrowRegressionPlannerAStarv2[source]#
Bases:
CrowRegressionPlanner
Methods
bfs
(planning_state)bfs_add_queue
(planning_state)bfs_expand
(planning_state)The BFS algorithm is simulating a hierarchical planning algorithm.
evaluate
(expression, state[, csp, ...])Evaluate an expression and return the result.
main
()main_entry
(program)set_results
(results)Attributes
- __init__(executor, state, goal_expr, *, simulation_interface=None, enable_reordering=True, max_search_depth=20, max_beam_size=20, is_goal_ordered=True, is_goal_serializable=True, is_goal_refinement_compressible=True, enable_csp=True, max_csp_trials=10, max_global_csp_trials=100, max_csp_branching_factor=5, use_generator_manager=False, store_generator_manager_history=False, include_effect_appliers=False, include_dependency_trace=False, verbose=True)#
Initialize the planner.
- Parameters:
executor (CrowExecutor) – the executor.
state (CrowState) – the initial state.
goal_expr (str | ValueOutputExpression) – the goal expression.
simulation_interface (CrowSimulationControllerInterface | None) – the simulation interface.
enable_reordering (bool) – whether to enable reordering.
max_search_depth (int) – the maximum search depth.
max_beam_size (int) – the maximum beam size.
is_goal_ordered (bool) – whether the goal is ordered.
is_goal_serializable (bool) – whether the goal is serializable.
is_goal_refinement_compressible (bool) – whether the goal refinement is compressible.
enable_csp (bool) – whether to enable the CSP solver.
max_csp_trials (int) – the maximum number of CSP trials.
max_global_csp_trials (int) – the maximum number of global CSP trials.
max_csp_branching_factor (int) – the maximum CSP branching factor.
use_generator_manager (bool) – whether to use the generator manager.
store_generator_manager_history (bool) – whether to store the generator manager history.
include_effect_appliers (bool) – whether to include the effect appliers in the search result. The effect appliers are of type
CrowEffectApplier
.include_dependency_trace (bool) – whether to include the dependency graph in the search result.
verbose (bool) – whether to output verbose information.
- __new__(**kwargs)#
- bfs(planning_state)[source]#
- Parameters:
planning_state (CrowPlanningState2)
- Return type:
- bfs_add_queue(planning_state)[source]#
- Parameters:
planning_state (CrowPlanningState2)
- bfs_expand(planning_state)[source]#
The BFS algorithm is simulating a hierarchical planning algorithm. The current state can be encoded as:
left_actions = (a1, a2, a3, ...) middle_program = CrowActionOrderingSuite(...) right_statements = [RegressionStatement2(...), RegressionStatement2(...), ...]
It corresponds to this figure:
a1 -> a2 -> a3 -> ... -> {middle_program} -> [right_statements]
Therefore,
state.left_actions: the actions that have been executed (a1, a2, a3, …).
state.program: the current program that is being expanded ({middle_program}).
state.right_statements: the statements that are waiting to be expanded ([right_statements]).
At each step,
If the program is empty, we will pop up the first right statement and expand it.
If the program is not empty, we will randomly pop a statement from the middle program, and prepend it to the right statements.
- Parameters:
planning_state (CrowPlanningState2)
- evaluate(expression, state, csp=None, bounded_variables=None, clone_csp=True, force_tensor_value=False)#
Evaluate an expression and return the result.
- Parameters:
expression (ObjectOrValueOutputExpression | VariableAssignmentExpression) – the expression to evaluate.
state (CrowState) – the current state.
csp (ConstraintSatisfactionProblem | None) – the current CSP.
bounded_variables (Dict[str, TensorValue | ObjectConstant] | None) – the bounded variables.
clone_csp (bool) – whether to clone the CSP.
force_tensor_value (bool) – whether to force the result to be a tensor value.
- Returns:
the evaluation result and the updated CSP.
- Return type:
Tuple[None | StateObjectReference | StateObjectList | TensorValue | OptimisticValue, ConstraintSatisfactionProblem | None]
- main_entry(program)[source]#
- Parameters:
program (CrowBehaviorOrderingSuite)
- Return type:
- set_results(results)#
- Parameters:
results (List[CrowPlanningResult])
- Return type:
None
- property domain: CrowDomain#
- queue: PriorityQueue#
- property results: List[CrowPlanningResult]#