So far we have seen “Thinking Humanly: The cognitive modeling approach” , “Acting  Humanly: The Touring Test approach”, “Four Main Approaches to Artificial Intelligence“, and about how to make an AI model think and act like a human.

Fout Main Approaches - Thinking Rationally

In this article, we will take a closer look at  “Thinking Rationally:  The “laws of thought” approach.

Thinking Rationally Pic

Per the book “Artificial Intelligence A Modern Approach”, The Greek philosopher Aristotle was the one who first codifies “right-thinking” reasoning processes.

Aristotle’s syllogisms provided patterns for argument structures that always provide correct premises.

A famous example, “Socrates is a man; all men are mortal; therefore, Socrates is mortal.”

Another example – All TVs use energy; Energy always generates heat; therefore, all TVs generate heat.”

These arguments initiated the field called logic.  Notations for statements for all kinds of objects were developed and interrelated between them to show logic.

By 1965, programs existed that could solve problems that were described in logical notation and provides a solution.

The logical tradition in Artificial Intelligence hopes to build on such programs to create intelligence systems or programs or computational models.

There are two limitations to this approach:

  1. First, it is not easy to take informal knowledge to use logical notation when there is not enough certainty on the knowledge.
  2. Solving in principle and solving in practice varies hugely.

Let’s see a couple of examples of syllogism argument statements in Logical, Mathematical, and Programming notations(Prolog programming is a logic computer language).

Logical, Mathematical and Programming Notation

Logical notation:

Socrates is a man;

All men are mortal;

therefore, Socrates is mortal.

Mathematical predicate calculus notation:

Ps is the statement “Socrates is a man.”

Qs is the statement “Socrates is mortal.”

∀x[Px → Qx]

Ps

—————–

∴Qs

You can see syllogism argument shares a common term in predicate calculus.

Prolog programming notation:

Fact Statement: Socrates is a man.

man(socrates).

Rule (Headed horn clause) Statement: All men are mortal.

mortal(X):- man(X)

Goal or Query Statement: Is Socrates mortal?

?- mortal(Socrates)

Did you know?

Alan Colmeraue and Phillippe Roussel were interested in natural-language processing and Robert Kowalski was interested in automated theorem proving.  All three collaborated and developed the fundamental design of Prolog programming.

Logical notation:

All TV’s uses energy;

Energy always generates heat;

therefore, All TVs generate heat.

Mathematical predicate calculus notation:

Ps is the statement “All TV’s uses energy.”

Qs is the statement “All TVs generate heat.”

∀x[Px → Qx]

Ps

Ps

—————–

∴Qs

You can see syllogism argument shares a common term in predicate calculus.

Prolog programming notation:

Fact Statement: All TVs use energy.

energy(tv).

Rule (Headed horn clause) Statement: Energy always generates heat

heat(X):- energy(X)

Goal or Query Statement: Is TV generates heat?

?- heat(tv)

We will continue on “Acting Rationally: The rational agent approach” in the next blog.

Most of the excerpts/contents referred to the book “Artificial Intelligence A Modern Approach”. It is one of the best books in Artificial Intelligence.

Posts on SAP:

Why we like the SAP Business Rule Framework Plus (SAP BRF+) Recipe?

Simple wireframe design for SAP FIORI UI Chatbot

A simple wireframe design for SAP FIORI UI Chatbot – Part II

How to create your own SAP Fiori Chatbot in 10 days?

How SAP Event Management helps the discrete processing industry?