Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
|
 |
Exploiting E.cient Control and Data Structures in Logic Programs
| |
|
Exploiting E.cient Control and Data Structures in Logic Programs
Rong Yang6 and Steve Gregory7 
| (6) |
School of Computer Science, University of the West of England, UK |
| (7) |
Department of Computer Science, University of Bristol, UK |
Abstract
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 newt ype 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 SICStus Prolog, and obtained very
encouraging results.
Keywords logic programming - constraints satisfaction - sequence comparison
Fulltext Preview (Small, Large)
 References secured to subscribers.
|
|
|
|
|
|