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

Variable or compound expression - unification algorithm, Variable or compou...

Variable or compound expression - Unification algorithm: Here some things to note regarding this method are:  (i) There if really trying to match a constant to a different

What is an i/o channel, What is an I/O channel?  An I/O channel is actu...

What is an I/O channel?  An I/O channel is actually a special purpose processor, also known as peripheral processor. The main processor initiates a transfer by passing the need

Explain a scheme of capability list to implement protection, Describe the s...

Describe the scheme of capability lists to implement protection? Capability lists (C- lists): These lists are utilized to make sure that uses only access files that are e

What is bus arbitration, Q. What is Bus arbitration? In this technique,...

Q. What is Bus arbitration? In this technique, I/O interface first needs to control bus and only after that it can request for an interrupt. In this technique because only one

How 74147 series ttl can be used as a decimal-to-bcd encoder, Illustrate ho...

Illustrate how 74147 series TTL can be used as a decimal-to-BCD encoder. Ans. Available IC in 74 series is 74147 that is a priority encoder. Such IC has active low inp

Prove boolean identities using boolean algebra, Prove the following Boolean...

Prove the following Boolean identities using the laws of Boolean algebra: ABC + AB ‾C + ABC ‾ = A(B + C) Ans. ABC+AB'C+ABC'=A(B + C) LHS AC(B+B')+AB(C+C') OR  AC+AB OR  A(B

What is sap locking, What is SAP locking? It is a mechanism for describ...

What is SAP locking? It is a mechanism for describing and applying logical locks to database objects.

Can you list out some of enhancements in verilog 2001, Can you list out som...

Can you list out some of enhancements in Verilog 2001? In  earlier  version  of  Verilog,  we  use  'or'  to  specify  more  than  one  element  in  sensitivity  list.  In Veri

What is input-output processors, Q. What is Input-output processors? le...

Q. What is Input-output processors? let's briefly summarize the development in area of input/output functions. These can be briefed as below: 1. CPU directly controls a peri

Kirchoff''s voltage law , Kirc hoff's Voltage Law   The sum ...

Kirc hoff's Voltage Law   The sum of all the voltage drops around a closed circuit loop will add to zero  V1+(-V2)+(-V3)+(-V4)= 0

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