Representation in prolog - logic programs, Computer Engineering

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.

Posted Date: 10/2/2012 7:15:25 AM | Location : United States

Related Discussions:- Representation in prolog - logic programs, Assignment Help, Ask Question on Representation in prolog - logic programs, Get Answer, Expert's Help, Representation in prolog - logic programs Discussions

Write discussion on Representation in prolog - logic programs
Your posts are moderated
Related Questions
Harvard mark i and the bug The next important effort towards devising an electromechanical computer was done at the harvard University, jointly sponsored by the Department of U

#question.constructors and destructors

(a) Explian two limitations of dead-box analysis. (b) Describe why memory analysis is difficult. (c) With reference to the "Shadow Walker" rootkit, explain what is meant by

Q. Find the Largest and the Smallest Array Values? Write down a program to find the largest as well as the smallest numbers from a given array. This program uses JGE (jump grea

Determine the registers are available in machines Typical registers, some of which are commonly available in machines. These registers are as follows:- Memory Addres

How do you turn off cookies for one page in your site?  Use the Cookie. Abandon Property which Gets or sets the discard flag set by the server. When true, this property instruc

What is the need of MODEM in data communication? Need of Modem: Modems are utilized to interface computer networks, computers and other terminal equipment for radio channels

Explain elements of language Grammer . As proposed through Noam Chomsky, a grammar G contains the following elements: a. A finite set N of non terminal symbols. b. A f

The 68HC11 series is based on the Motorola 6800/1 programming instruction set and hence is a fairly simple 8 bit microprocessor. The internal structure of the 6800/1 is shown below

Categorized Optimization transformations The structure of program and the way in that data is defined and used in this provide vital clues for optimization. Optimization t