next up previous contents
Next: Constraint Languages and Relational Up: Linguistic and Formal Foundations Previous: Constraint-based Grammars

Constraint Logic Programming

 

In constraint logic programs basic components of a problem are stated as constraints (i.e., the structure of the objects in question) and the problem as a whole is represented by putting the various constraints together by means of rules (basically by means of definite clauses). For example the following definite clause grammar (using the constraint language defined in section 3.2.2)

tex2html_wrap_inline10649
tex2html_wrap_inline10651 ,
tex2html_wrap_inline10653 ,
tex2html_wrap_inline10655 ,
tex2html_wrap_inline10657 ,
tex2html_wrap_inline10659 ,
tex2html_wrap_inline10661

expresses that for a linguistic object to be classified as an S phrase it must be composed of an object classified as an NP and by an object classified as a VP and the agreement information between NP and VP must be the same. All objects that fulfill at least these constraints are members of S objects. Note that there is no ordering presupposed for NP and VP as is the case for unification-based formalisms that rely on a context-free backbone (e.g., [Shieber et al. 1983]). If such a restriction is required additional constraints have to be added to the rule, for instance that substrings have to be combined by concatenation.

Since the constraints in the example above only specify necessary conditions for an object of class S, they express partial information. This is very important for linguistic processing (or other knowledge-based reasoning), because in general we have only partial information about the world we want to reason with.

Processing of such specifications is then based upon constraint solving and the logic programming paradigm. Because unification is but a special case of constraint solving, constraint logic programs have superior expressive power.

In [Höhfeld and Smolka1988] a general relational extension is made for arbitrary constraint languages. Given a constraint language and a set tex2html_wrap_inline10663 of relation symbols, is extended conservatively to a constraint language tex2html_wrap_inline10611 providing for relational atoms, the propositional connectives, and quantification. In particular, they show how the properties of logic programming carry over to a whole range of constraint-based formalisms, by abstracting away from the actual constraint language in use.




next up previous contents
Next: Constraint Languages and Relational Up: Linguistic and Formal Foundations Previous: Constraint-based Grammars

Guenter Neumann
Mon Oct 5 14:01:36 MET DST 1998