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

What is cache memory, Q. What is Cache Memory? Cache memory is a very f...

Q. What is Cache Memory? Cache memory is a very fast and small memory between CPU and main memory whose access time is closer to processing speed of CPU. It behaves as a high-s

Super class and subclass in programming, What is the difference among super...

What is the difference among super class and subclass in programming? Ans) A super class is a class that is inherited in programming while the sub class is a class that does th

What do you mean by embedded system, It is a mixture of hardware and softwa...

It is a mixture of hardware and software to perform needed task

Briefly explain about ask, Question 1 What is modulation? Explain why i...

Question 1 What is modulation? Explain why is modulation required? 2 Briefly explain about ASK, FSK and PSK 3 Explain about the Nyquist Bandwidth and Nyquist Theorem 4

Arrays, how to calculate students''s averange test scores

how to calculate students''s averange test scores

What is stack, Stack is a portion of RAM used for saving the content of Pro...

Stack is a portion of RAM used for saving the content of Program Counter and common purpose registers. LIFO stacks, also called as "push down" stacks, are the conceptually easi

What are invisible components, They are light weight components that do no ...

They are light weight components that do no painting, but can take space in the GUI. This is mainly used for layout management.

Move a layout cell, If you need to line up the cells next to each other you...

If you need to line up the cells next to each other you can resize and move layout cells as you need. You can change size of a layout cell by using one of its resize handles. Yo

Prove boolean identities using boolean algebra, Prove the following Boolean...

Prove the following Boolean identities using the laws of Boolean algebra: ABC + AB ‾C + ABC ‾ = A(B + C) Ans. ABC+AB'C+ABC'=A(B + C) LHS AC(B+B')+AB(C+C') OR  AC+AB OR  A(B

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