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

Advanced microprocessor, Write a program to mask bits D3D2D1D0 and to set ...

Write a program to mask bits D3D2D1D0 and to set bits D5D4 and to invert bits D7D6 of the AX register.

C, Write a ‘C’ functions to arrange the elements of an integer array in suc...

Write a ‘C’ functions to arrange the elements of an integer array in such a way that all the negative elements are before the positive elements. The array is passed to it as an arg

Data transmission and modems, Q. What is Data Transmission and Modems? ...

Q. What is Data Transmission and Modems? Data can be transferred between two stations in either serial or parallel transmission. Parallel data transmission, in which a group of

Design issues of multi-threaded processors, Q. Design issues of Multi-threa...

Q. Design issues of Multi-threaded processors? To accomplish the maximum processor utilization in a multithreaded architecture, the subsequent design issues should be addressed

Explain LRU page replacement algorithm, Explain LRU Page replacement algori...

Explain LRU Page replacement algorithm. LRU policy: It expands to least recently use. This policy proposes that we remove a page that last usage is farthest from present time

Explain communications and synchronization, Communications Parallel t...

Communications Parallel tasks normally have to exchange data. There are various manners in which this can be achieved like over a network or through a shared memory bus. The

What are the components of loadrunner, The workings of LoadRunner are The V...

The workings of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner examines and Monitoring, LoadRunner Books Online. What Component of LoadRun

Loop used to show properties, Normal 0 false false false ...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4  A loop invariant is

Explain rational robots coding standards, The standards are for all testers...

The standards are for all testers using the IDE of Rational Robot to make their automated test scripts. The mission is to decrease maintenance costs when it comes to changes.

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