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 the difference among thread and process, Thread is a least unit of ...

Thread is a least unit of process. In process have one or more thread.

Functions - first-order logic, Functions - first-order logic: Function...

Functions - first-order logic: Functions can be thought of as exceptional predicates, wherever we think of all but one of the arguments as input and the output as final argume

Explain program source code, Q. Explain Program Source Code? Program S...

Q. Explain Program Source Code? Program Source Code  Every assembly language statement appears as: {identifier}  Keyword {{parameter},}  {;comment}.   Element of a

Explain the differences between macros and subroutines, Explain the differe...

Explain the differences between macros and subroutines. Macros Vs Subroutines (i) Macros are pre-processor directives which are processed before the source program is pass

Define deadlock, Define deadlock. A process requests resources; if the ...

Define deadlock. A process requests resources; if the resources are not available at that time, the method enters a wait state. Waiting processes might never again change state

Isoquants, what are the types of isoquants

what are the types of isoquants

E brokerage facilitates search & retrieval of information, E Brokerage faci...

E Brokerage facilitates search & retrieval of Information The success factor of a brokerage is its ability to retain existing clients and to enhance their satisfaction by effec

Add multiple layout cells, Q. Add Multiple Layout Cells ? Next you will...

Q. Add Multiple Layout Cells ? Next you will add three layout cells below the logo cell you just created. Afterwards you will insert page's navigation buttons in these cells.

Array of discount rates, Why do you think you are asked to do valuation giv...

Why do you think you are asked to do valuation given an array of discount rates? a.    Would it not be extra accurate to utilize, for intsnces , CAPM to calculate cost of equity

Direct mapped strategy, Determine the layout of the specified cache for a C...

Determine the layout of the specified cache for a CPU that can address 1G x 32  of memory.  show the layout of the bits per cache location and the total number of locations.  a)

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