Implementing deductive databases by mixed integer programming

  • Authors:
  • Colin Bell;Anil Nerode;Raymond T. Ng;V. S. Subrahmanian

  • Affiliations:
  • Univ. of Iowa, Iowa City;Cornell Univ., Ithaca, NY;Univ. of British Columbia, Vancouver, B.C., Canada;Univ. of Maryland, College Park

  • Venue:
  • ACM Transactions on Database Systems (TODS)
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Existing and past generations of Prolog compilers have left deduction to run-time and this may account for the poor run-time performance of existing Prolog systems. Our work tries to minimize run-time deduction by shifting the deductive process to compile-time. In addition, we offer an alternative inferencing procedure based on translating logic to mixed integer programming. This makes available for research and implementation in deductive databases, all the theorems, algorithms, and software packages developed by the operations research community over the past 50 years. The method keeps the same query language as for disjunctive deductive databases, only the inferencing procedure changes. The language is purely declarative, independent of the order of rules in the program, and independent of the order in which literals occur in clause bodies. The technique avoids Prolog's problem of infinite looping. It saves run-time by doing primary inferencing at compile-time. Furthermore, it is incremental in nature. The first half of this article translates disjunctive clauses, integrity constraints, and database facts into Boolean equations, and develops procedures to use mixed integer programming methods to compute equations, and develops procedures to use mixed integer programming methods to compute equations, and develops procedures to use mixed integer programming methods to compute equations, and develops procedures to use mixed integer programming methods to compute—least models of definite deductive databases, and—minimal models and the Generalized Closed World Assumption of disjunctive databases.