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

Ai6301 - building blocks and techniques used in ai, The princess (or princ...

The princess (or prince if you're female) has been captured by the Evil Dragon and held prisoner in a tower. The tower is also surrounded by a maze to keep out the riff-raff. You

Design issues, Design issues:  To complete the maximum processor utilizatio...

Design issues:  To complete the maximum processor utilization in a multithreaded architecture, the following design issues have to be addressed: Context Switching time: S

Ruby, Discuss anout variables and assignment statements in ruby

Discuss anout variables and assignment statements in ruby

Smli firewalls are different from the conventional, SMLI firewalls are diff...

SMLI firewalls are different from the conventional The SMLI firewalls are different from the conventional "stand in" proxies in a way that the stand-in proxies are used for th

Game playing techniques - artificial intelligence, Game Playing techniques ...

Game Playing techniques - artificial intelligence: Now we have dispensed with the essential background material for Artificial Intelligence problem solving techniques, and we m

What do you mean by mouse protocols, Q. What do you mean by Mouse Protocols...

Q. What do you mean by Mouse Protocols? Mouse protocol is the digital code to that signal from the mouse gets converted. There are four main protocols: Microsoft, Mouse Systems

Define the key features of hop field neural networks, a. Define the Key fea...

a. Define the Key features of Hop field Neural Networks. b. Compare and contrast among Neural Networks and Expert systems in terms of knowledge representation, acquisition and e

Explain the data dependency, Data Dependency It indicates to the situ...

Data Dependency It indicates to the situation in which two or more instructions share same data. The instructions in a program are able to be arranged based on relationship o

EME, How can i made Carnot engine

How can i made Carnot engine

Explain the process of inter-register signalling, Explain the process of in...

Explain the process of inter-register signalling. Registers are utilized in common control exchanges to store and analyze routing data. They are given on a common basis is a

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