concepts.pdsketch.crow.compat.crow_planner_v1.crow_recursive#

crow_recursive(executor, state, goal_expr, *, is_goal_serialized=True, is_goal_refinement_compressible=True, enable_reordering=False, enable_csp=True, max_search_depth=10, max_csp_branching_factor=5, max_beam_size=20, allow_empty_plan_for_optimistic_goal=False, verbose=True)[source]#

Compositional Regression and Optimization Wayfinder.

Parameters:
  • executor (PDSketchExecutor) – the executor.

  • state (State) – the initial state.

  • goal_expr (str | ValueOutputExpression) – the goal expression.

  • is_goal_serialized (bool) – whether the goal is serialized already. Otherwise, it will be treated as a conjunction.

  • is_goal_refinement_compressible (bool) – whether the goals are refinement compressible.

  • enable_reordering (bool) – whether to enable reordering of subgoals in regression rules.

  • enable_csp (bool) – whether to enable CSP solving.

  • max_search_depth (int) – the maximum number of actions in a plan.

  • max_csp_branching_factor (int) – the maximum branching factor of the CSP solver.

  • max_beam_size (int) – the maximum beam size for keep tracking of CSP solutions.

  • allow_empty_plan_for_optimistic_goal (bool) – whether to allow empty plans for optimistic goals.

  • verbose (bool) – whether to print verbose information.

Returns:

A list of plans. Each plan is a tuple of (actions, csp, initial_state, final_state).

Return type:

Tuple[Iterable[Any], Dict[str, Any]]