This document discusses machine learning techniques for planning, specifically macro learning. It defines macro learning as a process where a planner solves a problem and induces macros (compiled sequences of operators) from the solution. The planner can regress through states backwards to determine the weakest precondition of the operator sequence for achieving the goal. These macros can then be stored and reused to help solve future planning problems more efficiently by skipping search if the preconditions are met. However, learning too many macros can also increase the search space and time spent looking for applicable macros.