## Problem reduction

Take a complicate problem and transform it into a simpler problem.

Start with **safe transformations**, the ones you are sure will work in any case. Then apply **heuristic transformations**, the ones that could work.

The problem simplification schema, may create “**and node**“, where the problem forks in several sub problems and “**or node**” where the problem may be solved with either one or another transformation. The resulting schema is usually called a “**problem reduction tree**“, “**and/or tree**” or “**goal tree**“.

In an “or node”, it helps to **understand the depth of functional composition** (number of transformations to be applied after and “or” options of the branch) and the **simplicity of solving** each options to complete the problem resolution.

## Method

Everything depends on the domain of the problem and the knowledge required to solve it. Knowledge about knowledge, **meta-knowledge**, is power to solve problems.

- Start by evaluating
**what kind**of knowledge is involved. - Understand how the knowledge is
**represented**. Each category of knowledge has its own way of being represented. - Know how the knowledge is
**used**. - Know
**how much**knowledge is required to solve the problem. - Know what exactly knowledge
**does to solve the problem**.