> A heuristic is a search procedure that may give an optimal (best)
solution to a problem but offers no guarantee of doing so. If it can be proven
that an exact solution exists, then this becomes an algorithm rather that a
heuristic search procedure.