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

Demonstrate arc consistency, Demonstrate Arc consistency: To demonstra...

Demonstrate Arc consistency: To demonstrate the worth of performing an arc-consistency check before starting a serarch for a solution, we'll use an example from Barbara Smith'

Explain about microprocessors, Q. Explain about Microprocessors? Microp...

Q. Explain about Microprocessors? Microprocessors have instruction sets ranging from 20 to several hundred instructions, known as microprograms, which are stored in ROM to init

Learning decision trees using id3 - artificial intelligence, L e arning D...

L e arning Decision Trees Using ID3 Sp eci f y i n g the Problem We now have to look at how you mentally created your decision tree when deciding what to do at

Difference between a window and a frame?, The Frame class extends Window to...

The Frame class extends Window to describe a main application window that can have a menu bar. A window can be modal.

Logical drives is it possible to fit onto a physical disk, How many logical...

How many logical drives is it possible to fit onto a physical disk? Ans) Maximum of 24 logical drives can be fit into physical disk. The extended partition can only have 23 lo

What are the applications of edi in business, What are the applications of ...

What are the applications of EDI in business A.  Organistions that use EDI Extensive users of EDI contain: BHS- is a UK and European retailer dealing majorly in appare

Explain the storage class register, The Storage Class register The Sto...

The Storage Class register The Storage Class register : The storage class 'register' tells the compiler that the associated variable  should  be stored  in  high-speed  memor

Discuss various enhanced services of stored program control, Discuss the va...

Discuss the various enhanced services that can be made available to the subscribers because of stored program control. One of the instant benefits of stored program control is

Write a small program using floating-point operations, Question: a) Wri...

Question: a) Write a small program using floating-point operations in Reverse Polish Notation to evaluate the following: Volume of Sphere = (4/3)πr 3 Consider that the u

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