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

Subtraction of 01100-00011 using 2's complement method, Subtraction of 0110...

Subtraction of 01100-00011 using 2's complement method Ans. Firstly 1's complement of 00011 is 11100 and 2's complement is 11100 + 1 = 11101. Thus If a last carry is

Determine about the voice systems, Determine about the Voice Systems Sp...

Determine about the Voice Systems Speech recognizers are used in some graphics workstations as input devices to accept voice commands. The voice-system input can be used to ini

Starting parallel virtual machine, Q. Starting parallel virtual machine? ...

Q. Starting parallel virtual machine? To initialize PVM on any host on that PVM has been installed we can type  % pvm The PVM console known as pvm is a standalone PVM t

Properties for of static ram, a) Give eight properties for each of static R...

a) Give eight properties for each of static RAM (SRAM) and DRAM (dynamic RAM) and provide the low-level structure of each type of memory. b) Assume a system with 16 Megabytes o

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.

Stack and queue, Describe queue? Ans:  It is a type of data structure ...

Describe queue? Ans:  It is a type of data structure in which the data are stored in and retrieved on a First in first out (FIFO) basis. It grows in the direction of increasin

How does VB.NET achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# give polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which are re-

gui component handle its own events, A component can handle its own events...

A component can handle its own events by executing the needed event-listener interface and adding itself as its own event listener.

The color and plot style, Write a script that will make x and y vectors.  T...

Write a script that will make x and y vectors.  Then, it will ask the user for a color ('red', 'blue', or 'green') and for a plot style ('o', '*').  It will then make a string "pst

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