A Formal Basis for the Heuristic Determination of Minimum Cost Paths