A technique used in artificial intelligence for forming plans to achieve goals. A plan consists of a sequence of actions. The sequence is put together by comparing the goals that each action achieves (the means) with the goals and action preconditions that must be achieved (the ends).