CHAT Is Theta(SLG-Wam)

  • Authors:
  • Bart Demoen;Konstantinos F. Sagonas

  • Affiliations:
  • -;-

  • Venue:
  • LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

CHAT offers an alternative to SLG-WAM for implementing the suspension eind resumption of consumers that tabling needs; unlike SLG-WAM, it does not use freeze registers nor a complicated trail to preserve their execution environments. CHAT Eilso limits the amount of copying of CAT, which was previously put forward as another alternative to SLG-WAM. Although experimented results show that in practice CHAT is competitive with -- if not better than -- SLG-WAM, there remains the annoying fact that on contrived programs the original CHAT can be made arbitraxily worse than SLG-WAM, i.e. the original CHAT has an intrinsically higher complexity. In this paper we show how to overcome this problem, in particular, we deal with the two sources of higher complexity of CHAT: the repeated traversal of the choice point stack, and the lack of sufficient sharing of the trail. This is achieved without fundamentally changing the underlying principle of CHAT by a technique that manipulates a Prolog choice point so that it assumes temporarily a different functionality and in a way that is transparent to the underlying WAM. There is more potential use of this technique besides lowering the worst case complexity of CHAT: it leads to considering scheduling strategies that were not feasible before either in CHAT or in SLG-WAM. We also discuss extensively issues related to the implementation of the trail in a tabled logic programming system.