On October 18, SITC held its second seminar on the theme of Artificial Intelligence. Dr. Mathias Fonkam, Dean and Associate Professor of the School of IT & Computing, was the seminar facilitator and made a presentation, “The Logic Foundations of Prolog & Applications in AI.”
Dr. Fonkam explained that PROLOG was short for PROgramming in LOGic and represents a complete programming language, one that introduced a new paradigm or way of solving problems with the computer - “a declarative rather than imperative approach to problem solving with the computer”. He said most of the mainstream programming languages such as Java, C#, C++, Ruby and Python fall under the imperative paradigm because the programmer must specify in great detail the steps or recipe the computer must follow in solving the problem.
In contrast to this approach, in the declarative style promoted in Prolog, one merely states relations (facts and general rules on how to compute new facts from existing facts) known to hold in the problem space and then leaves it to the inference mechanism of the Prolog system to work out how to solve any end-user problem that the system can deduce as a logical consequence of the knowledge base of stated domain relations.
This declarative approach, the dean noted, was extremely powerful in representing and reasoning with human knowledge, in a way more akin to how we humans process and reason with knowledge (even the written word). In fact, the dean shared that Prolog was motivated by 2 key needs of the AI community at the time (1970’s!) - one related to theorem-proving and the other to natural language processing.
Dr. Fonkam argued that, the resurgence of activity in the AI domain, the explosion of content on the web and the growing need for smarter systems, means huge research opportunities for students using a symbolic processing language like Prolog. He said Prolog was a great tool for rapid prototyping and testing of new ideas; “...in Prolog the specification is the program -- there is no need to define the how, but only if you endeavor to embrace its declarative approach!”. The basis of this declarative view of Prolog programs was its logical foundations.
On logic, Dr. Fonkam explained that logic was generally considered to be the science of correct reasoning and at the heart of computer science and computer engineering. He said the rules of logic date back thousands of years to Greek Philosophers such as Aristotle and Socrates. Prolog implements a refutation proof technique based on one of these early rules of reasoning (modus tollens), augmented with a pattern matching mechanism known as resolution and an automatic search routine known as backtracking.
Dean Fonkam used several examples to illustrate these mechanisms in Prolog. The Professor recognized PROLOG as an excellent AI symbolic processing language that every aspiring computer science student should pick up as soon as possible. He said Prolog is a powerful knowledge representation system suitable for solving various types of AI problems, including expert systems, natural language processing, deductive databases, computer games and constraint satisfaction problems.
He concluded by presenting several Math puzzles to the attendees which he said they could easily solve in Prolog but that would be much tougher to program in other traditional imperative languages!
By Omorogbe Omorogiuwa