Bounded tabling

2019-06-24 11:14发布

问题:

Quite recently, I started playing around with tabling in Prolog; some experiments that I did with b-prolog and xsb can be found in this question.

With the tables getting bigger and bigger, I realized that I needed to find some tabling options / parameters that would allow me to limit the amount of memory dedicated to tabling.

So far, I didn't find anything suitable in the manuals of yap, b-prolog and xsb.

Could you please pinpoint me to some useful information?

回答1:

In the case of YAP, there are some publications that go into detail in the tabling implementation. One of the most relevant ones is likely Mode-Directed Tabling and Applications in the YapTab System:

http://cracs.fc.up.pt/node/4962

I have some of this paper examples adapted in Logtalk (I'm in same research group - CRACS - as the authors):

https://github.com/LogtalkDotOrg/logtalk3/blob/master/examples/tabling/tabling.lgt

(see code starting at line 63).

At the CRACS website (http://cracs.fc.up.pt) you can fine several other papers on tabling.