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

Matlab, Use the colon operation to create a vector x of numbers -10 through...

Use the colon operation to create a vector x of numbers -10 through 10 in steps of 1. Use matrix operations to create a vector y where each element is 5 more than 2 times the corre

What is system-software, What is System-software? System-software is co...

What is System-software? System-software is collection of system programs which perform a variety of functions, name are: file editing, IO management, recourse accounting and s

Constant voltage sources, Constant Voltage Sources An ideal constant v...

Constant Voltage Sources An ideal constant voltage source maintains a given voltage across its load regardless of the current drawn from it .Most 'every-day' power supplies a

What are the various functional verification methodologies, What are the va...

What are the various functional verification methodologies Ans: TLM (Transaction Level Modelling) Linting RTL Simulation (Environment  involving  :  stimulus  generators,

Define user space, Define user space? The system space is divided from ...

Define user space? The system space is divided from virtual address space in which the user application programs reside. The letter space is known as user space.

Operator, write algorithm and draw flowchart for exchange the values of two...

write algorithm and draw flowchart for exchange the values of two variables.

Higher order predicate logic, Higher Order Predicate Logic : In the v...

Higher Order Predicate Logic : In the very first order predicate logic, we are only allowed to quantify over objects. If we are considered to allow ourselves to quantify over

Arrow keys - input commands, When the user is inputting commands into your...

When the user is inputting commands into your shell, it should identify the left, right , up and down arrow keys. To implement this, you will need to use the termios.h library to

Simplify using k-map, Q. Simplify Using K-Map 1. M2 + M3 + M5 + M7 + M1...

Q. Simplify Using K-Map 1. M2 + M3 + M5 + M7 + M12 + M13 + M8 + M9 2. M0 + M2 + M4 + M5 + M8 + M10 + M12 3. F(W,X,Y,Z) = ∑ (0,1,2,4,5,6,8,9,12,13,14)

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