Arc and path consistence revisited
Artificial Intelligence
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
A generic arc-consistency algorithm and its specializations
Artificial Intelligence
Performance of the compiler-based Andorra-I system
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Hybrid tree search in the Andorra model
Proceedings of the eleventh international conference on Logic programming
The complexity of constraint satisfaction revisited
Artificial intelligence in perspective
A Flexible Scheduler for the Andorra-I System
ICLP '91 Pre-Conference Workshop on Parallel Execution of Logic Programs
Hi-index | 0.00 |
One of the distinguishing features of declarative languages is the separation of control and logic. Ideally, this allows us to improve the efficiency of an algorithm by changing only the control but not the logic. In this work, we investigate new control strategies and data structures in logic programs. Our main focus is on logic programs which contain dependent non-determinate computation.We propose a new type of finite domain variables, which allow any kind of compound terms in their domain. A compound term in the domain may contain unbound variables which can also become domain variables, leading to nested domain variables.With nested domain variables, we can represent the Cartesian product of several domains as a tree structure. That is, disjunctive constraints stores can be constructed as a nested domain. The consistency of a nested domain can then be checked simultaneously by different parts of computations. Two forms of lookahead are used to perform the consistency checking: deep lookahead and shallow lookahead. It is hoped that, with our lookahead techniques and nested domains, many unnecessary or-branches can be pruned at an early stage. We have tested our ideas by an experimental implementation under SIC-Stus Prolog, and obtained very encouraging results.