Search mechanisms in prolog, Computer Engineering

Assignment Help:

Search mechanisms in Prolog:

Here we can needs this simple Prolog program to describe how Prolog searches as:president(X) :- first_name(X, georgedubya), second_name(X, bush).

prime_minister(X) :- first_name(X, maggie), second_name(X, thatcher).

prime_minister(X) :- first_name(X, tony), second_name(X, blair).

first_name(tonyblair, tony).
first_name(georgebush, georgedubya).

second_name(tonyblair, blair).
second_name(georgebush, bush).

If there we loaded this in a Prolog implementation into as Sicstus, or queried the database as:

?- prime_minister(P).

In fact then Sicstus would search in the following manner as: it would run through it is database when pending for it came across a Horn clause or fact for that the head was prime_minister and the arity of the predicate was 1. Than there It would first look at the president clause, so after that reject this to see the name of the head doesn't match with the head in the query. moreover, next it would find the clause as:

prime_minister(X) :- first_name(X, maggie), second_name(X, thatcher).

There fits the bill. After than it would look at the predicates in the body of the clause or see if it could satisfy them. In fact in this case, we see that it would try to find a match for first_name(X, maggie). But, it would fail, it means that there no such information can be found in the database. Because it means that the entire clause fails Sicstus would backtrack, thai is., so it would go back just to looking for a clause with the same head as the query. But it would next find this clause such as:

prime_minister(X) :- first_name(X, tony), second_name(X, blair).

So there then it would look at the body again, than try to find a match for first_name(X, tony). According to that it would look through the datatabase and find X=tonyblair a good assignment hence it means the fact first_name(tonyblair, tony) is found towards the end of the database. as well having assigned X=tonyblair, so it would then look for a match to: second_name(tonyblair, blair), and would succeed. Likewise, the answer tonyblair would make the query succeed, for this would be reported back to us.


Related Discussions:- Search mechanisms in prolog

What is called when a star connected intermediate exchange, A star connecte...

A star connected intermediate exchange is known as a? A star connected intermediate exchange is termed as a Hub exchange.

Bit serial associative processor (bsap), Bit Serial Associative Processor (...

Bit Serial Associative Processor (BSAP) : When the associative processor accepts bit serial memory organization then it is known as bit serial associative processor. While only one

Explain bitwise operator, Bitwise Operators Like  other  operators  bit...

Bitwise Operators Like  other  operators  bitwise  operators  have  rules  of  precedence  and  associativity  that determine how expressions involved them are evaluated.

Determine about the security methods, Determine about the Security methods ...

Determine about the Security methods Security methods also protect information from accidental or intentional modification, manipulation or destruction. Most security experts o

Floating point arithmetic pipelines, Floating point Arithmetic pipelines ...

Floating point Arithmetic pipelines Floating point computations are the finest candidates for pipelining. Take the instance of addition of two floating point numbers. Following

Differentiate between raid 0 and raid 1, Problem 1 a) Give three reaso...

Problem 1 a) Give three reasons why connecting peripherals directly to the system bus are not a good practice. b) Name five categories in which the major functions on requ

How many methods used to control traffic flowing in-out, How many methods u...

How many methods used to control traffic flowing into and out of the network by firewall? Firewalls utilize one or more of three ways to control traffic flowing into and out of

Describe the instruction set architecture, Q. Describe the instruction set ...

Q. Describe the instruction set architecture? The significant role of the Central Processing Unit (CPU) is to perform calculations, to coordinate all other hardware components,

Basic idea - learning decision trees, Basic idea: However in the above...

Basic idea: However in the above decision of tree which it is significant that there the "parents visiting" node came on the top of the tree. Whether we don't know exactly the

What is pure virtual function, A class is made abstract by declaring one or...

A class is made abstract by declaring one or more of its virtual functions to be pure. A pure virtual function is one with an initializer of = 0 in its declaration

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