Heuristic problem solving - are common-sense rules drawn from experience, used to solve problems. Or simply put the heuristic method of problem solving is a rule of thumb. By contrast, algorithms are straightforward procedures that are guaranteed to work every time. Heuristic programming characterizes programs that are self-learning; they are a part of artificial intelligence, they get better with experience. Heuristic programs do not always reach the very best result but usually produce good results within a reasonable amount of search time.
As discussed in the April 1998 Phi Delta Kappa article titled "What is problem solving", general heuristics are "cognitive rules of thumb that are useful in solving a great variety of problems". Specific heuristics are used in specialized areas, often-specific subject domains or professions. There are three common methods in heuristic problem solving. First, the most powerful general heuristic is to form a sub-goal to reduce the discrepancy between your present state and your ultimate goal state. Do something to get a little closer to the end goal. Problems defy one-shot solutions; they must be broken down into smaller parts. A second heuristic method seeks to solve problems by "working backward." First, consider your ultimate goal. From there, decide what would constitute a reasonable step just prior to reaching that goal. Then ask yourself, what would be the step just prior to that? Beginning with the end, you build a strategic bridge backward and eventually reach the initial conditions of the problem. The third heuristic method seeks to solve problems through "successive approximation." Initial tries at solving a problem may result in a product that is less than satisfying. Writing is a good example. Few accomplished writers attempt to write perfect prose the first time. Rather, the initial goal is a rough draft or an outline or a list of ideas.