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]#