Hyper-arc consistency in a contraint satisfaction network
First Claim
1. A method for solving a constraint satisfaction problem, comprising:
- receiving a set of variables having respective input domains and a set of relations among the variables;
building a network of one or more hyper-arcs representative of the set of relations, each hyper-arc corresponding to one of the relations and linking nodes in the network corresponding to the variables that are subject to the relation;
for each of the hyper-arcs, assembling the variables in a hierarchy based on the relation corresponding to the hyper-arc; and
reducing the input domains of the variables in the hierarchy, so as to determine respective output domains of the variables that are consistent with the relations.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for solving a constraint satisfaction problem includes receiving a set of variables having respective input domains and a set of relations among the variables, and building a network of one or more hyper-arcs representative of the set of relations, each hyper-arc corresponding to one of the relations and linking nodes in the network corresponding to the variables that are subject to the relation. For each of the hyper-arcs, the variables are assembled in a hierarchy based on the relation corresponding to the hyper-arc. The input domains of the variables in the hierarchy are reduced, so as to determine respective output domains of the variables that are consistent with the relations.
-
Citations
65 Claims
-
1. A method for solving a constraint satisfaction problem, comprising:
-
receiving a set of variables having respective input domains and a set of relations among the variables;
building a network of one or more hyper-arcs representative of the set of relations, each hyper-arc corresponding to one of the relations and linking nodes in the network corresponding to the variables that are subject to the relation;
for each of the hyper-arcs, assembling the variables in a hierarchy based on the relation corresponding to the hyper-arc; and
reducing the input domains of the variables in the hierarchy, so as to determine respective output domains of the variables that are consistent with the relations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31)
-
-
19. A method for solving a constraint satisfaction problem, comprising:
-
receiving a set of variables having respective input domains and a set of constraints comprising a relation among at least three of the variables;
building a network of one or more hyper-arcs representing the constraints, the hyper-arcs comprising nodes representing the variables, one of the hyper-arcs corresponding to the relation among the at least three variables; and
reducing the input domains of the variables in the network of hyper-arcs, so as to determine respective output domains of the variables that are consistent with the set of constraints.
-
-
24. A method for solving a constraint satisfaction problem, comprising:
-
receiving a set of variables having respective input domains and a set of constraints comprising one or more relations defined as a combination of operators, selected from a group of arithmetic, bitwise and logical operators, which are applied to the variables;
building a network of one or more hyper-arcs representing the set of constraints, each hyper-arc corresponding to one of the relations expressed in terms of the operators and linking nodes in the network corresponding to the variables to which the operators are applied; and
reducing the input domains of the variables in the network responsive to the operators, so as to determine respective output domains of the variables that are consistent with the set of constraints.
-
- 32. Apparatus for solving a constraint satisfaction problem, comprising a constraint processor, arranged to receiving a set of variables having respective input domains and a set of constraints comprising one or more relations among the variables, to build a network of one or more hyper-arcs representative of the set of constraints, each hyper-arc corresponding to one of the relations and linking nodes in the network corresponding to the variables that are subject to the relation and for each of the hyper-arcs, to assemble the variables in a hierarchy based on the relation corresponding to the hyper-arc, and to reduce the input domains of the variables in the hierarchy, so as to determine respective output domains of the variables that are consistent with the set of constraints.
- 50. Apparatus for solving a constraint satisfaction problem, comprising a constraint processor, arranged to receive a set of variables having respective input domains and a set of constraints comprising a relation among at least three of the variables, to build a network of one or more hyper-arcs representative of the set of constraints, including a hyper-arc corresponding to the relation among the at least three variables and linking nodes in the network corresponding to the variables that are subject to the relation, and to reduce the input domains of the variables in the network of hyper-arcs, so as to determine respective output domains of the variables that are consistent with the set of constraints.
- 55. Apparatus for solving a constraint satisfaction problem, comprising a constraint processor, arranged to receive a set of variables having respective input domains and a set of constraints comprising one or more relations defined as a combination of operators, selected from a group of arithmetic, bitwise and logical operators, which are applied to the variables, to build a network of one or more hyper-arcs representative of the set of constraints, each hyper-arc corresponding to one of the relations expressed in terms of the operators and linking nodes in the network corresponding to the variables to which the operators are applied, and to reduce the input domains of the variables in the network responsive to the operators, so as to determine respective output domains of the variables that are consistent with the set of constraints.
-
63. A computer software product for solving a constraint satisfaction problem, the product comprising a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer, upon receiving a set of variables having respective input domains and a set of constraints comprising one or more relations among the variables, to build a network of one or more hyper-arcs representative of the constraint, each hyper-arc corresponding to one of the relations and linking nodes in the network corresponding to the variables that are subject to the relation and, for each of the hyper-arcs, to assemble the variables in a hierarchy based on the relation corresponding to the hyper-arc, and to reduce the input domains of the variables in the hierarchy, so as to determine respective output domains of the variables that are consistent with the set of constraints.
-
64. A computer software product for solving a constraint satisfaction problem, the product comprising a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer, upon receiving a set of variables having respective input domains and a set of constraints comprising a relation among at least three of the variables, to build a network of one or more hyper-arcs representative of the set of constraints, including a hyper-arc corresponding to the relation among the at least three variables and linking nodes in the network corresponding to the variables that are subject to the relation, and to reduce the input domains of the variables in the network of hyper-arcs, so as to determine respective output domains of the variables that are consistent with the set of constraints.
-
65. A computer software product for solving a constraint satisfaction problem, the product comprising a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer, upon receiving a set of variables having respective input domains and a set of constraints comprising one or more relations defined as a combination of operators, selected from a group of arithmetic, bitwise and logical operators, which are applied to the variables, to build a network of one or more hyper-arcs representative of the set of constraints, each hyper-arc corresponding to one of the relations expressed in terms of the operators and linking nodes in the network corresponding to the variables to which the operators are applied, and to reduce the input domains of the variables in the network responsive to the operators, so as to determine respective output domains of the variables that are consistent with the set of constraints.
Specification