1/18/2012

In our work and personal life we regularly encounter various problems. In our line of work, these problems can get very difficult very quickly. I believe we solve the majority of these problems. The (currently) unsolved problems provide opportunities for future research and constant improvement of products and staff knowledge.

One heuristic for solving problems that I really like arises from the mathematical notion of recursion. Recursion is the process of repeating a task in way that references the task itself. If you’ve ever opened one of those 3-panelled mirrors in your bathroom and stared into it, only to see yourself viewing your face viewing the mirror (etc., repeating off to infinity), that is recursion.

Here is the heuristic:

That is:

PROCEDURE SOLVE(problem)

BEGIN

IF problem is easy THEN

Solve problem directly

ELSE

BEGIN

Break problem into smaller problems P_{1}, P_{2}, …, P_{n}

SOLVE(P_{1}), SOLVE(P_{2}), …, SOLVE(P_{n})

Assemble the solutions

END

END

I printed this out and put it in my work area to remind me that any problem, no matter how difficult, is only comprised of smaller chunks of easy tasks.

If you enjoyed *any* of my content, please consider supporting it in a variety of ways:

- Check out a random article at http://statisticool.com/random.htm
- Buy what you need on Amazon from my affiliate link
- Share my Shutterstock photo gallery
- Sign up to be a Shutterstock contributor