Implementing Logic Programming

23 points by veqq


jlarocco

There was quite a lot of research about logic programming back in the 80s and early 90s, around the first AI boom. A while back I picked up used copies of, Implementations of Prolog and Parallel Logic Programming, as well as a book on Strand, an Expert Systems book, and an old, second edition version of “Programming with Prolog”. A lot of people think of concurrency and parallelism as modern topics, but they were running Prolog on 16 core machines in the late 80s.

Unfortunately I haven’t found much use for logic programming yet. One of the books even says, “If you know an algorithm, use that, otherwise Prolog may be a suitable alternative”, although it wasn’t as blunt about it. The dirty secret seems to be that logic programming is basically a glorified search through the solution space. It’s handy to have available, but probably not the most efficient technique. The books still cover a lot of useful techniques that can be used outside of logic programming, but logic programming itself seems limited, IMO.

Are there any attempts to use LLMs and modern AI combined with logic programming? One downside of logic programming is the neccesity of entering all of the rules… if those came from LLM training data somehow, I could see if being a lot more useful. Is that basically what ChatGPT and OpenAI are doing? Or what if ChatGPT generated the rules for an expert system? A kind of hybrid approach where the AI generates the rules and human experts double check them.

One interesting ability of Expert Systems, (and to an extent Prolog), is the ability to explain its reasoning by showing the rules and inferences made. That’d be a great feature for modern AI to adopt.