Constraint hierarchies have been proposed to describe over-constrained systems of constraints by specifying constraints with hierarchical preferences, i.e., hard and soft constraints. While the hard (required) constraints must hold, the soft (preferential) constraints should be satisfied as much as possible depending on the criterion used. Currently, constraint hierarchies are mostly applied to the areas of graphical user interfaces and geometric layout, but the area of usage is much more wider. The integration of constraint hierarchies with Constraint Logic Programming (CLP) is called Hierarchical Constraint Logic Programming (HCLP). In the original definition of HCLP, only alternate solutions to one constraint hierarchy are compared and the best solutions are returned. The later extension of HCLP also supports comparison of solutions to more constraint hierarchies arising from different choices of rules in HCLP program. This extension, called inter-hierarchy comparison, extends usefulness of HCLP programs by eliminating non-intuitive solutions. However, at the same time, it introduces nonmonotonic behaviour in HCLP programs which creates novel implementation problems. In this paper we present an algorithm for efficient solving of constraint hierarchies using inter-hierarchy comparison within HCLP. The efficiency of the proposed algorithm is based on tight integration with the HCLP interpreter and on elimination of useless branches of computation. As the algorithm makes an extension of hierarchical constraint solvers which support global comparators, its efficiency can be further improved by harmonizing with underlying hierarchical constraint solver. We present such an extension that uses properties of our generalized approach to solving constraint hierarchies.
[1]
Bjørn N. Freeman-Benson,et al.
Constraint Hierarchies
,
1992,
LISP Symb. Comput..
[2]
Roman Barták,et al.
EXPERT SYSTEMS BASED ON CONSTRAINTS
,
1999
.
[3]
Michael J. Maher,et al.
Constraint Hierarchies and Logic Programming
,
1989,
ICLP.
[4]
Satoshi Matsuoka,et al.
Locally Simultaneous Constraint Satisfaction
,
1994,
PPCP.
[5]
H. Hosobe.
Locally Simultaneous Constraint Satisfaction, Principles and Practice of Constraint Programming - PCPP '94
,
1994
.
[6]
Philippe Codognet,et al.
An Incremental Hierarchical Constraint Solver
,
1993,
PPCP.
[7]
Satoshi Matsuoka,et al.
Generalized Local Propagation: A Framework for Solving Constraint Hierarchies
,
1996,
CP.
[8]
Koichi Furukawa,et al.
Proceedings of the eighth international conference on Logic programming
,
1991
.
[9]
Michael Sannella.
The skyblue constraint solver
,
1992
.
[10]
Alan Borning,et al.
Extending Hierarchical Constraint Logic Programming: Nonmonotonicity and Inter-Hierarchy Comparison
,
1989,
NACLP.
[11]
R. Barták.
A Generalized Algorithm for Solving Constraint Hierarchies
,
1997
.
[12]
Alan Borning,et al.
Hierarchical Constraint Logic Programming
,
1994,
J. Log. Program..
[13]
Bjørn N. Freeman-Benson,et al.
Multi‐way versus one‐way constraints in user interfaces: Experience with the deltablue algorithm
,
1993,
Softw. Pract. Exp..
[14]
Roman Barták,et al.
A Generalized Framework for Constraint Planning
,
1997
.