Artificial Intelligence: The Heuristic Programming Approach.