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

General purpose register - assembly language, General purpose register - as...

General purpose register - assembly language: Basic ISA Classes: Accumulator: 1 address add Aacc ←acc + mem [A] Stack: 0 address add to s ←to s+ next G

Register-to-register operands in RISC, Q. Register-to-register operands in ...

Q. Register-to-register operands in RISC? Register-to-register operands: In RISC machines operation which access memories are LOAD and STORE. All other operands are kept in reg

Differentiate concurrent and parallel executions, Differentiate concurrent ...

Differentiate concurrent and parallel executions ? The words "parallel "and "concurrent" are often used interchangeably, however they are different. Parallel execution is connec

Different elements of a collaboration diagram, ? Object: The interaction am...

? Object: The interaction among objects takes place in a system. An object is depicted by a rectangle with the name of the object, preceded by a colon and underline. ? Relation

Different edi components and services, Different EDI components and service...

Different EDI components and services  Three main components containing services in EDI System are as follows:  •  Application Service: Gives the means of integrating existi

Networking, how to connect a home network

how to connect a home network

Explain two dimensional array, Explain two dimensional array In two dim...

Explain two dimensional array In two dimensional arrays, array is a pointer-to-pointer-to-data type.: at the first level, it points to a block of pointers, one for each row. Th

How to modify or delete a custom class name, 1. Click Tools > General Optio...

1. Click Tools > General Options, and then click the Object Mapping tab. 2. From the Object type list, select the standard object type that is associated with the object class

What is cursor, The illustration of the mouse on-screen. Depending on your ...

The illustration of the mouse on-screen. Depending on your settings, the cursor can be many dissimilar things.

Determine any three restrictions that apply to class members, a. Determine ...

a. Determine any three restrictions that apply to class members. b. Is it possible for single class to be a friend of another class? Illustrate this using a suitable C++ program

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