Tag Info

Hot answers tagged

19

The AI course I participated in online, taught at Stanford, recommended that Python be used for the homework. I believe Georgia Tech still uses LISP. The fallacy here is "new" is "good". AI research is one of the oldest computing research disciplines. It keeps calving off subfields as people realize that techniques from it can be used elsewhere. Language ...


17

I took an introduction to AI course in my undergrad that used Prolog to have us implement an expert system. An expert system is a piece of software that is used to solve a very specific problem whose solution is dependent on a high number of rules and variables. For instance, you could imagine an expert system that tells you whether you should take an ...


12

From the preface to Prolog Programming for Artificial Intelligence: Prolog is a programming language centred around a small set of basic mechanisms, including pattern matching, tree-based data structuring and automatic backtracking. This small set constitutes a surprisingly powerful and flexible programming framework. Prolog is especially well suited for ...


12

In my view, learning the basics of Prolog is very worthwhile, irrespective of whether you'll ever use it in the real world. It's also very worthwhile to understand the basic ideas underlying unification, and how a (trivial and inefficient) implementation might be handled. If you have a problem that would be best solved using declarative logic, you should ...


10

This wasn't me, but assuming the question could be "did anyone implement something serious with prolog?" this might count: http://asmarterplanet.com/blog/2011/02/the-watson-research-team-answers-your-questions.html Watson is powered by 10 racks of IBM Power 750 servers running Linux, and uses 15 terabytes of RAM, 2,880 processor cores and is ...


9

I've used Prolog extensively for my PhD dissertation, and I am also using it currently for a couple of papers I am working on. Why? Because it fitted in perfectly. I needed a general-purpose rule-based knowledge representation language - And Prolog is still the most ubiquitous language for these needs. When the tool serves the purpose, these questions ...


9

The difference is a bit like using SQL for database queries rather than writing a program in, say, C. In SQL, you say what you want - but you don't (directly) have to specify the algorithm used to derive it. A Prolog program is sometimes called a database, but it's really a set of predicate logic statements. The evaluation mechanism takes the query and ...


8

It would be helpful and interesting to know more about the OP's intended application. Prolog is itself the focus of some research and development projects, esp. extensions like constraint programming, but I have the impression glow123 has a wider topic in mind. The cited comment (from an audience member at a talk, not a "reviewer") was actually a question, ...


8

Tongue-in-cheek answer: because if the creators of Rules Engines knew about Prolog (or Mercury or PLANNER or …) they wouldn't be writing Rules Engines, they'd be using Prolog.


7

"The Art Of Prolog" by Leon Sterling & Ehud Shapiro is one of the best books about computer programming I've ever read.


7

I know A.I. programmers use it.....because I did a Prolog course in my A.I. class but besides that I haven't seen much else said about it. here is a similar question with lotsa answers! http://stackoverflow.com/questions/130097/real-world-prolog-usage


6

I think the argument for many commercial Business Rules Systems using forward chaining engines (eg. Drools) vs backward chaining (Prolog) is that many "Joe programmers" are used to dealing with IF/THEN/ELSE logic - and this makes it a whole lot easier to market to the masses. I don't think technical merit has anything to do with it. I'm posting this as ...


6

Prolog is still being used in some areas of research. The university were I work teaches it and has a group of researchers building systems in it; so does my alma mater. Be sure to check out the "new" constraint logic programming language CHR. It's under active development since the early 90s (like Python, Perl), most implementations are based on Prolog ...


6

Prolog is great for a fast prototyping. For example, in http://www.cri.ensmp.fr/classement/doc/A-381.pdf an SSA-transform for GCC is first implemented in Prolog, and then in C. I am using Prolog inside compilers for a quick and dirty implementation of type systems, certain optimisations and semantic checks, and I rewrite that Prolog code into something ...


6

Outside of academia... I've heard of it used more in AI, sometimes in games (I heard it drove the AI in the Black & White series). I've also heard of variations used to run rules-engines for certain businesses and economic simulations. My guesses for lack of widespread adoption are: It's weird - most people aren't used to programming in it, and they ...


6

You may find answers to your questions in a recent special issue “Sprachen der KI” (“Languages of AI”) of the German AI journal KI - Künstliche Intelligenz, Volume 26, Number 1 / February 2012, published by Springer. I am the co-author of one part of a discussion paper included in it: “What Language Do You Use To Create Your AI Programs and Why?” Here is a ...


5

We used it to build parsers. It was easier to work with than lex/yacc. Why is it not getting any detectable industry usage? This is unanswerable. What does "detectable" mean? Who needs to get the detection memo? http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp Ask Meridian Software about their prolog offering if you want facts. ...


5

Rules engines in their infancy were written almost exclusively in Prolog--it was the logical language. For a small set of rules they worked great. However, it turned out they didn't scale very well. I don't have a definitive reference, but my understanding is that the way Prolog handles the chaining of rules is inefficient--the recursive model made for ...


4

I took 2 Prolog modules at University and very much enjoyed developing in the language. Its particularly good for expert systems, I wrote a medical symtom diagnosis one. The way it was explained to me was that Lisp tends to be used more in certain countries and Prolog in the others. In terms of which is best, I only covered Lisp briefly when I did lambda ...


4

Generally, the point of a rules engine is that it is a part of another application. It is rather rare to see applications written in Prolog, and there isn't a commonly available interface to connect Prolog to applications written in other languages. One rule-based tool for rule engines, that is written to be added to other applications, is CLIPS. CLIPS was ...


3

Do not take each and every peer review comment as token value. To reduce controversiality you might note that your system is a "proof-of-concept" system which is the main purpose of research anyway. Using a current mature Prolog system will give you a more stable implementation than using one of the mentioned languages. While those languages are itself ...


3

There's an excellent Prolog environment for windows. It's called Ubuntu on VirtualBox. I decided to stop swimming upstream when I started learning Erlang and installed Ubuntu. It's been a pleasant journey of rediscovery for me. Linux has come a long way to simplify the process of getting up and running. I'm assuming you're going through the 7 languages in 7 ...


3

Some starting points You might want to look into this research paper: http://www.mendeley.com/research/implementation-parallel-prolog-interpreter-multiprocessors/ Also, this Prolog on Python proof of concept paper has some interesting leads: http://www.mendeley.com/research/a-prolog-interpreter-in-python/


2

According to (This FAQ)1 Parts of Watson, the IBM machine that played Jeopardy, were written in prolog. (see question #6)


2

You answered quite quickly, but I used Prolog in the mid-90s to design insurance rate calculators which would determine for us certain customer segments (read risk) that would fit within premium rates. It is something that you wouldn't necessarily see day-to-day, but surely has affected your P&C premiums over the years.


2

Prolog and The Art of Prolog are hard to beat in this regard. A possible alternative - being a bit closer in theme and technique to Scheme/SiCP than to Prolog/Art of Prolog - is Mozart/Oz with the the book Concepts, Techniques, and Models of Computer Programming. Apart from Oz other alternative languages to Prolog are Curry which sits right between ...


2

One issue is that Prolog isn't really programming in first-order predicate logic, which is computationally intractable (I don't remember to what extent, but it's not in NP, and if you add arithmetic to it it's formally undecidable). Therefore, it's a simplification. In logic, a proposition can be proved true, proved false, or not proven either way. Prolog ...



Only top voted, non community-wiki answers of a minimum length are eligible