Artificial Intelligence
Automating control for logic programs
Journal of Logic Programming
Metalogical control for logic programs
Journal of Logic Programming
Controlling recursive inference
Artificial Intelligence
Programming in Prolog (3rd ed.)
Programming in Prolog (3rd ed.)
Unification as a complexity measure for logic programming
Journal of Logic Programming
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Automatic mode inference for logic programs
Journal of Logic Programming
Journal of Logic Programming
Controlling backward inference
Artificial Intelligence
Logic programming: systematic program development
Logic programming: systematic program development
Experimental Results on Subgoal Reordering
IEEE Transactions on Computers
Introduction to algorithms
Learning approximate control rules of high utility
Proceedings of the seventh international conference (1990) on Machine learning
An analysis of loop checking mechanisms for logic programs
Theoretical Computer Science
Information Filtering: Selection Mechanisms in Learning Systems
Machine Learning
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Acquiring search-control knowledge via static analysis
Artificial Intelligence
Cardinality analysis of Prolog
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
CYC: a large-scale investment in knowledge infrastructure
Communications of the ACM
Probably approximately optimal satisficing strategies
Artificial Intelligence
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
Lower bound cost estimation for logic programs
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Learning investment functions for controlling the utility of control knowledge
AAAI '98/IAAI '98 Proceedings of the fifteenth national/tenth conference on Artificial intelligence/Innovative applications of artificial intelligence
The complexity of ordering subgoals
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
An algorithm for ordering subgoals in NAIL?
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Search strategy and selection function for an inferential relational system
ACM Transactions on Database Systems (TODS)
Communications of the ACM
Learning Search Control Knowledge: An Explanation-Based Approach
Learning Search Control Knowledge: An Explanation-Based Approach
Principles of Database Systems
Principles of Database Systems
Data Structures and Algorithms
Data Structures and Algorithms
Explanation-Based Generalization: A Unifying View
Machine Learning
Machine Learning
Explanation-Based Learning: An Alternative View
Machine Learning
Static Type Analysis of Prolog Procedures for Ensuring Correctness
PLILP '90 Proceedings of the 2nd International Workshop on Programming Language Implementation and Logic Programming
FOLON: An Environment for Declarative Construction of Logic Programs
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Specification-Based Automatic Verification of Prolog Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Information filtering: selection mechanisms in learning systems
Information filtering: selection mechanisms in learning systems
Efficient processing of interactive relational data base queries expressed in logic
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Hi-index | 0.00 |
It is common to view programs as a combination of logic and control: the logic part defines what the program must do, the control part - how to do it. The Logic Programming paradigm was developed with the intention of separating the logic from the control. Recently, extensive research has been conducted on automatic generation of control for logic programs. Only a few of these works considered the issue of automatic generation of control for improving the efficiency of logic programs. In this paper we present a novel algorithm for automatic finding of lowest-cost subgoal orderings. The algorithm works using the divide-and-conquer strategy. The given set of subgoals is partitioned into smaller sets, based on co-occurrence of free variables. The subsets are ordered recursively and merged, yielding a provably optimal order. We experimentally demonstrate the utility of the algorithm by testing it in several domains, and discuss the possibilities of its cooperation with other existing methods.