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 are the advantages of ccs over in-channel signalling, What are the adv...

What are the advantages of CCS over in-channel signalling? The advantages of CCS over in-channel signalling are given below: a. Information can be exchange among the process

Computer network architecture, A protocol is a formal description of messag...

A protocol is a formal description of message formats and the rules two or more machines must follow to exchange those messages. Because TCP (transmission control protocol) and IP

What does the logo mean, This comes at the complication time, If we give th...

This comes at the complication time, If we give the LOGO option to the compiler, it take a bitmap file (i.e., ) as logo previous to loading the Application.

What is the file-system security, What is the File-system security Most...

What is the File-system security Most commercial servers use a powerful operating system as base that provides good methods of file-system security. Some servers require additi

The variables that are declared outside all functions, The variable that ar...

The variable that are declared outside all the functions are called The variables that are declared outside every functions are known as global variable.

Knowledge representation - artificial intelligence, Knowledge Representatio...

Knowledge Representation: To recap, we now have some characterizations of "AI", that when an "AI" problem arises, you will be able to put all into context exactly, find the co

Function wallsintact, We also need to know, given a cell, which of its neig...

We also need to know, given a cell, which of its neighbours has all of its walls intact. Write the function wallsintact that accepts the grid and a list of neighbouring cells and r

The different storage classes in c, What are the different storage classes ...

What are the different storage classes in C?  Storage classes in C  There are four storage classes in C:  a. Automatic storage class:  b. Register storage class:  c

Which processing is not a part of synthesis phase, Which processing is no...

Which processing is not a part of Synthesis phase? Ans. Perform LC processing is not a part of Synthesis phase.

Define the Load address for the first word of the program, Load address for...

Load address for the first word of the program is called? Ans. load address origin is known as load address for the first word of the 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