Searching State Space
1. Problem solving as graph search
One of the earliest AI approaches is to see intelligence as problem-solving capability, and to specify problem-solving as state-space search, that is, by selecting applicable actions, changing the initial state into a goal state, step by step.
Example: 8-puzzle
A generic searching algorithm specifies a sequence of selections.
Direction of search: forward (data-driven), backward (goal-driven), or bidirectional.
Information about the selections:
- Fully informed search: human-designed problem-specific algorithm, no "search" is necessary. Example: sorting.
- Uninformed (blind, brute-force) search: only consider graph structure, such as Breadth-First and Depth-First, where the "frontier" data structure is a queue and a stack, respectively.
- Partially informed search: there are hints among the branches, though they can be wrong.
Exhaustive search can be considered as a general-purpose solution if the graph is finite and resource expense is ignored, though in reality resource is limited and response time matters. Therefore, combinatorial (exponential) explosion is a common problem in various AI domains, and the issue is not merely on computational complexity or hardware.
2. Heuristic search
AI research focuses on partially informed search, such as heuristic search, or "Best-First" search, where the "frontier" is a priority queue with a heuristic function to decide the search order of nodes, as in A* algorithm where a least-cost path is pursued until a goal node is reached.
Example: General Problem Solver (GPS) using means-ends analysis to get heuristics.
Newell-Simon76: "A physical symbol system has the necessary and sufficient
means for general intelligent action", "physical symbol systems solve problems by means of heuristic search".
A general principle: under bounded rationality, an agent should seek a satisfactory solution rather than an optimal one. This principle is
acknowledged as widely applicable.
3. Game playing
Two-player zero-sum games are often handled as state-space search using minimax algorithm, which find the most "rational" moves for both players.
Example: Tic-tac-toe.
To improve the efficiency of searching, various ideas have been tried:
- Alpha_beta pruning reduces the search scope without missing the right solution.
- Arthur Samuel used rote-learning and play-against-itself to learn a scoring function of positions.
- Deep Blue used parallel processing, opening-position and endgame databases, and a complicated evaluation function designed by experts.
- AlphaGo combines Monte Carlo tree search with learned evaluation functions to deal with the huge state-space of Go. The search algorithm uses random sampling to estimate the value of a node.
4. Analysis
When deciding whether to use heuristic search to solve a problem, the major questions to be asked are:
- Can this problem-solving process be naturally represented as state-space search?
- Can a good heuristic function be obtained to satisfy the time requirement?
In general, a problem-solving process involves a sequence of decisions or choices, even though not necessarily among enumerable alternatives at well-defined states. AI problems are often characterized by partially-informed decisions in changing environments, where traditional theories (on computability, computational complexity, decision making, gaming playing, operations research, etc.) are no longer fully applicable.
In particular, dealing with real-time requirement is even beyond the restriction of "bounded rationality". One possible approach is parallel search with dynamic resource allocation basing on learned priority.
Reading
- Poole and Mackworth: Chapter 3, Section 14.3
- Russell and Norvig: Chapters 3 & 4 & 5
- Luger: Chapters 3 & 4