Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: Foundations of Artificial Intelligence
Авторы: J. Hendler, H. Kitano, B. Nebel
Аннотация:
Constraint programming is a powerful paradigm for solving combinatorial search problems that draws on a wide range of techniques from artificial intelligence, computer science, databases, programming languages, and operations research. Constraint programming is currently applied with success to many domains, such as scheduling, planning, vehicle routing, configuration, networks, and bioinformatics. The basic idea in constraint pro- gramming is that the user states the constraints and a general purpose constraint solver is used to solve them. Constraints are just relations, and a constraint satisfaction problem (CSP) states which relations should hold among the given decision variables. For exam- ple, in scheduling activities in a company, the decision variables might be the starting times and the durations of the activities and the resources needed to perform them, and the con- straints might be on the availability of the resources and on their use for a limited number of activities at a time.
Constraint solvers take a real-world problem like this, represented in terms of deci- sion variables and constraints, and find an assignment to all the variables that satisfies the constraints. Constraint solvers search the solution space either systematically, as with backtracking or branch and bound algorithms, or use forms of local search which may be incomplete. Systematic method often interleave search and inference, where inference consists of propagating the information contained in one constraint to the neighboring constraints. Such inference (usually called constraint propagation) is useful since it may reduce the parts of the search space that need to be visited.