0% found this document useful (0 votes)
4 views

Prolog - Introduction

Prolog is a logical and declarative programming language primarily used in artificial intelligence for symbolic and non-numeric computation. It operates on facts, rules, and questions, allowing users to specify problems without detailing the solution process. Prolog has historical roots in theorem proving and has applications in various fields such as natural language understanding and automation systems.

Uploaded by

Prem Patil
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Prolog - Introduction

Prolog is a logical and declarative programming language primarily used in artificial intelligence for symbolic and non-numeric computation. It operates on facts, rules, and questions, allowing users to specify problems without detailing the solution process. Prolog has historical roots in theorem proving and has applications in various fields such as natural language understanding and automation systems.

Uploaded by

Prem Patil
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

 Home  Coding Ground 

Prolog - Introduction

Advertisements

 Previous Page Next Page 

Prolog Online Training

65 Lectures 5 hours

 Arnab Chakraborty

More Detail

Prolog In Artificial Intelligence

78 Lectures 7 hours

 Arnab Chakraborty

More Detail

Prolog as the name itself suggests, is the short


form of LOGical PROgramming. It is a logical and
declarative programming language. Before diving
deep into the concepts of Prolog, let us first
understand what exactly logical programming is.

Logic Programming is one of the Computer


Programming Paradigm, in which the program
statements express the facts and rules about
different problems within a system of formal logic.
Here, the rules are written in the form of logical
clauses, where head and body are present. For
example, H is head and B1, B2, B3 are the
elements of the body. Now if we state that “H is
true, when B1, B2, B3 all are true”, this is a rule.
On the other hand, facts are like the rules, but
without any body. So, an example of fact is “H is
true”.

Some logic programming languages like Datalog


or ASP (Answer Set Programming) are known as
purely declarative languages. These languages
allow statements about what the program should
accomplish. There is no such step-by-step
instruction on how to perform the task. However,
other languages like Prolog, have declarative and
also imperative properties. This may also include
procedural statements like “To solve the problem
H, perform B1, B2 and B3”.

Some logic programming languages are given


below −

ALF (algebraic logic functional programming


language).

ASP (Answer Set Programming)

CycL

Datalog

FuzzyCLIPS

Janus

Parlog

Prolog

Prolog++

ROOP

Logic and Functional


Programming
We will discuss about the differences between
Logic programming and the traditional functional
programming languages. We can illustrate these
two using the below diagram −

From this illustration, we can see that in


Functional Programming, we have to define the
procedures, and the rule how the procedures
work. These procedures work step by step to
solve one specific problem based on the
algorithm. On the other hand, for the Logic
Programming, we will provide knowledge base.
Using this knowledge base, the machine can find
answers to the given questions, which is totally
different from functional programming.

In functional programming, we have to mention


how one problem can be solved, but in logic
programming we have to specify for which
problem we actually want the solution. Then the
logic programming automatically finds a suitable
solution that will help us solve that specific
problem.

Now let us see some more differences below −

Functional Logic Programming


Programming

Functional Programming Logic Programming


follows the Von- uses abstract model,
Neumann Architecture, or deals with objects
or uses the sequential and their relationships.
steps.

The syntax is actually The syntax is basically


the sequence of the logic formulae
statements like (a, s, I). (Horn Clauses).

The computation takes It computes by


part by executing the deducting the clauses.
statements sequentially.

Logic and controls are Logics and controls


mixed together. can be separated.

What is Prolog?
Prolog or PROgramming in LOGics is a logical
and declarative programming language. It is one
major example of the fourth generation language
that supports the declarative programming
paradigm. This is particularly suitable for
programs that involve symbolic or non-numeric
computation. This is the main reason to use
Prolog as the programming language in Artificial
Intelligence, where symbol manipulation and
inference manipulation are the fundamental
tasks.

In Prolog, we need not mention the way how one


problem can be solved, we just need to mention
what the problem is, so that Prolog automatically
solves it. However, in Prolog we are supposed to
give clues as the solution method.

Prolog language basically has three different


elements −

Facts − The fact is predicate that is true, for


example, if we say, “Tom is the son of Jack”, then
this is a fact.

Rules − Rules are extinctions of facts that


contain conditional clauses. To satisfy a rule
these conditions should be met. For example, if
we define a rule as −

grandfather(X, Y) :- father(X, Z), paren

This implies that for X to be the grandfather of Y,


Z should be a parent of Y and X should be father
of Z.

Questions − And to run a prolog program, we


need some questions, and those questions can
be answered by the given facts and rules.

History of Prolog
The heritage of prolog includes the research on
theorem provers and some other automated
deduction system that were developed in 1960s
and 1970s. The Inference mechanism of the
Prolog is based on Robinson’s Resolution
Principle, that was proposed in 1965, and Answer
extracting mechanism by Green (1968). These
ideas came together forcefully with the advent of
linear resolution procedures.

The explicit goal-directed linear resolution


procedures, gave impetus to the development of
a general purpose logic programming system.
The first Prolog was the Marseille Prolog based
on the work by Colmerauer in the year 1970.
The manual of this Marseille Prolog interpreter
(Roussel, 1975) was the first detailed description
of the Prolog language.

Prolog is also considered as a fourth generation


programming language supporting the
declarative programming paradigm. The well-
known Japanese Fifth-Generation Computer
Project, that was announced in 1981, adopted
Prolog as a development language, and thereby
grabbed considerable attention on the language
and its capabilities.

Some Applications of Prolog


Prolog is used in various domains. It plays a vital
role in automation system. Following are some
other important fields where Prolog is used −

Intelligent Database Retrieval

Natural Language Understanding

Specification Language

Machine Learning

Robot Planning

Automation System

Problem Solving

 Previous Page Next Page 

Advertisements

Annual Membership
Enjoy unlimited access on
5500+ Hand Picked Quality
Video Courses

 Subscribe Now

Training for a Team


Affordable solution to train a
team and make them project
ready.

 Submit Demo Request

 About us  Refund Policy

 Terms of use  Privacy Policy FAQ's

 Contact

© Copyright 2022. All Rights Reserved.


You might also like