Programming artificial
intelligence into a piece of code is NOT about anticipating every single
thing that can possibly happen. A heuristic approach is more practical
to implement. Implementing a heuristic model has an added advantage that
the system improves every time it is run.
Heuristics (meaning "to find" or "discover") refers to techniques for learning, discovery and problem solving. Heuristic methods are used to speed up the process of finding a satisfactory solution. When an exhaustive search is impractical.