Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!osiris.cso.uiuc.edu!goldfain From: goldfain@osiris.cso.uiuc.edu Newsgroups: comp.lang.prolog Subject: Re: different Prologs? Message-ID: <7000015@osiris.cso.uiuc.edu> Date: 17 Oct 89 09:40:15 GMT References: <111000002@uxa.cso.uiuc.edu> Lines: 27 Nf-ID: #R:uxa.cso.uiuc.edu:111000002:osiris.cso.uiuc.edu:7000015:000:1504 Nf-From: osiris.cso.uiuc.edu!goldfain Oct 16 21:08:00 1989 ] /* Oct 11, 1989 ok@cs.mu.oz.au writes in comp.lang.prolog */ ] ... ] There's another sense of "reasonable"; intelligent backtracking ranges from ] outrageously costly to unpleasantly costly. There are affordable versions ] of intelligent backtracking around, but they become affordable by sacrificing ] much of the intelligence. You can avoid repeated solutions to a goal _this_ ] simple, but the problem is going to come right back in more complicated ] situations. Another method is to use extension tables (applicable only to ] :- pure predicates), which have their own problems. ] ... ] As they say in the satellite business, there's no such thing as a free ] launch. Prolog strikes a balance between cost and power; it's fast and ] stupid rather than slow and smart. /* End of text from comp.lang.prolog */ Hmmm... This is one other place where one could explore parallelism: have separate processors hunting for the best or simplest backtrack scheme. This sounds vaguely like it might be a psychologically plausible model. I don't know what kind of a nightmare this would be to implement. I think the general approach to parallelism in Prolog is somewhat incompatible with this idea - all promising approaches are being explored, so an intelligent backtrack would never be involved. But I see no proof that the idea doesn't have unique benefits in some problem areas, so I can't dismiss it as a pointless investigation. - Mark Goldfain