For Programmers: Free Programming Magazines  


Home > Archive > Prolog > August 2005 > Re: ...I just assumed they were all the same.









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: ...I just assumed they were all the same.
David Warren

2005-08-31, 6:58 pm

"Dirk Mittler" <mdirk@sympatico.ca> writes:
> ....
> I also installed Cygwin on my computer some time ago, just so that I could
> install XSB Prolog. But unfortunately, I never used that, and so I also did
> not see the major differences just now. I did hear that XSB uses an
> incremental (=learning) database as its core. But in some way I lost sight
> of this knowledge when I posted here.


XSB extends standard Prolog with the idea of tables (or memoing or
cacheing.) It allows you to declare some predicates as "tabled" in
which case it will remember all calls (and answers) to that predicate
and if ever the same call is made in the future, will skip the call
and instead use the results computed by the earlier call and stored in
the table.

The interesting thing about this is that is terminates many loops that
Prolog would otherwise get into. For example, rules like:

p(X,Y) :- p(Y,X).

work finitely as one would like. As perhaps a more interesting
example, ALL DCG's work finitely (for parsing CFG languages), and in
polynomial time.

So XSB is indeed somewhat different from Prolog, but I wouldn't
exactly call it "learning".

Regards, -David
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com