regression planning to run the demoin folder "aipython"load "stripsregressionplanner py"and copy and paste the commentedout example queries at the bottom of that file in regression planner node is subgoal that need to be achieved subgoal object consists of an assignmentwhich is variable:value dictionary we make it hashable so that multiple path pruning can work the hash is only computed when necessary (and only oncestripsregressionplanner py -regression planner with strips actions from searchproblem import arcsearch_problem class subgoal(object)def __init__(self,assignment)self assignment assignment self hash_value none def __hash__(self)if self hash_value is noneself hash_value hash(frozenset(self assignment items())return self hash_value def __eq__(self,st)return self assignment =st assignment def __str__(self)return str(self assignmenta regression search has subgoals as nodes the initial node is the top-level goal of the planner the goal for the search (when the search can stopis subgoal that holds in the initial state stripsregressionplanner py -(continued from stripsforwardplanner import zero class regression_strips(search_problem)""" search problem wherea node is goal to be achievedrepresented by set of propositions the dynamics are specified by the strips representation of actions "" def __init__(selfplanning_problemheur=zero)"""creates regression search space from planning problem heur(state,goalis heuristic functionan underestimate of the cost from state to goalwhere both state and goals are feature:value dictionaries ""self prob_domain planning_problem prob_domain self top_goal subgoal(planning_problem goalself initial_state planning_problem initial_state self heur heur version june