An Elimination Algorithm for Functional Constraints
نویسندگان
چکیده
Functional constraints are studied in Constraint Satisfaction Problems (CSP) using consistency concepts (e.g., [4, 1]). In this paper, we propose a new method — variable substitution — to process functional constraints. The idea is that if a constraint is functional on a variable, this variable in another constraint can be substituted using the functional constraint without losing any solution. We design an efficient algorithm to reduce, in O(ed), a general binary CSP containing functional constraints into a canonical form which simplifies the problem and makes the functional portion trivially solvable. When the functional constraints are also bi-functional, then the algorithm is linear in the size of the CSP. We use the standard notations in CSP. Two CSPs are equivalent if and only if they have the same solution space. Throughout this paper, n represents the number of variables, d the size of the largest domain of the variables, and e the number of constraints in a problem. The composition of two constraints is defined as cjk ◦ cij = {(a, c) | ∃b ∈ Dj , such that (a, b) ∈ cij ∧ (b, c) ∈ cjk}. Composing cij and cjk gives a new constraint on i and k. A constraint cij is functional on j if for any a ∈ Di there exists at most one b ∈ Dj such that (a, b) ∈ cij . cij is functional on i if cji is functional on i. When a constraint cij is functional on j, for simplicity, we say cij is functional by making use of the fact that the subscripts of cij are an ordered pair. In this paper, the definition of functional constraints is different from the one in [5, 4] where constraints are functional on each of its variables, leading to the following notion. A constraint cij is bi-functional if cij is functional on both i and j. A bifunctional constraint is called bijective in [2] and simply functional in [4].
منابع مشابه
Functional Elimination and 0/1/All Constraints
We present new complexity results on the class of 0/1/All constraints. The central idea involves functional elimination, a general method of elimination whose focus is on the subclass of functional constraints. One result is that for the subclass of "All" constraints, strong n-consistency and minimality is achievable in O(en) time, where e, n are the number of constraints and variables. The mai...
متن کاملAn Algorithm Based on Theory of Constraints and Branch and Bound for Solving Integrated Product-Mix-Outsourcing Problem
One of the most important decision making problems in many production systems is identification and determination of products and their quantities according to available resources. This problem is called product-mix. However, in the real-world situations, for existing constrained resources, many companies try to provide some products from external resources to achieve more profits. In this pape...
متن کاملEfficient Algorithms for Functional Constraints
Functional constraints are an important constraint class in Constraint Programming (CP) systems, in particular for Constraint Logic Programming (CLP) systems. CP systems with finite domain constraints usually employ CSP-based solvers which use local consistency, e.g. arc consistency. We introduce a new approach which is based instead on variable substitution. We obtain efficient algorithms for ...
متن کاملA Fast and Efficient On-Line Harmonics Elimination Pulse Width Modulation for Voltage Source Inverter Using Polynomials Curve Fittings
The paper proposes an algorithm to calculate the switching angles using harmonic elimination PWM (HEPWM) scheme for voltage source inverter. The algorithm is based on curve fittings of a certain polynomials functions. The resulting equations require only the addition and multiplication processes; therefore, it can be implemented efficiently on a microprocessor. An extensive angle error analysis...
متن کاملElimination of Constraints from Feature Trees
We present an algorithm which eliminates constraints from a feature model whose feature diagram is a tree and whose constraints are "requires" or "excludes" constraints. The algorithm constructs a feature tree which has the same semantics as the original feature model. The computational complexity of the algorithm is exponential in the number of constraints, but linear in the number of features...
متن کاملSolving functional constraints by variable substitution
Functional constraints and bi-functional constraints are an important constraint class in Constraint Programming (CP) systems, in particular for Constraint Logic Programming (CLP) systems. CP systems with finite domain constraints usually employ CSP-based solvers which use local consistency, for example, arc consistency. We introduce a new approach which is based instead on variable substitutio...
متن کامل