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

Calculate register transfer time, Q. Calculate Register Transfer Time? ...

Q. Calculate Register Transfer Time? A clock isn't included explicitly in any statements discussed above. But it is presumed that all transfers take place during clock edge tra

Explain circular dependencies, Explain Circular Dependencies. Circul...

Explain Circular Dependencies. Circular Dependencies: To know the problem of circular dependencies consider a file server which uses a timeserver to acquire the current

Write an algorithm for the braking system, Question: a) Consider a car ...

Question: a) Consider a car having a collision detection mechanism. Write an algorithm (in simple English) to illustrate the collision detection mechanism. b) The same car

Explain instruction cycle and execution cycle, Q Explain Instruction cycle ...

Q Explain Instruction cycle and Execution cycle. and also explain Instruction Counter, Memory Address Register and Memory Buffer Register.

Iscuss the various functions of telephone switching systems, Discuss the va...

Discuss the various functions of telephone switching systems. Telephone switching system's functions are as follows: (i) Attending: The system should be continually monito

Determine number of final selector in 10000 line exchange, In a 10000 line ...

In a 10000 line exchange, 0000 to 2999 is allotted to x group of subscribers, out of which 40% are active during busy hour. The remaining numbers are domestic numbers out of which

Decision trees - artificial intelligence, Decision Trees - Artificial intel...

Decision Trees - Artificial intelligence: Suppose you just ever do four things at the weekend: go shopping, watch a film, play tennis or just stay inside.  What you do depends

Draw and illustrate the block diagram of DMA controller, Draw and illustrat...

Draw and illustrate the block diagram of DMA controller. Also discuss the various modes in which DMAC works. Direct memory access (DMA) is a process in that an external device

Datastructure, deque insertion and deletion ..

deque insertion and deletion ..

Describe ergonomic keyboards, Q. Describe Ergonomic Keyboards? Ergonomi...

Q. Describe Ergonomic Keyboards? Ergonomics is the study of environment, conditions as well as efficiency of workers. Ergonomics proposes that keyboard wasn't designed with hum

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