Third edition of Artificial Intelligence: foundations of computational agents, Cambridge University Press, 2023 is now available (including the full text).
4 Features and Constraints
Solve the thing without complaint;
There are magic links and chains
Forged to loose our rigid brains.
Structures, strictures, though they bind,
Strangely liberate the mind.
- James Falen
Instead of reasoning explicitly in terms of states, it is often better to describe states in terms of features and then to reason in terms of these features. Often these features are not independent and there are hard constraints that specify legal combinations of assignments of values to variables. As Falen's elegant poem emphasizes, the mind discovers and exploits constraints to solve tasks. Common examples occur in planning and scheduling, where an agent must assign a time for each action that must be carried out; typically, there are constraints on when actions can be carried out and constraints specifying that the actions must actually achieve a goal. There are also often preferences over values that can be specified in terms of soft constraints. This chapter shows how to generate assignments that satisfy a set of hard constraints and how to optimize a collection of soft constraints.
- 4.1 Features and States
- 4.2 Possible Worlds, Variables, and Constraints
- 4.3 Generate-and-Test Algorithms
- 4.4 Solving CSPs Using Search
- 4.5 Consistency Algorithms
- 4.6 Domain Splitting
- 4.7 Variable Elimination
- 4.8 Local Search
- 4.9 Population-Based Methods
- 4.10 Optimization
- 4.11 Review
- 4.12 References and Further Reading
- 4.13 Exercises