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

Explain the access methods used in lans, Explain the access methods used in...

Explain the access methods used in LANs. Access methods utilized in LAN: i. Switched access: this is used in LANs which are assigned around CBXs. Electronic switching

What kinds of statements are present in an assembly language, What kinds of...

What kinds of statements are present in an assembly language program? Discuss. An assembly program contains subsequent three types of statements: 1. Imperative statements: The

Mplement a second-order low-pass filter using the finite dif, you will impl...

you will implement a second-order low-pass filter using the finite difference method. The finite difference method is a useful mathematical method that is used to numerically solve

Observations of high level language program, Q. Observations of High Level ...

Q. Observations of High Level Language Program? Observations Integer constants appeared nearly as frequently as structures or arrays. Most of the scalars were foun

How many input ANDand OR gates are required, How many two input AND gates a...

How many two input AND gates and two input OR gates are required to realize Y = BD+CE+AB ? Ans. Here three product terms, therefore three AND gates of two inputs are needed.

Example on multi-statement forall construct, Q. Example on Multi-statement ...

Q. Example on Multi-statement FORALL construct? The subsequent statements set every element of matrix X to sum of its indices.  FORALL (i=1:m, j=1:n)      X(i,j) = i+j an

What is the relationship between clipping and repainting, When a window is ...

When a window is repainted by the AWT painting thread, it sets the clipping regions to the area of the window that needs repainting.

Explain clearly the kuleshov experiment, Question: (a) Write a proposal...

Question: (a) Write a proposal for a 10-11 minutes movie of your choice with the expected content. (b) Explain clearly the "Kuleshov Experiment" (c) Give the checklist be

Real life decoding, We have not considered the time element in our decoding...

We have not considered the time element in our decoding. An important time for decoding is the time from the address strobe (AS) to when the data is required in a read.   Time

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