Constraint programming: Difference between revisions

Content deleted Content added
See also: Logical programming redirects to Logic programming, link there directly
The See also section is redundant; mention integer and rational domains
Line 1:
'''Constraint programming''' is a [[programming paradigm]] in which a set of [[constraint]]s that a solution must meet are specified rather than set of steps to obtain such a solution.
 
Constraint programming is related to [[Logicallogic programming]] and, since both are [[Turing-complete]], any logic program can be translated into an equivalent constraint program and ''viceversa''. This is sometimes useful in practice, since a constraint solving program may find an answer faster than a logic derivation program, and it might be desirable to perform this [[translation]] before executing a logic program.
 
The difference between the two is largely in their styles and approaches to modeling the world. Some problems are more natural (and thus, simpler) to write as logic programs, while some are more natural to write as constraint programs.
Line 11:
Some popular application domains for constraint programming are:
 
*[[Boolean algebra|boolean ___domain]]s domains, where only true/false constraints apply
*[[Integer]] domains, [[Rational numbers|rational]] domains
*[[Linear algebra|linear ___domain]]s domains, where only [[linear]] functions are described and analyzed (although approaches to [[non-linear]] problems do exist)
*[[Finite|finite ___domain]]s domains, where constraints are defined over [[countable set]]s
*Mixed domains, involving two or more of the above
 
 
==See also==
*[[Logic programming]]
 
[[Category:Programming paradigms]]