concepts.pdsketch.crow.crow_planner_execution.crow_recursive_simple_with_execution#

crow_recursive_simple_with_execution(executor, state, goal_expr, *, is_goal_serializable=True, is_goal_refinement_compressible=True, enable_reordering=False, enable_csp=False, enable_greedy_prefix_execution=True, max_search_depth=10, max_csp_branching_factor=5, max_beam_size=20, allow_empty_plan_for_optimistic_goal=False, verbose=True, verbose_rule_matching=False)[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_serializable (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.

  • enable_greedy_prefix_execution (bool) – whether to enable the HPN execution strategy. As soon as we have found a sequence of actions (could be a prefix), we will execute them.

  • 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.

  • verbose_rule_matching (bool) – whether to print verbose information during the regression rule matching.

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