A branch of
artificial intelligence, which uses
heuristics — common-sense rules drawn from experience — to solve problems. This is in contrast to
algorithmic programming, which is based on mathematically provable procedures. Heuristic programming is characterized by
programs that are self-learning; they get better with experience. Heuristic programs do not always reach the very best result but usually produce a good result. Many
expert systems use heuristic programming.