Specifying those problems in the most effective way will be vital if you want your AI agent to find the solutions in a reasonable time.
In this lecture, we look at how to specify a search problem.
Another form of abstraction is to generalise a particular problem solving technique.
Often AI research progresses through a series of abstractions of this kind.
That is, a problem is stated and an AI agent programmed to solve that problem.
We then think: how can I change that program to solve a wider range of problems. The famous mathematician Euler laid down the foundations for graph theory by abstracting a particular problem (how to cross all the bridges in Konigsberg without crossing any of them twice) into a diagrammatic representation of all such problems (directed graphs). If we can specify the initial state, the operators and the goal check for a search problem, then we know where to start, how to move and when to stop in our search.
Rather, the point of the search is to find a path, so the agent must remember where it has been.
The answer is, of course: (FILL IN THIS GAP AS AN EXERCISE).
For example, in the maze below, the game involves finding a route from the top left hand corner to the bottom right hand corner.
We all know what the exit looks like (a gap in the outer wall), so we do not search for an artefact.