Representation in prolog - logic programs, Computer Engineering

Assignment Help:

Representation in Prolog - Logic Programs : Artificial intelligence

If we impose some more constraints on first order logic, then we get to a representation language known as logic programs. The major limitation we impose is that all the knowledge we want to encode is represented such as Horn clauses. These are implications which containa head anda body, where the predicates in the body are conjoined and they imply the single predicate in the head. Horn clauses are entirely quantified over all the variables appearing in them. So, an instance Horn clause looks like this:

∀x, y, z ( b1(x,y) ∧ b2(x) ∧ ... ∧ bn(x,y,z) -> h(x,y))

We see that the body contain of predicates bi and the head is h(x,y). We may make this look a lot more like the Prolog programs you are used to writing by making a few syntactic changes: firstly, we turn the implication around and write it as :- thus:

∀x, y, z (h(x,y) :- b1(x,y) ∧ b2(x) ... bn(x,y,z))

next, we change the symbols to commas.

∀x, y, z (h(x,y) :- b1(x,y), b2(x), ..., bn(x,y,z))

Lastly, we remove the universal quantification (it is assumed in Prolog), make the variables capital letters (Prolog requires this), and put a complete stop at the end:

h(X,Y) :- b1(X,Y), b2(X), ..., bn(X,Y,Z).

Note that we utilize the notation h/2 to indicate that predicate h has arity 2. Also, we call a set of Horn clauses  aslike a logic program. Representative knowledge with logic programs is less expressive than full first order logic, butstill it can express lots of types of information. In specific, disjunction can be gained by having different Horn clauses with the same head. So, this sentence in first -order logic:

∀x (a(x) ∨ b(x) -> c(x) ∧ d(x))

itcan be written as the following logic program:

c(x) :- a(x).

c(x) :- b(x).

d(x) :- a(x).

d(x) :- b(x).

We also permit ourselves to represent facts as atomic ground predicates. For instance, we can state that:

parent(georgedubya,georgesenior). colour(red). and so on.


Related Discussions:- Representation in prolog - logic programs

Differentiate between transport & session layer of osi model, Differentiate...

Differentiate between Transport and Session layers of OSI model. OSI Model Transport Layer The transport layer utilizes the services provided through the network layer, as

What is the window of the working set of a process, What is the window of t...

What is the window of the working set of a process? The window of the working set of a method is the total number in which the method had referred the set of pages in the work

Drawing sequential circuit on paper, design a sequential circuit that conti...

design a sequential circuit that continuously computes the function 2X + 3 or 3X + 1 where the variable X is a three-bit unsigned integer available on a serial interface. A special

Explain in detail about the random scan display, Explain in detail about th...

Explain in detail about the Random Scan Display   This device using CRT directs the electron beam only to the parts of the screen where a picture is to be drawn. This kind of d

What is e-cash, E-Cash:  E-cash is cash shown by two models. One is the...

E-Cash:  E-cash is cash shown by two models. One is the on-line form of e-cash (introduced by DigiCash) which permits for the completion of all types of internet transactions.

Instruction pipelines, Instruction Pipelines As discussed previous, the...

Instruction Pipelines As discussed previous, the stream of instructions in the instruction implementation cycle, can be realized through a pipeline where overlapped implementat

Major task of a computer to carry out instruction execution, The major task...

The major task of a computer is to carry out instruction execution. The key questions that can be asked in this respect are: (a) how are the instructions provided to computer? And

Differentiate between unit testing and integration testing, Unit testing an...

Unit testing and integration testing: Unit testing focuses on the least element of software design by the module. Unit test is conducted on every of the modules to uncover er

How does multiplexer know which line to select, How does multiplexer know w...

How does multiplexer know which line to select? This is managed by select lines. The select lines provide communication among different components of a computer. Now let's see

Examples of input, (i)  Input a single ASCII character into BL register wit...

(i)  Input a single ASCII character into BL register without echo on screen  CODE SEGMENT  MOV AH, 08H;         Function 08H  INT 21H          ;         the character inpu

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd