Prolog for Artificial Intelligence (AI) Software Development
Terminator The Sara Connor Chronicles

Prolog for Artificial Intelligence (AI) Software Development

In 2008-2009, The Sara Connor Chronicles was one of the hot shows and simulated AI. Then...along came Watson.

In 2011, IBM's Watson AI system became famous for winning at Jeopardy against champion players. This accomplishment required, among other things, top-quality English language processing. The development team had looked at various technologies and found that the best choice was a rather old programming language called Prolog.

Most programming languages use an imperative approach. They describe a procedure for doing something. A program states what actions to take and what order to execute them in. Prolog takes a declarative approach. It describes entities and asserts relations, and executing a program consists of specifying goals to be reached using them. Prolog stands for “Programming in Logic,” and a solid background in formal logic is a huge help.

Relations look like functions in other languages. Prolog would represent the assertion “John is the father of Mary” as “father(john, mary)”. Rules allow inferences from relations; a rule could specify how to derive a “grandfather” relationship from “father” and “mother” relations.

After specifying all relations, the program can ask if the rules show a relationship to be true or not, or to return an entity for which a relationship is true.

The language doesn't consist just of inferences. It can handle lists, do arithmetic,and perform input and output. What you won't see is assignment statements, loops, or function calls.

Prolog is best suited for natural language processing, machine learning, and handling connections among factual information. It's used with problems similar to the ones LISP handles, though the two languages are very different from each other. No one would try using Prolog to create graphics or generate an order form. It's very much a niche technology, but a language that lets a computer win quiz shows on the expert level certainly has something going for it. It's worth looking at just to understand a radically different way of doing programming.

Its also possible to embed Prolog projects into other higher level projects, such as Java, .NET, Python, etc. And there are embeddable Prolog engines for java and other languages. This way, you can almost have your Terminator and your Sara Connor too!

Are you looking for the right development team for your project? Contact us today.

要查看或添加评论,请登录

Todd Towles的更多文章

社区洞察

其他会员也浏览了